diff --git a/examples/1173-diagnostics-cstring-coercions.sx b/examples/1173-diagnostics-cstring-coercions.sx new file mode 100644 index 0000000..a5ba298 --- /dev/null +++ b/examples/1173-diagnostics-cstring-coercions.sx @@ -0,0 +1,13 @@ +// cstring's coercion discipline (Odin-style): only a string LITERAL +// converts implicitly — an arbitrary string may be an unterminated view +// (use to_cstring); and cstring never converts to string implicitly — +// the length is an O(n) strlen the code must ask for (from_cstring). +#import "modules/std.sx"; + +main :: () -> i32 { + s := concat("a", "b"); + c : cstring = s; // error: non-literal string -> cstring + t : string = c; // error: cstring -> string + print("{}{}\n", t, cstring_len(c)); + return 0; +} diff --git a/examples/1222-ffi-cstring-type.sx b/examples/1222-ffi-cstring-type.sx new file mode 100644 index 0000000..5632ddc --- /dev/null +++ b/examples/1222-ffi-cstring-type.sx @@ -0,0 +1,38 @@ +// The `cstring` type: ONE pointer to a null-terminated u8 buffer — C's +// `char *`. Crosses #foreign boundaries verbatim in both directions; +// `?cstring` is the nullable case (null pointer = absent); string +// LITERALS coerce implicitly (terminated constants); arbitrary strings +// materialize via to_cstring; from_cstring is the zero-copy view back. +#import "modules/std.sx"; + +libc :: #library "c"; +strerror_c :: (code: i32) -> cstring #foreign libc "strerror"; +getenv_c :: (name: cstring) -> ?cstring #foreign libc "getenv"; +dlerror_c :: () -> ?cstring #foreign libc "dlerror"; + +main :: () -> i32 { + // literal -> cstring param; cstring return -> view + e := strerror_c(2); + v := from_cstring(e); + if v.len < 5 { print("BUG: strerror short\n"); return 1; } + print("strerror ok\n"); + + // ?cstring: present, absent, and null-returning C call + p := getenv_c("PATH"); + if p == null { print("BUG: PATH null\n"); return 2; } + if cstring_len(p!) < 1 { print("BUG: PATH empty\n"); return 3; } + q := getenv_c("NO_SUCH_VAR_ZZZ"); + if q != null { print("BUG: missing not null\n"); return 4; } + d := dlerror_c(); + if d != null { print("BUG: dlerror non-null\n"); return 5; } + print("?cstring ok\n"); + + // round trip: built string -> owned cstring -> view -> equality + s := concat("hi-", "there"); + c := to_cstring(s); + r := from_cstring(c); + if r != "hi-there" { print("BUG: round trip\n"); return 6; } + if cstring_len(c) != 8 { print("BUG: len\n"); return 7; } + print("round trip 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 c211692..088e699 100644 --- a/examples/expected/0031-basic-local-fn-return.ir +++ b/examples/expected/0031-basic-local-fn-return.ir @@ -1,544 +1,541 @@ @__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.338 = private unnamed_addr constant [2 x i8] c"0\00", align 1 -@str.339 = private unnamed_addr constant [5 x i8] c"true\00", align 1 -@str.340 = private unnamed_addr constant [6 x i8] c"false\00", align 1 @str.341 = private unnamed_addr constant [2 x i8] c"0\00", align 1 -@str.342 = private unnamed_addr constant [4 x i8] c"\00", align 1 -@str.343 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [176 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] +@str.342 = private unnamed_addr constant [5 x i8] c"true\00", align 1 +@str.343 = private unnamed_addr constant [6 x i8] c"false\00", align 1 +@str.344 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@str.345 = private unnamed_addr constant [4 x i8] c"\00", align 1 +@str.346 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__sx_type_is_unsigned = private constant [179 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] @tag.str = private constant [1 x i8] zeroinitializer -@tag.str.344 = private constant [9 x i8] c"Overflow\00" -@tag.str.345 = private constant [3 x i8] c"Io\00" -@tag.str.346 = private constant [16 x i8] c"UnexpectedToken\00" -@tag.str.347 = private constant [14 x i8] c"UnexpectedEnd\00" -@tag.str.348 = private constant [10 x i8] c"BadEscape\00" -@tag.str.349 = private constant [10 x i8] c"BadNumber\00" -@tag.str.350 = private constant [16 x i8] c"TrailingGarbage\00" -@tag.str.351 = private constant [15 x i8] c"BadControlChar\00" -@tag.str.352 = private constant [15 x i8] c"UnknownCommand\00" -@tag.str.353 = private constant [12 x i8] c"UnknownFlag\00" -@tag.str.354 = private constant [13 x i8] c"MissingValue\00" -@tag.str.355 = private constant [16 x i8] c"MissingRequired\00" -@tag.str.356 = private constant [13 x i8] c"TooManyFlags\00" -@tag_names = private constant [14 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.344, i64 8 }, { ptr, i64 } { ptr @tag.str.345, i64 2 }, { ptr, i64 } { ptr @tag.str.346, i64 15 }, { ptr, i64 } { ptr @tag.str.347, i64 13 }, { ptr, i64 } { ptr @tag.str.348, i64 9 }, { ptr, i64 } { ptr @tag.str.349, i64 9 }, { ptr, i64 } { ptr @tag.str.350, i64 15 }, { ptr, i64 } { ptr @tag.str.351, i64 14 }, { ptr, i64 } { ptr @tag.str.352, i64 14 }, { ptr, i64 } { ptr @tag.str.353, i64 11 }, { ptr, i64 } { ptr @tag.str.354, i64 12 }, { ptr, i64 } { ptr @tag.str.355, i64 15 }, { ptr, i64 } { ptr @tag.str.356, i64 12 }] +@tag.str.347 = private constant [9 x i8] c"Overflow\00" +@tag.str.348 = private constant [3 x i8] c"Io\00" +@tag.str.349 = private constant [16 x i8] c"UnexpectedToken\00" +@tag.str.350 = private constant [14 x i8] c"UnexpectedEnd\00" +@tag.str.351 = private constant [10 x i8] c"BadEscape\00" +@tag.str.352 = private constant [10 x i8] c"BadNumber\00" +@tag.str.353 = private constant [16 x i8] c"TrailingGarbage\00" +@tag.str.354 = private constant [15 x i8] c"BadControlChar\00" +@tag.str.355 = private constant [15 x i8] c"UnknownCommand\00" +@tag.str.356 = private constant [12 x i8] c"UnknownFlag\00" +@tag.str.357 = private constant [13 x i8] c"MissingValue\00" +@tag.str.358 = private constant [16 x i8] c"MissingRequired\00" +@tag.str.359 = private constant [13 x i8] c"TooManyFlags\00" +@tag_names = private constant [14 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.347, i64 8 }, { ptr, i64 } { ptr @tag.str.348, i64 2 }, { ptr, i64 } { ptr @tag.str.349, i64 15 }, { ptr, i64 } { ptr @tag.str.350, i64 13 }, { ptr, i64 } { ptr @tag.str.351, i64 9 }, { ptr, i64 } { ptr @tag.str.352, i64 9 }, { ptr, i64 } { ptr @tag.str.353, i64 15 }, { ptr, i64 } { ptr @tag.str.354, i64 14 }, { ptr, i64 } { ptr @tag.str.355, i64 14 }, { ptr, i64 } { ptr @tag.str.356, i64 11 }, { ptr, i64 } { ptr @tag.str.357, i64 12 }, { ptr, i64 } { ptr @tag.str.358, i64 15 }, { ptr, i64 } { ptr @tag.str.359, i64 12 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.357 = private constant [5 x i8] c"bool\00" -@tn.str.358 = private constant [3 x i8] c"i8\00" -@tn.str.359 = private constant [4 x i8] c"i16\00" -@tn.str.360 = private constant [4 x i8] c"i32\00" -@tn.str.361 = private constant [4 x i8] c"i64\00" -@tn.str.362 = private constant [3 x i8] c"u8\00" -@tn.str.363 = private constant [4 x i8] c"u16\00" -@tn.str.364 = private constant [4 x i8] c"u32\00" -@tn.str.365 = private constant [4 x i8] c"u64\00" -@tn.str.366 = private constant [4 x i8] c"f32\00" -@tn.str.367 = private constant [4 x i8] c"f64\00" -@tn.str.368 = private constant [7 x i8] c"string\00" -@tn.str.369 = private constant [4 x i8] c"Any\00" -@tn.str.370 = private constant [9 x i8] c"noreturn\00" -@tn.str.371 = private constant [6 x i8] c"isize\00" -@tn.str.372 = private constant [6 x i8] c"usize\00" -@tn.str.373 = private constant [5 x i8] c"void\00" -@tn.str.374 = private constant [6 x i8] c"*void\00" -@tn.str.375 = private constant [16 x i8] c"Source_Location\00" -@tn.str.376 = private constant [10 x i8] c"Allocator\00" -@tn.str.377 = private constant [8 x i8] c"Context\00" -@tn.str.378 = private constant [7 x i8] c"[4]i64\00" -@tn.str.379 = private constant [9 x i8] c"[]string\00" -@tn.str.380 = private constant [11 x i8] c"CAllocator\00" -@tn.str.381 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.382 = private constant [4 x i8] c"GPA\00" -@tn.str.383 = private constant [5 x i8] c"*GPA\00" -@tn.str.384 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.385 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.386 = private constant [6 x i8] c"Arena\00" -@tn.str.387 = private constant [7 x i8] c"*Arena\00" -@tn.str.388 = private constant [6 x i8] c"[*]u8\00" -@tn.str.389 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.390 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.391 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.392 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.393 = private constant [9 x i8] c"OpenMode\00" -@tn.str.394 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.395 = private constant [5 x i8] c"File\00" -@tn.str.396 = private constant [6 x i8] c"*File\00" -@tn.str.397 = private constant [6 x i8] c"?File\00" -@tn.str.398 = private constant [8 x i8] c"?string\00" -@tn.str.399 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.400 = private constant [4 x i8] c"*u8\00" -@tn.str.401 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.402 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.403 = private constant [5 x i8] c"*i32\00" -@tn.str.404 = private constant [9 x i8] c"SockAddr\00" -@tn.str.405 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.406 = private constant [5 x i8] c"*u32\00" -@tn.str.407 = private constant [10 x i8] c"JsonError\00" -@tn.str.408 = private constant [6 x i8] c"Array\00" -@tn.str.409 = private constant [7 x i8] c"Object\00" -@tn.str.410 = private constant [6 x i8] c"Value\00" -@tn.str.411 = private constant [7 x i8] c"Member\00" -@tn.str.412 = private constant [9 x i8] c"[*]Value\00" -@tn.str.413 = private constant [7 x i8] c"*Array\00" -@tn.str.414 = private constant [10 x i8] c"[*]Member\00" -@tn.str.415 = private constant [8 x i8] c"*Object\00" -@tn.str.416 = private constant [5 x i8] c"[]u8\00" -@tn.str.417 = private constant [5 x i8] c"Sink\00" -@tn.str.418 = private constant [6 x i8] c"*Sink\00" -@tn.str.419 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.420 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.421 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.422 = private constant [7 x i8] c"Parser\00" -@tn.str.423 = private constant [8 x i8] c"*Parser\00" -@tn.str.424 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.425 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.426 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.427 = private constant [13 x i8] c"Architecture\00" -@tn.str.428 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.429 = private constant [11 x i8] c"() -> bool\00" -@tn.str.430 = private constant [5 x i8] c"*i64\00" -@tn.str.431 = private constant [9 x i8] c"CliError\00" -@tn.str.432 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.433 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.434 = private constant [8 x i8] c"Command\00" -@tn.str.435 = private constant [10 x i8] c"FlagValue\00" -@tn.str.436 = private constant [5 x i8] c"Diag\00" -@tn.str.437 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.438 = private constant [7 x i8] c"Parsed\00" -@tn.str.439 = private constant [8 x i8] c"*Parsed\00" -@tn.str.440 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.441 = private constant [10 x i8] c"[]Command\00" -@tn.str.442 = private constant [6 x i8] c"*Diag\00" -@tn.str.443 = private constant [7 x i8] c"[8]i64\00" -@tn.str.444 = private constant [7 x i8] c"[64]u8\00" -@tn.str.445 = private constant [7 x i8] c"Sha256\00" -@tn.str.446 = private constant [8 x i8] c"*Sha256\00" -@tn.str.447 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.448 = private constant [8 x i8] c"[64]i64\00" -@tn.str.449 = private constant [8 x i8] c"[16]f32\00" -@tn.str.450 = private constant [5 x i8] c"Mat4\00" -@tn.str.451 = private constant [5 x i8] c"Vec2\00" -@tn.str.452 = private constant [6 x i8] c"Point\00" -@tn.str.453 = private constant [11 x i8] c"Shape.rect\00" -@tn.str.454 = private constant [6 x i8] c"Shape\00" -@tn.str.455 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.456 = private constant [7 x i8] c"**void\00" -@tn.str.457 = private constant [8 x i8] c"*string\00" -@tn.str.458 = private constant [6 x i8] c"[]Any\00" -@tn.str.459 = private constant [5 x i8] c"*Any\00" -@tn.str.460 = private constant [7 x i8] c"*[]Any\00" -@tn.str.461 = private constant [6 x i8] c"*bool\00" -@tn.str.462 = private constant [7 x i8] c"*Point\00" -@tn.str.463 = private constant [7 x i8] c"[2]Any\00" -@tn.str.464 = private constant [8 x i8] c"*[2]Any\00" -@tn.str.465 = private constant [7 x i8] c"*Shape\00" -@tn.str.466 = private constant [7 x i8] c"[1]Any\00" -@tn.str.467 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.468 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.469 = private constant [5 x i8] c"*f64\00" -@tn.str.470 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.471 = private constant [11 x i8] c"*Allocator\00" -@tn.str.472 = private constant [9 x i8] c"*Context\00" -@tn.str.473 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.474 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.475 = private constant [8 x i8] c"*Member\00" -@tn.str.476 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.477 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.478 = private constant [9 x i8] c"*Command\00" -@tn.str.479 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.480 = private constant [6 x i8] c"*Mat4\00" -@tn.str.481 = private constant [6 x i8] c"*Vec2\00" -@tn.str.482 = private constant [12 x i8] c"*Shape.rect\00" -@tn.str.483 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.484 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.485 = private constant [7 x i8] c"*Value\00" -@tn.str.486 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.487 = private constant [14 x i8] c"*Architecture\00" -@tn.str.488 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.489 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.490 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.491 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.492 = private constant [9 x i8] c"*[16]f32\00" -@tn.str.493 = private constant [10 x i8] c"*[]string\00" -@tn.str.494 = private constant [6 x i8] c"*[]u8\00" -@tn.str.495 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.496 = private constant [11 x i8] c"*[]Command\00" -@tn.str.497 = private constant [6 x i8] c"**GPA\00" -@tn.str.498 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.499 = private constant [8 x i8] c"**Arena\00" -@tn.str.500 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.501 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.502 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.503 = private constant [7 x i8] c"**File\00" -@tn.str.504 = private constant [5 x i8] c"**u8\00" -@tn.str.505 = private constant [6 x i8] c"**i32\00" -@tn.str.506 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.507 = private constant [6 x i8] c"**u32\00" -@tn.str.508 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.509 = private constant [8 x i8] c"**Array\00" -@tn.str.510 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.511 = private constant [9 x i8] c"**Object\00" -@tn.str.512 = private constant [7 x i8] c"**Sink\00" -@tn.str.513 = private constant [9 x i8] c"**Parser\00" -@tn.str.514 = private constant [6 x i8] c"**i64\00" -@tn.str.515 = private constant [9 x i8] c"**Parsed\00" -@tn.str.516 = private constant [7 x i8] c"**Diag\00" -@tn.str.517 = private constant [9 x i8] c"**Sha256\00" -@tn.str.518 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.519 = private constant [8 x i8] c"***void\00" -@tn.str.520 = private constant [9 x i8] c"**string\00" -@tn.str.521 = private constant [6 x i8] c"**Any\00" -@tn.str.522 = private constant [8 x i8] c"**[]Any\00" -@tn.str.523 = private constant [7 x i8] c"**bool\00" -@tn.str.524 = private constant [8 x i8] c"**Point\00" -@tn.str.525 = private constant [9 x i8] c"**[2]Any\00" -@tn.str.526 = private constant [8 x i8] c"**Shape\00" -@tn.str.527 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.528 = private constant [7 x i8] c"*?File\00" -@tn.str.529 = private constant [9 x i8] c"*?string\00" -@tn.str.530 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.531 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [176 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.357, i64 4 }, { ptr, i64 } { ptr @tn.str.358, i64 2 }, { ptr, i64 } { ptr @tn.str.359, i64 3 }, { ptr, i64 } { ptr @tn.str.360, i64 3 }, { ptr, i64 } { ptr @tn.str.361, i64 3 }, { ptr, i64 } { ptr @tn.str.362, i64 2 }, { ptr, i64 } { ptr @tn.str.363, i64 3 }, { ptr, i64 } { ptr @tn.str.364, i64 3 }, { ptr, i64 } { ptr @tn.str.365, i64 3 }, { ptr, i64 } { ptr @tn.str.366, i64 3 }, { ptr, i64 } { ptr @tn.str.367, i64 3 }, { ptr, i64 } { ptr @tn.str.368, i64 6 }, { ptr, i64 } { ptr @tn.str.369, i64 3 }, { ptr, i64 } { ptr @tn.str.370, i64 8 }, { ptr, i64 } { ptr @tn.str.371, i64 5 }, { ptr, i64 } { ptr @tn.str.372, i64 5 }, { ptr, i64 } { ptr @tn.str.373, i64 4 }, { ptr, i64 } { ptr @tn.str.374, i64 5 }, { ptr, i64 } { ptr @tn.str.375, i64 15 }, { ptr, i64 } { ptr @tn.str.376, i64 9 }, { ptr, i64 } { ptr @tn.str.377, i64 7 }, { ptr, i64 } { ptr @tn.str.378, i64 6 }, { ptr, i64 } { ptr @tn.str.379, i64 8 }, { ptr, i64 } { ptr @tn.str.380, i64 10 }, { ptr, i64 } { ptr @tn.str.381, i64 11 }, { ptr, i64 } { ptr @tn.str.382, i64 3 }, { ptr, i64 } { ptr @tn.str.383, i64 4 }, { ptr, i64 } { ptr @tn.str.384, i64 10 }, { ptr, i64 } { ptr @tn.str.385, i64 11 }, { ptr, i64 } { ptr @tn.str.386, i64 5 }, { ptr, i64 } { ptr @tn.str.387, i64 6 }, { ptr, i64 } { ptr @tn.str.388, i64 5 }, { ptr, i64 } { ptr @tn.str.389, i64 8 }, { ptr, i64 } { ptr @tn.str.390, i64 9 }, { ptr, i64 } { ptr @tn.str.391, i64 17 }, { ptr, i64 } { ptr @tn.str.392, i64 18 }, { ptr, i64 } { ptr @tn.str.393, i64 8 }, { ptr, i64 } { ptr @tn.str.394, i64 8 }, { ptr, i64 } { ptr @tn.str.395, i64 4 }, { ptr, i64 } { ptr @tn.str.396, i64 5 }, { ptr, i64 } { ptr @tn.str.397, i64 5 }, { ptr, i64 } { ptr @tn.str.398, i64 7 }, { ptr, i64 } { ptr @tn.str.399, i64 10 }, { ptr, i64 } { ptr @tn.str.400, i64 3 }, { ptr, i64 } { ptr @tn.str.401, i64 13 }, { ptr, i64 } { ptr @tn.str.402, i64 14 }, { ptr, i64 } { ptr @tn.str.403, i64 4 }, { ptr, i64 } { ptr @tn.str.404, i64 8 }, { ptr, i64 } { ptr @tn.str.405, i64 9 }, { ptr, i64 } { ptr @tn.str.406, i64 4 }, { ptr, i64 } { ptr @tn.str.407, i64 9 }, { ptr, i64 } { ptr @tn.str.408, i64 5 }, { ptr, i64 } { ptr @tn.str.409, i64 6 }, { ptr, i64 } { ptr @tn.str.410, i64 5 }, { ptr, i64 } { ptr @tn.str.411, i64 6 }, { ptr, i64 } { ptr @tn.str.412, i64 8 }, { ptr, i64 } { ptr @tn.str.413, i64 6 }, { ptr, i64 } { ptr @tn.str.414, i64 9 }, { ptr, i64 } { ptr @tn.str.415, i64 7 }, { ptr, i64 } { ptr @tn.str.416, i64 4 }, { ptr, i64 } { ptr @tn.str.417, i64 4 }, { ptr, i64 } { ptr @tn.str.418, i64 5 }, { ptr, i64 } { ptr @tn.str.419, i64 16 }, { ptr, i64 } { ptr @tn.str.420, i64 14 }, { ptr, i64 } { ptr @tn.str.421, i64 21 }, { ptr, i64 } { ptr @tn.str.422, i64 6 }, { ptr, i64 } { ptr @tn.str.423, i64 7 }, { ptr, i64 } { ptr @tn.str.424, i64 24 }, { ptr, i64 } { ptr @tn.str.425, i64 23 }, { ptr, i64 } { ptr @tn.str.426, i64 15 }, { ptr, i64 } { ptr @tn.str.427, i64 12 }, { ptr, i64 } { ptr @tn.str.428, i64 12 }, { ptr, i64 } { ptr @tn.str.429, i64 10 }, { ptr, i64 } { ptr @tn.str.430, i64 4 }, { ptr, i64 } { ptr @tn.str.431, i64 8 }, { ptr, i64 } { ptr @tn.str.432, i64 8 }, { ptr, i64 } { ptr @tn.str.433, i64 10 }, { ptr, i64 } { ptr @tn.str.434, i64 7 }, { ptr, i64 } { ptr @tn.str.435, i64 9 }, { ptr, i64 } { ptr @tn.str.436, i64 4 }, { ptr, i64 } { ptr @tn.str.437, i64 13 }, { ptr, i64 } { ptr @tn.str.438, i64 6 }, { ptr, i64 } { ptr @tn.str.439, i64 7 }, { ptr, i64 } { ptr @tn.str.440, i64 18 }, { ptr, i64 } { ptr @tn.str.441, i64 9 }, { ptr, i64 } { ptr @tn.str.442, i64 5 }, { ptr, i64 } { ptr @tn.str.443, i64 6 }, { ptr, i64 } { ptr @tn.str.444, i64 6 }, { ptr, i64 } { ptr @tn.str.445, i64 6 }, { ptr, i64 } { ptr @tn.str.446, i64 7 }, { ptr, i64 } { ptr @tn.str.447, i64 7 }, { ptr, i64 } { ptr @tn.str.448, i64 7 }, { ptr, i64 } { ptr @tn.str.449, i64 7 }, { ptr, i64 } { ptr @tn.str.450, i64 4 }, { ptr, i64 } { ptr @tn.str.451, i64 4 }, { ptr, i64 } { ptr @tn.str.452, i64 5 }, { ptr, i64 } { ptr @tn.str.453, i64 10 }, { ptr, i64 } { ptr @tn.str.454, i64 5 }, { ptr, i64 } { ptr @tn.str.455, i64 12 }, { ptr, i64 } { ptr @tn.str.456, i64 6 }, { ptr, i64 } { ptr @tn.str.457, i64 7 }, { ptr, i64 } { ptr @tn.str.458, i64 5 }, { ptr, i64 } { ptr @tn.str.459, i64 4 }, { ptr, i64 } { ptr @tn.str.460, i64 6 }, { ptr, i64 } { ptr @tn.str.461, i64 5 }, { ptr, i64 } { ptr @tn.str.462, i64 6 }, { ptr, i64 } { ptr @tn.str.463, i64 6 }, { ptr, i64 } { ptr @tn.str.464, i64 7 }, { ptr, i64 } { ptr @tn.str.465, i64 6 }, { ptr, i64 } { ptr @tn.str.466, i64 6 }, { ptr, i64 } { ptr @tn.str.467, i64 7 }, { ptr, i64 } { ptr @tn.str.468, i64 7 }, { ptr, i64 } { ptr @tn.str.469, i64 4 }, { ptr, i64 } { ptr @tn.str.470, i64 16 }, { ptr, i64 } { ptr @tn.str.471, i64 10 }, { ptr, i64 } { ptr @tn.str.472, i64 8 }, { ptr, i64 } { ptr @tn.str.473, i64 11 }, { ptr, i64 } { ptr @tn.str.474, i64 14 }, { ptr, i64 } { ptr @tn.str.475, i64 7 }, { ptr, i64 } { ptr @tn.str.476, i64 13 }, { ptr, i64 } { ptr @tn.str.477, i64 9 }, { ptr, i64 } { ptr @tn.str.478, i64 8 }, { ptr, i64 } { ptr @tn.str.479, i64 10 }, { ptr, i64 } { ptr @tn.str.480, i64 5 }, { ptr, i64 } { ptr @tn.str.481, i64 5 }, { ptr, i64 } { ptr @tn.str.482, i64 11 }, { ptr, i64 } { ptr @tn.str.483, i64 9 }, { ptr, i64 } { ptr @tn.str.484, i64 9 }, { ptr, i64 } { ptr @tn.str.485, i64 6 }, { ptr, i64 } { ptr @tn.str.486, i64 16 }, { ptr, i64 } { ptr @tn.str.487, i64 13 }, { ptr, i64 } { ptr @tn.str.488, i64 14 }, { ptr, i64 } { ptr @tn.str.489, i64 7 }, { ptr, i64 } { ptr @tn.str.490, i64 7 }, { ptr, i64 } { ptr @tn.str.491, i64 8 }, { ptr, i64 } { ptr @tn.str.492, i64 8 }, { ptr, i64 } { ptr @tn.str.493, i64 9 }, { ptr, i64 } { ptr @tn.str.494, i64 5 }, { ptr, i64 } { ptr @tn.str.495, i64 11 }, { ptr, i64 } { ptr @tn.str.496, i64 10 }, { ptr, i64 } { ptr @tn.str.497, i64 5 }, { ptr, i64 } { ptr @tn.str.498, i64 12 }, { ptr, i64 } { ptr @tn.str.499, i64 7 }, { ptr, i64 } { ptr @tn.str.500, i64 6 }, { ptr, i64 } { ptr @tn.str.501, i64 10 }, { ptr, i64 } { ptr @tn.str.502, i64 19 }, { ptr, i64 } { ptr @tn.str.503, i64 6 }, { ptr, i64 } { ptr @tn.str.504, i64 4 }, { ptr, i64 } { ptr @tn.str.505, i64 5 }, { ptr, i64 } { ptr @tn.str.506, i64 10 }, { ptr, i64 } { ptr @tn.str.507, i64 5 }, { ptr, i64 } { ptr @tn.str.508, i64 9 }, { ptr, i64 } { ptr @tn.str.509, i64 7 }, { ptr, i64 } { ptr @tn.str.510, i64 10 }, { ptr, i64 } { ptr @tn.str.511, i64 8 }, { ptr, i64 } { ptr @tn.str.512, i64 6 }, { ptr, i64 } { ptr @tn.str.513, i64 8 }, { ptr, i64 } { ptr @tn.str.514, i64 5 }, { ptr, i64 } { ptr @tn.str.515, i64 8 }, { ptr, i64 } { ptr @tn.str.516, i64 6 }, { ptr, i64 } { ptr @tn.str.517, i64 8 }, { ptr, i64 } { ptr @tn.str.518, i64 13 }, { ptr, i64 } { ptr @tn.str.519, i64 7 }, { ptr, i64 } { ptr @tn.str.520, i64 8 }, { ptr, i64 } { ptr @tn.str.521, i64 5 }, { ptr, i64 } { ptr @tn.str.522, i64 7 }, { ptr, i64 } { ptr @tn.str.523, i64 6 }, { ptr, i64 } { ptr @tn.str.524, i64 7 }, { ptr, i64 } { ptr @tn.str.525, i64 8 }, { ptr, i64 } { ptr @tn.str.526, i64 7 }, { ptr, i64 } { ptr @tn.str.527, i64 8 }, { ptr, i64 } { ptr @tn.str.528, i64 6 }, { ptr, i64 } { ptr @tn.str.529, i64 8 }, { ptr, i64 } { ptr @tn.str.530, i64 15 }, { ptr, i64 } { ptr @tn.str.531, i64 8 }] -@str.532 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.533 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.534 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.535 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.536 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.537 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.538 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.539 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.540 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.541 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.542 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.543 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.544 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.545 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.546 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.547 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.548 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.549 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@tn.str.360 = private constant [5 x i8] c"bool\00" +@tn.str.361 = private constant [3 x i8] c"i8\00" +@tn.str.362 = private constant [4 x i8] c"i16\00" +@tn.str.363 = private constant [4 x i8] c"i32\00" +@tn.str.364 = private constant [4 x i8] c"i64\00" +@tn.str.365 = private constant [3 x i8] c"u8\00" +@tn.str.366 = private constant [4 x i8] c"u16\00" +@tn.str.367 = private constant [4 x i8] c"u32\00" +@tn.str.368 = private constant [4 x i8] c"u64\00" +@tn.str.369 = private constant [4 x i8] c"f32\00" +@tn.str.370 = private constant [4 x i8] c"f64\00" +@tn.str.371 = private constant [7 x i8] c"string\00" +@tn.str.372 = private constant [4 x i8] c"Any\00" +@tn.str.373 = private constant [9 x i8] c"noreturn\00" +@tn.str.374 = private constant [6 x i8] c"isize\00" +@tn.str.375 = private constant [6 x i8] c"usize\00" +@tn.str.376 = private constant [5 x i8] c"void\00" +@tn.str.377 = private constant [8 x i8] c"cstring\00" +@tn.str.378 = private constant [6 x i8] c"*void\00" +@tn.str.379 = private constant [16 x i8] c"Source_Location\00" +@tn.str.380 = private constant [10 x i8] c"Allocator\00" +@tn.str.381 = private constant [8 x i8] c"Context\00" +@tn.str.382 = private constant [7 x i8] c"[4]i64\00" +@tn.str.383 = private constant [9 x i8] c"[]string\00" +@tn.str.384 = private constant [11 x i8] c"CAllocator\00" +@tn.str.385 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.386 = private constant [4 x i8] c"GPA\00" +@tn.str.387 = private constant [5 x i8] c"*GPA\00" +@tn.str.388 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.389 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.390 = private constant [6 x i8] c"Arena\00" +@tn.str.391 = private constant [7 x i8] c"*Arena\00" +@tn.str.392 = private constant [6 x i8] c"[*]u8\00" +@tn.str.393 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.394 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.395 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.396 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.397 = private constant [9 x i8] c"OpenMode\00" +@tn.str.398 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.399 = private constant [5 x i8] c"File\00" +@tn.str.400 = private constant [6 x i8] c"*File\00" +@tn.str.401 = private constant [6 x i8] c"?File\00" +@tn.str.402 = private constant [8 x i8] c"?string\00" +@tn.str.403 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.404 = private constant [9 x i8] c"?cstring\00" +@tn.str.405 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.406 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.407 = private constant [5 x i8] c"*i32\00" +@tn.str.408 = private constant [9 x i8] c"SockAddr\00" +@tn.str.409 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.410 = private constant [5 x i8] c"*u32\00" +@tn.str.411 = private constant [10 x i8] c"JsonError\00" +@tn.str.412 = private constant [6 x i8] c"Array\00" +@tn.str.413 = private constant [7 x i8] c"Object\00" +@tn.str.414 = private constant [6 x i8] c"Value\00" +@tn.str.415 = private constant [7 x i8] c"Member\00" +@tn.str.416 = private constant [9 x i8] c"[*]Value\00" +@tn.str.417 = private constant [7 x i8] c"*Array\00" +@tn.str.418 = private constant [10 x i8] c"[*]Member\00" +@tn.str.419 = private constant [8 x i8] c"*Object\00" +@tn.str.420 = private constant [5 x i8] c"[]u8\00" +@tn.str.421 = private constant [5 x i8] c"Sink\00" +@tn.str.422 = private constant [6 x i8] c"*Sink\00" +@tn.str.423 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.424 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.425 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.426 = private constant [7 x i8] c"Parser\00" +@tn.str.427 = private constant [8 x i8] c"*Parser\00" +@tn.str.428 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.429 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.430 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.431 = private constant [13 x i8] c"Architecture\00" +@tn.str.432 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.433 = private constant [11 x i8] c"() -> bool\00" +@tn.str.434 = private constant [5 x i8] c"*i64\00" +@tn.str.435 = private constant [9 x i8] c"CliError\00" +@tn.str.436 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.437 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.438 = private constant [8 x i8] c"Command\00" +@tn.str.439 = private constant [10 x i8] c"FlagValue\00" +@tn.str.440 = private constant [5 x i8] c"Diag\00" +@tn.str.441 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.442 = private constant [7 x i8] c"Parsed\00" +@tn.str.443 = private constant [8 x i8] c"*Parsed\00" +@tn.str.444 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.445 = private constant [10 x i8] c"[]Command\00" +@tn.str.446 = private constant [6 x i8] c"*Diag\00" +@tn.str.447 = private constant [7 x i8] c"[8]i64\00" +@tn.str.448 = private constant [7 x i8] c"[64]u8\00" +@tn.str.449 = private constant [7 x i8] c"Sha256\00" +@tn.str.450 = private constant [8 x i8] c"*Sha256\00" +@tn.str.451 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.452 = private constant [8 x i8] c"[64]i64\00" +@tn.str.453 = private constant [8 x i8] c"[16]f32\00" +@tn.str.454 = private constant [5 x i8] c"Mat4\00" +@tn.str.455 = private constant [5 x i8] c"Vec2\00" +@tn.str.456 = private constant [6 x i8] c"Point\00" +@tn.str.457 = private constant [11 x i8] c"Shape.rect\00" +@tn.str.458 = private constant [6 x i8] c"Shape\00" +@tn.str.459 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.460 = private constant [7 x i8] c"**void\00" +@tn.str.461 = private constant [8 x i8] c"*string\00" +@tn.str.462 = private constant [6 x i8] c"[]Any\00" +@tn.str.463 = private constant [5 x i8] c"*Any\00" +@tn.str.464 = private constant [7 x i8] c"*[]Any\00" +@tn.str.465 = private constant [4 x i8] c"*u8\00" +@tn.str.466 = private constant [6 x i8] c"*bool\00" +@tn.str.467 = private constant [7 x i8] c"*Point\00" +@tn.str.468 = private constant [7 x i8] c"[2]Any\00" +@tn.str.469 = private constant [8 x i8] c"*[2]Any\00" +@tn.str.470 = private constant [7 x i8] c"*Shape\00" +@tn.str.471 = private constant [7 x i8] c"[1]Any\00" +@tn.str.472 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.473 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.474 = private constant [5 x i8] c"*f64\00" +@tn.str.475 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.476 = private constant [11 x i8] c"*Allocator\00" +@tn.str.477 = private constant [9 x i8] c"*Context\00" +@tn.str.478 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.479 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.480 = private constant [8 x i8] c"*Member\00" +@tn.str.481 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.482 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.483 = private constant [9 x i8] c"*Command\00" +@tn.str.484 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.485 = private constant [6 x i8] c"*Mat4\00" +@tn.str.486 = private constant [6 x i8] c"*Vec2\00" +@tn.str.487 = private constant [12 x i8] c"*Shape.rect\00" +@tn.str.488 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.489 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.490 = private constant [7 x i8] c"*Value\00" +@tn.str.491 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.492 = private constant [14 x i8] c"*Architecture\00" +@tn.str.493 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.494 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.495 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.496 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.497 = private constant [9 x i8] c"*[16]f32\00" +@tn.str.498 = private constant [10 x i8] c"*[]string\00" +@tn.str.499 = private constant [6 x i8] c"*[]u8\00" +@tn.str.500 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.501 = private constant [11 x i8] c"*[]Command\00" +@tn.str.502 = private constant [6 x i8] c"**GPA\00" +@tn.str.503 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.504 = private constant [8 x i8] c"**Arena\00" +@tn.str.505 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.506 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.507 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.508 = private constant [7 x i8] c"**File\00" +@tn.str.509 = private constant [6 x i8] c"**i32\00" +@tn.str.510 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.511 = private constant [6 x i8] c"**u32\00" +@tn.str.512 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.513 = private constant [8 x i8] c"**Array\00" +@tn.str.514 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.515 = private constant [9 x i8] c"**Object\00" +@tn.str.516 = private constant [7 x i8] c"**Sink\00" +@tn.str.517 = private constant [9 x i8] c"**Parser\00" +@tn.str.518 = private constant [6 x i8] c"**i64\00" +@tn.str.519 = private constant [9 x i8] c"**Parsed\00" +@tn.str.520 = private constant [7 x i8] c"**Diag\00" +@tn.str.521 = private constant [9 x i8] c"**Sha256\00" +@tn.str.522 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.523 = private constant [8 x i8] c"***void\00" +@tn.str.524 = private constant [9 x i8] c"**string\00" +@tn.str.525 = private constant [6 x i8] c"**Any\00" +@tn.str.526 = private constant [8 x i8] c"**[]Any\00" +@tn.str.527 = private constant [5 x i8] c"**u8\00" +@tn.str.528 = private constant [7 x i8] c"**bool\00" +@tn.str.529 = private constant [8 x i8] c"**Point\00" +@tn.str.530 = private constant [9 x i8] c"**[2]Any\00" +@tn.str.531 = private constant [8 x i8] c"**Shape\00" +@tn.str.532 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.533 = private constant [7 x i8] c"*?File\00" +@tn.str.534 = private constant [9 x i8] c"*?string\00" +@tn.str.535 = private constant [10 x i8] c"*?cstring\00" +@tn.str.536 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.537 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [179 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.360, i64 4 }, { ptr, i64 } { ptr @tn.str.361, i64 2 }, { ptr, i64 } { ptr @tn.str.362, i64 3 }, { ptr, i64 } { ptr @tn.str.363, i64 3 }, { ptr, i64 } { ptr @tn.str.364, i64 3 }, { ptr, i64 } { ptr @tn.str.365, i64 2 }, { ptr, i64 } { ptr @tn.str.366, i64 3 }, { ptr, i64 } { ptr @tn.str.367, i64 3 }, { ptr, i64 } { ptr @tn.str.368, i64 3 }, { ptr, i64 } { ptr @tn.str.369, i64 3 }, { ptr, i64 } { ptr @tn.str.370, i64 3 }, { ptr, i64 } { ptr @tn.str.371, i64 6 }, { ptr, i64 } { ptr @tn.str.372, i64 3 }, { ptr, i64 } { ptr @tn.str.373, i64 8 }, { ptr, i64 } { ptr @tn.str.374, i64 5 }, { ptr, i64 } { ptr @tn.str.375, i64 5 }, { ptr, i64 } { ptr @tn.str.376, i64 4 }, { ptr, i64 } { ptr @tn.str.377, i64 7 }, { ptr, i64 } { ptr @tn.str.378, i64 5 }, { ptr, i64 } { ptr @tn.str.379, i64 15 }, { ptr, i64 } { ptr @tn.str.380, i64 9 }, { ptr, i64 } { ptr @tn.str.381, i64 7 }, { ptr, i64 } { ptr @tn.str.382, i64 6 }, { ptr, i64 } { ptr @tn.str.383, i64 8 }, { ptr, i64 } { ptr @tn.str.384, i64 10 }, { ptr, i64 } { ptr @tn.str.385, i64 11 }, { ptr, i64 } { ptr @tn.str.386, i64 3 }, { ptr, i64 } { ptr @tn.str.387, i64 4 }, { ptr, i64 } { ptr @tn.str.388, i64 10 }, { ptr, i64 } { ptr @tn.str.389, i64 11 }, { ptr, i64 } { ptr @tn.str.390, i64 5 }, { ptr, i64 } { ptr @tn.str.391, i64 6 }, { ptr, i64 } { ptr @tn.str.392, i64 5 }, { ptr, i64 } { ptr @tn.str.393, i64 8 }, { ptr, i64 } { ptr @tn.str.394, i64 9 }, { ptr, i64 } { ptr @tn.str.395, i64 17 }, { ptr, i64 } { ptr @tn.str.396, i64 18 }, { ptr, i64 } { ptr @tn.str.397, i64 8 }, { ptr, i64 } { ptr @tn.str.398, i64 8 }, { ptr, i64 } { ptr @tn.str.399, i64 4 }, { ptr, i64 } { ptr @tn.str.400, i64 5 }, { ptr, i64 } { ptr @tn.str.401, i64 5 }, { ptr, i64 } { ptr @tn.str.402, i64 7 }, { ptr, i64 } { ptr @tn.str.403, i64 10 }, { ptr, i64 } { ptr @tn.str.404, i64 8 }, { ptr, i64 } { ptr @tn.str.405, i64 13 }, { ptr, i64 } { ptr @tn.str.406, i64 14 }, { ptr, i64 } { ptr @tn.str.407, i64 4 }, { ptr, i64 } { ptr @tn.str.408, i64 8 }, { ptr, i64 } { ptr @tn.str.409, i64 9 }, { ptr, i64 } { ptr @tn.str.410, i64 4 }, { ptr, i64 } { ptr @tn.str.411, i64 9 }, { ptr, i64 } { ptr @tn.str.412, i64 5 }, { ptr, i64 } { ptr @tn.str.413, i64 6 }, { ptr, i64 } { ptr @tn.str.414, i64 5 }, { ptr, i64 } { ptr @tn.str.415, i64 6 }, { ptr, i64 } { ptr @tn.str.416, i64 8 }, { ptr, i64 } { ptr @tn.str.417, i64 6 }, { ptr, i64 } { ptr @tn.str.418, i64 9 }, { ptr, i64 } { ptr @tn.str.419, i64 7 }, { ptr, i64 } { ptr @tn.str.420, i64 4 }, { ptr, i64 } { ptr @tn.str.421, i64 4 }, { ptr, i64 } { ptr @tn.str.422, i64 5 }, { ptr, i64 } { ptr @tn.str.423, i64 16 }, { ptr, i64 } { ptr @tn.str.424, i64 14 }, { ptr, i64 } { ptr @tn.str.425, i64 21 }, { ptr, i64 } { ptr @tn.str.426, i64 6 }, { ptr, i64 } { ptr @tn.str.427, i64 7 }, { ptr, i64 } { ptr @tn.str.428, i64 24 }, { ptr, i64 } { ptr @tn.str.429, i64 23 }, { ptr, i64 } { ptr @tn.str.430, i64 15 }, { ptr, i64 } { ptr @tn.str.431, i64 12 }, { ptr, i64 } { ptr @tn.str.432, i64 12 }, { ptr, i64 } { ptr @tn.str.433, i64 10 }, { ptr, i64 } { ptr @tn.str.434, i64 4 }, { ptr, i64 } { ptr @tn.str.435, i64 8 }, { ptr, i64 } { ptr @tn.str.436, i64 8 }, { ptr, i64 } { ptr @tn.str.437, i64 10 }, { ptr, i64 } { ptr @tn.str.438, i64 7 }, { ptr, i64 } { ptr @tn.str.439, i64 9 }, { ptr, i64 } { ptr @tn.str.440, i64 4 }, { ptr, i64 } { ptr @tn.str.441, i64 13 }, { ptr, i64 } { ptr @tn.str.442, i64 6 }, { ptr, i64 } { ptr @tn.str.443, i64 7 }, { ptr, i64 } { ptr @tn.str.444, i64 18 }, { 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 6 }, { ptr, i64 } { ptr @tn.str.449, i64 6 }, { ptr, i64 } { ptr @tn.str.450, i64 7 }, { ptr, i64 } { ptr @tn.str.451, i64 7 }, { ptr, i64 } { ptr @tn.str.452, i64 7 }, { 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 10 }, { ptr, i64 } { ptr @tn.str.458, i64 5 }, { ptr, i64 } { ptr @tn.str.459, i64 12 }, { ptr, i64 } { ptr @tn.str.460, i64 6 }, { ptr, i64 } { ptr @tn.str.461, i64 7 }, { ptr, i64 } { ptr @tn.str.462, i64 5 }, { ptr, i64 } { ptr @tn.str.463, i64 4 }, { ptr, i64 } { ptr @tn.str.464, i64 6 }, { ptr, i64 } { ptr @tn.str.465, i64 3 }, { ptr, i64 } { ptr @tn.str.466, i64 5 }, { ptr, i64 } { ptr @tn.str.467, i64 6 }, { ptr, i64 } { ptr @tn.str.468, i64 6 }, { ptr, i64 } { ptr @tn.str.469, i64 7 }, { ptr, i64 } { ptr @tn.str.470, i64 6 }, { ptr, i64 } { ptr @tn.str.471, i64 6 }, { ptr, i64 } { ptr @tn.str.472, i64 7 }, { ptr, i64 } { ptr @tn.str.473, i64 7 }, { ptr, i64 } { ptr @tn.str.474, i64 4 }, { ptr, i64 } { ptr @tn.str.475, i64 16 }, { ptr, i64 } { ptr @tn.str.476, i64 10 }, { ptr, i64 } { ptr @tn.str.477, i64 8 }, { ptr, i64 } { ptr @tn.str.478, i64 11 }, { ptr, i64 } { ptr @tn.str.479, i64 14 }, { ptr, i64 } { ptr @tn.str.480, i64 7 }, { ptr, i64 } { ptr @tn.str.481, i64 13 }, { ptr, i64 } { ptr @tn.str.482, i64 9 }, { ptr, i64 } { ptr @tn.str.483, i64 8 }, { ptr, i64 } { ptr @tn.str.484, i64 10 }, { ptr, i64 } { ptr @tn.str.485, i64 5 }, { ptr, i64 } { ptr @tn.str.486, i64 5 }, { ptr, i64 } { ptr @tn.str.487, i64 11 }, { ptr, i64 } { ptr @tn.str.488, i64 9 }, { ptr, i64 } { ptr @tn.str.489, i64 9 }, { ptr, i64 } { ptr @tn.str.490, i64 6 }, { ptr, i64 } { ptr @tn.str.491, i64 16 }, { ptr, i64 } { ptr @tn.str.492, i64 13 }, { ptr, i64 } { ptr @tn.str.493, i64 14 }, { ptr, i64 } { ptr @tn.str.494, i64 7 }, { ptr, i64 } { ptr @tn.str.495, i64 7 }, { ptr, i64 } { ptr @tn.str.496, i64 8 }, { ptr, i64 } { ptr @tn.str.497, i64 8 }, { ptr, i64 } { ptr @tn.str.498, i64 9 }, { ptr, i64 } { ptr @tn.str.499, i64 5 }, { ptr, i64 } { ptr @tn.str.500, i64 11 }, { ptr, i64 } { ptr @tn.str.501, i64 10 }, { ptr, i64 } { ptr @tn.str.502, i64 5 }, { ptr, i64 } { ptr @tn.str.503, i64 12 }, { ptr, i64 } { ptr @tn.str.504, i64 7 }, { ptr, i64 } { ptr @tn.str.505, i64 6 }, { ptr, i64 } { ptr @tn.str.506, i64 10 }, { ptr, i64 } { ptr @tn.str.507, i64 19 }, { ptr, i64 } { ptr @tn.str.508, i64 6 }, { ptr, i64 } { ptr @tn.str.509, i64 5 }, { ptr, i64 } { ptr @tn.str.510, i64 10 }, { ptr, i64 } { ptr @tn.str.511, i64 5 }, { ptr, i64 } { ptr @tn.str.512, i64 9 }, { ptr, i64 } { ptr @tn.str.513, i64 7 }, { ptr, i64 } { ptr @tn.str.514, i64 10 }, { ptr, i64 } { ptr @tn.str.515, i64 8 }, { ptr, i64 } { ptr @tn.str.516, i64 6 }, { ptr, i64 } { ptr @tn.str.517, i64 8 }, { ptr, i64 } { ptr @tn.str.518, i64 5 }, { ptr, i64 } { ptr @tn.str.519, i64 8 }, { ptr, i64 } { ptr @tn.str.520, i64 6 }, { ptr, i64 } { ptr @tn.str.521, i64 8 }, { ptr, i64 } { ptr @tn.str.522, i64 13 }, { ptr, i64 } { ptr @tn.str.523, i64 7 }, { ptr, i64 } { ptr @tn.str.524, i64 8 }, { ptr, i64 } { ptr @tn.str.525, i64 5 }, { ptr, i64 } { ptr @tn.str.526, i64 7 }, { ptr, i64 } { ptr @tn.str.527, i64 4 }, { ptr, i64 } { ptr @tn.str.528, i64 6 }, { ptr, i64 } { ptr @tn.str.529, i64 7 }, { ptr, i64 } { ptr @tn.str.530, i64 8 }, { ptr, i64 } { ptr @tn.str.531, i64 7 }, { ptr, i64 } { ptr @tn.str.532, i64 8 }, { ptr, i64 } { ptr @tn.str.533, i64 6 }, { ptr, i64 } { ptr @tn.str.534, i64 8 }, { ptr, i64 } { ptr @tn.str.535, i64 9 }, { ptr, i64 } { ptr @tn.str.536, i64 15 }, { ptr, i64 } { ptr @tn.str.537, i64 8 }] +@str.538 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.539 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.540 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.541 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.542 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.543 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.544 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.545 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.546 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.547 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.548 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.549 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.550 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.551 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.552 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.553 = private unnamed_addr constant [29 x i8] c"=== 19. Local Fn Return ===\0A\00", align 1 -@str.554 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.555 = private unnamed_addr constant [29 x i8] c"=== 19. Local Fn Return ===\0A\00", align 1 -@str.556 = private unnamed_addr constant [21 x i8] c"local-struct: {} {}\0A\00", align 1 -@str.557 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.558 = private unnamed_addr constant [21 x i8] c"local-struct: {} {}\0A\00", align 1 -@str.559 = private unnamed_addr constant [16 x i8] c"local-enum: {}\0A\00", align 1 +@str.553 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.554 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.555 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.556 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.557 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.558 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.559 = private unnamed_addr constant [29 x i8] c"=== 19. Local Fn Return ===\0A\00", align 1 @str.560 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.561 = private unnamed_addr constant [16 x i8] c"local-enum: {}\0A\00", align 1 -@str.562 = private unnamed_addr constant [16 x i8] c"Source_Location\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 +@str.561 = private unnamed_addr constant [29 x i8] c"=== 19. Local Fn Return ===\0A\00", align 1 +@str.562 = private unnamed_addr constant [21 x i8] c"local-struct: {} {}\0A\00", align 1 +@str.563 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.564 = private unnamed_addr constant [21 x i8] c"local-struct: {} {}\0A\00", align 1 +@str.565 = private unnamed_addr constant [16 x i8] c"local-enum: {}\0A\00", align 1 +@str.566 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.567 = private unnamed_addr constant [16 x i8] c"local-enum: {}\0A\00", align 1 +@str.568 = private unnamed_addr constant [16 x i8] c"Source_Location\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 = private constant [5 x i8] c"file\00" -@fld.str.566 = private constant [5 x i8] c"line\00" -@fld.str.567 = private constant [4 x i8] c"col\00" -@fld.str.568 = 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.566, i64 4 }, { ptr, i64 } { ptr @fld.str.567, i64 3 }, { ptr, i64 } { ptr @fld.str.568, i64 4 }] -@str.569 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.570 = private unnamed_addr constant [10 x i8] c"Allocator\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"ctx\00" -@fld.str.575 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.576 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.577 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.574, i64 3 }, { ptr, i64 } { ptr @fld.str.575, i64 11 }, { ptr, i64 } { ptr @fld.str.576, i64 13 }] -@str.578 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.579 = private unnamed_addr constant [8 x i8] c"Context\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 [10 x i8] c"allocator\00" -@fld.str.584 = private constant [5 x i8] c"data\00" -@field_names.585 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.583, i64 9 }, { 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 [11 x i8] c"CAllocator\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 -@field_names.591 = private constant [0 x { ptr, i64 }] zeroinitializer +@fld.str.572 = private constant [5 x i8] c"line\00" +@fld.str.573 = private constant [4 x i8] c"col\00" +@fld.str.574 = 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.572, i64 4 }, { ptr, i64 } { ptr @fld.str.573, i64 3 }, { ptr, i64 } { ptr @fld.str.574, i64 4 }] +@str.575 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.576 = private unnamed_addr constant [10 x i8] c"Allocator\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"ctx\00" +@fld.str.581 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.582 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.583 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.580, i64 3 }, { ptr, i64 } { ptr @fld.str.581, i64 11 }, { ptr, i64 } { ptr @fld.str.582, i64 13 }] +@str.584 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.585 = private unnamed_addr constant [8 x i8] c"Context\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 [10 x i8] c"allocator\00" +@fld.str.590 = private constant [5 x i8] c"data\00" +@field_names.591 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.589, i64 9 }, { ptr, i64 } { ptr @fld.str.590, i64 4 }] @str.592 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.593 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.593 = private unnamed_addr constant [11 x i8] c"CAllocator\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 [12 x i8] c"alloc_count\00" -@field_names.598 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.597, i64 11 }] -@str.599 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.600 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" -@fld.str.605 = private constant [4 x i8] c"cap\00" -@field_names.606 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.604, i64 4 }, { ptr, i64 } { ptr @fld.str.605, i64 3 }] -@str.607 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.608 = private unnamed_addr constant [6 x i8] c"Arena\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 -@str.611 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.612 = private constant [6 x i8] c"first\00" -@fld.str.613 = private constant [10 x i8] c"end_index\00" -@fld.str.614 = private constant [7 x i8] c"parent\00" -@field_names.615 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.612, i64 5 }, { ptr, i64 } { ptr @fld.str.613, i64 9 }, { ptr, i64 } { ptr @fld.str.614, i64 6 }] -@str.616 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.617 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" -@fld.str.622 = private constant [4 x i8] c"len\00" -@fld.str.623 = private constant [4 x i8] c"pos\00" -@field_names.624 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.621, i64 3 }, { ptr, i64 } { ptr @fld.str.622, i64 3 }, { ptr, i64 } { ptr @fld.str.623, i64 3 }] -@str.625 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.626 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 -@fld.str.630 = private constant [7 x i8] c"parent\00" -@fld.str.631 = private constant [12 x i8] c"alloc_count\00" -@fld.str.632 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.633 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.634 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.630, i64 6 }, { ptr, i64 } { ptr @fld.str.631, i64 11 }, { ptr, i64 } { ptr @fld.str.632, i64 13 }, { ptr, i64 } { ptr @fld.str.633, i64 17 }] -@str.635 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.636 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" -@field_names.641 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.640, i64 2 }] -@str.642 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.643 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [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" -@fld.str.651 = private constant [10 x i8] c"line_text\00" -@field_names.652 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.647, 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 }, { ptr, i64 } { ptr @fld.str.651, i64 9 }] -@str.653 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.654 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" -@fld.str.659 = private constant [7 x i8] c"stdout\00" -@field_names.660 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.658, i64 9 }, { ptr, i64 } { ptr @fld.str.659, i64 6 }] -@str.661 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.662 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.667 = private constant [11 x i8] c"sin_family\00" -@fld.str.668 = private constant [9 x i8] c"sin_port\00" -@fld.str.669 = private constant [9 x i8] c"sin_addr\00" -@fld.str.670 = private constant [9 x i8] c"sin_zero\00" -@field_names.671 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.666, i64 7 }, { ptr, i64 } { ptr @fld.str.667, i64 10 }, { ptr, i64 } { ptr @fld.str.668, i64 8 }, { ptr, i64 } { ptr @fld.str.669, i64 8 }, { ptr, i64 } { ptr @fld.str.670, i64 8 }] -@str.672 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.673 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@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 [3 x i8] c", \00", align 1 -@fld.str.677 = private constant [6 x i8] c"items\00" -@fld.str.678 = private constant [4 x i8] c"len\00" -@fld.str.679 = private constant [4 x i8] c"cap\00" -@field_names.680 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.677, i64 5 }, { ptr, i64 } { ptr @fld.str.678, i64 3 }, { ptr, i64 } { ptr @fld.str.679, i64 3 }] -@str.681 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.682 = private unnamed_addr constant [7 x i8] c"Object\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 [6 x i8] c"items\00" -@fld.str.687 = private constant [4 x i8] c"len\00" -@fld.str.688 = private constant [4 x i8] c"cap\00" -@field_names.689 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.686, i64 5 }, { ptr, i64 } { ptr @fld.str.687, i64 3 }, { ptr, i64 } { ptr @fld.str.688, i64 3 }] -@str.690 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.691 = private unnamed_addr constant [7 x i8] c"Member\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 -@fld.str.695 = private constant [4 x i8] c"key\00" -@fld.str.696 = private constant [4 x i8] c"val\00" -@field_names.697 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.695, i64 3 }, { ptr, i64 } { ptr @fld.str.696, i64 3 }] -@str.698 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.699 = private unnamed_addr constant [5 x i8] c"Sink\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"dst\00" -@fld.str.704 = private constant [4 x i8] c"pos\00" -@fld.str.705 = private constant [5 x i8] c"file\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 4 }] -@str.707 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.708 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" -@fld.str.713 = private constant [4 x i8] c"pos\00" -@fld.str.714 = private constant [6 x i8] c"alloc\00" -@field_names.715 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.712, i64 3 }, { ptr, i64 } { ptr @fld.str.713, i64 3 }, { ptr, i64 } { ptr @fld.str.714, i64 5 }] -@str.716 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.717 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.721 = private constant [0 x { ptr, i64 }] zeroinitializer +@field_names.597 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.598 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.599 = private unnamed_addr constant [4 x i8] c"GPA\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 [12 x i8] c"alloc_count\00" +@field_names.604 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.603, i64 11 }] +@str.605 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.606 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" +@fld.str.611 = private constant [4 x i8] c"cap\00" +@field_names.612 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.610, i64 4 }, { ptr, i64 } { ptr @fld.str.611, i64 3 }] +@str.613 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.614 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@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 [3 x i8] c", \00", align 1 +@fld.str.618 = private constant [6 x i8] c"first\00" +@fld.str.619 = private constant [10 x i8] c"end_index\00" +@fld.str.620 = private constant [7 x i8] c"parent\00" +@field_names.621 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.618, i64 5 }, { ptr, i64 } { ptr @fld.str.619, i64 9 }, { ptr, i64 } { ptr @fld.str.620, i64 6 }] +@str.622 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.623 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" +@fld.str.628 = private constant [4 x i8] c"len\00" +@fld.str.629 = private constant [4 x i8] c"pos\00" +@field_names.630 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.627, i64 3 }, { ptr, i64 } { ptr @fld.str.628, i64 3 }, { ptr, i64 } { ptr @fld.str.629, i64 3 }] +@str.631 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.632 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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"parent\00" +@fld.str.637 = private constant [12 x i8] c"alloc_count\00" +@fld.str.638 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.639 = private constant [18 x i8] c"total_alloc_bytes\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 11 }, { ptr, i64 } { ptr @fld.str.638, i64 13 }, { ptr, i64 } { ptr @fld.str.639, i64 17 }] +@str.641 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.642 = private unnamed_addr constant [5 x i8] c"File\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" +@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 [11 x i8] c"TraceFrame\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"file\00" +@fld.str.654 = private constant [5 x i8] c"line\00" +@fld.str.655 = private constant [4 x i8] c"col\00" +@fld.str.656 = private constant [5 x i8] c"func\00" +@fld.str.657 = private constant [10 x i8] c"line_text\00" +@field_names.658 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.653, i64 4 }, { ptr, i64 } { ptr @fld.str.654, i64 4 }, { ptr, i64 } { ptr @fld.str.655, i64 3 }, { ptr, i64 } { ptr @fld.str.656, i64 4 }, { ptr, i64 } { ptr @fld.str.657, i64 9 }] +@str.659 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.660 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 +@fld.str.664 = private constant [10 x i8] c"exit_code\00" +@fld.str.665 = private constant [7 x i8] c"stdout\00" +@field_names.666 = private constant [2 x { ptr, i64 }] [{ 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"SockAddr\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 [8 x i8] c"sin_len\00" +@fld.str.673 = private constant [11 x i8] c"sin_family\00" +@fld.str.674 = private constant [9 x i8] c"sin_port\00" +@fld.str.675 = private constant [9 x i8] c"sin_addr\00" +@fld.str.676 = private constant [9 x i8] c"sin_zero\00" +@field_names.677 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.672, i64 7 }, { ptr, i64 } { ptr @fld.str.673, i64 10 }, { ptr, i64 } { ptr @fld.str.674, i64 8 }, { ptr, i64 } { ptr @fld.str.675, i64 8 }, { ptr, i64 } { ptr @fld.str.676, i64 8 }] +@str.678 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.679 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 +@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 [3 x i8] c", \00", align 1 +@fld.str.683 = private constant [6 x i8] c"items\00" +@fld.str.684 = private constant [4 x i8] c"len\00" +@fld.str.685 = private constant [4 x i8] c"cap\00" +@field_names.686 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.683, i64 5 }, { ptr, i64 } { ptr @fld.str.684, i64 3 }, { ptr, i64 } { ptr @fld.str.685, i64 3 }] +@str.687 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.688 = private unnamed_addr constant [7 x i8] c"Object\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 [6 x i8] c"items\00" +@fld.str.693 = private constant [4 x i8] c"len\00" +@fld.str.694 = private constant [4 x i8] c"cap\00" +@field_names.695 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.692, i64 5 }, { ptr, i64 } { ptr @fld.str.693, i64 3 }, { ptr, i64 } { ptr @fld.str.694, i64 3 }] +@str.696 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.697 = private unnamed_addr constant [7 x i8] c"Member\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"key\00" +@fld.str.702 = private constant [4 x i8] c"val\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 3 }] +@str.704 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.705 = private unnamed_addr constant [5 x i8] c"Sink\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 [4 x i8] c"dst\00" +@fld.str.710 = private constant [4 x i8] c"pos\00" +@fld.str.711 = private constant [5 x i8] c"file\00" +@field_names.712 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.709, i64 3 }, { ptr, i64 } { ptr @fld.str.710, i64 3 }, { ptr, i64 } { ptr @fld.str.711, i64 4 }] +@str.713 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.714 = private unnamed_addr constant [7 x i8] c"Parser\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 +@fld.str.718 = private constant [4 x i8] c"src\00" +@fld.str.719 = private constant [4 x i8] c"pos\00" +@fld.str.720 = private constant [6 x i8] c"alloc\00" +@field_names.721 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.718, i64 3 }, { ptr, i64 } { ptr @fld.str.719, i64 3 }, { ptr, i64 } { ptr @fld.str.720, i64 5 }] @str.722 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.723 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.723 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 [5 x i8] c"name\00" -@fld.str.728 = private constant [12 x i8] c"takes_value\00" -@fld.str.729 = private constant [9 x i8] c"required\00" -@field_names.730 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.727, i64 4 }, { ptr, i64 } { ptr @fld.str.728, i64 11 }, { 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 [8 x i8] c"Command\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"group\00" -@fld.str.737 = private constant [8 x i8] c"command\00" -@fld.str.738 = private constant [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.738, i64 5 }] -@str.740 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.741 = private unnamed_addr constant [10 x i8] c"FlagValue\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 [4 x i8] c"set\00" -@fld.str.746 = private constant [6 x i8] c"value\00" -@field_names.747 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.745, i64 3 }, { ptr, i64 } { ptr @fld.str.746, i64 5 }] -@str.748 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.749 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" -@fld.str.754 = private constant [6 x i8] c"token\00" -@field_names.755 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.753, i64 5 }, { ptr, i64 } { ptr @fld.str.754, i64 5 }] -@str.756 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.757 = private unnamed_addr constant [7 x i8] c"Parsed\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 [6 x i8] c"group\00" -@fld.str.762 = private constant [8 x i8] c"command\00" -@fld.str.763 = private constant [10 x i8] c"cmd_index\00" -@fld.str.764 = private constant [5 x i8] c"json\00" -@fld.str.765 = private constant [5 x i8] c"rest\00" -@fld.str.766 = private constant [5 x i8] c"spec\00" -@fld.str.767 = private constant [7 x i8] c"values\00" -@field_names.768 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.761, i64 5 }, { ptr, i64 } { ptr @fld.str.762, i64 7 }, { ptr, i64 } { ptr @fld.str.763, i64 9 }, { ptr, i64 } { ptr @fld.str.764, i64 4 }, { ptr, i64 } { ptr @fld.str.765, i64 4 }, { ptr, i64 } { ptr @fld.str.766, i64 4 }, { ptr, i64 } { ptr @fld.str.767, i64 6 }] -@str.769 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.770 = private unnamed_addr constant [7 x i8] c"Sha256\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 -@fld.str.774 = private constant [2 x i8] c"h\00" -@fld.str.775 = private constant [4 x i8] c"buf\00" -@fld.str.776 = private constant [8 x i8] c"buf_len\00" -@fld.str.777 = private constant [10 x i8] c"total_len\00" -@field_names.778 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.774, i64 1 }, { ptr, i64 } { ptr @fld.str.775, i64 3 }, { ptr, i64 } { ptr @fld.str.776, i64 7 }, { ptr, i64 } { ptr @fld.str.777, i64 9 }] -@str.779 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.780 = private unnamed_addr constant [5 x i8] c"Mat4\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 [5 x i8] c"data\00" -@field_names.785 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.784, i64 4 }] -@str.786 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.787 = private unnamed_addr constant [5 x i8] c"Vec2\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 -@fld.str.791 = private constant [2 x i8] c"x\00" -@fld.str.792 = private constant [2 x i8] c"y\00" -@field_names.793 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.791, i64 1 }, { ptr, i64 } { ptr @fld.str.792, i64 1 }] -@str.794 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.795 = private unnamed_addr constant [6 x i8] c"Point\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 [2 x i8] c"x\00" -@fld.str.800 = private constant [2 x i8] c"y\00" -@field_names.801 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.799, i64 1 }, { ptr, i64 } { ptr @fld.str.800, i64 1 }] -@str.802 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.803 = private unnamed_addr constant [11 x i8] c"Shape.rect\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 [2 x i8] c"w\00" -@fld.str.808 = private constant [2 x i8] c"h\00" -@field_names.809 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.807, i64 1 }, { ptr, i64 } { ptr @fld.str.808, i64 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 -@fld.str.812 = private constant [5 x i8] c"read\00" -@fld.str.813 = private constant [6 x i8] c"write\00" -@fld.str.814 = private constant [7 x i8] c"append\00" -@fld.str.815 = private constant [11 x i8] c"read_write\00" -@field_names.816 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.812, i64 4 }, { ptr, i64 } { ptr @fld.str.813, i64 5 }, { ptr, i64 } { ptr @fld.str.814, i64 6 }, { ptr, i64 } { ptr @fld.str.815, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.820 = private constant [4 x i8] c"set\00" -@fld.str.821 = private constant [8 x i8] c"current\00" -@fld.str.822 = private constant [4 x i8] c"end\00" -@field_names.823 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.820, i64 3 }, { ptr, i64 } { ptr @fld.str.821, i64 7 }, { ptr, i64 } { ptr @fld.str.822, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.827 = private constant [6 x i8] c"null_\00" -@fld.str.828 = private constant [6 x i8] c"bool_\00" -@fld.str.829 = private constant [5 x i8] c"int_\00" -@fld.str.830 = private constant [4 x i8] c"str\00" -@fld.str.831 = private constant [6 x i8] c"array\00" -@fld.str.832 = private constant [7 x i8] c"object\00" -@field_names.833 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.827, i64 5 }, { ptr, i64 } { ptr @fld.str.828, i64 5 }, { ptr, i64 } { ptr @fld.str.829, i64 4 }, { ptr, i64 } { ptr @fld.str.830, i64 3 }, { ptr, i64 } { ptr @fld.str.831, i64 5 }, { ptr, i64 } { ptr @fld.str.832, i64 6 }] -@str.834 = private unnamed_addr constant [2 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 -@fld.str.837 = private constant [6 x i8] c"macos\00" -@fld.str.838 = private constant [6 x i8] c"linux\00" -@fld.str.839 = private constant [8 x i8] c"windows\00" -@fld.str.840 = private constant [5 x i8] c"wasm\00" -@fld.str.841 = private constant [4 x i8] c"ios\00" -@fld.str.842 = private constant [8 x i8] c"android\00" -@fld.str.843 = private constant [8 x i8] c"unknown\00" -@field_names.844 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.837, i64 5 }, { ptr, i64 } { ptr @fld.str.838, i64 5 }, { ptr, i64 } { ptr @fld.str.839, i64 7 }, { ptr, i64 } { ptr @fld.str.840, i64 4 }, { ptr, i64 } { ptr @fld.str.841, i64 3 }, { ptr, i64 } { ptr @fld.str.842, i64 7 }, { ptr, i64 } { ptr @fld.str.843, i64 7 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.848 = private constant [8 x i8] c"aarch64\00" -@fld.str.849 = private constant [7 x i8] c"x86_64\00" -@fld.str.850 = private constant [7 x i8] c"wasm32\00" -@fld.str.851 = private constant [7 x i8] c"wasm64\00" -@fld.str.852 = private constant [8 x i8] c"unknown\00" -@field_names.853 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.848, i64 7 }, { ptr, i64 } { ptr @fld.str.849, i64 6 }, { ptr, i64 } { ptr @fld.str.850, i64 6 }, { ptr, i64 } { ptr @fld.str.851, i64 6 }, { ptr, i64 } { ptr @fld.str.852, i64 7 }] -@str.854 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.855 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.856 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.857 = private constant [7 x i8] c"circle\00" -@fld.str.858 = private constant [5 x i8] c"rect\00" -@fld.str.859 = private constant [5 x i8] c"none\00" -@field_names.860 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.857, i64 6 }, { ptr, i64 } { ptr @fld.str.858, i64 4 }, { ptr, i64 } { ptr @fld.str.859, i64 4 }] -@str.861 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.862 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.863 = private unnamed_addr constant [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 -@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 +@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 [9 x i8] c"FlagSpec\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 +@fld.str.733 = private constant [5 x i8] c"name\00" +@fld.str.734 = private constant [12 x i8] c"takes_value\00" +@fld.str.735 = private constant [9 x i8] c"required\00" +@field_names.736 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.733, i64 4 }, { ptr, i64 } { ptr @fld.str.734, i64 11 }, { ptr, i64 } { ptr @fld.str.735, i64 8 }] +@str.737 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.738 = private unnamed_addr constant [8 x i8] c"Command\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 [6 x i8] c"group\00" +@fld.str.743 = private constant [8 x i8] c"command\00" +@fld.str.744 = private constant [6 x i8] c"flags\00" +@field_names.745 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.742, i64 5 }, { ptr, i64 } { ptr @fld.str.743, i64 7 }, { ptr, i64 } { ptr @fld.str.744, i64 5 }] +@str.746 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.747 = private unnamed_addr constant [10 x i8] c"FlagValue\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 +@fld.str.751 = private constant [4 x i8] c"set\00" +@fld.str.752 = private constant [6 x i8] c"value\00" +@field_names.753 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.751, i64 3 }, { ptr, i64 } { ptr @fld.str.752, i64 5 }] +@str.754 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.755 = private unnamed_addr constant [5 x i8] c"Diag\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"index\00" +@fld.str.760 = private constant [6 x i8] c"token\00" +@field_names.761 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.759, i64 5 }, { ptr, i64 } { ptr @fld.str.760, i64 5 }] +@str.762 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.763 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.764 = private unnamed_addr constant [2 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 [3 x i8] c", \00", align 1 +@fld.str.767 = private constant [6 x i8] c"group\00" +@fld.str.768 = private constant [8 x i8] c"command\00" +@fld.str.769 = private constant [10 x i8] c"cmd_index\00" +@fld.str.770 = private constant [5 x i8] c"json\00" +@fld.str.771 = private constant [5 x i8] c"rest\00" +@fld.str.772 = private constant [5 x i8] c"spec\00" +@fld.str.773 = private constant [7 x i8] c"values\00" +@field_names.774 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.767, i64 5 }, { ptr, i64 } { ptr @fld.str.768, i64 7 }, { ptr, i64 } { ptr @fld.str.769, i64 9 }, { ptr, i64 } { ptr @fld.str.770, i64 4 }, { ptr, i64 } { ptr @fld.str.771, i64 4 }, { ptr, i64 } { ptr @fld.str.772, i64 4 }, { ptr, i64 } { ptr @fld.str.773, i64 6 }] +@str.775 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.776 = private unnamed_addr constant [7 x i8] c"Sha256\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 +@fld.str.780 = private constant [2 x i8] c"h\00" +@fld.str.781 = private constant [4 x i8] c"buf\00" +@fld.str.782 = private constant [8 x i8] c"buf_len\00" +@fld.str.783 = private constant [10 x i8] c"total_len\00" +@field_names.784 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.780, i64 1 }, { ptr, i64 } { ptr @fld.str.781, i64 3 }, { ptr, i64 } { ptr @fld.str.782, i64 7 }, { ptr, i64 } { ptr @fld.str.783, i64 9 }] +@str.785 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.786 = private unnamed_addr constant [5 x i8] c"Mat4\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 [5 x i8] c"data\00" +@field_names.791 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.790, i64 4 }] +@str.792 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.793 = private unnamed_addr constant [5 x i8] c"Vec2\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 +@fld.str.797 = private constant [2 x i8] c"x\00" +@fld.str.798 = private constant [2 x i8] c"y\00" +@field_names.799 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.797, i64 1 }, { ptr, i64 } { ptr @fld.str.798, i64 1 }] +@str.800 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.801 = private unnamed_addr constant [6 x i8] c"Point\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 +@fld.str.805 = private constant [2 x i8] c"x\00" +@fld.str.806 = private constant [2 x i8] c"y\00" +@field_names.807 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.805, i64 1 }, { ptr, i64 } { ptr @fld.str.806, i64 1 }] +@str.808 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.809 = private unnamed_addr constant [11 x i8] c"Shape.rect\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 [2 x i8] c"w\00" +@fld.str.814 = private constant [2 x i8] c"h\00" +@field_names.815 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.813, i64 1 }, { ptr, i64 } { ptr @fld.str.814, i64 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 +@fld.str.818 = private constant [5 x i8] c"read\00" +@fld.str.819 = private constant [6 x i8] c"write\00" +@fld.str.820 = private constant [7 x i8] c"append\00" +@fld.str.821 = private constant [11 x i8] c"read_write\00" +@field_names.822 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.818, i64 4 }, { ptr, i64 } { ptr @fld.str.819, i64 5 }, { ptr, i64 } { ptr @fld.str.820, i64 6 }, { ptr, i64 } { ptr @fld.str.821, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.826 = private constant [4 x i8] c"set\00" +@fld.str.827 = private constant [8 x i8] c"current\00" +@fld.str.828 = private constant [4 x i8] c"end\00" +@field_names.829 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.826, i64 3 }, { ptr, i64 } { ptr @fld.str.827, i64 7 }, { ptr, i64 } { ptr @fld.str.828, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.833 = private constant [6 x i8] c"null_\00" +@fld.str.834 = private constant [6 x i8] c"bool_\00" +@fld.str.835 = private constant [5 x i8] c"int_\00" +@fld.str.836 = private constant [4 x i8] c"str\00" +@fld.str.837 = private constant [6 x i8] c"array\00" +@fld.str.838 = private constant [7 x i8] c"object\00" +@field_names.839 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.833, i64 5 }, { ptr, i64 } { ptr @fld.str.834, i64 5 }, { ptr, i64 } { ptr @fld.str.835, i64 4 }, { ptr, i64 } { ptr @fld.str.836, i64 3 }, { ptr, i64 } { ptr @fld.str.837, i64 5 }, { ptr, i64 } { ptr @fld.str.838, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.843 = private constant [6 x i8] c"macos\00" +@fld.str.844 = private constant [6 x i8] c"linux\00" +@fld.str.845 = private constant [8 x i8] c"windows\00" +@fld.str.846 = private constant [5 x i8] c"wasm\00" +@fld.str.847 = private constant [4 x i8] c"ios\00" +@fld.str.848 = private constant [8 x i8] c"android\00" +@fld.str.849 = private constant [8 x i8] c"unknown\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 5 }, { ptr, i64 } { ptr @fld.str.845, i64 7 }, { ptr, i64 } { ptr @fld.str.846, i64 4 }, { ptr, i64 } { ptr @fld.str.847, i64 3 }, { ptr, i64 } { ptr @fld.str.848, i64 7 }, { ptr, i64 } { ptr @fld.str.849, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.854 = private constant [8 x i8] c"aarch64\00" +@fld.str.855 = private constant [7 x i8] c"x86_64\00" +@fld.str.856 = private constant [7 x i8] c"wasm32\00" +@fld.str.857 = private constant [7 x i8] c"wasm64\00" +@fld.str.858 = private constant [8 x i8] c"unknown\00" +@field_names.859 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.854, i64 7 }, { ptr, i64 } { ptr @fld.str.855, i64 6 }, { ptr, i64 } { ptr @fld.str.856, i64 6 }, { ptr, i64 } { ptr @fld.str.857, i64 6 }, { ptr, i64 } { ptr @fld.str.858, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.863 = private constant [7 x i8] c"circle\00" +@fld.str.864 = private constant [5 x i8] c"rect\00" +@fld.str.865 = private constant [5 x i8] c"none\00" +@field_names.866 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.863, i64 6 }, { ptr, i64 } { ptr @fld.str.864, i64 4 }, { ptr, i64 } { ptr @fld.str.865, i64 4 }] +@str.867 = private unnamed_addr constant [2 x i8] c"(\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 [2 x i8] c"]\00", align 1 @str.871 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -572,109 +569,116 @@ @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 -@str.902 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.903 = private unnamed_addr constant [6 x i8] c"*void\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 [12 x i8] c"*CAllocator\00", align 1 -@str.907 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.902 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.903 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.904 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 +@str.907 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.908 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.909 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.909 = private unnamed_addr constant [6 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 [12 x i8] c"*ArenaChunk\00", align 1 +@str.912 = private unnamed_addr constant [12 x i8] c"*CAllocator\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 [7 x i8] c"*Arena\00", align 1 +@str.915 = private unnamed_addr constant [5 x i8] c"*GPA\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 [6 x i8] c"[*]u8\00", align 1 +@str.918 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\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 [10 x i8] c"*BufAlloc\00", align 1 +@str.921 = private unnamed_addr constant [7 x i8] c"*Arena\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 [19 x i8] c"*TrackingAllocator\00", align 1 +@str.924 = private unnamed_addr constant [6 x i8] c"[*]u8\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 [6 x i8] c"*File\00", align 1 +@str.927 = private unnamed_addr constant [10 x i8] c"*BufAlloc\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 [4 x i8] c"*u8\00", align 1 +@str.930 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\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 [5 x i8] c"*i32\00", align 1 +@str.933 = private unnamed_addr constant [6 x i8] c"*File\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 [10 x i8] c"*SockAddr\00", align 1 +@str.936 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @str.937 = private unnamed_addr constant [4 x i8] c"@0x\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"*u32\00", align 1 +@str.939 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 @str.940 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.941 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.942 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.942 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 @str.943 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.944 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.945 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.945 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 @str.946 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.947 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.948 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.948 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 @str.949 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.950 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.951 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.951 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 @str.952 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.953 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.954 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 +@str.954 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 @str.955 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.956 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.957 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 +@str.957 = private unnamed_addr constant [6 x i8] c"*Sink\00", align 1 @str.958 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.959 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.960 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 +@str.960 = private unnamed_addr constant [8 x i8] c"*Parser\00", align 1 @str.961 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.962 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.963 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 +@str.963 = private unnamed_addr constant [5 x i8] c"*i64\00", align 1 @str.964 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.965 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.966 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 +@str.966 = private unnamed_addr constant [8 x i8] c"*Parsed\00", align 1 @str.967 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.968 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.969 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 +@str.969 = private unnamed_addr constant [6 x i8] c"*Diag\00", align 1 @str.970 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.971 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.972 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 +@str.972 = private unnamed_addr constant [8 x i8] c"*Sha256\00", align 1 @str.973 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.974 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.975 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 +@str.975 = private unnamed_addr constant [13 x i8] c"**CAllocator\00", align 1 @str.976 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.977 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.978 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 +@str.978 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 @str.979 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.980 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.981 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 +@str.981 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 @str.982 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.983 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.984 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.984 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 @str.985 = private unnamed_addr constant [4 x i8] c"@0x\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"*bool\00", align 1 +@str.987 = private unnamed_addr constant [7 x i8] c"*[]Any\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 [7 x i8] c"*Point\00", align 1 +@str.990 = private unnamed_addr constant [4 x i8] c"*u8\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 [8 x i8] c"*[2]Any\00", align 1 +@str.993 = private unnamed_addr constant [6 x i8] c"*bool\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 [7 x i8] c"*Shape\00", align 1 +@str.996 = private unnamed_addr constant [7 x i8] c"*Point\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 [8 x i8] c"*[1]Any\00", align 1 +@str.999 = private unnamed_addr constant [8 x i8] c"*[2]Any\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 [5 x i8] c"null\00", align 1 -@str.1003 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1002 = private unnamed_addr constant [7 x i8] c"*Shape\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 [8 x i8] c"*[1]Any\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 [5 x i8] c"null\00", align 1 +@str.1009 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1010 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1011 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -691,7 +695,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -742,7 +746,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -826,13 +830,13 @@ entry: br i1 %icmp, label %if.then.56, label %if.merge.57 if.then.56: ; preds = %entry - ret { ptr, i64 } { ptr @str.338, i64 1 } + ret { ptr, i64 } { ptr @str.341, i64 1 } if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.66 @@ -943,7 +947,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.339, i64 4 }, %if.then.78 ], [ { ptr @str.340, i64 5 }, %if.else.79 ] + %bp = phi { ptr, i64 } [ { ptr @str.342, i64 4 }, %if.then.78 ], [ { ptr @str.343, i64 5 }, %if.else.79 ] ret { ptr, i64 } %bp } @@ -1035,7 +1039,7 @@ if.merge.91: ; preds = %if.else.90, %if.the %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1272,13 +1276,13 @@ entry: br i1 %icmp, label %if.then.410, label %if.merge.411 if.then.410: ; preds = %entry - ret { ptr, i64 } { ptr @str.341, i64 1 } + ret { ptr, i64 } { ptr @str.344, i64 1 } if.merge.411: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1350,7 +1354,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1381,7 +1385,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1396,6 +1400,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1414,7 +1427,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.342, i64 3 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.345, 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 @@ -1438,94 +1451,95 @@ entry: i64 1, label %match.arm.41 i64 10, label %match.arm.42 i64 11, label %match.arm.42 - i64 19, label %match.arm.43 i64 20, label %match.arm.43 i64 21, label %match.arm.43 - i64 24, label %match.arm.43 - i64 26, label %match.arm.43 - i64 28, label %match.arm.43 - i64 30, label %match.arm.43 - i64 33, label %match.arm.43 - i64 35, label %match.arm.43 - i64 39, label %match.arm.43 - i64 43, label %match.arm.43 - i64 45, label %match.arm.43 - i64 48, label %match.arm.43 - i64 52, label %match.arm.43 + i64 22, label %match.arm.43 + i64 25, label %match.arm.43 + i64 27, label %match.arm.43 + i64 29, label %match.arm.43 + i64 31, label %match.arm.43 + i64 34, label %match.arm.43 + i64 36, label %match.arm.43 + i64 40, label %match.arm.43 + i64 44, label %match.arm.43 + i64 46, label %match.arm.43 + i64 49, label %match.arm.43 i64 53, label %match.arm.43 - i64 55, label %match.arm.43 - i64 61, label %match.arm.43 - i64 66, label %match.arm.43 - i64 72, label %match.arm.43 - i64 76, label %match.arm.43 - i64 78, label %match.arm.43 + i64 54, label %match.arm.43 + i64 56, label %match.arm.43 + i64 62, label %match.arm.43 + i64 67, label %match.arm.43 + i64 73, label %match.arm.43 + i64 77, label %match.arm.43 i64 79, label %match.arm.43 i64 80, label %match.arm.43 - i64 82, label %match.arm.43 - i64 89, label %match.arm.43 - i64 94, label %match.arm.43 + i64 81, label %match.arm.43 + i64 83, label %match.arm.43 + i64 90, label %match.arm.43 i64 95, label %match.arm.43 i64 96, label %match.arm.43 i64 97, label %match.arm.43 - i64 37, label %match.arm.44 + i64 98, label %match.arm.43 i64 38, label %match.arm.44 - i64 54, label %match.arm.44 - i64 70, label %match.arm.44 + i64 39, label %match.arm.44 + i64 55, label %match.arm.44 i64 71, label %match.arm.44 - i64 98, label %match.arm.44 - i64 51, label %match.arm.45 - i64 64, label %match.arm.45 - i64 75, label %match.arm.45 - i64 22, label %match.arm.47 - i64 81, label %match.arm.47 - i64 87, label %match.arm.47 + i64 72, label %match.arm.44 + i64 99, label %match.arm.44 + i64 52, label %match.arm.45 + i64 65, label %match.arm.45 + i64 76, label %match.arm.45 + i64 23, label %match.arm.47 + i64 82, label %match.arm.47 i64 88, label %match.arm.47 - i64 92, label %match.arm.47 + i64 89, label %match.arm.47 i64 93, label %match.arm.47 - i64 107, label %match.arm.47 - i64 110, label %match.arm.47 - i64 23, label %match.arm.48 - i64 60, label %match.arm.48 - i64 77, label %match.arm.48 - i64 85, label %match.arm.48 - i64 102, label %match.arm.48 - i64 18, label %match.arm.49 - i64 25, label %match.arm.49 - i64 27, label %match.arm.49 - i64 29, label %match.arm.49 - i64 31, label %match.arm.49 + i64 94, label %match.arm.47 + i64 109, label %match.arm.47 + i64 112, label %match.arm.47 + i64 24, label %match.arm.48 + i64 61, label %match.arm.48 + i64 78, label %match.arm.48 + i64 86, label %match.arm.48 + i64 103, label %match.arm.48 + i64 19, label %match.arm.49 + i64 26, label %match.arm.49 + i64 28, label %match.arm.49 + i64 30, label %match.arm.49 i64 32, label %match.arm.49 - i64 34, label %match.arm.49 - i64 36, label %match.arm.49 - i64 40, label %match.arm.49 - i64 44, label %match.arm.49 - i64 47, label %match.arm.49 - i64 49, label %match.arm.49 + i64 33, label %match.arm.49 + i64 35, label %match.arm.49 + i64 37, label %match.arm.49 + i64 41, label %match.arm.49 + i64 48, label %match.arm.49 i64 50, label %match.arm.49 - i64 56, label %match.arm.49 + i64 51, label %match.arm.49 i64 57, label %match.arm.49 i64 58, label %match.arm.49 i64 59, label %match.arm.49 - i64 62, label %match.arm.49 - i64 67, label %match.arm.49 - i64 74, label %match.arm.49 - i64 83, label %match.arm.49 - i64 86, label %match.arm.49 - i64 90, label %match.arm.49 - i64 99, label %match.arm.49 + i64 60, label %match.arm.49 + i64 63, label %match.arm.49 + i64 68, label %match.arm.49 + i64 75, label %match.arm.49 + i64 84, label %match.arm.49 + i64 87, label %match.arm.49 + i64 91, label %match.arm.49 i64 100, label %match.arm.49 i64 101, label %match.arm.49 - i64 103, label %match.arm.49 + i64 102, label %match.arm.49 i64 104, label %match.arm.49 i64 105, label %match.arm.49 i64 106, label %match.arm.49 + i64 107, label %match.arm.49 i64 108, label %match.arm.49 - i64 109, label %match.arm.49 + i64 110, label %match.arm.49 i64 111, label %match.arm.49 - i64 41, label %match.arm.50 + i64 113, label %match.arm.49 i64 42, label %match.arm.50 - i64 46, label %match.arm.50 - i64 91, label %match.arm.50 + i64 43, label %match.arm.50 + i64 45, label %match.arm.50 + i64 47, label %match.arm.50 + i64 92, label %match.arm.50 i64 13, label %match.arm.51 ] @@ -1534,7 +1548,7 @@ match.merge.37: ; preds = %dispatch.merge.519, ret { ptr, i64 } %loadN match.arm.38: ; preds = %entry - store { ptr, i64 } { ptr @str.343, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.346, 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 @@ -1543,7 +1557,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 [176 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [179 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 @@ -1576,35 +1590,35 @@ match.arm.43: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.95 [ - i64 19, label %dispatch.case.96 - i64 20, label %dispatch.case.97 - i64 21, label %dispatch.case.98 - i64 24, label %dispatch.case.99 - i64 26, label %dispatch.case.100 - i64 28, label %dispatch.case.101 - i64 30, label %dispatch.case.102 - i64 33, label %dispatch.case.103 - i64 35, label %dispatch.case.104 - i64 39, label %dispatch.case.105 - i64 43, label %dispatch.case.106 - i64 45, label %dispatch.case.107 - i64 48, label %dispatch.case.108 - i64 52, label %dispatch.case.109 - i64 53, label %dispatch.case.110 - i64 55, label %dispatch.case.111 - i64 61, label %dispatch.case.112 - i64 66, label %dispatch.case.113 - i64 72, label %dispatch.case.114 - i64 76, label %dispatch.case.115 - i64 78, label %dispatch.case.116 - i64 79, label %dispatch.case.117 - i64 80, label %dispatch.case.118 - i64 82, label %dispatch.case.119 - i64 89, label %dispatch.case.120 - i64 94, label %dispatch.case.121 - i64 95, label %dispatch.case.122 - i64 96, label %dispatch.case.123 - i64 97, label %dispatch.case.124 + i64 20, label %dispatch.case.96 + i64 21, label %dispatch.case.97 + i64 22, label %dispatch.case.98 + i64 25, label %dispatch.case.99 + i64 27, label %dispatch.case.100 + i64 29, label %dispatch.case.101 + i64 31, label %dispatch.case.102 + i64 34, label %dispatch.case.103 + i64 36, label %dispatch.case.104 + i64 40, label %dispatch.case.105 + i64 44, label %dispatch.case.106 + i64 46, label %dispatch.case.107 + i64 49, label %dispatch.case.108 + i64 53, label %dispatch.case.109 + i64 54, label %dispatch.case.110 + i64 56, label %dispatch.case.111 + i64 62, label %dispatch.case.112 + i64 67, label %dispatch.case.113 + i64 73, label %dispatch.case.114 + i64 77, label %dispatch.case.115 + i64 79, label %dispatch.case.116 + i64 80, label %dispatch.case.117 + i64 81, label %dispatch.case.118 + i64 83, label %dispatch.case.119 + i64 90, label %dispatch.case.120 + i64 95, label %dispatch.case.121 + i64 96, label %dispatch.case.122 + i64 97, label %dispatch.case.123 + i64 98, label %dispatch.case.124 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry, %entry @@ -1612,12 +1626,12 @@ match.arm.44: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.271 [ - i64 37, label %dispatch.case.272 - i64 38, label %dispatch.case.273 - i64 54, label %dispatch.case.274 - i64 70, label %dispatch.case.275 - i64 71, label %dispatch.case.276 - i64 98, label %dispatch.case.277 + i64 38, label %dispatch.case.272 + i64 39, label %dispatch.case.273 + i64 55, label %dispatch.case.274 + i64 71, label %dispatch.case.275 + i64 72, label %dispatch.case.276 + i64 99, label %dispatch.case.277 ] match.arm.45: ; preds = %entry, %entry, %entry @@ -1640,14 +1654,14 @@ match.arm.47: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.291 [ - i64 22, label %dispatch.case.292 - i64 81, label %dispatch.case.293 - i64 87, label %dispatch.case.294 - i64 88, label %dispatch.case.295 - i64 92, label %dispatch.case.296 - i64 93, label %dispatch.case.297 - i64 107, label %dispatch.case.298 - i64 110, label %dispatch.case.299 + i64 23, label %dispatch.case.292 + i64 82, label %dispatch.case.293 + i64 88, label %dispatch.case.294 + i64 89, label %dispatch.case.295 + i64 93, label %dispatch.case.296 + i64 94, label %dispatch.case.297 + i64 109, label %dispatch.case.298 + i64 112, label %dispatch.case.299 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1655,11 +1669,11 @@ match.arm.48: ; preds = %entry, %entry, %ent %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 60, label %dispatch.case.343 - i64 77, label %dispatch.case.344 - i64 85, label %dispatch.case.345 - i64 102, label %dispatch.case.346 + i64 24, label %dispatch.case.342 + i64 61, label %dispatch.case.343 + i64 78, label %dispatch.case.344 + i64 86, label %dispatch.case.345 + i64 103, label %dispatch.case.346 ] 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 @@ -1667,50 +1681,51 @@ match.arm.49: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.373 [ - i64 18, label %dispatch.case.374 - i64 25, label %dispatch.case.375 - i64 27, label %dispatch.case.376 - i64 29, label %dispatch.case.377 - i64 31, label %dispatch.case.378 - i64 32, label %dispatch.case.379 - i64 34, label %dispatch.case.380 - i64 36, label %dispatch.case.381 - i64 40, label %dispatch.case.382 - i64 44, label %dispatch.case.383 - i64 47, label %dispatch.case.384 - i64 49, label %dispatch.case.385 - i64 50, label %dispatch.case.386 - i64 56, label %dispatch.case.387 - i64 57, label %dispatch.case.388 - i64 58, label %dispatch.case.389 - i64 59, label %dispatch.case.390 - i64 62, label %dispatch.case.391 - i64 67, label %dispatch.case.392 - i64 74, label %dispatch.case.393 - i64 83, label %dispatch.case.394 - i64 86, label %dispatch.case.395 - i64 90, label %dispatch.case.396 - i64 99, label %dispatch.case.397 - i64 100, label %dispatch.case.398 - i64 101, label %dispatch.case.399 - i64 103, label %dispatch.case.400 - i64 104, label %dispatch.case.401 - i64 105, label %dispatch.case.402 - i64 106, label %dispatch.case.403 - i64 108, label %dispatch.case.404 - i64 109, label %dispatch.case.405 - i64 111, label %dispatch.case.406 + i64 19, label %dispatch.case.374 + i64 26, label %dispatch.case.375 + i64 28, label %dispatch.case.376 + i64 30, label %dispatch.case.377 + i64 32, label %dispatch.case.378 + i64 33, label %dispatch.case.379 + i64 35, label %dispatch.case.380 + i64 37, label %dispatch.case.381 + i64 41, label %dispatch.case.382 + i64 48, label %dispatch.case.383 + i64 50, label %dispatch.case.384 + i64 51, label %dispatch.case.385 + i64 57, label %dispatch.case.386 + i64 58, label %dispatch.case.387 + i64 59, label %dispatch.case.388 + i64 60, label %dispatch.case.389 + i64 63, label %dispatch.case.390 + i64 68, label %dispatch.case.391 + i64 75, label %dispatch.case.392 + i64 84, label %dispatch.case.393 + i64 87, label %dispatch.case.394 + i64 91, label %dispatch.case.395 + i64 100, label %dispatch.case.396 + i64 101, label %dispatch.case.397 + i64 102, label %dispatch.case.398 + i64 104, label %dispatch.case.399 + i64 105, label %dispatch.case.400 + i64 106, label %dispatch.case.401 + i64 107, label %dispatch.case.402 + i64 108, label %dispatch.case.403 + i64 110, label %dispatch.case.404 + i64 111, label %dispatch.case.405 + i64 113, label %dispatch.case.406 ] -match.arm.50: ; preds = %entry, %entry, %entry, %entry +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.520 [ - i64 41, label %dispatch.case.521 - i64 42, label %dispatch.case.522 - i64 46, label %dispatch.case.523 - i64 91, label %dispatch.case.524 + i64 42, label %dispatch.case.521 + i64 43, label %dispatch.case.522 + i64 45, label %dispatch.case.523 + i64 47, label %dispatch.case.524 + i64 92, label %dispatch.case.525 ] match.arm.51: ; preds = %entry @@ -1719,7 +1734,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 [176 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [179 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 @@ -1770,7 +1785,7 @@ dispatch.merge.94: ; preds = %dispatch.case.124, br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.532, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.538, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2011,7 +2026,7 @@ dispatch.merge.270: ; preds = %dispatch.case.277, br label %match.merge.37 dispatch.default.271: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.533, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.539, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.270 dispatch.case.272: ; preds = %match.arm.44 @@ -2060,7 +2075,7 @@ dispatch.merge.290: ; preds = %dispatch.case.299, br label %match.merge.37 dispatch.default.291: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.534, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.540, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.290 dispatch.case.292: ; preds = %match.arm.47 @@ -2133,7 +2148,7 @@ dispatch.merge.340: ; preds = %dispatch.case.346, br label %match.merge.37 dispatch.default.341: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.535, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.541, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.340 dispatch.case.342: ; preds = %match.arm.48 @@ -2182,7 +2197,7 @@ dispatch.merge.372: ; preds = %dispatch.case.406, br label %match.merge.37 dispatch.default.373: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.536, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.542, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.372 dispatch.case.374: ; preds = %match.arm.49 @@ -2251,133 +2266,133 @@ dispatch.case.382: ; preds = %match.arm.49 dispatch.case.383: ; 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_u8(ptr %0, ptr %iNp275) + %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.372 dispatch.case.384: ; 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_i32(ptr %0, ptr %iNp278) + %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.372 dispatch.case.385: ; 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_SockAddr(ptr %0, ptr %iNp281) + %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.372 dispatch.case.386: ; 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_u32(ptr %0, ptr %iNp284) + %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.372 dispatch.case.387: ; 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_Value(ptr %0, ptr %iNp287) + %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.372 dispatch.case.388: ; 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_Array(ptr %0, ptr %iNp290) + %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.372 dispatch.case.389: ; 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__mptr_Member(ptr %0, ptr %iNp293) + %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.372 dispatch.case.390: ; 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_Object(ptr %0, ptr %iNp296) + %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.372 dispatch.case.391: ; 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_Sink(ptr %0, ptr %iNp299) + %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.372 dispatch.case.392: ; 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_Parser(ptr %0, ptr %iNp302) + %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.372 dispatch.case.393: ; 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_i64(ptr %0, ptr %iNp305) + %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.372 dispatch.case.394: ; 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_Parsed(ptr %0, ptr %iNp308) + %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.372 dispatch.case.395: ; 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_Diag(ptr %0, ptr %iNp311) + %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.372 dispatch.case.396: ; 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_Sha256(ptr %0, ptr %iNp314) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp314) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.372 dispatch.case.397: ; 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_ptr_CAllocator(ptr %0, ptr %iNp317) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp317) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.372 dispatch.case.398: ; 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_ptr_void(ptr %0, ptr %iNp320) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp320) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.372 dispatch.case.399: ; 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_string(ptr %0, ptr %iNp323) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp323) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.372 dispatch.case.400: ; 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_Any(ptr %0, ptr %iNp326) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp326) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.372 dispatch.case.401: ; 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_SL_Any(ptr %0, ptr %iNp329) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp329) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.372 @@ -2416,13 +2431,13 @@ dispatch.case.406: ; preds = %match.arm.49 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.372 -dispatch.merge.519: ; preds = %dispatch.case.524, %dispatch.case.523, %dispatch.case.522, %dispatch.case.521, %dispatch.default.520 +dispatch.merge.519: ; preds = %dispatch.case.525, %dispatch.case.524, %dispatch.case.523, %dispatch.case.522, %dispatch.case.521, %dispatch.default.520 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.520: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.537, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.543, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.519 dispatch.case.521: ; preds = %match.arm.50 @@ -2443,17 +2458,24 @@ dispatch.case.522: ; preds = %match.arm.50 dispatch.case.523: ; preds = %match.arm.50 %ua.raw355 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr356 = inttoptr i64 %ua.raw355 to ptr - %ua.load357 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr356, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load357) + %iNp356 = inttoptr i64 %ua.raw355 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp356) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.519 dispatch.case.524: ; preds = %match.arm.50 - %ua.raw359 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr360 = inttoptr i64 %ua.raw359 to ptr - %ua.load361 = load { [64 x i8], i1 }, ptr %ua.ptr360, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load361) + %ua.raw358 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr359 = inttoptr i64 %ua.raw358 to ptr + %ua.load360 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr359, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load360) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.519 + +dispatch.case.525: ; preds = %match.arm.50 + %ua.raw362 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr363 = inttoptr i64 %ua.raw362 to ptr + %ua.load364 = load { [64 x i8], i1 }, ptr %ua.ptr363, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load364) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.519 } @@ -2464,7 +2486,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.538, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.544, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2560,7 +2582,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.539, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.545, 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 @@ -2568,7 +2590,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.540, 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 i64, ptr %allocaN, align 8 @@ -2578,13 +2600,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.541, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.547, 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.542, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.548, 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 @@ -2592,7 +2614,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.543, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.549, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2606,7 +2628,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.544, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.550, i64 36 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -2614,7 +2636,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.545, 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 i64, ptr %allocaN, align 8 @@ -2625,7 +2647,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.546, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2682,7 +2704,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.547, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 36 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -2690,7 +2712,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.548, 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 i64, ptr %allocaN, align 8 @@ -2701,7 +2723,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.549, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2721,7 +2743,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.550, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, 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 @@ -2729,7 +2751,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.551, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 @@ -2740,7 +2762,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.552, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -2961,9 +2983,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3670,7 +3689,7 @@ declare void @out.113(ptr) #0 declare void @out.114(ptr) #0 ; Function Attrs: nounwind -declare ptr @cstring.115(ptr, i64) #0 +declare ptr @alloc_string.115(ptr, i64) #0 ; Function Attrs: nounwind declare ptr @int_to_string.116(ptr, i64) #0 @@ -3700,643 +3719,652 @@ declare ptr @concat.123(ptr, ptr, ptr) #0 declare ptr @substr.124(ptr, ptr, i64, i64) #0 ; Function Attrs: nounwind -declare ptr @path_join.125(ptr, ptr) #0 +declare i64 @cstring_len.125(ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @any_to_string.126(ptr, [2 x i64]) #0 +declare ptr @from_cstring.126(ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @build_format.127(ptr, ptr) #0 +declare ptr @to_cstring.127(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @out.128(ptr) #0 +declare ptr @path_join.128(ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @mem_realloc.129(ptr, ptr, ptr, i64, i64, i64) #0 +declare ptr @any_to_string.129(ptr, [2 x i64]) #0 ; Function Attrs: nounwind -declare ptr @CAllocator.alloc_bytes.130(ptr, ptr, i64) #0 +declare ptr @build_format.130(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @CAllocator.dealloc_bytes.131(ptr, ptr, ptr) #0 +declare void @out.131(ptr) #0 ; Function Attrs: nounwind -declare i64 @GPA.init.132(ptr) #0 +declare ptr @mem_realloc.132(ptr, ptr, ptr, i64, i64, i64) #0 ; Function Attrs: nounwind -declare ptr @GPA.alloc_bytes.133(ptr, ptr, i64) #0 +declare ptr @CAllocator.alloc_bytes.133(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @GPA.dealloc_bytes.134(ptr, ptr, ptr) #0 +declare void @CAllocator.dealloc_bytes.134(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Arena.add_chunk.135(ptr, ptr, i64) #0 +declare i64 @GPA.init.135(ptr) #0 ; Function Attrs: nounwind -declare void @Arena.init.136(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0 +declare ptr @GPA.alloc_bytes.136(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @Arena.reset.137(ptr, ptr) #0 +declare void @GPA.dealloc_bytes.137(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Arena.deinit.138(ptr, ptr) #0 +declare void @Arena.add_chunk.138(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare ptr @Arena.alloc_bytes.139(ptr, ptr, i64) #0 +declare void @Arena.init.139(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @Arena.dealloc_bytes.140(ptr, ptr, ptr) #0 +declare void @Arena.reset.140(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BufAlloc.init.141(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0 +declare void @Arena.deinit.141(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BufAlloc.reset.142(ptr, ptr) #0 +declare ptr @Arena.alloc_bytes.142(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare ptr @BufAlloc.alloc_bytes.143(ptr, ptr, i64) #0 +declare void @Arena.dealloc_bytes.143(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BufAlloc.dealloc_bytes.144(ptr, ptr, ptr) #0 +declare void @BufAlloc.init.144(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @TrackingAllocator.init.145(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0 +declare void @BufAlloc.reset.145(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @TrackingAllocator.leak_count.146(ptr, ptr) #0 +declare ptr @BufAlloc.alloc_bytes.146(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @TrackingAllocator.report.147(ptr, ptr) #0 +declare void @BufAlloc.dealloc_bytes.147(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @TrackingAllocator.alloc_bytes.148(ptr, ptr, i64) #0 +declare void @TrackingAllocator.init.148(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @TrackingAllocator.dealloc_bytes.149(ptr, ptr, ptr) #0 +declare i64 @TrackingAllocator.leak_count.149(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @File.is_valid.150(ptr, ptr) #0 +declare void @TrackingAllocator.report.150(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @File.close.151(ptr, ptr) #0 +declare ptr @TrackingAllocator.alloc_bytes.151(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare i64 @File.read.152(ptr, ptr, ptr) #0 +declare void @TrackingAllocator.dealloc_bytes.152(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.write.153(ptr, ptr, ptr) #0 +declare i1 @File.is_valid.153(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.seek.154(ptr, ptr, i64, i64) #0 +declare i1 @File.close.154(ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @mode_to_flags.155(ptr, i64) #0 +declare i64 @File.read.155(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @open_file.156(ptr, ptr, i64) #0 +declare i64 @File.write.156(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @read_file.157(ptr, ptr) #0 +declare i64 @File.seek.157(ptr, ptr, i64, i64) #0 ; Function Attrs: nounwind -declare i1 @write_file.158(ptr, ptr, ptr) #0 +declare i32 @mode_to_flags.158(ptr, i64) #0 ; Function Attrs: nounwind -declare i1 @append_file.159(ptr, ptr, ptr) #0 +declare i64 @open_file.159(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare i1 @exists.160(ptr, ptr) #0 +declare ptr @read_file.160(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @delete_file.161(ptr, ptr) #0 +declare i1 @write_file.161(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @delete_dir.162(ptr, ptr) #0 +declare i1 @append_file.162(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @create_dir.163(ptr, ptr) #0 +declare i1 @exists.163(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @set_mode.164(ptr, ptr, i32) #0 +declare i1 @delete_file.164(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @move.165(ptr, ptr, ptr) #0 +declare i1 @delete_dir.165(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @create_dir_all.166(ptr, ptr) #0 +declare i1 @create_dir.166(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @copy_file.167(ptr, ptr, ptr) #0 +declare i1 @set_mode.167(ptr, ptr, i32) #0 ; Function Attrs: nounwind -declare ptr @basename.168(ptr, ptr) #0 +declare i1 @move.168(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @dirname.169(ptr, ptr) #0 +declare i1 @create_dir_all.169(ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @spaces.170(ptr, i32) #0 +declare i1 @copy_file.170(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @to_string.171(ptr) #0 +declare ptr @basename.171(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @print_current.172(ptr) #0 +declare ptr @dirname.172(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @print_interpreter_frames.173(ptr) #0 +declare ptr @spaces.173(ptr, i32) #0 ; Function Attrs: nounwind -declare void @run.174(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0 +declare ptr @to_string.174(ptr) #0 ; Function Attrs: nounwind -declare ptr @env.175(ptr, ptr) #0 +declare void @print_current.175(ptr) #0 ; Function Attrs: nounwind -declare ptr @find_executable.176(ptr, ptr) #0 +declare void @print_interpreter_frames.176(ptr) #0 ; Function Attrs: nounwind -declare void @exit.177(ptr, i8, ptr) #0 +declare void @run.177(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @assert.178(ptr, i1, ptr, ptr) #0 +declare ptr @env.178(ptr, ptr) #0 ; Function Attrs: nounwind -declare i16 @htons.179(ptr, i64) #0 +declare ptr @find_executable.179(ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @mem_realloc.180(ptr, ptr, ptr, i64, i64, i64) #0 +declare void @exit.180(ptr, i8, ptr) #0 ; Function Attrs: nounwind -declare ptr @CAllocator.alloc_bytes.181(ptr, ptr, i64) #0 +declare void @assert.181(ptr, i1, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @CAllocator.dealloc_bytes.182(ptr, ptr, ptr) #0 +declare i16 @htons.182(ptr, i64) #0 ; Function Attrs: nounwind -declare i64 @GPA.init.183(ptr) #0 +declare ptr @mem_realloc.183(ptr, ptr, ptr, i64, i64, i64) #0 ; Function Attrs: nounwind -declare ptr @GPA.alloc_bytes.184(ptr, ptr, i64) #0 +declare ptr @CAllocator.alloc_bytes.184(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @GPA.dealloc_bytes.185(ptr, ptr, ptr) #0 +declare void @CAllocator.dealloc_bytes.185(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Arena.add_chunk.186(ptr, ptr, i64) #0 +declare i64 @GPA.init.186(ptr) #0 ; Function Attrs: nounwind -declare void @Arena.init.187(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0 +declare ptr @GPA.alloc_bytes.187(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @Arena.reset.188(ptr, ptr) #0 +declare void @GPA.dealloc_bytes.188(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Arena.deinit.189(ptr, ptr) #0 +declare void @Arena.add_chunk.189(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare ptr @Arena.alloc_bytes.190(ptr, ptr, i64) #0 +declare void @Arena.init.190(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @Arena.dealloc_bytes.191(ptr, ptr, ptr) #0 +declare void @Arena.reset.191(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BufAlloc.init.192(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0 +declare void @Arena.deinit.192(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BufAlloc.reset.193(ptr, ptr) #0 +declare ptr @Arena.alloc_bytes.193(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare ptr @BufAlloc.alloc_bytes.194(ptr, ptr, i64) #0 +declare void @Arena.dealloc_bytes.194(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BufAlloc.dealloc_bytes.195(ptr, ptr, ptr) #0 +declare void @BufAlloc.init.195(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @TrackingAllocator.init.196(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0 +declare void @BufAlloc.reset.196(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @TrackingAllocator.leak_count.197(ptr, ptr) #0 +declare ptr @BufAlloc.alloc_bytes.197(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @TrackingAllocator.report.198(ptr, ptr) #0 +declare void @BufAlloc.dealloc_bytes.198(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @TrackingAllocator.alloc_bytes.199(ptr, ptr, i64) #0 +declare void @TrackingAllocator.init.199(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @TrackingAllocator.dealloc_bytes.200(ptr, ptr, ptr) #0 +declare i64 @TrackingAllocator.leak_count.200(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @File.is_valid.201(ptr, ptr) #0 +declare void @TrackingAllocator.report.201(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @File.close.202(ptr, ptr) #0 +declare ptr @TrackingAllocator.alloc_bytes.202(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare i64 @File.read.203(ptr, ptr, ptr) #0 +declare void @TrackingAllocator.dealloc_bytes.203(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.write.204(ptr, ptr, ptr) #0 +declare i1 @File.is_valid.204(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.seek.205(ptr, ptr, i64, i64) #0 +declare i1 @File.close.205(ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @mode_to_flags.206(ptr, i64) #0 +declare i64 @File.read.206(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @open_file.207(ptr, ptr, i64) #0 +declare i64 @File.write.207(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @read_file.208(ptr, ptr) #0 +declare i64 @File.seek.208(ptr, ptr, i64, i64) #0 ; Function Attrs: nounwind -declare i1 @write_file.209(ptr, ptr, ptr) #0 +declare i32 @mode_to_flags.209(ptr, i64) #0 ; Function Attrs: nounwind -declare i1 @append_file.210(ptr, ptr, ptr) #0 +declare i64 @open_file.210(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare i1 @exists.211(ptr, ptr) #0 +declare ptr @read_file.211(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @delete_file.212(ptr, ptr) #0 +declare i1 @write_file.212(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @delete_dir.213(ptr, ptr) #0 +declare i1 @append_file.213(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @create_dir.214(ptr, ptr) #0 +declare i1 @exists.214(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @set_mode.215(ptr, ptr, i32) #0 +declare i1 @delete_file.215(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @move.216(ptr, ptr, ptr) #0 +declare i1 @delete_dir.216(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @create_dir_all.217(ptr, ptr) #0 +declare i1 @create_dir.217(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @copy_file.218(ptr, ptr, ptr) #0 +declare i1 @set_mode.218(ptr, ptr, i32) #0 ; Function Attrs: nounwind -declare ptr @basename.219(ptr, ptr) #0 +declare i1 @move.219(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @dirname.220(ptr, ptr) #0 +declare i1 @create_dir_all.220(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Array.add.221(ptr, ptr, ptr, ptr) #0 +declare i1 @copy_file.221(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Array.deinit.222(ptr, ptr, ptr) #0 +declare ptr @basename.222(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Object.put.223(ptr, ptr, ptr, ptr, ptr) #0 +declare ptr @dirname.223(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Object.deinit.224(ptr, ptr, ptr) #0 +declare void @Array.add.224(ptr, ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @Sink.put_byte.225(ptr, ptr, i8) #0 +declare void @Array.deinit.225(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @Sink.put.226(ptr, ptr, ptr) #0 +declare void @Object.put.226(ptr, ptr, ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @Sink.flush.227(ptr, ptr) #0 +declare void @Object.deinit.227(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i8 @hex_digit.228(ptr, i64) #0 +declare i32 @Sink.put_byte.228(ptr, ptr, i8) #0 ; Function Attrs: nounwind -declare i32 @write_u_escape.229(ptr, i8, ptr) #0 +declare i32 @Sink.put.229(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @write_string.230(ptr, ptr, ptr) #0 +declare i32 @Sink.flush.230(ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @write_int.231(ptr, i64, ptr) #0 +declare i8 @hex_digit.231(ptr, i64) #0 ; Function Attrs: nounwind -declare i32 @write_value.232(ptr, ptr, ptr) #0 +declare i32 @write_u_escape.232(ptr, i8, ptr) #0 ; Function Attrs: nounwind -declare i32 @write_array.233(ptr, ptr, ptr) #0 +declare i32 @write_string.233(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @write_object.234(ptr, ptr, ptr) #0 +declare i32 @write_int.234(ptr, i64, ptr) #0 ; Function Attrs: nounwind -declare [2 x i64] @write_to_buffer.235(ptr, ptr, ptr) #0 +declare i32 @write_value.235(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @write_to_file.236(ptr, ptr, ptr, ptr) #0 +declare i32 @write_array.236(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare [2 x i64] @hex_value.237(ptr, i8) #0 +declare i32 @write_object.237(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @encode_utf8.238(ptr, i64, ptr) #0 +declare [2 x i64] @write_to_buffer.238(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Parser.skip_ws.239(ptr, ptr) #0 +declare i32 @write_to_file.239(ptr, ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @Parser.expect_lit.240(ptr, ptr, ptr) #0 +declare [2 x i64] @hex_value.240(ptr, i8) #0 ; Function Attrs: nounwind -declare [2 x i64] @Parser.read_hex4.241(ptr, ptr, i64, i64) #0 +declare i64 @encode_utf8.241(ptr, i64, ptr) #0 ; Function Attrs: nounwind -declare [2 x i64] @Parser.decode_into.242(ptr, ptr, i64, i64, ptr) #0 +declare void @Parser.skip_ws.242(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Parser.parse_string.243(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0 +declare i32 @Parser.expect_lit.243(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare [2 x i64] @Parser.parse_number.244(ptr, ptr) #0 +declare [2 x i64] @Parser.read_hex4.244(ptr, ptr, i64, i64) #0 ; Function Attrs: nounwind -declare void @Parser.parse_array.245(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0 +declare [2 x i64] @Parser.decode_into.245(ptr, ptr, i64, i64, ptr) #0 ; Function Attrs: nounwind -declare void @Parser.parse_object.246(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0 +declare void @Parser.parse_string.246(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Parser.parse_value.247(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0 +declare [2 x i64] @Parser.parse_number.247(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @parse.248(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0 +declare void @Parser.parse_array.248(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @escape.249(ptr, ptr) #0 +declare void @Parser.parse_object.249(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.add_link_flag.250(i64, ptr) #0 +declare void @Parser.parse_value.250(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.add_framework.251(i64, ptr) #0 +declare void @parse.251(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_output_path.252(i64, ptr) #0 +declare ptr @escape.252(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_wasm_shell.253(i64, ptr) #0 +declare void @BuildOptions.add_link_flag.253(i64, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.add_asset_dir.254(i64, ptr, ptr) #0 +declare void @BuildOptions.add_framework.254(i64, ptr) #0 ; Function Attrs: nounwind -declare i64 @BuildOptions.asset_dir_count.255(i64) #0 +declare void @BuildOptions.set_output_path.255(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.asset_dir_src_at.256(i64, i64) #0 +declare void @BuildOptions.set_wasm_shell.256(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.asset_dir_dest_at.257(i64, i64) #0 +declare void @BuildOptions.add_asset_dir.257(i64, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_post_link_callback.258(i64, ptr) #0 +declare i64 @BuildOptions.asset_dir_count.258(i64) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_post_link_module.259(i64, ptr) #0 +declare ptr @BuildOptions.asset_dir_src_at.259(i64, i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.binary_path.260(i64) #0 +declare ptr @BuildOptions.asset_dir_dest_at.260(i64, i64) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_bundle_path.261(i64, ptr) #0 +declare void @BuildOptions.set_post_link_callback.261(i64, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_bundle_id.262(i64, ptr) #0 +declare void @BuildOptions.set_post_link_module.262(i64, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_codesign_identity.263(i64, ptr) #0 +declare ptr @BuildOptions.binary_path.263(i64) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_provisioning_profile.264(i64, ptr) #0 +declare void @BuildOptions.set_bundle_path.264(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.bundle_path.265(i64) #0 +declare void @BuildOptions.set_bundle_id.265(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.bundle_id.266(i64) #0 +declare void @BuildOptions.set_codesign_identity.266(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.codesign_identity.267(i64) #0 +declare void @BuildOptions.set_provisioning_profile.267(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.provisioning_profile.268(i64) #0 +declare ptr @BuildOptions.bundle_path.268(i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.target_triple.269(i64) #0 +declare ptr @BuildOptions.bundle_id.269(i64) #0 ; Function Attrs: nounwind -declare i1 @BuildOptions.is_macos.270(i64) #0 +declare ptr @BuildOptions.codesign_identity.270(i64) #0 ; Function Attrs: nounwind -declare i1 @BuildOptions.is_ios.271(i64) #0 +declare ptr @BuildOptions.provisioning_profile.271(i64) #0 ; Function Attrs: nounwind -declare i1 @BuildOptions.is_ios_device.272(i64) #0 +declare ptr @BuildOptions.target_triple.272(i64) #0 ; Function Attrs: nounwind -declare i1 @BuildOptions.is_ios_simulator.273(i64) #0 +declare i1 @BuildOptions.is_macos.273(i64) #0 ; Function Attrs: nounwind -declare i1 @BuildOptions.is_android.274(i64) #0 +declare i1 @BuildOptions.is_ios.274(i64) #0 ; Function Attrs: nounwind -declare i64 @BuildOptions.framework_count.275(i64) #0 +declare i1 @BuildOptions.is_ios_device.275(i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.framework_at.276(i64, i64) #0 +declare i1 @BuildOptions.is_ios_simulator.276(i64) #0 ; Function Attrs: nounwind -declare i64 @BuildOptions.framework_path_count.277(i64) #0 +declare i1 @BuildOptions.is_android.277(i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.framework_path_at.278(i64, i64) #0 +declare i64 @BuildOptions.framework_count.278(i64) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_manifest_path.279(i64, ptr) #0 +declare ptr @BuildOptions.framework_at.279(i64, i64) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_keystore_path.280(i64, ptr) #0 +declare i64 @BuildOptions.framework_path_count.280(i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.manifest_path.281(i64) #0 +declare ptr @BuildOptions.framework_path_at.281(i64, i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.keystore_path.282(i64) #0 +declare void @BuildOptions.set_manifest_path.282(i64, ptr) #0 ; Function Attrs: nounwind -declare i64 @BuildOptions.jni_main_count.283(i64) #0 +declare void @BuildOptions.set_keystore_path.283(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.jni_main_foreign_path_at.284(i64, i64) #0 +declare ptr @BuildOptions.manifest_path.284(i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.jni_main_java_source_at.285(i64, i64) #0 +declare ptr @BuildOptions.keystore_path.285(i64) #0 ; Function Attrs: nounwind -declare i64 @build_options.286() #0 +declare i64 @BuildOptions.jni_main_count.286(i64) #0 ; Function Attrs: nounwind -declare ptr @spaces.287(ptr, i32) #0 +declare ptr @BuildOptions.jni_main_foreign_path_at.287(i64, i64) #0 ; Function Attrs: nounwind -declare ptr @to_string.288(ptr) #0 +declare ptr @BuildOptions.jni_main_java_source_at.288(i64, i64) #0 ; Function Attrs: nounwind -declare void @print_current.289(ptr) #0 +declare i64 @build_options.289() #0 ; Function Attrs: nounwind -declare void @print_interpreter_frames.290(ptr) #0 +declare ptr @spaces.290(ptr, i32) #0 ; Function Attrs: nounwind -declare void @run.291(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0 +declare ptr @to_string.291(ptr) #0 ; Function Attrs: nounwind -declare ptr @env.292(ptr, ptr) #0 +declare void @print_current.292(ptr) #0 ; Function Attrs: nounwind -declare ptr @find_executable.293(ptr, ptr) #0 +declare void @print_interpreter_frames.293(ptr) #0 ; Function Attrs: nounwind -declare void @exit.294(ptr, i8, ptr) #0 +declare void @run.294(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @assert.295(ptr, i1, ptr, ptr) #0 +declare ptr @env.295(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @exit_ok.296(ptr) #0 +declare ptr @find_executable.296(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @exit_usage.297(ptr) #0 +declare void @exit.297(ptr, i8, ptr) #0 ; Function Attrs: nounwind -declare i64 @os_argc.298(ptr) #0 +declare void @assert.298(ptr, i1, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @os_args.299(ptr, ptr) #0 +declare void @exit_ok.299(ptr) #0 ; Function Attrs: nounwind -declare i1 @Parsed.is_set.300(ptr, ptr, ptr) #0 +declare void @exit_usage.300(ptr) #0 ; Function Attrs: nounwind -declare ptr @Parsed.value_of.301(ptr, ptr, ptr) #0 +declare i64 @os_argc.301(ptr) #0 ; Function Attrs: nounwind -declare i1 @is_long_flag.302(ptr, ptr) #0 +declare ptr @os_args.302(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @parse.303(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0 +declare i1 @Parsed.is_set.303(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @File.is_valid.304(ptr, ptr) #0 +declare ptr @Parsed.value_of.304(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @File.close.305(ptr, ptr) #0 +declare i1 @is_long_flag.305(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.read.306(ptr, ptr, ptr) #0 +declare void @parse.306(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.write.307(ptr, ptr, ptr) #0 +declare i1 @File.is_valid.307(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.seek.308(ptr, ptr, i64, i64) #0 +declare i1 @File.close.308(ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @mode_to_flags.309(ptr, i64) #0 +declare i64 @File.read.309(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @open_file.310(ptr, ptr, i64) #0 +declare i64 @File.write.310(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @read_file.311(ptr, ptr) #0 +declare i64 @File.seek.311(ptr, ptr, i64, i64) #0 ; Function Attrs: nounwind -declare i1 @write_file.312(ptr, ptr, ptr) #0 +declare i32 @mode_to_flags.312(ptr, i64) #0 ; Function Attrs: nounwind -declare i1 @append_file.313(ptr, ptr, ptr) #0 +declare i64 @open_file.313(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare i1 @exists.314(ptr, ptr) #0 +declare ptr @read_file.314(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @delete_file.315(ptr, ptr) #0 +declare i1 @write_file.315(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @delete_dir.316(ptr, ptr) #0 +declare i1 @append_file.316(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @create_dir.317(ptr, ptr) #0 +declare i1 @exists.317(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @set_mode.318(ptr, ptr, i32) #0 +declare i1 @delete_file.318(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @move.319(ptr, ptr, ptr) #0 +declare i1 @delete_dir.319(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @create_dir_all.320(ptr, ptr) #0 +declare i1 @create_dir.320(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @copy_file.321(ptr, ptr, ptr) #0 +declare i1 @set_mode.321(ptr, ptr, i32) #0 ; Function Attrs: nounwind -declare ptr @basename.322(ptr, ptr) #0 +declare i1 @move.322(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @dirname.323(ptr, ptr) #0 +declare i1 @create_dir_all.323(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @rotr.324(ptr, i64, i64) #0 +declare i1 @copy_file.324(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @big_sigma0.325(ptr, i64) #0 +declare ptr @basename.325(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @big_sigma1.326(ptr, i64) #0 +declare ptr @dirname.326(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @small_sigma0.327(ptr, i64) #0 +declare i64 @rotr.327(ptr, i64, i64) #0 ; Function Attrs: nounwind -declare i64 @small_sigma1.328(ptr, i64) #0 +declare i64 @big_sigma0.328(ptr, i64) #0 ; Function Attrs: nounwind -declare void @Sha256.process_block.329(ptr, ptr) #0 +declare i64 @big_sigma1.329(ptr, i64) #0 ; Function Attrs: nounwind -declare void @Sha256.update.330(ptr, ptr, ptr) #0 +declare i64 @small_sigma0.330(ptr, i64) #0 ; Function Attrs: nounwind -declare [64 x i8] @Sha256.final.331(ptr, ptr) #0 +declare i64 @small_sigma1.331(ptr, i64) #0 ; Function Attrs: nounwind -declare i8 @nibble_hex.332(ptr, i64) #0 +declare void @Sha256.process_block.332(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @init.333(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0 +declare void @Sha256.update.333(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare [64 x i8] @sha256_hex.334(ptr, ptr) #0 +declare [64 x i8] @Sha256.final.334(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @sha256_file.335(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0 +declare i8 @nibble_hex.335(ptr, i64) #0 ; Function Attrs: nounwind -declare void @log_emit.336(ptr, ptr, ptr) #0 +declare void @init.336(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0 ; Function Attrs: nounwind -declare void @assert.337(ptr, i1) #0 +declare [64 x i8] @sha256_hex.337(ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @sha256_file.338(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @log_emit.339(ptr, ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @assert.340(ptr, i1) #0 ; Function Attrs: nounwind declare ptr @cwd_greet(ptr) #0 @@ -4388,14 +4416,14 @@ entry: define internal void @print__ct_s4f0c3447f66dcf6d__pack(ptr %0) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.553, i64 28 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.559, 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.554, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.560, 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) @@ -4411,7 +4439,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.555, i64 28 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.561, i64 28 }) ret { ptr, i64 } %call } @@ -4425,7 +4453,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.556, i64 20 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.562, i64 20 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca i32, align 4 @@ -4448,7 +4476,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.557, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.563, 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) @@ -4488,7 +4516,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.558, i64 20 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.564, i64 20 }) ret { ptr, i64 } %call } @@ -4508,7 +4536,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.559, i64 15 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.565, 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 @@ -4516,7 +4544,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 98, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 99, 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 @@ -4526,7 +4554,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.560, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.566, 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) @@ -4537,7 +4565,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 98, i64 undef }, i64 %ba.p2i13, 1 + %ba.val14 = insertvalue { i64, i64 } { i64 99, 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 @@ -4556,7 +4584,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.561, i64 15 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.567, i64 15 }) ret { ptr, i64 } %call } @@ -4567,7 +4595,7 @@ 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.562, i64 15 }, { ptr, i64 } { ptr @str.563, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.568, i64 15 }, { ptr, i64 } { ptr @str.569, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4586,12 +4614,12 @@ while.body.126: ; preds = %while.hdr.125 while.exit.127: ; preds = %while.hdr.125 %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.570, i64 1 }) ret { ptr, i64 } %callN if.then.128: ; preds = %while.body.126 %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.571, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.129 @@ -4603,7 +4631,7 @@ if.merge.129: ; preds = %if.then.128, %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.569, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, i32, i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4660,7 +4688,7 @@ 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.570, i64 9 }, { ptr, i64 } { ptr @str.571, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.576, i64 9 }, { 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 @@ -4679,24 +4707,24 @@ while.body.131: ; preds = %while.hdr.130 while.exit.132: ; preds = %while.hdr.130 %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.578, i64 1 }) ret { ptr, i64 } %callN if.then.133: ; preds = %while.body.131 %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.579, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.134 if.merge.134: ; preds = %if.then.133, %while.body.131 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.577, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.578, i64 2 }) + %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 { ptr, ptr, ptr }, ptr %alloca, align 8 @@ -4723,19 +4751,19 @@ fv.default: ; preds = %if.merge.134 fv.case: ; preds = %if.merge.134 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.134 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge fv.case21: ; preds = %if.merge.134 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -4745,7 +4773,7 @@ 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.579, i64 7 }, { ptr, i64 } { ptr @str.580, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.585, i64 7 }, { 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 @@ -4764,24 +4792,24 @@ while.body.136: ; preds = %while.hdr.135 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.581, 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.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.582, 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.139 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 [2 x { ptr, i64 }], ptr @field_names.585, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.591, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.592, 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 @@ -4808,13 +4836,13 @@ fv.case: ; preds = %if.merge.139 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.139 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 - %fv.val19 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -4823,7 +4851,7 @@ 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.587, i64 10 }, { ptr, i64 } { ptr @str.588, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.593, i64 10 }, { 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 @@ -4842,24 +4870,24 @@ while.body.141: ; preds = %while.hdr.140 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.589, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.595, i64 1 }) ret { ptr, i64 } %callN 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.590, 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 br label %if.merge.144 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 [0 x { ptr, i64 }], ptr @field_names.591, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.592, 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 %alloca, align 1 @@ -4878,7 +4906,7 @@ 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.593, i64 3 }, { ptr, i64 } { ptr @str.594, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 3 }, { 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 @@ -4897,24 +4925,24 @@ while.body.146: ; preds = %while.hdr.145 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.595, 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.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.596, 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.149 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 [1 x { ptr, i64 }], ptr @field_names.598, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.604, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.605, 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 @@ -4947,7 +4975,7 @@ 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.600, i64 10 }, { ptr, i64 } { ptr @str.601, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 10 }, { ptr, i64 } { ptr @str.607, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4966,24 +4994,24 @@ while.body.151: ; preds = %while.hdr.150 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.602, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.608, i64 1 }) ret { ptr, i64 } %callN 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.603, 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 br label %if.merge.154 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 [2 x { ptr, i64 }], ptr @field_names.606, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.612, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.613, 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 @@ -5009,7 +5037,7 @@ fv.default: ; preds = %if.merge.154 fv.case: ; preds = %if.merge.154 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.154 @@ -5024,7 +5052,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.608, i64 5 }, { ptr, i64 } { ptr @str.609, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.614, i64 5 }, { ptr, i64 } { ptr @str.615, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5043,24 +5071,24 @@ while.body.156: ; preds = %while.hdr.155 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.610, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.616, i64 1 }) ret { ptr, i64 } %callN 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.611, 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 br label %if.merge.159 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 [3 x { ptr, i64 }], ptr @field_names.615, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.616, i64 2 }) + %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, ptr, ptr } }, ptr %alloca, align 8 @@ -5087,7 +5115,7 @@ fv.default: ; preds = %if.merge.159 fv.case: ; preds = %if.merge.159 %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.159 @@ -5099,7 +5127,7 @@ fv.case20: ; preds = %if.merge.159 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -5108,7 +5136,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.617, i64 8 }, { ptr, i64 } { ptr @str.618, i64 1 }) + %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 @@ -5127,24 +5155,24 @@ while.body.161: ; preds = %while.hdr.160 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.619, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.625, 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.620, i64 2 }) + %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.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.624, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.625, i64 2 }) + %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, i64 }, ptr %alloca, align 8 @@ -5171,7 +5199,7 @@ fv.default: ; preds = %if.merge.164 fv.case: ; preds = %if.merge.164 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.164 @@ -5191,7 +5219,7 @@ 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.626, i64 17 }, { ptr, i64 } { ptr @str.627, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.632, i64 17 }, { 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 @@ -5210,24 +5238,24 @@ 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.628, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.634, 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.629, 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 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 [4 x { ptr, i64 }], ptr @field_names.634, i64 0, i64 %loadN + %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.635, 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 { { ptr, ptr, ptr }, i64, i64, i64 }, ptr %alloca, align 8 @@ -5256,7 +5284,7 @@ fv.case: ; preds = %if.merge.169 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.169 @@ -5280,7 +5308,7 @@ 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.636, i64 4 }, { ptr, i64 } { ptr @str.637, 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 @@ -5299,24 +5327,24 @@ while.body.171: ; preds = %while.hdr.170 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.638, 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.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.639, 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.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 [1 x { ptr, i64 }], ptr @field_names.641, 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.642, 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 @@ -5353,7 +5381,7 @@ 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.643, i64 10 }, { ptr, i64 } { ptr @str.644, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 10 }, { 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 @@ -5372,24 +5400,24 @@ while.body.176: ; preds = %while.hdr.175 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.645, 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.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.646, 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.179 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 [5 x { ptr, i64 }], ptr @field_names.652, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.658, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5455,7 +5483,7 @@ 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.654, i64 13 }, { ptr, i64 } { ptr @str.655, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.660, i64 13 }, { ptr, i64 } { ptr @str.661, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5474,24 +5502,24 @@ while.body.181: ; preds = %while.hdr.180 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.656, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.662, i64 1 }) ret { ptr, i64 } %callN 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.657, i64 2 }) + %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 br label %if.merge.184 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 [2 x { ptr, i64 }], ptr @field_names.660, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.661, i64 2 }) + %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 { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -5533,7 +5561,7 @@ 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.662, i64 8 }, { ptr, i64 } { ptr @str.663, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.668, i64 8 }, { ptr, i64 } { ptr @str.669, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5552,24 +5580,24 @@ while.body.186: ; preds = %while.hdr.185 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.664, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.670, i64 1 }) ret { ptr, i64 } %callN 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.665, 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 br label %if.merge.189 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.671, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.677, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 2 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -5630,7 +5658,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.673, i64 5 }, { ptr, i64 } { ptr @str.674, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.679, i64 5 }, { ptr, i64 } { ptr @str.680, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5649,24 +5677,24 @@ while.body.191: ; preds = %while.hdr.190 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.675, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.681, i64 1 }) ret { ptr, i64 } %callN 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.676, i64 2 }) + %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 br label %if.merge.194 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 [3 x { ptr, i64 }], ptr @field_names.680, 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 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.687, 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 @@ -5693,7 +5721,7 @@ fv.default: ; preds = %if.merge.194 fv.case: ; preds = %if.merge.194 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.194 @@ -5712,7 +5740,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.682, i64 6 }, { ptr, i64 } { ptr @str.683, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.688, i64 6 }, { 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 @@ -5731,24 +5759,24 @@ while.body.196: ; preds = %while.hdr.195 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.684, 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.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.685, 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.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.689, 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.690, 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, i64 }, ptr %alloca, align 8 @@ -5775,7 +5803,7 @@ fv.default: ; preds = %if.merge.199 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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.199 @@ -5796,7 +5824,7 @@ entry: %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.691, i64 6 }, { ptr, i64 } { ptr @str.692, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.697, i64 6 }, { 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 @@ -5815,24 +5843,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.693, 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.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.694, 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.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 [2 x { ptr, i64 }], ptr @field_names.697, 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.698, 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, i64 }, { i64, [24 x i8] } }, ptr %alloca, align 8 @@ -5866,7 +5894,7 @@ fv.case17: ; preds = %if.merge.204 %fv.field18 = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 1 store { i64, [24 x i8] } %fv.field18, ptr %ba.tmp19, align 8 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -5876,7 +5904,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.699, i64 4 }, { ptr, i64 } { ptr @str.700, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.705, i64 4 }, { 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 @@ -5895,24 +5923,24 @@ 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.701, 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.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.702, 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.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 [3 x { ptr, i64 }], ptr @field_names.706, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.712, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.713, 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 @@ -5940,7 +5968,7 @@ fv.case: ; preds = %if.merge.209 %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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.209 @@ -5951,7 +5979,7 @@ fv.case17: ; preds = %if.merge.209 fv.case20: ; preds = %if.merge.209 %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -5962,7 +5990,7 @@ entry: %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.708, i64 6 }, { ptr, i64 } { ptr @str.709, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.714, i64 6 }, { ptr, i64 } { ptr @str.715, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5981,24 +6009,24 @@ while.body.211: ; preds = %while.hdr.210 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.710, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.716, 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.711, 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 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.715, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.716, 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, i64 }, i64, { ptr, ptr, ptr } }, ptr %alloca, align 8 @@ -6038,7 +6066,7 @@ fv.case20: ; preds = %if.merge.214 %fv.field21 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 2 store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8 %ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -6047,7 +6075,7 @@ 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.717, i64 12 }, { ptr, i64 } { ptr @str.718, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.723, i64 12 }, { 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 @@ -6066,24 +6094,24 @@ 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.719, 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.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.720, 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.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 [0 x { ptr, i64 }], ptr @field_names.721, i64 0, i64 %loadN + %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.722, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -6103,7 +6131,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.723, i64 8 }, { ptr, i64 } { ptr @str.724, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.729, i64 8 }, { 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 @@ -6122,24 +6150,24 @@ while.body.221: ; preds = %while.hdr.220 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.725, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.731, 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.726, 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.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.730, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.731, 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 { { ptr, i64 }, i1, i1 }, ptr %alloca, align 8 @@ -6191,7 +6219,7 @@ entry: %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.732, i64 7 }, { ptr, i64 } { ptr @str.733, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.738, i64 7 }, { 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 @@ -6210,24 +6238,24 @@ while.body.226: ; preds = %while.hdr.225 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.734, 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.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.735, 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.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.739, 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 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -6269,7 +6297,7 @@ fv.case22: ; preds = %if.merge.229 %fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2 store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8 %ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -6279,7 +6307,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.741, i64 9 }, { ptr, i64 } { ptr @str.742, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.747, i64 9 }, { ptr, i64 } { ptr @str.748, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6298,24 +6326,24 @@ 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.743, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.749, 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.744, 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.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 [2 x { ptr, i64 }], ptr @field_names.747, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.753, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.748, i64 2 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -6358,7 +6386,7 @@ 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.749, i64 4 }, { ptr, i64 } { ptr @str.750, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.755, i64 4 }, { 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 @@ -6377,24 +6405,24 @@ while.body.236: ; preds = %while.hdr.235 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.751, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.757, 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.752, 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.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.755, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.761, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %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.762, 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 @@ -6440,7 +6468,7 @@ 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.757, i64 6 }, { ptr, i64 } { ptr @str.758, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.763, i64 6 }, { ptr, i64 } { ptr @str.764, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6459,24 +6487,24 @@ 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.759, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.765, 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.760, i64 2 }) + %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 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 [7 x { ptr, i64 }], ptr @field_names.768, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.774, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.769, 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 %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 @@ -6533,21 +6561,21 @@ fv.case28: ; preds = %if.merge.244 %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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge fv.case33: ; preds = %if.merge.244 %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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge fv.case38: ; preds = %if.merge.244 %fv.field39 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 6 store [16 x { i1, { ptr, i64 } }] %fv.field39, ptr %ba.tmp40, align 8 %ba.p2i41 = ptrtoint ptr %ba.tmp40 to i64 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -6558,7 +6586,7 @@ 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.770, i64 6 }, { ptr, i64 } { ptr @str.771, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.776, i64 6 }, { ptr, i64 } { ptr @str.777, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6577,24 +6605,24 @@ while.body.246: ; preds = %while.hdr.245 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.772, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.778, 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.773, 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.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 [4 x { ptr, i64 }], ptr @field_names.778, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.779, 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 { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -6623,14 +6651,14 @@ fv.case: ; preds = %if.merge.249 %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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.249 %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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.249 @@ -6650,7 +6678,7 @@ 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.780, i64 4 }, { ptr, i64 } { ptr @str.781, 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 @@ -6669,24 +6697,24 @@ while.body.251: ; preds = %while.hdr.250 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.782, 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.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.783, 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.254 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 [1 x { ptr, i64 }], ptr @field_names.785, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.791, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %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.792, 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 @@ -6712,7 +6740,7 @@ fv.case: ; preds = %if.merge.254 %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 93, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 94, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -6721,7 +6749,7 @@ define internal { ptr, i64 } @struct_to_string__Vec2(ptr %0, { float, float } %1 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.787, i64 4 }, { ptr, i64 } { ptr @str.788, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.793, i64 4 }, { ptr, i64 } { ptr @str.794, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6740,24 +6768,24 @@ while.body.256: ; preds = %while.hdr.255 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.789, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.795, 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.790, 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.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.793, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.799, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.794, i64 2 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { float, float }, ptr %alloca, align 4 @@ -6800,7 +6828,7 @@ 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.795, i64 5 }, { ptr, i64 } { ptr @str.796, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.801, i64 5 }, { ptr, i64 } { ptr @str.802, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6819,24 +6847,24 @@ 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.797, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.803, 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.798, 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.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 [2 x { ptr, i64 }], ptr @field_names.801, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.802, 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 { i32, i32 }, ptr %alloca, align 4 @@ -6877,7 +6905,7 @@ 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.803, i64 10 }, { ptr, i64 } { ptr @str.804, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.809, i64 10 }, { 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 @@ -6896,24 +6924,24 @@ while.body.266: ; preds = %while.hdr.265 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.805, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.811, 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.806, i64 2 }) + %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.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.809, i64 0, i64 %loadN + %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.810, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { float, float }, ptr %alloca, align 4 @@ -6960,9 +6988,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.816, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.822, 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.811, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.817, 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 @@ -6981,8 +7009,8 @@ entry: if.then.278: ; 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.818, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.817, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.824, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.823, 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.279 @@ -7001,9 +7029,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.823, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.829, 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.819, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.825, 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 @@ -7022,8 +7050,8 @@ entry: if.then.280: ; 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.825, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.824, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.830, 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.281 @@ -7053,9 +7081,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.833, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.839, 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.826, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.832, 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 @@ -7072,8 +7100,8 @@ entry: if.then.282: ; 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.835, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.834, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.840, 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.283 @@ -7129,7 +7157,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -7138,7 +7166,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -7151,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 [7 x { ptr, i64 }], ptr @field_names.844, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.850, 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.836, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.842, 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 @@ -7172,8 +7200,8 @@ entry: if.then.284: ; 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.846, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.845, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.852, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.851, 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.285 @@ -7192,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 [5 x { ptr, i64 }], ptr @field_names.853, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.859, 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.847, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.853, 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 @@ -7213,8 +7241,8 @@ entry: if.then.286: ; 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.855, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.854, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.860, 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.287 @@ -7239,9 +7267,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.860, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.866, 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.856, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.862, 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 @@ -7255,8 +7283,8 @@ entry: if.then.288: ; 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.862, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.861, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.868, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.867, 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 @@ -7294,7 +7322,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 97, i64 undef }, i64 %ba.p2i, 1 + %fv.val10 = insertvalue { i64, i64 } { i64 98, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case11: ; preds = %entry @@ -7308,7 +7336,7 @@ 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.863, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.869, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.300 @@ -7325,12 +7353,12 @@ while.body.301: ; preds = %while.hdr.300 while.exit.302: ; preds = %while.hdr.300 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.864, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.870, i64 1 }) ret { ptr, i64 } %call 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.865, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.871, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.304 @@ -7359,7 +7387,7 @@ 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.866, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.872, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.305 @@ -7376,12 +7404,12 @@ while.body.306: ; preds = %while.hdr.305 while.exit.307: ; preds = %while.hdr.305 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.867, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.873, i64 1 }) ret { ptr, i64 } %call 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.868, 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 br label %if.merge.309 @@ -7394,7 +7422,7 @@ if.merge.309: ; preds = %if.then.308, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -7411,7 +7439,7 @@ 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.869, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.875, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.310 @@ -7428,12 +7456,12 @@ while.body.311: ; preds = %while.hdr.310 while.exit.312: ; preds = %while.hdr.310 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.870, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.876, i64 1 }) ret { ptr, i64 } %call 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.871, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.877, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.314 @@ -7461,7 +7489,7 @@ 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.872, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.878, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.315 @@ -7478,12 +7506,12 @@ while.body.316: ; preds = %while.hdr.315 while.exit.317: ; preds = %while.hdr.315 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.873, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.879, i64 1 }) ret { ptr, i64 } %call 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.874, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.880, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.319 @@ -7512,7 +7540,7 @@ 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.875, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.881, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.320 @@ -7529,12 +7557,12 @@ while.body.321: ; preds = %while.hdr.320 while.exit.322: ; preds = %while.hdr.320 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.876, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.882, i64 1 }) ret { ptr, i64 } %call 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.877, i64 2 }) + %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.324 @@ -7562,7 +7590,7 @@ 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.878, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.884, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.325 @@ -7579,12 +7607,12 @@ while.body.326: ; preds = %while.hdr.325 while.exit.327: ; preds = %while.hdr.325 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.879, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.885, i64 1 }) ret { ptr, i64 } %call 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.880, 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.329 @@ -7615,7 +7643,7 @@ 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.881, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.887, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.330 @@ -7632,12 +7660,12 @@ while.body.331: ; preds = %while.hdr.330 while.exit.332: ; preds = %while.hdr.330 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.882, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.888, i64 1 }) ret { ptr, i64 } %call if.then.333: ; preds = %while.body.331 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.889, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.334 @@ -7668,7 +7696,7 @@ 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.884, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.890, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.335 @@ -7685,12 +7713,12 @@ while.body.336: ; preds = %while.hdr.335 while.exit.337: ; preds = %while.hdr.335 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.885, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.891, i64 1 }) ret { ptr, i64 } %call if.then.338: ; preds = %while.body.336 %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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.892, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.339 @@ -7720,7 +7748,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.887, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.893, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.347 @@ -7739,12 +7767,12 @@ while.body.348: ; preds = %while.hdr.347 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.888, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.894, i64 1 }) ret { ptr, i64 } %call 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.889, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.895, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.351 @@ -7773,7 +7801,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.890, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.896, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.352 @@ -7792,12 +7820,12 @@ while.body.353: ; preds = %while.hdr.352 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.891, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.897, i64 1 }) ret { ptr, i64 } %call 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.892, 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.356 @@ -7826,7 +7854,7 @@ 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.893, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.899, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.357 @@ -7845,12 +7873,12 @@ while.body.358: ; preds = %while.hdr.357 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.894, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.900, i64 1 }) ret { ptr, i64 } %call 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.895, 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.361 @@ -7863,7 +7891,7 @@ if.merge.361: ; preds = %if.then.360, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -7880,7 +7908,7 @@ 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.896, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.902, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.362 @@ -7899,12 +7927,12 @@ while.body.363: ; preds = %while.hdr.362 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.897, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.903, i64 1 }) ret { ptr, i64 } %call 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.898, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.904, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.366 @@ -7917,7 +7945,7 @@ if.merge.366: ; preds = %if.then.365, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -7934,7 +7962,7 @@ 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.899, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.905, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.367 @@ -7953,12 +7981,12 @@ while.body.368: ; preds = %while.hdr.367 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.900, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.906, i64 1 }) ret { ptr, i64 } %call 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.901, 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 br label %if.merge.371 @@ -8000,12 +8028,12 @@ if.then.407: ; preds = %entry if.else.408: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %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 5 }, { ptr, i64 } %callN) + %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 5 }, { ptr, i64 } %callN) br label %if.merge.409 if.merge.409: ; preds = %if.else.408, %if.then.407 - %bp = phi { ptr, i64 } [ { ptr @str.902, i64 4 }, %if.then.407 ], [ %callN, %if.else.408 ] + %bp = phi { ptr, i64 } [ { ptr @str.908, i64 4 }, %if.then.407 ], [ %callN, %if.else.408 ] ret { ptr, i64 } %bp } @@ -8028,12 +8056,12 @@ if.then.423: ; preds = %entry if.else.424: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %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 11 }, { ptr, i64 } %callN) + %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 11 }, { ptr, i64 } %callN) br label %if.merge.425 if.merge.425: ; preds = %if.else.424, %if.then.423 - %bp = phi { ptr, i64 } [ { ptr @str.905, i64 4 }, %if.then.423 ], [ %callN, %if.else.424 ] + %bp = phi { ptr, i64 } [ { ptr @str.911, i64 4 }, %if.then.423 ], [ %callN, %if.else.424 ] ret { ptr, i64 } %bp } @@ -8056,12 +8084,12 @@ if.then.426: ; preds = %entry 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.910, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.909, i64 4 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.428 if.merge.428: ; preds = %if.else.427, %if.then.426 - %bp = phi { ptr, i64 } [ { ptr @str.908, i64 4 }, %if.then.426 ], [ %callN, %if.else.427 ] + %bp = phi { ptr, i64 } [ { ptr @str.914, i64 4 }, %if.then.426 ], [ %callN, %if.else.427 ] ret { ptr, i64 } %bp } @@ -8084,12 +8112,12 @@ if.then.429: ; preds = %entry if.else.430: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %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 11 }, { ptr, i64 } %callN) + %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 11 }, { ptr, i64 } %callN) br label %if.merge.431 if.merge.431: ; preds = %if.else.430, %if.then.429 - %bp = phi { ptr, i64 } [ { ptr @str.911, i64 4 }, %if.then.429 ], [ %callN, %if.else.430 ] + %bp = phi { ptr, i64 } [ { ptr @str.917, i64 4 }, %if.then.429 ], [ %callN, %if.else.430 ] ret { ptr, i64 } %bp } @@ -8112,12 +8140,12 @@ if.then.432: ; preds = %entry 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.916, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.915, i64 6 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.434 if.merge.434: ; preds = %if.else.433, %if.then.432 - %bp = phi { ptr, i64 } [ { ptr @str.914, i64 4 }, %if.then.432 ], [ %callN, %if.else.433 ] + %bp = phi { ptr, i64 } [ { ptr @str.920, i64 4 }, %if.then.432 ], [ %callN, %if.else.433 ] ret { ptr, i64 } %bp } @@ -8139,12 +8167,12 @@ if.then.435: ; preds = %entry 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.919, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.918, i64 5 }, { ptr, i64 } %callN) + %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 5 }, { ptr, i64 } %callN) br label %if.merge.437 if.merge.437: ; preds = %if.else.436, %if.then.435 - %bp = phi { ptr, i64 } [ { ptr @str.917, i64 4 }, %if.then.435 ], [ %callN, %if.else.436 ] + %bp = phi { ptr, i64 } [ { ptr @str.923, i64 4 }, %if.then.435 ], [ %callN, %if.else.436 ] ret { ptr, i64 } %bp } @@ -8167,12 +8195,12 @@ if.then.438: ; preds = %entry 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.922, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.921, i64 9 }, { ptr, i64 } %callN) + %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 9 }, { ptr, i64 } %callN) br label %if.merge.440 if.merge.440: ; preds = %if.else.439, %if.then.438 - %bp = phi { ptr, i64 } [ { ptr @str.920, i64 4 }, %if.then.438 ], [ %callN, %if.else.439 ] + %bp = phi { ptr, i64 } [ { ptr @str.926, i64 4 }, %if.then.438 ], [ %callN, %if.else.439 ] ret { ptr, i64 } %bp } @@ -8195,12 +8223,12 @@ if.then.441: ; preds = %entry 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.925, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.924, i64 18 }, { ptr, i64 } %callN) + %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 18 }, { ptr, i64 } %callN) br label %if.merge.443 if.merge.443: ; preds = %if.else.442, %if.then.441 - %bp = phi { ptr, i64 } [ { ptr @str.923, i64 4 }, %if.then.441 ], [ %callN, %if.else.442 ] + %bp = phi { ptr, i64 } [ { ptr @str.929, i64 4 }, %if.then.441 ], [ %callN, %if.else.442 ] ret { ptr, i64 } %bp } @@ -8223,17 +8251,17 @@ if.then.444: ; preds = %entry 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.928, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.927, i64 5 }, { ptr, i64 } %callN) + %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 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.926, i64 4 }, %if.then.444 ], [ %callN, %if.else.445 ] + %bp = phi { ptr, i64 } [ { ptr @str.932, i64 4 }, %if.then.444 ], [ %callN, %if.else.445 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8251,17 +8279,17 @@ if.then.447: ; preds = %entry 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.931, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.930, i64 3 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.937, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.936, i64 4 }, { ptr, i64 } %callN) br label %if.merge.449 if.merge.449: ; preds = %if.else.448, %if.then.447 - %bp = phi { ptr, i64 } [ { ptr @str.929, i64 4 }, %if.then.447 ], [ %callN, %if.else.448 ] + %bp = phi { ptr, i64 } [ { ptr @str.935, i64 4 }, %if.then.447 ], [ %callN, %if.else.448 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8279,17 +8307,17 @@ 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.934, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.933, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.940, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.939, i64 9 }, { ptr, i64 } %callN) br label %if.merge.452 if.merge.452: ; preds = %if.else.451, %if.then.450 - %bp = phi { ptr, i64 } [ { ptr @str.932, i64 4 }, %if.then.450 ], [ %callN, %if.else.451 ] + %bp = phi { ptr, i64 } [ { ptr @str.938, i64 4 }, %if.then.450 ], [ %callN, %if.else.451 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8307,40 +8335,12 @@ if.then.453: ; preds = %entry if.else.454: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.937, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.936, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.943, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.942, i64 4 }, { ptr, i64 } %callN) br label %if.merge.455 if.merge.455: ; preds = %if.else.454, %if.then.453 - %bp = phi { ptr, i64 } [ { ptr @str.935, i64 4 }, %if.then.453 ], [ %callN, %if.else.454 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.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.940, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.939, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.458 - -if.merge.458: ; preds = %if.else.457, %if.then.456 - %bp = phi { ptr, i64 } [ { ptr @str.938, i64 4 }, %if.then.456 ], [ %callN, %if.else.457 ] + %bp = phi { ptr, i64 } [ { ptr @str.941, i64 4 }, %if.then.453 ], [ %callN, %if.else.454 ] ret { ptr, i64 } %bp } @@ -8354,20 +8354,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.459, label %if.else.460 + br i1 %icmp, label %if.then.456, label %if.else.457 -if.then.459: ; preds = %entry - br label %if.merge.461 +if.then.456: ; preds = %entry + br label %if.merge.458 -if.else.460: ; preds = %entry +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.943, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.942, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.461 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.946, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.945, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.458 -if.merge.461: ; preds = %if.else.460, %if.then.459 - %bp = phi { ptr, i64 } [ { ptr @str.941, i64 4 }, %if.then.459 ], [ %callN, %if.else.460 ] +if.merge.458: ; preds = %if.else.457, %if.then.456 + %bp = phi { ptr, i64 } [ { ptr @str.944, i64 4 }, %if.then.456 ], [ %callN, %if.else.457 ] ret { ptr, i64 } %bp } @@ -8382,20 +8382,20 @@ entry: store i64 %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.459, label %if.else.460 -if.then.462: ; preds = %entry - br label %if.merge.464 +if.then.459: ; preds = %entry + br label %if.merge.461 -if.else.463: ; preds = %entry +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.946, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.945, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.464 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.949, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.948, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.461 -if.merge.464: ; preds = %if.else.463, %if.then.462 - %bp = phi { ptr, i64 } [ { ptr @str.944, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] +if.merge.461: ; preds = %if.else.460, %if.then.459 + %bp = phi { ptr, i64 } [ { ptr @str.947, i64 4 }, %if.then.459 ], [ %callN, %if.else.460 ] ret { ptr, i64 } %bp } @@ -8409,6 +8409,34 @@ 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.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.952, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.951, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.464 + +if.merge.464: ; preds = %if.else.463, %if.then.462 + %bp = phi { ptr, i64 } [ { ptr @str.950, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.465, label %if.else.466 if.then.465: ; preds = %entry @@ -8417,17 +8445,17 @@ if.then.465: ; preds = %entry 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.949, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.948, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.955, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.954, i64 7 }, { ptr, i64 } %callN) br label %if.merge.467 if.merge.467: ; preds = %if.else.466, %if.then.465 - %bp = phi { ptr, i64 } [ { ptr @str.947, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] + %bp = phi { ptr, i64 } [ { ptr @str.953, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8445,17 +8473,17 @@ if.then.468: ; preds = %entry 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.952, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.951, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.958, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.957, 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.950, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] + %bp = phi { ptr, i64 } [ { ptr @str.956, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8473,17 +8501,17 @@ if.then.471: ; preds = %entry 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.955, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.954, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.961, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.960, i64 7 }, { ptr, i64 } %callN) br label %if.merge.473 if.merge.473: ; preds = %if.else.472, %if.then.471 - %bp = phi { ptr, i64 } [ { ptr @str.953, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] + %bp = phi { ptr, i64 } [ { ptr @str.959, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8501,17 +8529,17 @@ if.then.474: ; preds = %entry 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.958, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.957, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.964, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.963, i64 4 }, { ptr, i64 } %callN) br label %if.merge.476 if.merge.476: ; preds = %if.else.475, %if.then.474 - %bp = phi { ptr, i64 } [ { ptr @str.956, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] + %bp = phi { ptr, i64 } [ { ptr @str.962, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8529,17 +8557,17 @@ if.then.477: ; 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.961, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.960, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.967, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.966, i64 7 }, { ptr, i64 } %callN) br label %if.merge.479 if.merge.479: ; preds = %if.else.478, %if.then.477 - %bp = phi { ptr, i64 } [ { ptr @str.959, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] + %bp = phi { ptr, i64 } [ { ptr @str.965, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8557,17 +8585,17 @@ 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.964, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.963, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.970, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.969, 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.962, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] + %bp = phi { ptr, i64 } [ { ptr @str.968, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8585,17 +8613,17 @@ 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.967, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.966, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.973, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.972, i64 7 }, { ptr, i64 } %callN) br label %if.merge.485 if.merge.485: ; preds = %if.else.484, %if.then.483 - %bp = phi { ptr, i64 } [ { ptr @str.965, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] + %bp = phi { ptr, i64 } [ { ptr @str.971, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8613,17 +8641,17 @@ if.then.486: ; 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.970, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.969, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.976, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.975, i64 12 }, { ptr, i64 } %callN) br label %if.merge.488 if.merge.488: ; preds = %if.else.487, %if.then.486 - %bp = phi { ptr, i64 } [ { ptr @str.968, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] + %bp = phi { ptr, i64 } [ { ptr @str.974, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8641,17 +8669,17 @@ if.then.489: ; 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.973, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.972, i64 12 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.979, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.978, 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.971, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] + %bp = phi { ptr, i64 } [ { ptr @str.977, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8669,17 +8697,17 @@ if.then.492: ; 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.976, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.975, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.982, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.981, i64 7 }, { ptr, i64 } %callN) br label %if.merge.494 if.merge.494: ; preds = %if.else.493, %if.then.492 - %bp = phi { ptr, i64 } [ { ptr @str.974, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] + %bp = phi { ptr, i64 } [ { ptr @str.980, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8697,17 +8725,17 @@ if.then.495: ; 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.979, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.978, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.985, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.984, i64 4 }, { ptr, i64 } %callN) br label %if.merge.497 if.merge.497: ; preds = %if.else.496, %if.then.495 - %bp = phi { ptr, i64 } [ { ptr @str.977, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] + %bp = phi { ptr, i64 } [ { ptr @str.983, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8725,17 +8753,17 @@ if.then.498: ; 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.982, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.981, i64 4 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.500 if.merge.500: ; preds = %if.else.499, %if.then.498 - %bp = phi { ptr, i64 } [ { ptr @str.980, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] + %bp = phi { ptr, i64 } [ { ptr @str.986, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8753,12 +8781,12 @@ if.then.501: ; 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.985, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.984, i64 6 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.503 if.merge.503: ; preds = %if.else.502, %if.then.501 - %bp = phi { ptr, i64 } [ { ptr @str.983, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] + %bp = phi { ptr, i64 } [ { ptr @str.989, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] ret { ptr, i64 } %bp } @@ -8781,12 +8809,12 @@ if.then.504: ; 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.988, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.987, i64 5 }, { ptr, i64 } %callN) + %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 5 }, { ptr, i64 } %callN) br label %if.merge.506 if.merge.506: ; preds = %if.else.505, %if.then.504 - %bp = phi { ptr, i64 } [ { ptr @str.986, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] + %bp = phi { ptr, i64 } [ { ptr @str.992, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] ret { ptr, i64 } %bp } @@ -8809,12 +8837,12 @@ if.then.507: ; 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.991, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.990, i64 6 }, { ptr, i64 } %callN) + %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 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.989, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] + %bp = phi { ptr, i64 } [ { ptr @str.995, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] ret { ptr, i64 } %bp } @@ -8837,12 +8865,12 @@ if.then.510: ; 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.994, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.993, i64 7 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.512 if.merge.512: ; preds = %if.else.511, %if.then.510 - %bp = phi { ptr, i64 } [ { ptr @str.992, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] + %bp = phi { ptr, i64 } [ { ptr @str.998, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] ret { ptr, i64 } %bp } @@ -8865,12 +8893,12 @@ 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.997, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.996, i64 6 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.515 if.merge.515: ; preds = %if.else.514, %if.then.513 - %bp = phi { ptr, i64 } [ { ptr @str.995, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] + %bp = phi { ptr, i64 } [ { ptr @str.1001, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] ret { ptr, i64 } %bp } @@ -8893,12 +8921,12 @@ if.then.516: ; 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.1000, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.999, i64 7 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.518 if.merge.518: ; preds = %if.else.517, %if.then.516 - %bp = phi { ptr, i64 } [ { ptr @str.998, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] + %bp = phi { ptr, i64 } [ { ptr @str.1004, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] ret { ptr, i64 } %bp } @@ -8911,17 +8939,17 @@ 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.525, label %if.merge.526 + br i1 %lnot, label %if.then.526, label %if.merge.527 -if.then.525: ; preds = %entry - ret { ptr, i64 } { ptr @str.1001, i64 4 } +if.then.526: ; preds = %entry + ret { ptr, i64 } { ptr @str.1007, i64 4 } -if.merge.526: ; preds = %entry +if.merge.527: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -8935,12 +8963,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.527, label %if.merge.528 + br i1 %lnot, label %if.then.528, label %if.merge.529 -if.then.527: ; preds = %entry - ret { ptr, i64 } { ptr @str.1002, i64 4 } +if.then.528: ; preds = %entry + ret { ptr, i64 } { ptr @str.1008, i64 4 } -if.merge.528: ; preds = %entry +if.merge.529: ; 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 @@ -8950,6 +8978,27 @@ if.merge.528: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.530, label %if.merge.531 + +if.then.530: ; preds = %entry + ret { ptr, i64 } { ptr @str.1009, i64 4 } + +if.merge.531: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -8959,17 +9008,17 @@ 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.529, label %if.merge.530 + br i1 %lnot, label %if.then.532, label %if.merge.533 -if.then.529: ; preds = %entry - ret { ptr, i64 } { ptr @str.1003, i64 4 } +if.then.532: ; preds = %entry + ret { ptr, i64 } { ptr @str.1010, i64 4 } -if.merge.530: ; preds = %entry +if.merge.533: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -8983,17 +9032,17 @@ 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.531, label %if.merge.532 + br i1 %lnot, label %if.then.534, label %if.merge.535 -if.then.531: ; preds = %entry - ret { ptr, i64 } { ptr @str.1004, i64 4 } +if.then.534: ; preds = %entry + ret { ptr, i64 } { ptr @str.1011, i64 4 } -if.merge.532: ; preds = %entry +if.merge.535: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } diff --git a/examples/expected/0032-basic-ufcs-return-type.ir b/examples/expected/0032-basic-ufcs-return-type.ir index 60ec322..406ef7f 100644 --- a/examples/expected/0032-basic-ufcs-return-type.ir +++ b/examples/expected/0032-basic-ufcs-return-type.ir @@ -1,521 +1,518 @@ @__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.338 = private unnamed_addr constant [2 x i8] c"0\00", align 1 -@str.339 = private unnamed_addr constant [5 x i8] c"true\00", align 1 -@str.340 = private unnamed_addr constant [6 x i8] c"false\00", align 1 @str.341 = private unnamed_addr constant [2 x i8] c"0\00", align 1 -@str.342 = private unnamed_addr constant [4 x i8] c"\00", align 1 -@str.343 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [168 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] +@str.342 = private unnamed_addr constant [5 x i8] c"true\00", align 1 +@str.343 = private unnamed_addr constant [6 x i8] c"false\00", align 1 +@str.344 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@str.345 = private unnamed_addr constant [4 x i8] c"\00", align 1 +@str.346 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__sx_type_is_unsigned = private constant [171 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] @tag.str = private constant [1 x i8] zeroinitializer -@tag.str.344 = private constant [9 x i8] c"Overflow\00" -@tag.str.345 = private constant [3 x i8] c"Io\00" -@tag.str.346 = private constant [16 x i8] c"UnexpectedToken\00" -@tag.str.347 = private constant [14 x i8] c"UnexpectedEnd\00" -@tag.str.348 = private constant [10 x i8] c"BadEscape\00" -@tag.str.349 = private constant [10 x i8] c"BadNumber\00" -@tag.str.350 = private constant [16 x i8] c"TrailingGarbage\00" -@tag.str.351 = private constant [15 x i8] c"BadControlChar\00" -@tag.str.352 = private constant [15 x i8] c"UnknownCommand\00" -@tag.str.353 = private constant [12 x i8] c"UnknownFlag\00" -@tag.str.354 = private constant [13 x i8] c"MissingValue\00" -@tag.str.355 = private constant [16 x i8] c"MissingRequired\00" -@tag.str.356 = private constant [13 x i8] c"TooManyFlags\00" -@tag_names = private constant [14 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.344, i64 8 }, { ptr, i64 } { ptr @tag.str.345, i64 2 }, { ptr, i64 } { ptr @tag.str.346, i64 15 }, { ptr, i64 } { ptr @tag.str.347, i64 13 }, { ptr, i64 } { ptr @tag.str.348, i64 9 }, { ptr, i64 } { ptr @tag.str.349, i64 9 }, { ptr, i64 } { ptr @tag.str.350, i64 15 }, { ptr, i64 } { ptr @tag.str.351, i64 14 }, { ptr, i64 } { ptr @tag.str.352, i64 14 }, { ptr, i64 } { ptr @tag.str.353, i64 11 }, { ptr, i64 } { ptr @tag.str.354, i64 12 }, { ptr, i64 } { ptr @tag.str.355, i64 15 }, { ptr, i64 } { ptr @tag.str.356, i64 12 }] +@tag.str.347 = private constant [9 x i8] c"Overflow\00" +@tag.str.348 = private constant [3 x i8] c"Io\00" +@tag.str.349 = private constant [16 x i8] c"UnexpectedToken\00" +@tag.str.350 = private constant [14 x i8] c"UnexpectedEnd\00" +@tag.str.351 = private constant [10 x i8] c"BadEscape\00" +@tag.str.352 = private constant [10 x i8] c"BadNumber\00" +@tag.str.353 = private constant [16 x i8] c"TrailingGarbage\00" +@tag.str.354 = private constant [15 x i8] c"BadControlChar\00" +@tag.str.355 = private constant [15 x i8] c"UnknownCommand\00" +@tag.str.356 = private constant [12 x i8] c"UnknownFlag\00" +@tag.str.357 = private constant [13 x i8] c"MissingValue\00" +@tag.str.358 = private constant [16 x i8] c"MissingRequired\00" +@tag.str.359 = private constant [13 x i8] c"TooManyFlags\00" +@tag_names = private constant [14 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.347, i64 8 }, { ptr, i64 } { ptr @tag.str.348, i64 2 }, { ptr, i64 } { ptr @tag.str.349, i64 15 }, { ptr, i64 } { ptr @tag.str.350, i64 13 }, { ptr, i64 } { ptr @tag.str.351, i64 9 }, { ptr, i64 } { ptr @tag.str.352, i64 9 }, { ptr, i64 } { ptr @tag.str.353, i64 15 }, { ptr, i64 } { ptr @tag.str.354, i64 14 }, { ptr, i64 } { ptr @tag.str.355, i64 14 }, { ptr, i64 } { ptr @tag.str.356, i64 11 }, { ptr, i64 } { ptr @tag.str.357, i64 12 }, { ptr, i64 } { ptr @tag.str.358, i64 15 }, { ptr, i64 } { ptr @tag.str.359, i64 12 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.357 = private constant [5 x i8] c"bool\00" -@tn.str.358 = private constant [3 x i8] c"i8\00" -@tn.str.359 = private constant [4 x i8] c"i16\00" -@tn.str.360 = private constant [4 x i8] c"i32\00" -@tn.str.361 = private constant [4 x i8] c"i64\00" -@tn.str.362 = private constant [3 x i8] c"u8\00" -@tn.str.363 = private constant [4 x i8] c"u16\00" -@tn.str.364 = private constant [4 x i8] c"u32\00" -@tn.str.365 = private constant [4 x i8] c"u64\00" -@tn.str.366 = private constant [4 x i8] c"f32\00" -@tn.str.367 = private constant [4 x i8] c"f64\00" -@tn.str.368 = private constant [7 x i8] c"string\00" -@tn.str.369 = private constant [4 x i8] c"Any\00" -@tn.str.370 = private constant [9 x i8] c"noreturn\00" -@tn.str.371 = private constant [6 x i8] c"isize\00" -@tn.str.372 = private constant [6 x i8] c"usize\00" -@tn.str.373 = private constant [5 x i8] c"void\00" -@tn.str.374 = private constant [6 x i8] c"*void\00" -@tn.str.375 = private constant [16 x i8] c"Source_Location\00" -@tn.str.376 = private constant [10 x i8] c"Allocator\00" -@tn.str.377 = private constant [8 x i8] c"Context\00" -@tn.str.378 = private constant [7 x i8] c"[4]i64\00" -@tn.str.379 = private constant [9 x i8] c"[]string\00" -@tn.str.380 = private constant [11 x i8] c"CAllocator\00" -@tn.str.381 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.382 = private constant [4 x i8] c"GPA\00" -@tn.str.383 = private constant [5 x i8] c"*GPA\00" -@tn.str.384 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.385 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.386 = private constant [6 x i8] c"Arena\00" -@tn.str.387 = private constant [7 x i8] c"*Arena\00" -@tn.str.388 = private constant [6 x i8] c"[*]u8\00" -@tn.str.389 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.390 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.391 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.392 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.393 = private constant [9 x i8] c"OpenMode\00" -@tn.str.394 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.395 = private constant [5 x i8] c"File\00" -@tn.str.396 = private constant [6 x i8] c"*File\00" -@tn.str.397 = private constant [6 x i8] c"?File\00" -@tn.str.398 = private constant [8 x i8] c"?string\00" -@tn.str.399 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.400 = private constant [4 x i8] c"*u8\00" -@tn.str.401 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.402 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.403 = private constant [5 x i8] c"*i32\00" -@tn.str.404 = private constant [9 x i8] c"SockAddr\00" -@tn.str.405 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.406 = private constant [5 x i8] c"*u32\00" -@tn.str.407 = private constant [10 x i8] c"JsonError\00" -@tn.str.408 = private constant [6 x i8] c"Array\00" -@tn.str.409 = private constant [7 x i8] c"Object\00" -@tn.str.410 = private constant [6 x i8] c"Value\00" -@tn.str.411 = private constant [7 x i8] c"Member\00" -@tn.str.412 = private constant [9 x i8] c"[*]Value\00" -@tn.str.413 = private constant [7 x i8] c"*Array\00" -@tn.str.414 = private constant [10 x i8] c"[*]Member\00" -@tn.str.415 = private constant [8 x i8] c"*Object\00" -@tn.str.416 = private constant [5 x i8] c"[]u8\00" -@tn.str.417 = private constant [5 x i8] c"Sink\00" -@tn.str.418 = private constant [6 x i8] c"*Sink\00" -@tn.str.419 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.420 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.421 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.422 = private constant [7 x i8] c"Parser\00" -@tn.str.423 = private constant [8 x i8] c"*Parser\00" -@tn.str.424 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.425 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.426 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.427 = private constant [13 x i8] c"Architecture\00" -@tn.str.428 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.429 = private constant [11 x i8] c"() -> bool\00" -@tn.str.430 = private constant [5 x i8] c"*i64\00" -@tn.str.431 = private constant [9 x i8] c"CliError\00" -@tn.str.432 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.433 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.434 = private constant [8 x i8] c"Command\00" -@tn.str.435 = private constant [10 x i8] c"FlagValue\00" -@tn.str.436 = private constant [5 x i8] c"Diag\00" -@tn.str.437 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.438 = private constant [7 x i8] c"Parsed\00" -@tn.str.439 = private constant [8 x i8] c"*Parsed\00" -@tn.str.440 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.441 = private constant [10 x i8] c"[]Command\00" -@tn.str.442 = private constant [6 x i8] c"*Diag\00" -@tn.str.443 = private constant [7 x i8] c"[8]i64\00" -@tn.str.444 = private constant [7 x i8] c"[64]u8\00" -@tn.str.445 = private constant [7 x i8] c"Sha256\00" -@tn.str.446 = private constant [8 x i8] c"*Sha256\00" -@tn.str.447 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.448 = private constant [8 x i8] c"[64]i64\00" -@tn.str.449 = private constant [8 x i8] c"[16]f32\00" -@tn.str.450 = private constant [5 x i8] c"Mat4\00" -@tn.str.451 = private constant [5 x i8] c"Vec2\00" -@tn.str.452 = private constant [6 x i8] c"Point\00" -@tn.str.453 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.454 = private constant [7 x i8] c"**void\00" -@tn.str.455 = private constant [8 x i8] c"*string\00" -@tn.str.456 = private constant [6 x i8] c"[]Any\00" -@tn.str.457 = private constant [5 x i8] c"*Any\00" -@tn.str.458 = private constant [7 x i8] c"*[]Any\00" -@tn.str.459 = private constant [6 x i8] c"*bool\00" -@tn.str.460 = private constant [7 x i8] c"*Point\00" -@tn.str.461 = private constant [7 x i8] c"[1]Any\00" -@tn.str.462 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.463 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.464 = private constant [5 x i8] c"*f64\00" -@tn.str.465 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.466 = private constant [11 x i8] c"*Allocator\00" -@tn.str.467 = private constant [9 x i8] c"*Context\00" -@tn.str.468 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.469 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.470 = private constant [8 x i8] c"*Member\00" -@tn.str.471 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.472 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.473 = private constant [9 x i8] c"*Command\00" -@tn.str.474 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.475 = private constant [6 x i8] c"*Mat4\00" -@tn.str.476 = private constant [6 x i8] c"*Vec2\00" -@tn.str.477 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.478 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.479 = private constant [7 x i8] c"*Value\00" -@tn.str.480 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.481 = private constant [14 x i8] c"*Architecture\00" -@tn.str.482 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.483 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.484 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.485 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.486 = private constant [9 x i8] c"*[16]f32\00" -@tn.str.487 = private constant [10 x i8] c"*[]string\00" -@tn.str.488 = private constant [6 x i8] c"*[]u8\00" -@tn.str.489 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.490 = private constant [11 x i8] c"*[]Command\00" -@tn.str.491 = private constant [6 x i8] c"**GPA\00" -@tn.str.492 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.493 = private constant [8 x i8] c"**Arena\00" -@tn.str.494 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.495 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.496 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.497 = private constant [7 x i8] c"**File\00" -@tn.str.498 = private constant [5 x i8] c"**u8\00" -@tn.str.499 = private constant [6 x i8] c"**i32\00" -@tn.str.500 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.501 = private constant [6 x i8] c"**u32\00" -@tn.str.502 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.503 = private constant [8 x i8] c"**Array\00" -@tn.str.504 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.505 = private constant [9 x i8] c"**Object\00" -@tn.str.506 = private constant [7 x i8] c"**Sink\00" -@tn.str.507 = private constant [9 x i8] c"**Parser\00" -@tn.str.508 = private constant [6 x i8] c"**i64\00" -@tn.str.509 = private constant [9 x i8] c"**Parsed\00" -@tn.str.510 = private constant [7 x i8] c"**Diag\00" -@tn.str.511 = private constant [9 x i8] c"**Sha256\00" -@tn.str.512 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.513 = private constant [8 x i8] c"***void\00" -@tn.str.514 = private constant [9 x i8] c"**string\00" -@tn.str.515 = private constant [6 x i8] c"**Any\00" -@tn.str.516 = private constant [8 x i8] c"**[]Any\00" -@tn.str.517 = private constant [7 x i8] c"**bool\00" -@tn.str.518 = private constant [8 x i8] c"**Point\00" -@tn.str.519 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.520 = private constant [7 x i8] c"*?File\00" -@tn.str.521 = private constant [9 x i8] c"*?string\00" -@tn.str.522 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.523 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [168 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.357, i64 4 }, { ptr, i64 } { ptr @tn.str.358, i64 2 }, { ptr, i64 } { ptr @tn.str.359, i64 3 }, { ptr, i64 } { ptr @tn.str.360, i64 3 }, { ptr, i64 } { ptr @tn.str.361, i64 3 }, { ptr, i64 } { ptr @tn.str.362, i64 2 }, { ptr, i64 } { ptr @tn.str.363, i64 3 }, { ptr, i64 } { ptr @tn.str.364, i64 3 }, { ptr, i64 } { ptr @tn.str.365, i64 3 }, { ptr, i64 } { ptr @tn.str.366, i64 3 }, { ptr, i64 } { ptr @tn.str.367, i64 3 }, { ptr, i64 } { ptr @tn.str.368, i64 6 }, { ptr, i64 } { ptr @tn.str.369, i64 3 }, { ptr, i64 } { ptr @tn.str.370, i64 8 }, { ptr, i64 } { ptr @tn.str.371, i64 5 }, { ptr, i64 } { ptr @tn.str.372, i64 5 }, { ptr, i64 } { ptr @tn.str.373, i64 4 }, { ptr, i64 } { ptr @tn.str.374, i64 5 }, { ptr, i64 } { ptr @tn.str.375, i64 15 }, { ptr, i64 } { ptr @tn.str.376, i64 9 }, { ptr, i64 } { ptr @tn.str.377, i64 7 }, { ptr, i64 } { ptr @tn.str.378, i64 6 }, { ptr, i64 } { ptr @tn.str.379, i64 8 }, { ptr, i64 } { ptr @tn.str.380, i64 10 }, { ptr, i64 } { ptr @tn.str.381, i64 11 }, { ptr, i64 } { ptr @tn.str.382, i64 3 }, { ptr, i64 } { ptr @tn.str.383, i64 4 }, { ptr, i64 } { ptr @tn.str.384, i64 10 }, { ptr, i64 } { ptr @tn.str.385, i64 11 }, { ptr, i64 } { ptr @tn.str.386, i64 5 }, { ptr, i64 } { ptr @tn.str.387, i64 6 }, { ptr, i64 } { ptr @tn.str.388, i64 5 }, { ptr, i64 } { ptr @tn.str.389, i64 8 }, { ptr, i64 } { ptr @tn.str.390, i64 9 }, { ptr, i64 } { ptr @tn.str.391, i64 17 }, { ptr, i64 } { ptr @tn.str.392, i64 18 }, { ptr, i64 } { ptr @tn.str.393, i64 8 }, { ptr, i64 } { ptr @tn.str.394, i64 8 }, { ptr, i64 } { ptr @tn.str.395, i64 4 }, { ptr, i64 } { ptr @tn.str.396, i64 5 }, { ptr, i64 } { ptr @tn.str.397, i64 5 }, { ptr, i64 } { ptr @tn.str.398, i64 7 }, { ptr, i64 } { ptr @tn.str.399, i64 10 }, { ptr, i64 } { ptr @tn.str.400, i64 3 }, { ptr, i64 } { ptr @tn.str.401, i64 13 }, { ptr, i64 } { ptr @tn.str.402, i64 14 }, { ptr, i64 } { ptr @tn.str.403, i64 4 }, { ptr, i64 } { ptr @tn.str.404, i64 8 }, { ptr, i64 } { ptr @tn.str.405, i64 9 }, { ptr, i64 } { ptr @tn.str.406, i64 4 }, { ptr, i64 } { ptr @tn.str.407, i64 9 }, { ptr, i64 } { ptr @tn.str.408, i64 5 }, { ptr, i64 } { ptr @tn.str.409, i64 6 }, { ptr, i64 } { ptr @tn.str.410, i64 5 }, { ptr, i64 } { ptr @tn.str.411, i64 6 }, { ptr, i64 } { ptr @tn.str.412, i64 8 }, { ptr, i64 } { ptr @tn.str.413, i64 6 }, { ptr, i64 } { ptr @tn.str.414, i64 9 }, { ptr, i64 } { ptr @tn.str.415, i64 7 }, { ptr, i64 } { ptr @tn.str.416, i64 4 }, { ptr, i64 } { ptr @tn.str.417, i64 4 }, { ptr, i64 } { ptr @tn.str.418, i64 5 }, { ptr, i64 } { ptr @tn.str.419, i64 16 }, { ptr, i64 } { ptr @tn.str.420, i64 14 }, { ptr, i64 } { ptr @tn.str.421, i64 21 }, { ptr, i64 } { ptr @tn.str.422, i64 6 }, { ptr, i64 } { ptr @tn.str.423, i64 7 }, { ptr, i64 } { ptr @tn.str.424, i64 24 }, { ptr, i64 } { ptr @tn.str.425, i64 23 }, { ptr, i64 } { ptr @tn.str.426, i64 15 }, { ptr, i64 } { ptr @tn.str.427, i64 12 }, { ptr, i64 } { ptr @tn.str.428, i64 12 }, { ptr, i64 } { ptr @tn.str.429, i64 10 }, { ptr, i64 } { ptr @tn.str.430, i64 4 }, { ptr, i64 } { ptr @tn.str.431, i64 8 }, { ptr, i64 } { ptr @tn.str.432, i64 8 }, { ptr, i64 } { ptr @tn.str.433, i64 10 }, { ptr, i64 } { ptr @tn.str.434, i64 7 }, { ptr, i64 } { ptr @tn.str.435, i64 9 }, { ptr, i64 } { ptr @tn.str.436, i64 4 }, { ptr, i64 } { ptr @tn.str.437, i64 13 }, { ptr, i64 } { ptr @tn.str.438, i64 6 }, { ptr, i64 } { ptr @tn.str.439, i64 7 }, { ptr, i64 } { ptr @tn.str.440, i64 18 }, { ptr, i64 } { ptr @tn.str.441, i64 9 }, { ptr, i64 } { ptr @tn.str.442, i64 5 }, { ptr, i64 } { ptr @tn.str.443, i64 6 }, { ptr, i64 } { ptr @tn.str.444, i64 6 }, { ptr, i64 } { ptr @tn.str.445, i64 6 }, { ptr, i64 } { ptr @tn.str.446, i64 7 }, { ptr, i64 } { ptr @tn.str.447, i64 7 }, { ptr, i64 } { ptr @tn.str.448, i64 7 }, { ptr, i64 } { ptr @tn.str.449, i64 7 }, { ptr, i64 } { ptr @tn.str.450, i64 4 }, { ptr, i64 } { ptr @tn.str.451, i64 4 }, { ptr, i64 } { ptr @tn.str.452, i64 5 }, { ptr, i64 } { ptr @tn.str.453, i64 12 }, { ptr, i64 } { ptr @tn.str.454, i64 6 }, { ptr, i64 } { ptr @tn.str.455, i64 7 }, { ptr, i64 } { ptr @tn.str.456, i64 5 }, { ptr, i64 } { ptr @tn.str.457, i64 4 }, { ptr, i64 } { ptr @tn.str.458, i64 6 }, { ptr, i64 } { ptr @tn.str.459, i64 5 }, { ptr, i64 } { ptr @tn.str.460, i64 6 }, { ptr, i64 } { ptr @tn.str.461, i64 6 }, { ptr, i64 } { ptr @tn.str.462, i64 7 }, { ptr, i64 } { ptr @tn.str.463, i64 7 }, { ptr, i64 } { ptr @tn.str.464, i64 4 }, { ptr, i64 } { ptr @tn.str.465, i64 16 }, { ptr, i64 } { ptr @tn.str.466, i64 10 }, { ptr, i64 } { ptr @tn.str.467, i64 8 }, { ptr, i64 } { ptr @tn.str.468, i64 11 }, { ptr, i64 } { ptr @tn.str.469, i64 14 }, { ptr, i64 } { ptr @tn.str.470, i64 7 }, { ptr, i64 } { ptr @tn.str.471, i64 13 }, { ptr, i64 } { ptr @tn.str.472, i64 9 }, { ptr, i64 } { ptr @tn.str.473, i64 8 }, { ptr, i64 } { ptr @tn.str.474, i64 10 }, { ptr, i64 } { ptr @tn.str.475, i64 5 }, { ptr, i64 } { ptr @tn.str.476, i64 5 }, { ptr, i64 } { ptr @tn.str.477, i64 9 }, { ptr, i64 } { ptr @tn.str.478, i64 9 }, { ptr, i64 } { ptr @tn.str.479, i64 6 }, { ptr, i64 } { ptr @tn.str.480, i64 16 }, { ptr, i64 } { ptr @tn.str.481, i64 13 }, { ptr, i64 } { ptr @tn.str.482, i64 14 }, { ptr, i64 } { ptr @tn.str.483, i64 7 }, { ptr, i64 } { ptr @tn.str.484, i64 7 }, { ptr, i64 } { ptr @tn.str.485, i64 8 }, { ptr, i64 } { ptr @tn.str.486, i64 8 }, { ptr, i64 } { ptr @tn.str.487, i64 9 }, { ptr, i64 } { ptr @tn.str.488, i64 5 }, { ptr, i64 } { ptr @tn.str.489, i64 11 }, { ptr, i64 } { ptr @tn.str.490, i64 10 }, { ptr, i64 } { ptr @tn.str.491, i64 5 }, { ptr, i64 } { ptr @tn.str.492, i64 12 }, { ptr, i64 } { ptr @tn.str.493, i64 7 }, { ptr, i64 } { ptr @tn.str.494, i64 6 }, { ptr, i64 } { ptr @tn.str.495, i64 10 }, { ptr, i64 } { ptr @tn.str.496, i64 19 }, { ptr, i64 } { ptr @tn.str.497, i64 6 }, { ptr, i64 } { ptr @tn.str.498, i64 4 }, { ptr, i64 } { ptr @tn.str.499, i64 5 }, { ptr, i64 } { ptr @tn.str.500, i64 10 }, { ptr, i64 } { ptr @tn.str.501, i64 5 }, { ptr, i64 } { ptr @tn.str.502, i64 9 }, { ptr, i64 } { ptr @tn.str.503, i64 7 }, { ptr, i64 } { ptr @tn.str.504, i64 10 }, { ptr, i64 } { ptr @tn.str.505, i64 8 }, { ptr, i64 } { ptr @tn.str.506, i64 6 }, { ptr, i64 } { ptr @tn.str.507, i64 8 }, { ptr, i64 } { ptr @tn.str.508, i64 5 }, { ptr, i64 } { ptr @tn.str.509, i64 8 }, { ptr, i64 } { ptr @tn.str.510, i64 6 }, { ptr, i64 } { ptr @tn.str.511, i64 8 }, { ptr, i64 } { ptr @tn.str.512, i64 13 }, { ptr, i64 } { ptr @tn.str.513, i64 7 }, { ptr, i64 } { ptr @tn.str.514, i64 8 }, { ptr, i64 } { ptr @tn.str.515, i64 5 }, { ptr, i64 } { ptr @tn.str.516, i64 7 }, { ptr, i64 } { ptr @tn.str.517, i64 6 }, { ptr, i64 } { ptr @tn.str.518, i64 7 }, { ptr, i64 } { ptr @tn.str.519, i64 8 }, { ptr, i64 } { ptr @tn.str.520, i64 6 }, { ptr, i64 } { ptr @tn.str.521, i64 8 }, { ptr, i64 } { ptr @tn.str.522, i64 15 }, { ptr, i64 } { ptr @tn.str.523, i64 8 }] -@str.524 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.525 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.526 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.527 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.528 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.529 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.530 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.531 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.532 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.533 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.534 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.535 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.536 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.537 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.538 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.539 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.540 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.541 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@tn.str.360 = private constant [5 x i8] c"bool\00" +@tn.str.361 = private constant [3 x i8] c"i8\00" +@tn.str.362 = private constant [4 x i8] c"i16\00" +@tn.str.363 = private constant [4 x i8] c"i32\00" +@tn.str.364 = private constant [4 x i8] c"i64\00" +@tn.str.365 = private constant [3 x i8] c"u8\00" +@tn.str.366 = private constant [4 x i8] c"u16\00" +@tn.str.367 = private constant [4 x i8] c"u32\00" +@tn.str.368 = private constant [4 x i8] c"u64\00" +@tn.str.369 = private constant [4 x i8] c"f32\00" +@tn.str.370 = private constant [4 x i8] c"f64\00" +@tn.str.371 = private constant [7 x i8] c"string\00" +@tn.str.372 = private constant [4 x i8] c"Any\00" +@tn.str.373 = private constant [9 x i8] c"noreturn\00" +@tn.str.374 = private constant [6 x i8] c"isize\00" +@tn.str.375 = private constant [6 x i8] c"usize\00" +@tn.str.376 = private constant [5 x i8] c"void\00" +@tn.str.377 = private constant [8 x i8] c"cstring\00" +@tn.str.378 = private constant [6 x i8] c"*void\00" +@tn.str.379 = private constant [16 x i8] c"Source_Location\00" +@tn.str.380 = private constant [10 x i8] c"Allocator\00" +@tn.str.381 = private constant [8 x i8] c"Context\00" +@tn.str.382 = private constant [7 x i8] c"[4]i64\00" +@tn.str.383 = private constant [9 x i8] c"[]string\00" +@tn.str.384 = private constant [11 x i8] c"CAllocator\00" +@tn.str.385 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.386 = private constant [4 x i8] c"GPA\00" +@tn.str.387 = private constant [5 x i8] c"*GPA\00" +@tn.str.388 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.389 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.390 = private constant [6 x i8] c"Arena\00" +@tn.str.391 = private constant [7 x i8] c"*Arena\00" +@tn.str.392 = private constant [6 x i8] c"[*]u8\00" +@tn.str.393 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.394 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.395 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.396 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.397 = private constant [9 x i8] c"OpenMode\00" +@tn.str.398 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.399 = private constant [5 x i8] c"File\00" +@tn.str.400 = private constant [6 x i8] c"*File\00" +@tn.str.401 = private constant [6 x i8] c"?File\00" +@tn.str.402 = private constant [8 x i8] c"?string\00" +@tn.str.403 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.404 = private constant [9 x i8] c"?cstring\00" +@tn.str.405 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.406 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.407 = private constant [5 x i8] c"*i32\00" +@tn.str.408 = private constant [9 x i8] c"SockAddr\00" +@tn.str.409 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.410 = private constant [5 x i8] c"*u32\00" +@tn.str.411 = private constant [10 x i8] c"JsonError\00" +@tn.str.412 = private constant [6 x i8] c"Array\00" +@tn.str.413 = private constant [7 x i8] c"Object\00" +@tn.str.414 = private constant [6 x i8] c"Value\00" +@tn.str.415 = private constant [7 x i8] c"Member\00" +@tn.str.416 = private constant [9 x i8] c"[*]Value\00" +@tn.str.417 = private constant [7 x i8] c"*Array\00" +@tn.str.418 = private constant [10 x i8] c"[*]Member\00" +@tn.str.419 = private constant [8 x i8] c"*Object\00" +@tn.str.420 = private constant [5 x i8] c"[]u8\00" +@tn.str.421 = private constant [5 x i8] c"Sink\00" +@tn.str.422 = private constant [6 x i8] c"*Sink\00" +@tn.str.423 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.424 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.425 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.426 = private constant [7 x i8] c"Parser\00" +@tn.str.427 = private constant [8 x i8] c"*Parser\00" +@tn.str.428 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.429 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.430 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.431 = private constant [13 x i8] c"Architecture\00" +@tn.str.432 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.433 = private constant [11 x i8] c"() -> bool\00" +@tn.str.434 = private constant [5 x i8] c"*i64\00" +@tn.str.435 = private constant [9 x i8] c"CliError\00" +@tn.str.436 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.437 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.438 = private constant [8 x i8] c"Command\00" +@tn.str.439 = private constant [10 x i8] c"FlagValue\00" +@tn.str.440 = private constant [5 x i8] c"Diag\00" +@tn.str.441 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.442 = private constant [7 x i8] c"Parsed\00" +@tn.str.443 = private constant [8 x i8] c"*Parsed\00" +@tn.str.444 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.445 = private constant [10 x i8] c"[]Command\00" +@tn.str.446 = private constant [6 x i8] c"*Diag\00" +@tn.str.447 = private constant [7 x i8] c"[8]i64\00" +@tn.str.448 = private constant [7 x i8] c"[64]u8\00" +@tn.str.449 = private constant [7 x i8] c"Sha256\00" +@tn.str.450 = private constant [8 x i8] c"*Sha256\00" +@tn.str.451 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.452 = private constant [8 x i8] c"[64]i64\00" +@tn.str.453 = private constant [8 x i8] c"[16]f32\00" +@tn.str.454 = private constant [5 x i8] c"Mat4\00" +@tn.str.455 = private constant [5 x i8] c"Vec2\00" +@tn.str.456 = private constant [6 x i8] c"Point\00" +@tn.str.457 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.458 = private constant [7 x i8] c"**void\00" +@tn.str.459 = private constant [8 x i8] c"*string\00" +@tn.str.460 = private constant [6 x i8] c"[]Any\00" +@tn.str.461 = private constant [5 x i8] c"*Any\00" +@tn.str.462 = private constant [7 x i8] c"*[]Any\00" +@tn.str.463 = private constant [4 x i8] c"*u8\00" +@tn.str.464 = private constant [6 x i8] c"*bool\00" +@tn.str.465 = private constant [7 x i8] c"*Point\00" +@tn.str.466 = private constant [7 x i8] c"[1]Any\00" +@tn.str.467 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.468 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.469 = private constant [5 x i8] c"*f64\00" +@tn.str.470 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.471 = private constant [11 x i8] c"*Allocator\00" +@tn.str.472 = private constant [9 x i8] c"*Context\00" +@tn.str.473 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.474 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.475 = private constant [8 x i8] c"*Member\00" +@tn.str.476 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.477 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.478 = private constant [9 x i8] c"*Command\00" +@tn.str.479 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.480 = private constant [6 x i8] c"*Mat4\00" +@tn.str.481 = private constant [6 x i8] c"*Vec2\00" +@tn.str.482 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.483 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.484 = private constant [7 x i8] c"*Value\00" +@tn.str.485 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.486 = private constant [14 x i8] c"*Architecture\00" +@tn.str.487 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.488 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.489 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.490 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.491 = private constant [9 x i8] c"*[16]f32\00" +@tn.str.492 = private constant [10 x i8] c"*[]string\00" +@tn.str.493 = private constant [6 x i8] c"*[]u8\00" +@tn.str.494 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.495 = private constant [11 x i8] c"*[]Command\00" +@tn.str.496 = private constant [6 x i8] c"**GPA\00" +@tn.str.497 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.498 = private constant [8 x i8] c"**Arena\00" +@tn.str.499 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.500 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.501 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.502 = private constant [7 x i8] c"**File\00" +@tn.str.503 = private constant [6 x i8] c"**i32\00" +@tn.str.504 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.505 = private constant [6 x i8] c"**u32\00" +@tn.str.506 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.507 = private constant [8 x i8] c"**Array\00" +@tn.str.508 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.509 = private constant [9 x i8] c"**Object\00" +@tn.str.510 = private constant [7 x i8] c"**Sink\00" +@tn.str.511 = private constant [9 x i8] c"**Parser\00" +@tn.str.512 = private constant [6 x i8] c"**i64\00" +@tn.str.513 = private constant [9 x i8] c"**Parsed\00" +@tn.str.514 = private constant [7 x i8] c"**Diag\00" +@tn.str.515 = private constant [9 x i8] c"**Sha256\00" +@tn.str.516 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.517 = private constant [8 x i8] c"***void\00" +@tn.str.518 = private constant [9 x i8] c"**string\00" +@tn.str.519 = private constant [6 x i8] c"**Any\00" +@tn.str.520 = private constant [8 x i8] c"**[]Any\00" +@tn.str.521 = private constant [5 x i8] c"**u8\00" +@tn.str.522 = private constant [7 x i8] c"**bool\00" +@tn.str.523 = private constant [8 x i8] c"**Point\00" +@tn.str.524 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.525 = private constant [7 x i8] c"*?File\00" +@tn.str.526 = private constant [9 x i8] c"*?string\00" +@tn.str.527 = private constant [10 x i8] c"*?cstring\00" +@tn.str.528 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.529 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [171 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.360, i64 4 }, { ptr, i64 } { ptr @tn.str.361, i64 2 }, { ptr, i64 } { ptr @tn.str.362, i64 3 }, { ptr, i64 } { ptr @tn.str.363, i64 3 }, { ptr, i64 } { ptr @tn.str.364, i64 3 }, { ptr, i64 } { ptr @tn.str.365, i64 2 }, { ptr, i64 } { ptr @tn.str.366, i64 3 }, { ptr, i64 } { ptr @tn.str.367, i64 3 }, { ptr, i64 } { ptr @tn.str.368, i64 3 }, { ptr, i64 } { ptr @tn.str.369, i64 3 }, { ptr, i64 } { ptr @tn.str.370, i64 3 }, { ptr, i64 } { ptr @tn.str.371, i64 6 }, { ptr, i64 } { ptr @tn.str.372, i64 3 }, { ptr, i64 } { ptr @tn.str.373, i64 8 }, { ptr, i64 } { ptr @tn.str.374, i64 5 }, { ptr, i64 } { ptr @tn.str.375, i64 5 }, { ptr, i64 } { ptr @tn.str.376, i64 4 }, { ptr, i64 } { ptr @tn.str.377, i64 7 }, { ptr, i64 } { ptr @tn.str.378, i64 5 }, { ptr, i64 } { ptr @tn.str.379, i64 15 }, { ptr, i64 } { ptr @tn.str.380, i64 9 }, { ptr, i64 } { ptr @tn.str.381, i64 7 }, { ptr, i64 } { ptr @tn.str.382, i64 6 }, { ptr, i64 } { ptr @tn.str.383, i64 8 }, { ptr, i64 } { ptr @tn.str.384, i64 10 }, { ptr, i64 } { ptr @tn.str.385, i64 11 }, { ptr, i64 } { ptr @tn.str.386, i64 3 }, { ptr, i64 } { ptr @tn.str.387, i64 4 }, { ptr, i64 } { ptr @tn.str.388, i64 10 }, { ptr, i64 } { ptr @tn.str.389, i64 11 }, { ptr, i64 } { ptr @tn.str.390, i64 5 }, { ptr, i64 } { ptr @tn.str.391, i64 6 }, { ptr, i64 } { ptr @tn.str.392, i64 5 }, { ptr, i64 } { ptr @tn.str.393, i64 8 }, { ptr, i64 } { ptr @tn.str.394, i64 9 }, { ptr, i64 } { ptr @tn.str.395, i64 17 }, { ptr, i64 } { ptr @tn.str.396, i64 18 }, { ptr, i64 } { ptr @tn.str.397, i64 8 }, { ptr, i64 } { ptr @tn.str.398, i64 8 }, { ptr, i64 } { ptr @tn.str.399, i64 4 }, { ptr, i64 } { ptr @tn.str.400, i64 5 }, { ptr, i64 } { ptr @tn.str.401, i64 5 }, { ptr, i64 } { ptr @tn.str.402, i64 7 }, { ptr, i64 } { ptr @tn.str.403, i64 10 }, { ptr, i64 } { ptr @tn.str.404, i64 8 }, { ptr, i64 } { ptr @tn.str.405, i64 13 }, { ptr, i64 } { ptr @tn.str.406, i64 14 }, { ptr, i64 } { ptr @tn.str.407, i64 4 }, { ptr, i64 } { ptr @tn.str.408, i64 8 }, { ptr, i64 } { ptr @tn.str.409, i64 9 }, { ptr, i64 } { ptr @tn.str.410, i64 4 }, { ptr, i64 } { ptr @tn.str.411, i64 9 }, { ptr, i64 } { ptr @tn.str.412, i64 5 }, { ptr, i64 } { ptr @tn.str.413, i64 6 }, { ptr, i64 } { ptr @tn.str.414, i64 5 }, { ptr, i64 } { ptr @tn.str.415, i64 6 }, { ptr, i64 } { ptr @tn.str.416, i64 8 }, { ptr, i64 } { ptr @tn.str.417, i64 6 }, { ptr, i64 } { ptr @tn.str.418, i64 9 }, { ptr, i64 } { ptr @tn.str.419, i64 7 }, { ptr, i64 } { ptr @tn.str.420, i64 4 }, { ptr, i64 } { ptr @tn.str.421, i64 4 }, { ptr, i64 } { ptr @tn.str.422, i64 5 }, { ptr, i64 } { ptr @tn.str.423, i64 16 }, { ptr, i64 } { ptr @tn.str.424, i64 14 }, { ptr, i64 } { ptr @tn.str.425, i64 21 }, { ptr, i64 } { ptr @tn.str.426, i64 6 }, { ptr, i64 } { ptr @tn.str.427, i64 7 }, { ptr, i64 } { ptr @tn.str.428, i64 24 }, { ptr, i64 } { ptr @tn.str.429, i64 23 }, { ptr, i64 } { ptr @tn.str.430, i64 15 }, { ptr, i64 } { ptr @tn.str.431, i64 12 }, { ptr, i64 } { ptr @tn.str.432, i64 12 }, { ptr, i64 } { ptr @tn.str.433, i64 10 }, { ptr, i64 } { ptr @tn.str.434, i64 4 }, { ptr, i64 } { ptr @tn.str.435, i64 8 }, { ptr, i64 } { ptr @tn.str.436, i64 8 }, { ptr, i64 } { ptr @tn.str.437, i64 10 }, { ptr, i64 } { ptr @tn.str.438, i64 7 }, { ptr, i64 } { ptr @tn.str.439, i64 9 }, { ptr, i64 } { ptr @tn.str.440, i64 4 }, { ptr, i64 } { ptr @tn.str.441, i64 13 }, { ptr, i64 } { ptr @tn.str.442, i64 6 }, { ptr, i64 } { ptr @tn.str.443, i64 7 }, { ptr, i64 } { ptr @tn.str.444, i64 18 }, { 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 6 }, { ptr, i64 } { ptr @tn.str.449, i64 6 }, { ptr, i64 } { ptr @tn.str.450, i64 7 }, { ptr, i64 } { ptr @tn.str.451, i64 7 }, { ptr, i64 } { ptr @tn.str.452, i64 7 }, { 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 12 }, { ptr, i64 } { ptr @tn.str.458, i64 6 }, { ptr, i64 } { ptr @tn.str.459, i64 7 }, { ptr, i64 } { ptr @tn.str.460, i64 5 }, { ptr, i64 } { ptr @tn.str.461, i64 4 }, { ptr, i64 } { ptr @tn.str.462, i64 6 }, { ptr, i64 } { ptr @tn.str.463, i64 3 }, { ptr, i64 } { ptr @tn.str.464, i64 5 }, { ptr, i64 } { ptr @tn.str.465, i64 6 }, { ptr, i64 } { ptr @tn.str.466, i64 6 }, { ptr, i64 } { ptr @tn.str.467, i64 7 }, { ptr, i64 } { ptr @tn.str.468, i64 7 }, { ptr, i64 } { ptr @tn.str.469, i64 4 }, { ptr, i64 } { ptr @tn.str.470, i64 16 }, { ptr, i64 } { ptr @tn.str.471, i64 10 }, { ptr, i64 } { ptr @tn.str.472, i64 8 }, { ptr, i64 } { ptr @tn.str.473, i64 11 }, { ptr, i64 } { ptr @tn.str.474, i64 14 }, { ptr, i64 } { ptr @tn.str.475, i64 7 }, { ptr, i64 } { ptr @tn.str.476, i64 13 }, { ptr, i64 } { ptr @tn.str.477, i64 9 }, { ptr, i64 } { ptr @tn.str.478, i64 8 }, { ptr, i64 } { ptr @tn.str.479, i64 10 }, { ptr, i64 } { ptr @tn.str.480, i64 5 }, { ptr, i64 } { ptr @tn.str.481, i64 5 }, { ptr, i64 } { ptr @tn.str.482, i64 9 }, { ptr, i64 } { ptr @tn.str.483, i64 9 }, { ptr, i64 } { ptr @tn.str.484, i64 6 }, { ptr, i64 } { ptr @tn.str.485, i64 16 }, { ptr, i64 } { ptr @tn.str.486, i64 13 }, { ptr, i64 } { ptr @tn.str.487, i64 14 }, { ptr, i64 } { ptr @tn.str.488, i64 7 }, { ptr, i64 } { ptr @tn.str.489, i64 7 }, { ptr, i64 } { ptr @tn.str.490, i64 8 }, { ptr, i64 } { ptr @tn.str.491, i64 8 }, { ptr, i64 } { ptr @tn.str.492, i64 9 }, { ptr, i64 } { ptr @tn.str.493, i64 5 }, { ptr, i64 } { ptr @tn.str.494, i64 11 }, { ptr, i64 } { ptr @tn.str.495, i64 10 }, { ptr, i64 } { ptr @tn.str.496, i64 5 }, { ptr, i64 } { ptr @tn.str.497, i64 12 }, { ptr, i64 } { ptr @tn.str.498, i64 7 }, { ptr, i64 } { ptr @tn.str.499, i64 6 }, { ptr, i64 } { ptr @tn.str.500, i64 10 }, { ptr, i64 } { ptr @tn.str.501, i64 19 }, { ptr, i64 } { ptr @tn.str.502, i64 6 }, { 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 9 }, { ptr, i64 } { ptr @tn.str.507, i64 7 }, { ptr, i64 } { ptr @tn.str.508, i64 10 }, { ptr, i64 } { ptr @tn.str.509, i64 8 }, { ptr, i64 } { ptr @tn.str.510, i64 6 }, { ptr, i64 } { ptr @tn.str.511, i64 8 }, { ptr, i64 } { ptr @tn.str.512, i64 5 }, { ptr, i64 } { ptr @tn.str.513, i64 8 }, { ptr, i64 } { ptr @tn.str.514, i64 6 }, { ptr, i64 } { ptr @tn.str.515, i64 8 }, { ptr, i64 } { ptr @tn.str.516, i64 13 }, { ptr, i64 } { ptr @tn.str.517, i64 7 }, { ptr, i64 } { ptr @tn.str.518, i64 8 }, { ptr, i64 } { ptr @tn.str.519, i64 5 }, { ptr, i64 } { ptr @tn.str.520, i64 7 }, { ptr, i64 } { ptr @tn.str.521, i64 4 }, { ptr, i64 } { ptr @tn.str.522, i64 6 }, { ptr, i64 } { ptr @tn.str.523, i64 7 }, { ptr, i64 } { ptr @tn.str.524, i64 8 }, { ptr, i64 } { ptr @tn.str.525, i64 6 }, { ptr, i64 } { ptr @tn.str.526, i64 8 }, { ptr, i64 } { ptr @tn.str.527, i64 9 }, { ptr, i64 } { ptr @tn.str.528, i64 15 }, { ptr, i64 } { ptr @tn.str.529, i64 8 }] +@str.530 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.531 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.532 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.533 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.534 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.535 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.536 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.537 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.538 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.539 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.540 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.541 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.542 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.543 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.544 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.545 = private unnamed_addr constant [30 x i8] c"=== 20. UFCS Return Type ===\0A\00", align 1 -@str.546 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.547 = private unnamed_addr constant [30 x i8] c"=== 20. UFCS Return Type ===\0A\00", align 1 -@str.548 = private unnamed_addr constant [12 x i8] c"direct: {}\0A\00", align 1 -@str.549 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.550 = private unnamed_addr constant [12 x i8] c"direct: {}\0A\00", align 1 -@str.551 = private unnamed_addr constant [10 x i8] c"ufcs: {}\0A\00", align 1 +@str.545 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.546 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.547 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.548 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.549 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.550 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.551 = private unnamed_addr constant [30 x i8] c"=== 20. UFCS Return Type ===\0A\00", align 1 @str.552 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.553 = private unnamed_addr constant [10 x i8] c"ufcs: {}\0A\00", align 1 -@str.554 = private unnamed_addr constant [16 x i8] c"Source_Location\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 +@str.553 = private unnamed_addr constant [30 x i8] c"=== 20. UFCS Return Type ===\0A\00", align 1 +@str.554 = private unnamed_addr constant [12 x i8] c"direct: {}\0A\00", align 1 +@str.555 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.556 = private unnamed_addr constant [12 x i8] c"direct: {}\0A\00", align 1 +@str.557 = private unnamed_addr constant [10 x i8] c"ufcs: {}\0A\00", align 1 +@str.558 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.559 = private unnamed_addr constant [10 x i8] c"ufcs: {}\0A\00", align 1 +@str.560 = private unnamed_addr constant [16 x i8] c"Source_Location\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 = private constant [5 x i8] c"file\00" -@fld.str.558 = private constant [5 x i8] c"line\00" -@fld.str.559 = private constant [4 x i8] c"col\00" -@fld.str.560 = 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.558, i64 4 }, { ptr, i64 } { ptr @fld.str.559, i64 3 }, { ptr, i64 } { ptr @fld.str.560, i64 4 }] -@str.561 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.562 = private unnamed_addr constant [10 x i8] c"Allocator\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"ctx\00" -@fld.str.567 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.568 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.569 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.566, i64 3 }, { ptr, i64 } { ptr @fld.str.567, i64 11 }, { ptr, i64 } { ptr @fld.str.568, i64 13 }] -@str.570 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.571 = private unnamed_addr constant [8 x i8] c"Context\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 [10 x i8] c"allocator\00" -@fld.str.576 = private constant [5 x i8] c"data\00" -@field_names.577 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.575, i64 9 }, { 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 [11 x i8] c"CAllocator\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 -@field_names.583 = private constant [0 x { ptr, i64 }] zeroinitializer +@fld.str.564 = private constant [5 x i8] c"line\00" +@fld.str.565 = private constant [4 x i8] c"col\00" +@fld.str.566 = 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.564, i64 4 }, { ptr, i64 } { ptr @fld.str.565, i64 3 }, { ptr, i64 } { ptr @fld.str.566, i64 4 }] +@str.567 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.568 = private unnamed_addr constant [10 x i8] c"Allocator\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 [4 x i8] c"ctx\00" +@fld.str.573 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.574 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.575 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.572, i64 3 }, { ptr, i64 } { ptr @fld.str.573, i64 11 }, { ptr, i64 } { ptr @fld.str.574, i64 13 }] +@str.576 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.577 = private unnamed_addr constant [8 x i8] c"Context\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 [10 x i8] c"allocator\00" +@fld.str.582 = private constant [5 x i8] c"data\00" +@field_names.583 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.581, i64 9 }, { 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 [4 x i8] c"GPA\00", align 1 +@str.585 = private unnamed_addr constant [11 x i8] c"CAllocator\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 [12 x i8] c"alloc_count\00" -@field_names.590 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.589, i64 11 }] -@str.591 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.592 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" -@fld.str.597 = private constant [4 x i8] c"cap\00" -@field_names.598 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.596, i64 4 }, { ptr, i64 } { ptr @fld.str.597, i64 3 }] -@str.599 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.600 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" -@fld.str.605 = private constant [10 x i8] c"end_index\00" -@fld.str.606 = private constant [7 x i8] c"parent\00" -@field_names.607 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.604, i64 5 }, { ptr, i64 } { ptr @fld.str.605, i64 9 }, { ptr, i64 } { ptr @fld.str.606, i64 6 }] -@str.608 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.609 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" -@fld.str.614 = private constant [4 x i8] c"len\00" -@fld.str.615 = private constant [4 x i8] c"pos\00" -@field_names.616 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.613, i64 3 }, { ptr, i64 } { ptr @fld.str.614, i64 3 }, { ptr, i64 } { ptr @fld.str.615, i64 3 }] -@str.617 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.618 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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"parent\00" -@fld.str.623 = private constant [12 x i8] c"alloc_count\00" -@fld.str.624 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.625 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.626 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.622, i64 6 }, { ptr, i64 } { ptr @fld.str.623, i64 11 }, { ptr, i64 } { ptr @fld.str.624, i64 13 }, { ptr, i64 } { ptr @fld.str.625, i64 17 }] -@str.627 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.628 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" -@field_names.633 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.632, i64 2 }] -@str.634 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.635 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" -@fld.str.640 = private constant [5 x i8] c"line\00" -@fld.str.641 = private constant [4 x i8] c"col\00" -@fld.str.642 = private constant [5 x i8] c"func\00" -@fld.str.643 = private constant [10 x i8] c"line_text\00" -@field_names.644 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.639, i64 4 }, { ptr, i64 } { ptr @fld.str.640, i64 4 }, { ptr, i64 } { ptr @fld.str.641, i64 3 }, { ptr, i64 } { ptr @fld.str.642, i64 4 }, { ptr, i64 } { ptr @fld.str.643, i64 9 }] -@str.645 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.646 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 -@fld.str.650 = private constant [10 x i8] c"exit_code\00" -@fld.str.651 = private constant [7 x i8] c"stdout\00" -@field_names.652 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.650, i64 9 }, { ptr, i64 } { ptr @fld.str.651, i64 6 }] -@str.653 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.654 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.659 = private constant [11 x i8] c"sin_family\00" -@fld.str.660 = private constant [9 x i8] c"sin_port\00" -@fld.str.661 = private constant [9 x i8] c"sin_addr\00" -@fld.str.662 = private constant [9 x i8] c"sin_zero\00" -@field_names.663 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.658, i64 7 }, { ptr, i64 } { ptr @fld.str.659, i64 10 }, { ptr, i64 } { ptr @fld.str.660, i64 8 }, { ptr, i64 } { ptr @fld.str.661, i64 8 }, { ptr, i64 } { ptr @fld.str.662, i64 8 }] -@str.664 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.665 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" -@fld.str.670 = private constant [4 x i8] c"len\00" -@fld.str.671 = private constant [4 x i8] c"cap\00" -@field_names.672 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.669, i64 5 }, { ptr, i64 } { ptr @fld.str.670, i64 3 }, { ptr, i64 } { ptr @fld.str.671, i64 3 }] -@str.673 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.674 = private unnamed_addr constant [7 x i8] c"Object\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"items\00" -@fld.str.679 = private constant [4 x i8] c"len\00" -@fld.str.680 = private constant [4 x i8] c"cap\00" -@field_names.681 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.678, i64 5 }, { ptr, i64 } { ptr @fld.str.679, i64 3 }, { ptr, i64 } { ptr @fld.str.680, i64 3 }] -@str.682 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.683 = private unnamed_addr constant [7 x i8] c"Member\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 [4 x i8] c"key\00" -@fld.str.688 = private constant [4 x i8] c"val\00" -@field_names.689 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.687, i64 3 }, { ptr, i64 } { ptr @fld.str.688, i64 3 }] -@str.690 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.691 = private unnamed_addr constant [5 x i8] c"Sink\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 -@fld.str.695 = private constant [4 x i8] c"dst\00" -@fld.str.696 = private constant [4 x i8] c"pos\00" -@fld.str.697 = private constant [5 x i8] c"file\00" -@field_names.698 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.695, i64 3 }, { ptr, i64 } { ptr @fld.str.696, i64 3 }, { ptr, i64 } { ptr @fld.str.697, i64 4 }] -@str.699 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.700 = private unnamed_addr constant [7 x i8] c"Parser\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 -@fld.str.704 = private constant [4 x i8] c"src\00" -@fld.str.705 = private constant [4 x i8] c"pos\00" -@fld.str.706 = private constant [6 x i8] c"alloc\00" -@field_names.707 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.704, i64 3 }, { ptr, i64 } { ptr @fld.str.705, i64 3 }, { ptr, i64 } { ptr @fld.str.706, i64 5 }] -@str.708 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.709 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.713 = private constant [0 x { ptr, i64 }] zeroinitializer +@field_names.589 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.590 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.591 = private unnamed_addr constant [4 x i8] c"GPA\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 [12 x i8] c"alloc_count\00" +@field_names.596 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.595, i64 11 }] +@str.597 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.598 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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"next\00" +@fld.str.603 = private constant [4 x i8] c"cap\00" +@field_names.604 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.602, i64 4 }, { ptr, i64 } { ptr @fld.str.603, i64 3 }] +@str.605 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.606 = private unnamed_addr constant [6 x i8] c"Arena\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"first\00" +@fld.str.611 = private constant [10 x i8] c"end_index\00" +@fld.str.612 = private constant [7 x i8] c"parent\00" +@field_names.613 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.610, i64 5 }, { ptr, i64 } { ptr @fld.str.611, i64 9 }, { ptr, i64 } { ptr @fld.str.612, i64 6 }] +@str.614 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.615 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 +@str.618 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.619 = private constant [4 x i8] c"buf\00" +@fld.str.620 = private constant [4 x i8] c"len\00" +@fld.str.621 = private constant [4 x i8] c"pos\00" +@field_names.622 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.619, i64 3 }, { ptr, i64 } { ptr @fld.str.620, i64 3 }, { ptr, i64 } { ptr @fld.str.621, i64 3 }] +@str.623 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.624 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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"parent\00" +@fld.str.629 = private constant [12 x i8] c"alloc_count\00" +@fld.str.630 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.631 = private constant [18 x i8] c"total_alloc_bytes\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 11 }, { ptr, i64 } { ptr @fld.str.630, i64 13 }, { ptr, i64 } { ptr @fld.str.631, i64 17 }] +@str.633 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.634 = private unnamed_addr constant [5 x i8] c"File\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" +@field_names.639 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.638, i64 2 }] +@str.640 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.641 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 +@fld.str.645 = private constant [5 x i8] c"file\00" +@fld.str.646 = private constant [5 x i8] c"line\00" +@fld.str.647 = private constant [4 x i8] c"col\00" +@fld.str.648 = private constant [5 x i8] c"func\00" +@fld.str.649 = private constant [10 x i8] c"line_text\00" +@field_names.650 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.645, i64 4 }, { ptr, i64 } { ptr @fld.str.646, i64 4 }, { ptr, i64 } { ptr @fld.str.647, i64 3 }, { ptr, i64 } { ptr @fld.str.648, i64 4 }, { ptr, i64 } { ptr @fld.str.649, i64 9 }] +@str.651 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.652 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" +@fld.str.657 = private constant [7 x i8] c"stdout\00" +@field_names.658 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.656, i64 9 }, { ptr, i64 } { ptr @fld.str.657, i64 6 }] +@str.659 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.660 = private unnamed_addr constant [9 x i8] c"SockAddr\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 +@fld.str.664 = private constant [8 x i8] c"sin_len\00" +@fld.str.665 = private constant [11 x i8] c"sin_family\00" +@fld.str.666 = private constant [9 x i8] c"sin_port\00" +@fld.str.667 = private constant [9 x i8] c"sin_addr\00" +@fld.str.668 = private constant [9 x i8] c"sin_zero\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 10 }, { ptr, i64 } { ptr @fld.str.666, i64 8 }, { ptr, i64 } { ptr @fld.str.667, i64 8 }, { ptr, i64 } { ptr @fld.str.668, i64 8 }] +@str.670 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.671 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" +@fld.str.676 = private constant [4 x i8] c"len\00" +@fld.str.677 = private constant [4 x i8] c"cap\00" +@field_names.678 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.675, i64 5 }, { ptr, i64 } { ptr @fld.str.676, i64 3 }, { ptr, i64 } { ptr @fld.str.677, i64 3 }] +@str.679 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.680 = private unnamed_addr constant [7 x i8] c"Object\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 [6 x i8] c"items\00" +@fld.str.685 = private constant [4 x i8] c"len\00" +@fld.str.686 = private constant [4 x i8] c"cap\00" +@field_names.687 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.684, i64 5 }, { ptr, i64 } { ptr @fld.str.685, i64 3 }, { ptr, i64 } { ptr @fld.str.686, i64 3 }] +@str.688 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.689 = private unnamed_addr constant [7 x i8] c"Member\00", align 1 +@str.690 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.691 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.692 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.693 = private constant [4 x i8] c"key\00" +@fld.str.694 = private constant [4 x i8] c"val\00" +@field_names.695 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.693, i64 3 }, { ptr, i64 } { ptr @fld.str.694, i64 3 }] +@str.696 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.697 = private unnamed_addr constant [5 x i8] c"Sink\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"dst\00" +@fld.str.702 = private constant [4 x i8] c"pos\00" +@fld.str.703 = private constant [5 x i8] c"file\00" +@field_names.704 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.701, i64 3 }, { ptr, i64 } { ptr @fld.str.702, i64 3 }, { ptr, i64 } { ptr @fld.str.703, i64 4 }] +@str.705 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.706 = private unnamed_addr constant [7 x i8] c"Parser\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 +@fld.str.710 = private constant [4 x i8] c"src\00" +@fld.str.711 = private constant [4 x i8] c"pos\00" +@fld.str.712 = private constant [6 x i8] c"alloc\00" +@field_names.713 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.710, i64 3 }, { ptr, i64 } { ptr @fld.str.711, i64 3 }, { ptr, i64 } { ptr @fld.str.712, i64 5 }] @str.714 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.715 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.715 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@fld.str.719 = private constant [5 x i8] c"name\00" -@fld.str.720 = private constant [12 x i8] c"takes_value\00" -@fld.str.721 = private constant [9 x i8] c"required\00" -@field_names.722 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.719, i64 4 }, { ptr, i64 } { ptr @fld.str.720, i64 11 }, { 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 [8 x i8] c"Command\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"group\00" -@fld.str.729 = private constant [8 x i8] c"command\00" -@fld.str.730 = private constant [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.730, i64 5 }] -@str.732 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.733 = private unnamed_addr constant [10 x i8] c"FlagValue\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 [4 x i8] c"set\00" -@fld.str.738 = private constant [6 x i8] c"value\00" -@field_names.739 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.737, i64 3 }, { ptr, i64 } { ptr @fld.str.738, i64 5 }] -@str.740 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.741 = private unnamed_addr constant [5 x i8] c"Diag\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"index\00" -@fld.str.746 = private constant [6 x i8] c"token\00" -@field_names.747 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.745, i64 5 }, { ptr, i64 } { ptr @fld.str.746, i64 5 }] -@str.748 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.749 = private unnamed_addr constant [7 x i8] c"Parsed\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 [6 x i8] c"group\00" -@fld.str.754 = private constant [8 x i8] c"command\00" -@fld.str.755 = private constant [10 x i8] c"cmd_index\00" -@fld.str.756 = private constant [5 x i8] c"json\00" -@fld.str.757 = private constant [5 x i8] c"rest\00" -@fld.str.758 = private constant [5 x i8] c"spec\00" -@fld.str.759 = private constant [7 x i8] c"values\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 7 }, { ptr, i64 } { ptr @fld.str.755, i64 9 }, { ptr, i64 } { ptr @fld.str.756, i64 4 }, { ptr, i64 } { ptr @fld.str.757, i64 4 }, { ptr, i64 } { ptr @fld.str.758, i64 4 }, { ptr, i64 } { ptr @fld.str.759, i64 6 }] -@str.761 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.762 = private unnamed_addr constant [7 x i8] c"Sha256\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 -@fld.str.766 = private constant [2 x i8] c"h\00" -@fld.str.767 = private constant [4 x i8] c"buf\00" -@fld.str.768 = private constant [8 x i8] c"buf_len\00" -@fld.str.769 = private constant [10 x i8] c"total_len\00" -@field_names.770 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.766, i64 1 }, { ptr, i64 } { ptr @fld.str.767, i64 3 }, { ptr, i64 } { ptr @fld.str.768, i64 7 }, { 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 [5 x i8] c"Mat4\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 [5 x i8] c"data\00" -@field_names.777 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.776, i64 4 }] -@str.778 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.779 = private unnamed_addr constant [5 x i8] c"Vec2\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 -@fld.str.783 = private constant [2 x i8] c"x\00" -@fld.str.784 = private constant [2 x i8] c"y\00" -@field_names.785 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.783, i64 1 }, { ptr, i64 } { ptr @fld.str.784, i64 1 }] -@str.786 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.787 = private unnamed_addr constant [6 x i8] c"Point\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 -@fld.str.791 = private constant [2 x i8] c"x\00" -@fld.str.792 = private constant [2 x i8] c"y\00" -@field_names.793 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.791, i64 1 }, { ptr, i64 } { ptr @fld.str.792, i64 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 -@fld.str.796 = private constant [5 x i8] c"read\00" -@fld.str.797 = private constant [6 x i8] c"write\00" -@fld.str.798 = private constant [7 x i8] c"append\00" -@fld.str.799 = private constant [11 x i8] c"read_write\00" -@field_names.800 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.796, i64 4 }, { ptr, i64 } { ptr @fld.str.797, i64 5 }, { ptr, i64 } { ptr @fld.str.798, i64 6 }, { ptr, i64 } { ptr @fld.str.799, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.804 = private constant [4 x i8] c"set\00" -@fld.str.805 = private constant [8 x i8] c"current\00" -@fld.str.806 = private constant [4 x i8] c"end\00" -@field_names.807 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.804, i64 3 }, { ptr, i64 } { ptr @fld.str.805, i64 7 }, { ptr, i64 } { ptr @fld.str.806, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.811 = private constant [6 x i8] c"null_\00" -@fld.str.812 = private constant [6 x i8] c"bool_\00" -@fld.str.813 = private constant [5 x i8] c"int_\00" -@fld.str.814 = private constant [4 x i8] c"str\00" -@fld.str.815 = private constant [6 x i8] c"array\00" -@fld.str.816 = private constant [7 x i8] c"object\00" -@field_names.817 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.811, i64 5 }, { ptr, i64 } { ptr @fld.str.812, i64 5 }, { ptr, i64 } { ptr @fld.str.813, i64 4 }, { ptr, i64 } { ptr @fld.str.814, i64 3 }, { ptr, i64 } { ptr @fld.str.815, i64 5 }, { ptr, i64 } { ptr @fld.str.816, i64 6 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.821 = private constant [6 x i8] c"macos\00" -@fld.str.822 = private constant [6 x i8] c"linux\00" -@fld.str.823 = private constant [8 x i8] c"windows\00" -@fld.str.824 = private constant [5 x i8] c"wasm\00" -@fld.str.825 = private constant [4 x i8] c"ios\00" -@fld.str.826 = private constant [8 x i8] c"android\00" -@fld.str.827 = private constant [8 x i8] c"unknown\00" -@field_names.828 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.821, i64 5 }, { ptr, i64 } { ptr @fld.str.822, i64 5 }, { ptr, i64 } { ptr @fld.str.823, i64 7 }, { ptr, i64 } { ptr @fld.str.824, i64 4 }, { ptr, i64 } { ptr @fld.str.825, i64 3 }, { ptr, i64 } { ptr @fld.str.826, i64 7 }, { ptr, i64 } { ptr @fld.str.827, i64 7 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.832 = private constant [8 x i8] c"aarch64\00" -@fld.str.833 = private constant [7 x i8] c"x86_64\00" -@fld.str.834 = private constant [7 x i8] c"wasm32\00" -@fld.str.835 = private constant [7 x i8] c"wasm64\00" -@fld.str.836 = private constant [8 x i8] c"unknown\00" -@field_names.837 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.832, i64 7 }, { ptr, i64 } { ptr @fld.str.833, i64 6 }, { ptr, i64 } { ptr @fld.str.834, i64 6 }, { ptr, i64 } { ptr @fld.str.835, i64 6 }, { ptr, i64 } { ptr @fld.str.836, i64 7 }] -@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 [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 -@str.843 = private unnamed_addr constant [2 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 [3 x i8] c", \00", align 1 +@field_names.719 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.720 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.721 = private unnamed_addr constant [9 x i8] c"FlagSpec\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"name\00" +@fld.str.726 = private constant [12 x i8] c"takes_value\00" +@fld.str.727 = private constant [9 x i8] c"required\00" +@field_names.728 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.725, i64 4 }, { ptr, i64 } { ptr @fld.str.726, i64 11 }, { ptr, i64 } { ptr @fld.str.727, i64 8 }] +@str.729 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.730 = private unnamed_addr constant [8 x i8] c"Command\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 [6 x i8] c"group\00" +@fld.str.735 = private constant [8 x i8] c"command\00" +@fld.str.736 = private constant [6 x i8] c"flags\00" +@field_names.737 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.734, i64 5 }, { ptr, i64 } { ptr @fld.str.735, i64 7 }, { ptr, i64 } { ptr @fld.str.736, i64 5 }] +@str.738 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.739 = private unnamed_addr constant [10 x i8] c"FlagValue\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 +@fld.str.743 = private constant [4 x i8] c"set\00" +@fld.str.744 = private constant [6 x i8] c"value\00" +@field_names.745 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.743, i64 3 }, { ptr, i64 } { ptr @fld.str.744, i64 5 }] +@str.746 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.747 = private unnamed_addr constant [5 x i8] c"Diag\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 +@fld.str.751 = private constant [6 x i8] c"index\00" +@fld.str.752 = private constant [6 x i8] c"token\00" +@field_names.753 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.751, i64 5 }, { ptr, i64 } { ptr @fld.str.752, i64 5 }] +@str.754 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.755 = private unnamed_addr constant [7 x i8] c"Parsed\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"group\00" +@fld.str.760 = private constant [8 x i8] c"command\00" +@fld.str.761 = private constant [10 x i8] c"cmd_index\00" +@fld.str.762 = private constant [5 x i8] c"json\00" +@fld.str.763 = private constant [5 x i8] c"rest\00" +@fld.str.764 = private constant [5 x i8] c"spec\00" +@fld.str.765 = private constant [7 x i8] c"values\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 7 }, { ptr, i64 } { ptr @fld.str.761, i64 9 }, { ptr, i64 } { ptr @fld.str.762, i64 4 }, { ptr, i64 } { ptr @fld.str.763, i64 4 }, { ptr, i64 } { ptr @fld.str.764, i64 4 }, { ptr, i64 } { ptr @fld.str.765, i64 6 }] +@str.767 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.768 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" +@fld.str.773 = private constant [4 x i8] c"buf\00" +@fld.str.774 = private constant [8 x i8] c"buf_len\00" +@fld.str.775 = private constant [10 x i8] c"total_len\00" +@field_names.776 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.772, i64 1 }, { ptr, i64 } { ptr @fld.str.773, i64 3 }, { ptr, i64 } { ptr @fld.str.774, i64 7 }, { ptr, i64 } { ptr @fld.str.775, i64 9 }] +@str.777 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.778 = private unnamed_addr constant [5 x i8] c"Mat4\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 [5 x i8] c"data\00" +@field_names.783 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.782, i64 4 }] +@str.784 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.785 = private unnamed_addr constant [5 x i8] c"Vec2\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 +@fld.str.789 = private constant [2 x i8] c"x\00" +@fld.str.790 = private constant [2 x i8] c"y\00" +@field_names.791 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.789, i64 1 }, { ptr, i64 } { ptr @fld.str.790, i64 1 }] +@str.792 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.793 = private unnamed_addr constant [6 x i8] c"Point\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 +@fld.str.797 = private constant [2 x i8] c"x\00" +@fld.str.798 = private constant [2 x i8] c"y\00" +@field_names.799 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.797, i64 1 }, { ptr, i64 } { ptr @fld.str.798, i64 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 +@fld.str.802 = private constant [5 x i8] c"read\00" +@fld.str.803 = private constant [6 x i8] c"write\00" +@fld.str.804 = private constant [7 x i8] c"append\00" +@fld.str.805 = private constant [11 x i8] c"read_write\00" +@field_names.806 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.802, i64 4 }, { ptr, i64 } { ptr @fld.str.803, i64 5 }, { ptr, i64 } { ptr @fld.str.804, i64 6 }, { ptr, i64 } { ptr @fld.str.805, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.810 = private constant [4 x i8] c"set\00" +@fld.str.811 = private constant [8 x i8] c"current\00" +@fld.str.812 = private constant [4 x i8] c"end\00" +@field_names.813 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.810, i64 3 }, { ptr, i64 } { ptr @fld.str.811, i64 7 }, { ptr, i64 } { ptr @fld.str.812, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.817 = private constant [6 x i8] c"null_\00" +@fld.str.818 = private constant [6 x i8] c"bool_\00" +@fld.str.819 = private constant [5 x i8] c"int_\00" +@fld.str.820 = private constant [4 x i8] c"str\00" +@fld.str.821 = private constant [6 x i8] c"array\00" +@fld.str.822 = private constant [7 x i8] c"object\00" +@field_names.823 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.817, i64 5 }, { ptr, i64 } { ptr @fld.str.818, i64 5 }, { ptr, i64 } { ptr @fld.str.819, i64 4 }, { ptr, i64 } { ptr @fld.str.820, i64 3 }, { ptr, i64 } { ptr @fld.str.821, i64 5 }, { ptr, i64 } { ptr @fld.str.822, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.827 = private constant [6 x i8] c"macos\00" +@fld.str.828 = private constant [6 x i8] c"linux\00" +@fld.str.829 = private constant [8 x i8] c"windows\00" +@fld.str.830 = private constant [5 x i8] c"wasm\00" +@fld.str.831 = private constant [4 x i8] c"ios\00" +@fld.str.832 = private constant [8 x i8] c"android\00" +@fld.str.833 = private constant [8 x i8] c"unknown\00" +@field_names.834 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.827, i64 5 }, { ptr, i64 } { ptr @fld.str.828, i64 5 }, { ptr, i64 } { ptr @fld.str.829, i64 7 }, { ptr, i64 } { ptr @fld.str.830, i64 4 }, { ptr, i64 } { ptr @fld.str.831, i64 3 }, { ptr, i64 } { ptr @fld.str.832, i64 7 }, { ptr, i64 } { ptr @fld.str.833, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.838 = private constant [8 x i8] c"aarch64\00" +@fld.str.839 = private constant [7 x i8] c"x86_64\00" +@fld.str.840 = private constant [7 x i8] c"wasm32\00" +@fld.str.841 = private constant [7 x i8] c"wasm64\00" +@fld.str.842 = private constant [8 x i8] c"unknown\00" +@field_names.843 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.838, i64 7 }, { ptr, i64 } { ptr @fld.str.839, i64 6 }, { ptr, i64 } { ptr @fld.str.840, i64 6 }, { ptr, i64 } { ptr @fld.str.841, i64 6 }, { ptr, i64 } { ptr @fld.str.842, i64 7 }] +@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 [2 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 [3 x i8] c", \00", align 1 @@ -546,103 +543,110 @@ @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 -@str.876 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.877 = private unnamed_addr constant [6 x i8] c"*void\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 [12 x i8] c"*CAllocator\00", align 1 -@str.881 = private unnamed_addr constant [4 x i8] c"@0x\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 +@str.879 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.880 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.881 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.882 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.883 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.883 = private unnamed_addr constant [6 x i8] c"*void\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 [12 x i8] c"*ArenaChunk\00", align 1 +@str.886 = private unnamed_addr constant [12 x i8] c"*CAllocator\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 [7 x i8] c"*Arena\00", align 1 +@str.889 = private unnamed_addr constant [5 x i8] c"*GPA\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"[*]u8\00", align 1 +@str.892 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\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 [10 x i8] c"*BufAlloc\00", align 1 +@str.895 = private unnamed_addr constant [7 x i8] c"*Arena\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 [19 x i8] c"*TrackingAllocator\00", align 1 +@str.898 = private unnamed_addr constant [6 x i8] c"[*]u8\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 [6 x i8] c"*File\00", align 1 +@str.901 = private unnamed_addr constant [10 x i8] c"*BufAlloc\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 [4 x i8] c"*u8\00", align 1 +@str.904 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\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 [5 x i8] c"*i32\00", align 1 +@str.907 = private unnamed_addr constant [6 x i8] c"*File\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 [10 x i8] c"*SockAddr\00", align 1 +@str.910 = private unnamed_addr constant [5 x i8] c"*i32\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 [5 x i8] c"*u32\00", align 1 +@str.913 = private unnamed_addr constant [10 x i8] c"*SockAddr\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 [9 x i8] c"[*]Value\00", align 1 +@str.916 = private unnamed_addr constant [5 x i8] c"*u32\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 [7 x i8] c"*Array\00", align 1 +@str.919 = private unnamed_addr constant [9 x i8] c"[*]Value\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 [10 x i8] c"[*]Member\00", align 1 +@str.922 = private unnamed_addr constant [7 x i8] c"*Array\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 [8 x i8] c"*Object\00", align 1 +@str.925 = private unnamed_addr constant [10 x i8] c"[*]Member\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 [6 x i8] c"*Sink\00", align 1 +@str.928 = private unnamed_addr constant [8 x i8] c"*Object\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 [8 x i8] c"*Parser\00", align 1 +@str.931 = private unnamed_addr constant [6 x i8] c"*Sink\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 [5 x i8] c"*i64\00", align 1 +@str.934 = private unnamed_addr constant [8 x i8] c"*Parser\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 [8 x i8] c"*Parsed\00", align 1 +@str.937 = private unnamed_addr constant [5 x i8] c"*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 [6 x i8] c"*Diag\00", align 1 +@str.940 = private unnamed_addr constant [8 x i8] c"*Parsed\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"*Sha256\00", align 1 +@str.943 = private unnamed_addr constant [6 x i8] c"*Diag\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 [13 x i8] c"**CAllocator\00", align 1 +@str.946 = private unnamed_addr constant [8 x i8] c"*Sha256\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 [7 x i8] c"**void\00", align 1 +@str.949 = private unnamed_addr constant [13 x i8] c"**CAllocator\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 [8 x i8] c"*string\00", align 1 +@str.952 = private unnamed_addr constant [7 x i8] c"**void\00", align 1 @str.953 = private unnamed_addr constant [4 x i8] c"@0x\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"*Any\00", align 1 +@str.955 = private unnamed_addr constant [8 x i8] c"*string\00", align 1 @str.956 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.957 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.958 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 +@str.958 = private unnamed_addr constant [5 x i8] c"*Any\00", align 1 @str.959 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.960 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.961 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 +@str.961 = private unnamed_addr constant [7 x i8] c"*[]Any\00", align 1 @str.962 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.963 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.964 = private unnamed_addr constant [7 x i8] c"*Point\00", align 1 +@str.964 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 @str.965 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.966 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.967 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.967 = private unnamed_addr constant [6 x i8] c"*bool\00", align 1 @str.968 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.969 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.970 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.971 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.970 = private unnamed_addr constant [7 x i8] c"*Point\00", align 1 +@str.971 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.972 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.973 = private unnamed_addr constant [8 x i8] c"*[1]Any\00", align 1 +@str.974 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.975 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.976 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.977 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.978 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.979 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -659,7 +663,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -710,7 +714,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -794,13 +798,13 @@ entry: br i1 %icmp, label %if.then.56, label %if.merge.57 if.then.56: ; preds = %entry - ret { ptr, i64 } { ptr @str.338, i64 1 } + ret { ptr, i64 } { ptr @str.341, i64 1 } if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.66 @@ -911,7 +915,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.339, i64 4 }, %if.then.78 ], [ { ptr @str.340, i64 5 }, %if.else.79 ] + %bp = phi { ptr, i64 } [ { ptr @str.342, i64 4 }, %if.then.78 ], [ { ptr @str.343, i64 5 }, %if.else.79 ] ret { ptr, i64 } %bp } @@ -1003,7 +1007,7 @@ if.merge.91: ; preds = %if.else.90, %if.the %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1240,13 +1244,13 @@ entry: br i1 %icmp, label %if.then.393, label %if.merge.394 if.then.393: ; preds = %entry - ret { ptr, i64 } { ptr @str.341, i64 1 } + ret { ptr, i64 } { ptr @str.344, i64 1 } if.merge.394: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1318,7 +1322,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1349,7 +1353,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1364,6 +1368,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1382,7 +1395,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.342, i64 3 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.345, 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 @@ -1406,89 +1419,90 @@ entry: i64 1, label %match.arm.41 i64 10, label %match.arm.42 i64 11, label %match.arm.42 - i64 19, label %match.arm.43 i64 20, label %match.arm.43 i64 21, label %match.arm.43 - i64 24, label %match.arm.43 - i64 26, label %match.arm.43 - i64 28, label %match.arm.43 - i64 30, label %match.arm.43 - i64 33, label %match.arm.43 - i64 35, label %match.arm.43 - i64 39, label %match.arm.43 - i64 43, label %match.arm.43 - i64 45, label %match.arm.43 - i64 48, label %match.arm.43 - i64 52, label %match.arm.43 + i64 22, label %match.arm.43 + i64 25, label %match.arm.43 + i64 27, label %match.arm.43 + i64 29, label %match.arm.43 + i64 31, label %match.arm.43 + i64 34, label %match.arm.43 + i64 36, label %match.arm.43 + i64 40, label %match.arm.43 + i64 44, label %match.arm.43 + i64 46, label %match.arm.43 + i64 49, label %match.arm.43 i64 53, label %match.arm.43 - i64 55, label %match.arm.43 - i64 61, label %match.arm.43 - i64 66, label %match.arm.43 - i64 72, label %match.arm.43 - i64 76, label %match.arm.43 - i64 78, label %match.arm.43 + i64 54, label %match.arm.43 + i64 56, label %match.arm.43 + i64 62, label %match.arm.43 + i64 67, label %match.arm.43 + i64 73, label %match.arm.43 + i64 77, label %match.arm.43 i64 79, label %match.arm.43 i64 80, label %match.arm.43 - i64 82, label %match.arm.43 - i64 89, label %match.arm.43 - i64 94, label %match.arm.43 + i64 81, label %match.arm.43 + i64 83, label %match.arm.43 + i64 90, label %match.arm.43 i64 95, label %match.arm.43 i64 96, label %match.arm.43 - i64 37, label %match.arm.44 + i64 97, label %match.arm.43 i64 38, label %match.arm.44 - i64 54, label %match.arm.44 - i64 70, label %match.arm.44 + i64 39, label %match.arm.44 + i64 55, label %match.arm.44 i64 71, label %match.arm.44 - i64 51, label %match.arm.45 - i64 64, label %match.arm.45 - i64 75, label %match.arm.45 - i64 22, label %match.arm.47 - i64 81, label %match.arm.47 - i64 87, label %match.arm.47 + i64 72, label %match.arm.44 + i64 52, label %match.arm.45 + i64 65, label %match.arm.45 + i64 76, label %match.arm.45 + i64 23, label %match.arm.47 + i64 82, label %match.arm.47 i64 88, label %match.arm.47 - i64 92, label %match.arm.47 + i64 89, label %match.arm.47 i64 93, label %match.arm.47 - i64 105, label %match.arm.47 - i64 23, label %match.arm.48 - i64 60, label %match.arm.48 - i64 77, label %match.arm.48 - i64 85, label %match.arm.48 - i64 100, label %match.arm.48 - i64 18, label %match.arm.49 - i64 25, label %match.arm.49 - i64 27, label %match.arm.49 - i64 29, label %match.arm.49 - i64 31, label %match.arm.49 + i64 94, label %match.arm.47 + i64 107, label %match.arm.47 + i64 24, label %match.arm.48 + i64 61, label %match.arm.48 + i64 78, label %match.arm.48 + i64 86, label %match.arm.48 + i64 101, label %match.arm.48 + i64 19, label %match.arm.49 + i64 26, label %match.arm.49 + i64 28, label %match.arm.49 + i64 30, label %match.arm.49 i64 32, label %match.arm.49 - i64 34, label %match.arm.49 - i64 36, label %match.arm.49 - i64 40, label %match.arm.49 - i64 44, label %match.arm.49 - i64 47, label %match.arm.49 - i64 49, label %match.arm.49 + i64 33, label %match.arm.49 + i64 35, label %match.arm.49 + i64 37, label %match.arm.49 + i64 41, label %match.arm.49 + i64 48, label %match.arm.49 i64 50, label %match.arm.49 - i64 56, label %match.arm.49 + i64 51, label %match.arm.49 i64 57, label %match.arm.49 i64 58, label %match.arm.49 i64 59, label %match.arm.49 - i64 62, label %match.arm.49 - i64 67, label %match.arm.49 - i64 74, label %match.arm.49 - i64 83, label %match.arm.49 - i64 86, label %match.arm.49 - i64 90, label %match.arm.49 - i64 97, label %match.arm.49 + i64 60, label %match.arm.49 + i64 63, label %match.arm.49 + i64 68, label %match.arm.49 + i64 75, label %match.arm.49 + i64 84, label %match.arm.49 + i64 87, label %match.arm.49 + i64 91, label %match.arm.49 i64 98, label %match.arm.49 i64 99, label %match.arm.49 - i64 101, label %match.arm.49 + i64 100, label %match.arm.49 i64 102, label %match.arm.49 i64 103, label %match.arm.49 i64 104, label %match.arm.49 + i64 105, label %match.arm.49 i64 106, label %match.arm.49 - i64 41, label %match.arm.50 + i64 108, label %match.arm.49 i64 42, label %match.arm.50 - i64 46, label %match.arm.50 - i64 91, label %match.arm.50 + i64 43, label %match.arm.50 + i64 45, label %match.arm.50 + i64 47, label %match.arm.50 + i64 92, label %match.arm.50 i64 13, label %match.arm.51 ] @@ -1497,7 +1511,7 @@ match.merge.37: ; preds = %dispatch.merge.496, ret { ptr, i64 } %loadN match.arm.38: ; preds = %entry - store { ptr, i64 } { ptr @str.343, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.346, 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 @@ -1506,7 +1520,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 [168 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [171 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 @@ -1539,34 +1553,34 @@ match.arm.43: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.95 [ - i64 19, label %dispatch.case.96 - i64 20, label %dispatch.case.97 - i64 21, label %dispatch.case.98 - i64 24, label %dispatch.case.99 - i64 26, label %dispatch.case.100 - i64 28, label %dispatch.case.101 - i64 30, label %dispatch.case.102 - i64 33, label %dispatch.case.103 - i64 35, label %dispatch.case.104 - i64 39, label %dispatch.case.105 - i64 43, label %dispatch.case.106 - i64 45, label %dispatch.case.107 - i64 48, label %dispatch.case.108 - i64 52, label %dispatch.case.109 - i64 53, label %dispatch.case.110 - i64 55, label %dispatch.case.111 - i64 61, label %dispatch.case.112 - i64 66, label %dispatch.case.113 - i64 72, label %dispatch.case.114 - i64 76, label %dispatch.case.115 - i64 78, label %dispatch.case.116 - i64 79, label %dispatch.case.117 - i64 80, label %dispatch.case.118 - i64 82, label %dispatch.case.119 - i64 89, label %dispatch.case.120 - i64 94, label %dispatch.case.121 - i64 95, label %dispatch.case.122 - i64 96, label %dispatch.case.123 + i64 20, label %dispatch.case.96 + i64 21, label %dispatch.case.97 + i64 22, label %dispatch.case.98 + i64 25, label %dispatch.case.99 + i64 27, label %dispatch.case.100 + i64 29, label %dispatch.case.101 + i64 31, label %dispatch.case.102 + i64 34, label %dispatch.case.103 + i64 36, label %dispatch.case.104 + i64 40, label %dispatch.case.105 + i64 44, label %dispatch.case.106 + i64 46, label %dispatch.case.107 + i64 49, label %dispatch.case.108 + i64 53, label %dispatch.case.109 + i64 54, label %dispatch.case.110 + i64 56, label %dispatch.case.111 + i64 62, label %dispatch.case.112 + i64 67, label %dispatch.case.113 + i64 73, label %dispatch.case.114 + i64 77, label %dispatch.case.115 + i64 79, label %dispatch.case.116 + i64 80, label %dispatch.case.117 + i64 81, label %dispatch.case.118 + i64 83, label %dispatch.case.119 + i64 90, label %dispatch.case.120 + i64 95, label %dispatch.case.121 + i64 96, label %dispatch.case.122 + i64 97, label %dispatch.case.123 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1574,11 +1588,11 @@ match.arm.44: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.265 [ - i64 37, label %dispatch.case.266 - i64 38, label %dispatch.case.267 - i64 54, label %dispatch.case.268 - i64 70, label %dispatch.case.269 - i64 71, label %dispatch.case.270 + i64 38, label %dispatch.case.266 + i64 39, label %dispatch.case.267 + i64 55, label %dispatch.case.268 + i64 71, label %dispatch.case.269 + i64 72, label %dispatch.case.270 ] match.arm.45: ; preds = %entry, %entry, %entry @@ -1601,13 +1615,13 @@ match.arm.47: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.282 [ - i64 22, label %dispatch.case.283 - i64 81, label %dispatch.case.284 - i64 87, label %dispatch.case.285 - i64 88, label %dispatch.case.286 - i64 92, label %dispatch.case.287 - i64 93, label %dispatch.case.288 - i64 105, label %dispatch.case.289 + i64 23, label %dispatch.case.283 + i64 82, label %dispatch.case.284 + i64 88, label %dispatch.case.285 + i64 89, label %dispatch.case.286 + i64 93, label %dispatch.case.287 + i64 94, label %dispatch.case.288 + i64 107, label %dispatch.case.289 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1615,11 +1629,11 @@ match.arm.48: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.326 [ - i64 23, label %dispatch.case.327 - i64 60, label %dispatch.case.328 - i64 77, label %dispatch.case.329 - i64 85, label %dispatch.case.330 - i64 100, label %dispatch.case.331 + i64 24, label %dispatch.case.327 + i64 61, label %dispatch.case.328 + i64 78, label %dispatch.case.329 + i64 86, label %dispatch.case.330 + i64 101, label %dispatch.case.331 ] 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 @@ -1627,48 +1641,49 @@ match.arm.49: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.358 [ - i64 18, label %dispatch.case.359 - i64 25, label %dispatch.case.360 - i64 27, label %dispatch.case.361 - i64 29, label %dispatch.case.362 - i64 31, label %dispatch.case.363 - i64 32, label %dispatch.case.364 - i64 34, label %dispatch.case.365 - i64 36, label %dispatch.case.366 - i64 40, label %dispatch.case.367 - i64 44, label %dispatch.case.368 - i64 47, label %dispatch.case.369 - i64 49, label %dispatch.case.370 - i64 50, label %dispatch.case.371 - i64 56, label %dispatch.case.372 - i64 57, label %dispatch.case.373 - i64 58, label %dispatch.case.374 - i64 59, label %dispatch.case.375 - i64 62, label %dispatch.case.376 - i64 67, label %dispatch.case.377 - i64 74, label %dispatch.case.378 - i64 83, label %dispatch.case.379 - i64 86, label %dispatch.case.380 - i64 90, label %dispatch.case.381 - i64 97, label %dispatch.case.382 - i64 98, label %dispatch.case.383 - i64 99, label %dispatch.case.384 - i64 101, label %dispatch.case.385 - i64 102, label %dispatch.case.386 - i64 103, label %dispatch.case.387 - i64 104, label %dispatch.case.388 - i64 106, label %dispatch.case.389 + i64 19, label %dispatch.case.359 + i64 26, label %dispatch.case.360 + i64 28, label %dispatch.case.361 + i64 30, label %dispatch.case.362 + i64 32, label %dispatch.case.363 + i64 33, label %dispatch.case.364 + i64 35, label %dispatch.case.365 + i64 37, label %dispatch.case.366 + i64 41, label %dispatch.case.367 + i64 48, label %dispatch.case.368 + i64 50, label %dispatch.case.369 + i64 51, label %dispatch.case.370 + i64 57, label %dispatch.case.371 + i64 58, label %dispatch.case.372 + i64 59, label %dispatch.case.373 + i64 60, label %dispatch.case.374 + i64 63, label %dispatch.case.375 + i64 68, label %dispatch.case.376 + i64 75, label %dispatch.case.377 + i64 84, label %dispatch.case.378 + i64 87, label %dispatch.case.379 + i64 91, label %dispatch.case.380 + i64 98, label %dispatch.case.381 + i64 99, label %dispatch.case.382 + i64 100, label %dispatch.case.383 + i64 102, label %dispatch.case.384 + i64 103, label %dispatch.case.385 + i64 104, label %dispatch.case.386 + i64 105, label %dispatch.case.387 + i64 106, label %dispatch.case.388 + i64 108, label %dispatch.case.389 ] -match.arm.50: ; preds = %entry, %entry, %entry, %entry +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.497 [ - i64 41, label %dispatch.case.498 - i64 42, label %dispatch.case.499 - i64 46, label %dispatch.case.500 - i64 91, label %dispatch.case.501 + i64 42, label %dispatch.case.498 + i64 43, label %dispatch.case.499 + i64 45, label %dispatch.case.500 + i64 47, label %dispatch.case.501 + i64 92, label %dispatch.case.502 ] match.arm.51: ; preds = %entry @@ -1677,7 +1692,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 [168 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [171 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 @@ -1728,7 +1743,7 @@ dispatch.merge.94: ; preds = %dispatch.case.123, br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.524, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.530, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -1961,7 +1976,7 @@ dispatch.merge.264: ; preds = %dispatch.case.270, br label %match.merge.37 dispatch.default.265: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.525, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.531, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.264 dispatch.case.266: ; preds = %match.arm.44 @@ -2002,7 +2017,7 @@ dispatch.merge.281: ; preds = %dispatch.case.289, br label %match.merge.37 dispatch.default.282: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.526, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.532, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.281 dispatch.case.283: ; preds = %match.arm.47 @@ -2067,7 +2082,7 @@ dispatch.merge.325: ; preds = %dispatch.case.331, br label %match.merge.37 dispatch.default.326: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.527, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.533, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.325 dispatch.case.327: ; preds = %match.arm.48 @@ -2116,7 +2131,7 @@ dispatch.merge.357: ; preds = %dispatch.case.389, br label %match.merge.37 dispatch.default.358: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.528, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.534, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.359: ; preds = %match.arm.49 @@ -2185,133 +2200,133 @@ dispatch.case.367: ; preds = %match.arm.49 dispatch.case.368: ; 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_u8(ptr %0, ptr %iNp263) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp263) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.369: ; 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_i32(ptr %0, ptr %iNp266) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp266) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.370: ; 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_SockAddr(ptr %0, ptr %iNp269) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp269) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.371: ; 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_u32(ptr %0, ptr %iNp272) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp272) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.372: ; 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_Value(ptr %0, ptr %iNp275) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp275) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.373: ; 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_Array(ptr %0, ptr %iNp278) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp278) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.374: ; 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__mptr_Member(ptr %0, ptr %iNp281) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp281) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.375: ; 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_Object(ptr %0, ptr %iNp284) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp284) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.376: ; 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_Sink(ptr %0, ptr %iNp287) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp287) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.377: ; 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_Parser(ptr %0, ptr %iNp290) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp290) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.378: ; 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_i64(ptr %0, ptr %iNp293) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp293) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.379: ; 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_Parsed(ptr %0, ptr %iNp296) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp296) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.380: ; 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_Diag(ptr %0, ptr %iNp299) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp299) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.381: ; 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_Sha256(ptr %0, ptr %iNp302) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp302) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.382: ; 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_ptr_CAllocator(ptr %0, ptr %iNp305) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp305) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.383: ; 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_ptr_void(ptr %0, ptr %iNp308) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp308) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.384: ; 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_string(ptr %0, ptr %iNp311) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp311) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.385: ; 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_Any(ptr %0, ptr %iNp314) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp314) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 dispatch.case.386: ; 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_SL_Any(ptr %0, ptr %iNp317) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp317) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 @@ -2336,13 +2351,13 @@ dispatch.case.389: ; preds = %match.arm.49 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.357 -dispatch.merge.496: ; preds = %dispatch.case.501, %dispatch.case.500, %dispatch.case.499, %dispatch.case.498, %dispatch.default.497 +dispatch.merge.496: ; preds = %dispatch.case.502, %dispatch.case.501, %dispatch.case.500, %dispatch.case.499, %dispatch.case.498, %dispatch.default.497 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.497: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.529, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.535, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.496 dispatch.case.498: ; preds = %match.arm.50 @@ -2363,17 +2378,24 @@ dispatch.case.499: ; preds = %match.arm.50 dispatch.case.500: ; preds = %match.arm.50 %ua.raw337 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr338 = inttoptr i64 %ua.raw337 to ptr - %ua.load339 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr338, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load339) + %iNp338 = inttoptr i64 %ua.raw337 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp338) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.496 dispatch.case.501: ; preds = %match.arm.50 - %ua.raw341 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr342 = inttoptr i64 %ua.raw341 to ptr - %ua.load343 = load { [64 x i8], i1 }, ptr %ua.ptr342, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load343) + %ua.raw340 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr341 = inttoptr i64 %ua.raw340 to ptr + %ua.load342 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr341, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load342) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.496 + +dispatch.case.502: ; preds = %match.arm.50 + %ua.raw344 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr345 = inttoptr i64 %ua.raw344 to ptr + %ua.load346 = load { [64 x i8], i1 }, ptr %ua.ptr345, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load346) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.496 } @@ -2384,7 +2406,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.530, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.536, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2480,7 +2502,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.531, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.537, 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 @@ -2488,7 +2510,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.532, 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 %allocaN, align 8 @@ -2498,13 +2520,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.533, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.539, 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.534, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.540, 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 @@ -2512,7 +2534,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.535, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.541, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2526,7 +2548,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.536, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.542, 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 @@ -2534,7 +2556,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.537, 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 i64, ptr %allocaN, align 8 @@ -2545,7 +2567,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.538, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.544, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2602,7 +2624,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.539, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.545, 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 @@ -2610,7 +2632,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.540, 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 i64, ptr %allocaN, align 8 @@ -2621,7 +2643,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.541, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.547, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2641,7 +2663,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.542, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.548, 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 @@ -2649,7 +2671,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.543, 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 { ptr, i64 }, ptr %alloca, align 8 @@ -2660,7 +2682,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.544, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.550, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -2881,9 +2903,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3590,7 +3609,7 @@ declare void @out.113(ptr) #0 declare void @out.114(ptr) #0 ; Function Attrs: nounwind -declare ptr @cstring.115(ptr, i64) #0 +declare ptr @alloc_string.115(ptr, i64) #0 ; Function Attrs: nounwind declare ptr @int_to_string.116(ptr, i64) #0 @@ -3620,643 +3639,652 @@ declare ptr @concat.123(ptr, ptr, ptr) #0 declare ptr @substr.124(ptr, ptr, i64, i64) #0 ; Function Attrs: nounwind -declare ptr @path_join.125(ptr, ptr) #0 +declare i64 @cstring_len.125(ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @any_to_string.126(ptr, [2 x i64]) #0 +declare ptr @from_cstring.126(ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @build_format.127(ptr, ptr) #0 +declare ptr @to_cstring.127(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @out.128(ptr) #0 +declare ptr @path_join.128(ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @mem_realloc.129(ptr, ptr, ptr, i64, i64, i64) #0 +declare ptr @any_to_string.129(ptr, [2 x i64]) #0 ; Function Attrs: nounwind -declare ptr @CAllocator.alloc_bytes.130(ptr, ptr, i64) #0 +declare ptr @build_format.130(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @CAllocator.dealloc_bytes.131(ptr, ptr, ptr) #0 +declare void @out.131(ptr) #0 ; Function Attrs: nounwind -declare i64 @GPA.init.132(ptr) #0 +declare ptr @mem_realloc.132(ptr, ptr, ptr, i64, i64, i64) #0 ; Function Attrs: nounwind -declare ptr @GPA.alloc_bytes.133(ptr, ptr, i64) #0 +declare ptr @CAllocator.alloc_bytes.133(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @GPA.dealloc_bytes.134(ptr, ptr, ptr) #0 +declare void @CAllocator.dealloc_bytes.134(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Arena.add_chunk.135(ptr, ptr, i64) #0 +declare i64 @GPA.init.135(ptr) #0 ; Function Attrs: nounwind -declare void @Arena.init.136(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0 +declare ptr @GPA.alloc_bytes.136(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @Arena.reset.137(ptr, ptr) #0 +declare void @GPA.dealloc_bytes.137(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Arena.deinit.138(ptr, ptr) #0 +declare void @Arena.add_chunk.138(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare ptr @Arena.alloc_bytes.139(ptr, ptr, i64) #0 +declare void @Arena.init.139(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @Arena.dealloc_bytes.140(ptr, ptr, ptr) #0 +declare void @Arena.reset.140(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BufAlloc.init.141(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0 +declare void @Arena.deinit.141(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BufAlloc.reset.142(ptr, ptr) #0 +declare ptr @Arena.alloc_bytes.142(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare ptr @BufAlloc.alloc_bytes.143(ptr, ptr, i64) #0 +declare void @Arena.dealloc_bytes.143(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BufAlloc.dealloc_bytes.144(ptr, ptr, ptr) #0 +declare void @BufAlloc.init.144(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @TrackingAllocator.init.145(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0 +declare void @BufAlloc.reset.145(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @TrackingAllocator.leak_count.146(ptr, ptr) #0 +declare ptr @BufAlloc.alloc_bytes.146(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @TrackingAllocator.report.147(ptr, ptr) #0 +declare void @BufAlloc.dealloc_bytes.147(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @TrackingAllocator.alloc_bytes.148(ptr, ptr, i64) #0 +declare void @TrackingAllocator.init.148(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @TrackingAllocator.dealloc_bytes.149(ptr, ptr, ptr) #0 +declare i64 @TrackingAllocator.leak_count.149(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @File.is_valid.150(ptr, ptr) #0 +declare void @TrackingAllocator.report.150(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @File.close.151(ptr, ptr) #0 +declare ptr @TrackingAllocator.alloc_bytes.151(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare i64 @File.read.152(ptr, ptr, ptr) #0 +declare void @TrackingAllocator.dealloc_bytes.152(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.write.153(ptr, ptr, ptr) #0 +declare i1 @File.is_valid.153(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.seek.154(ptr, ptr, i64, i64) #0 +declare i1 @File.close.154(ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @mode_to_flags.155(ptr, i64) #0 +declare i64 @File.read.155(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @open_file.156(ptr, ptr, i64) #0 +declare i64 @File.write.156(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @read_file.157(ptr, ptr) #0 +declare i64 @File.seek.157(ptr, ptr, i64, i64) #0 ; Function Attrs: nounwind -declare i1 @write_file.158(ptr, ptr, ptr) #0 +declare i32 @mode_to_flags.158(ptr, i64) #0 ; Function Attrs: nounwind -declare i1 @append_file.159(ptr, ptr, ptr) #0 +declare i64 @open_file.159(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare i1 @exists.160(ptr, ptr) #0 +declare ptr @read_file.160(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @delete_file.161(ptr, ptr) #0 +declare i1 @write_file.161(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @delete_dir.162(ptr, ptr) #0 +declare i1 @append_file.162(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @create_dir.163(ptr, ptr) #0 +declare i1 @exists.163(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @set_mode.164(ptr, ptr, i32) #0 +declare i1 @delete_file.164(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @move.165(ptr, ptr, ptr) #0 +declare i1 @delete_dir.165(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @create_dir_all.166(ptr, ptr) #0 +declare i1 @create_dir.166(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @copy_file.167(ptr, ptr, ptr) #0 +declare i1 @set_mode.167(ptr, ptr, i32) #0 ; Function Attrs: nounwind -declare ptr @basename.168(ptr, ptr) #0 +declare i1 @move.168(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @dirname.169(ptr, ptr) #0 +declare i1 @create_dir_all.169(ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @spaces.170(ptr, i32) #0 +declare i1 @copy_file.170(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @to_string.171(ptr) #0 +declare ptr @basename.171(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @print_current.172(ptr) #0 +declare ptr @dirname.172(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @print_interpreter_frames.173(ptr) #0 +declare ptr @spaces.173(ptr, i32) #0 ; Function Attrs: nounwind -declare void @run.174(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0 +declare ptr @to_string.174(ptr) #0 ; Function Attrs: nounwind -declare ptr @env.175(ptr, ptr) #0 +declare void @print_current.175(ptr) #0 ; Function Attrs: nounwind -declare ptr @find_executable.176(ptr, ptr) #0 +declare void @print_interpreter_frames.176(ptr) #0 ; Function Attrs: nounwind -declare void @exit.177(ptr, i8, ptr) #0 +declare void @run.177(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @assert.178(ptr, i1, ptr, ptr) #0 +declare ptr @env.178(ptr, ptr) #0 ; Function Attrs: nounwind -declare i16 @htons.179(ptr, i64) #0 +declare ptr @find_executable.179(ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @mem_realloc.180(ptr, ptr, ptr, i64, i64, i64) #0 +declare void @exit.180(ptr, i8, ptr) #0 ; Function Attrs: nounwind -declare ptr @CAllocator.alloc_bytes.181(ptr, ptr, i64) #0 +declare void @assert.181(ptr, i1, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @CAllocator.dealloc_bytes.182(ptr, ptr, ptr) #0 +declare i16 @htons.182(ptr, i64) #0 ; Function Attrs: nounwind -declare i64 @GPA.init.183(ptr) #0 +declare ptr @mem_realloc.183(ptr, ptr, ptr, i64, i64, i64) #0 ; Function Attrs: nounwind -declare ptr @GPA.alloc_bytes.184(ptr, ptr, i64) #0 +declare ptr @CAllocator.alloc_bytes.184(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @GPA.dealloc_bytes.185(ptr, ptr, ptr) #0 +declare void @CAllocator.dealloc_bytes.185(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Arena.add_chunk.186(ptr, ptr, i64) #0 +declare i64 @GPA.init.186(ptr) #0 ; Function Attrs: nounwind -declare void @Arena.init.187(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0 +declare ptr @GPA.alloc_bytes.187(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @Arena.reset.188(ptr, ptr) #0 +declare void @GPA.dealloc_bytes.188(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Arena.deinit.189(ptr, ptr) #0 +declare void @Arena.add_chunk.189(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare ptr @Arena.alloc_bytes.190(ptr, ptr, i64) #0 +declare void @Arena.init.190(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @Arena.dealloc_bytes.191(ptr, ptr, ptr) #0 +declare void @Arena.reset.191(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BufAlloc.init.192(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0 +declare void @Arena.deinit.192(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BufAlloc.reset.193(ptr, ptr) #0 +declare ptr @Arena.alloc_bytes.193(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare ptr @BufAlloc.alloc_bytes.194(ptr, ptr, i64) #0 +declare void @Arena.dealloc_bytes.194(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BufAlloc.dealloc_bytes.195(ptr, ptr, ptr) #0 +declare void @BufAlloc.init.195(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @TrackingAllocator.init.196(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0 +declare void @BufAlloc.reset.196(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @TrackingAllocator.leak_count.197(ptr, ptr) #0 +declare ptr @BufAlloc.alloc_bytes.197(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @TrackingAllocator.report.198(ptr, ptr) #0 +declare void @BufAlloc.dealloc_bytes.198(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @TrackingAllocator.alloc_bytes.199(ptr, ptr, i64) #0 +declare void @TrackingAllocator.init.199(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @TrackingAllocator.dealloc_bytes.200(ptr, ptr, ptr) #0 +declare i64 @TrackingAllocator.leak_count.200(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @File.is_valid.201(ptr, ptr) #0 +declare void @TrackingAllocator.report.201(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @File.close.202(ptr, ptr) #0 +declare ptr @TrackingAllocator.alloc_bytes.202(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare i64 @File.read.203(ptr, ptr, ptr) #0 +declare void @TrackingAllocator.dealloc_bytes.203(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.write.204(ptr, ptr, ptr) #0 +declare i1 @File.is_valid.204(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.seek.205(ptr, ptr, i64, i64) #0 +declare i1 @File.close.205(ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @mode_to_flags.206(ptr, i64) #0 +declare i64 @File.read.206(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @open_file.207(ptr, ptr, i64) #0 +declare i64 @File.write.207(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @read_file.208(ptr, ptr) #0 +declare i64 @File.seek.208(ptr, ptr, i64, i64) #0 ; Function Attrs: nounwind -declare i1 @write_file.209(ptr, ptr, ptr) #0 +declare i32 @mode_to_flags.209(ptr, i64) #0 ; Function Attrs: nounwind -declare i1 @append_file.210(ptr, ptr, ptr) #0 +declare i64 @open_file.210(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare i1 @exists.211(ptr, ptr) #0 +declare ptr @read_file.211(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @delete_file.212(ptr, ptr) #0 +declare i1 @write_file.212(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @delete_dir.213(ptr, ptr) #0 +declare i1 @append_file.213(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @create_dir.214(ptr, ptr) #0 +declare i1 @exists.214(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @set_mode.215(ptr, ptr, i32) #0 +declare i1 @delete_file.215(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @move.216(ptr, ptr, ptr) #0 +declare i1 @delete_dir.216(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @create_dir_all.217(ptr, ptr) #0 +declare i1 @create_dir.217(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @copy_file.218(ptr, ptr, ptr) #0 +declare i1 @set_mode.218(ptr, ptr, i32) #0 ; Function Attrs: nounwind -declare ptr @basename.219(ptr, ptr) #0 +declare i1 @move.219(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @dirname.220(ptr, ptr) #0 +declare i1 @create_dir_all.220(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Array.add.221(ptr, ptr, ptr, ptr) #0 +declare i1 @copy_file.221(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Array.deinit.222(ptr, ptr, ptr) #0 +declare ptr @basename.222(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Object.put.223(ptr, ptr, ptr, ptr, ptr) #0 +declare ptr @dirname.223(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Object.deinit.224(ptr, ptr, ptr) #0 +declare void @Array.add.224(ptr, ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @Sink.put_byte.225(ptr, ptr, i8) #0 +declare void @Array.deinit.225(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @Sink.put.226(ptr, ptr, ptr) #0 +declare void @Object.put.226(ptr, ptr, ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @Sink.flush.227(ptr, ptr) #0 +declare void @Object.deinit.227(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i8 @hex_digit.228(ptr, i64) #0 +declare i32 @Sink.put_byte.228(ptr, ptr, i8) #0 ; Function Attrs: nounwind -declare i32 @write_u_escape.229(ptr, i8, ptr) #0 +declare i32 @Sink.put.229(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @write_string.230(ptr, ptr, ptr) #0 +declare i32 @Sink.flush.230(ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @write_int.231(ptr, i64, ptr) #0 +declare i8 @hex_digit.231(ptr, i64) #0 ; Function Attrs: nounwind -declare i32 @write_value.232(ptr, ptr, ptr) #0 +declare i32 @write_u_escape.232(ptr, i8, ptr) #0 ; Function Attrs: nounwind -declare i32 @write_array.233(ptr, ptr, ptr) #0 +declare i32 @write_string.233(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @write_object.234(ptr, ptr, ptr) #0 +declare i32 @write_int.234(ptr, i64, ptr) #0 ; Function Attrs: nounwind -declare [2 x i64] @write_to_buffer.235(ptr, ptr, ptr) #0 +declare i32 @write_value.235(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @write_to_file.236(ptr, ptr, ptr, ptr) #0 +declare i32 @write_array.236(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare [2 x i64] @hex_value.237(ptr, i8) #0 +declare i32 @write_object.237(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @encode_utf8.238(ptr, i64, ptr) #0 +declare [2 x i64] @write_to_buffer.238(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Parser.skip_ws.239(ptr, ptr) #0 +declare i32 @write_to_file.239(ptr, ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @Parser.expect_lit.240(ptr, ptr, ptr) #0 +declare [2 x i64] @hex_value.240(ptr, i8) #0 ; Function Attrs: nounwind -declare [2 x i64] @Parser.read_hex4.241(ptr, ptr, i64, i64) #0 +declare i64 @encode_utf8.241(ptr, i64, ptr) #0 ; Function Attrs: nounwind -declare [2 x i64] @Parser.decode_into.242(ptr, ptr, i64, i64, ptr) #0 +declare void @Parser.skip_ws.242(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Parser.parse_string.243(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0 +declare i32 @Parser.expect_lit.243(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare [2 x i64] @Parser.parse_number.244(ptr, ptr) #0 +declare [2 x i64] @Parser.read_hex4.244(ptr, ptr, i64, i64) #0 ; Function Attrs: nounwind -declare void @Parser.parse_array.245(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0 +declare [2 x i64] @Parser.decode_into.245(ptr, ptr, i64, i64, ptr) #0 ; Function Attrs: nounwind -declare void @Parser.parse_object.246(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0 +declare void @Parser.parse_string.246(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Parser.parse_value.247(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0 +declare [2 x i64] @Parser.parse_number.247(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @parse.248(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0 +declare void @Parser.parse_array.248(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @escape.249(ptr, ptr) #0 +declare void @Parser.parse_object.249(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.add_link_flag.250(i64, ptr) #0 +declare void @Parser.parse_value.250(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.add_framework.251(i64, ptr) #0 +declare void @parse.251(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_output_path.252(i64, ptr) #0 +declare ptr @escape.252(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_wasm_shell.253(i64, ptr) #0 +declare void @BuildOptions.add_link_flag.253(i64, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.add_asset_dir.254(i64, ptr, ptr) #0 +declare void @BuildOptions.add_framework.254(i64, ptr) #0 ; Function Attrs: nounwind -declare i64 @BuildOptions.asset_dir_count.255(i64) #0 +declare void @BuildOptions.set_output_path.255(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.asset_dir_src_at.256(i64, i64) #0 +declare void @BuildOptions.set_wasm_shell.256(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.asset_dir_dest_at.257(i64, i64) #0 +declare void @BuildOptions.add_asset_dir.257(i64, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_post_link_callback.258(i64, ptr) #0 +declare i64 @BuildOptions.asset_dir_count.258(i64) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_post_link_module.259(i64, ptr) #0 +declare ptr @BuildOptions.asset_dir_src_at.259(i64, i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.binary_path.260(i64) #0 +declare ptr @BuildOptions.asset_dir_dest_at.260(i64, i64) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_bundle_path.261(i64, ptr) #0 +declare void @BuildOptions.set_post_link_callback.261(i64, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_bundle_id.262(i64, ptr) #0 +declare void @BuildOptions.set_post_link_module.262(i64, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_codesign_identity.263(i64, ptr) #0 +declare ptr @BuildOptions.binary_path.263(i64) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_provisioning_profile.264(i64, ptr) #0 +declare void @BuildOptions.set_bundle_path.264(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.bundle_path.265(i64) #0 +declare void @BuildOptions.set_bundle_id.265(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.bundle_id.266(i64) #0 +declare void @BuildOptions.set_codesign_identity.266(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.codesign_identity.267(i64) #0 +declare void @BuildOptions.set_provisioning_profile.267(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.provisioning_profile.268(i64) #0 +declare ptr @BuildOptions.bundle_path.268(i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.target_triple.269(i64) #0 +declare ptr @BuildOptions.bundle_id.269(i64) #0 ; Function Attrs: nounwind -declare i1 @BuildOptions.is_macos.270(i64) #0 +declare ptr @BuildOptions.codesign_identity.270(i64) #0 ; Function Attrs: nounwind -declare i1 @BuildOptions.is_ios.271(i64) #0 +declare ptr @BuildOptions.provisioning_profile.271(i64) #0 ; Function Attrs: nounwind -declare i1 @BuildOptions.is_ios_device.272(i64) #0 +declare ptr @BuildOptions.target_triple.272(i64) #0 ; Function Attrs: nounwind -declare i1 @BuildOptions.is_ios_simulator.273(i64) #0 +declare i1 @BuildOptions.is_macos.273(i64) #0 ; Function Attrs: nounwind -declare i1 @BuildOptions.is_android.274(i64) #0 +declare i1 @BuildOptions.is_ios.274(i64) #0 ; Function Attrs: nounwind -declare i64 @BuildOptions.framework_count.275(i64) #0 +declare i1 @BuildOptions.is_ios_device.275(i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.framework_at.276(i64, i64) #0 +declare i1 @BuildOptions.is_ios_simulator.276(i64) #0 ; Function Attrs: nounwind -declare i64 @BuildOptions.framework_path_count.277(i64) #0 +declare i1 @BuildOptions.is_android.277(i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.framework_path_at.278(i64, i64) #0 +declare i64 @BuildOptions.framework_count.278(i64) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_manifest_path.279(i64, ptr) #0 +declare ptr @BuildOptions.framework_at.279(i64, i64) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_keystore_path.280(i64, ptr) #0 +declare i64 @BuildOptions.framework_path_count.280(i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.manifest_path.281(i64) #0 +declare ptr @BuildOptions.framework_path_at.281(i64, i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.keystore_path.282(i64) #0 +declare void @BuildOptions.set_manifest_path.282(i64, ptr) #0 ; Function Attrs: nounwind -declare i64 @BuildOptions.jni_main_count.283(i64) #0 +declare void @BuildOptions.set_keystore_path.283(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.jni_main_foreign_path_at.284(i64, i64) #0 +declare ptr @BuildOptions.manifest_path.284(i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.jni_main_java_source_at.285(i64, i64) #0 +declare ptr @BuildOptions.keystore_path.285(i64) #0 ; Function Attrs: nounwind -declare i64 @build_options.286() #0 +declare i64 @BuildOptions.jni_main_count.286(i64) #0 ; Function Attrs: nounwind -declare ptr @spaces.287(ptr, i32) #0 +declare ptr @BuildOptions.jni_main_foreign_path_at.287(i64, i64) #0 ; Function Attrs: nounwind -declare ptr @to_string.288(ptr) #0 +declare ptr @BuildOptions.jni_main_java_source_at.288(i64, i64) #0 ; Function Attrs: nounwind -declare void @print_current.289(ptr) #0 +declare i64 @build_options.289() #0 ; Function Attrs: nounwind -declare void @print_interpreter_frames.290(ptr) #0 +declare ptr @spaces.290(ptr, i32) #0 ; Function Attrs: nounwind -declare void @run.291(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0 +declare ptr @to_string.291(ptr) #0 ; Function Attrs: nounwind -declare ptr @env.292(ptr, ptr) #0 +declare void @print_current.292(ptr) #0 ; Function Attrs: nounwind -declare ptr @find_executable.293(ptr, ptr) #0 +declare void @print_interpreter_frames.293(ptr) #0 ; Function Attrs: nounwind -declare void @exit.294(ptr, i8, ptr) #0 +declare void @run.294(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @assert.295(ptr, i1, ptr, ptr) #0 +declare ptr @env.295(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @exit_ok.296(ptr) #0 +declare ptr @find_executable.296(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @exit_usage.297(ptr) #0 +declare void @exit.297(ptr, i8, ptr) #0 ; Function Attrs: nounwind -declare i64 @os_argc.298(ptr) #0 +declare void @assert.298(ptr, i1, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @os_args.299(ptr, ptr) #0 +declare void @exit_ok.299(ptr) #0 ; Function Attrs: nounwind -declare i1 @Parsed.is_set.300(ptr, ptr, ptr) #0 +declare void @exit_usage.300(ptr) #0 ; Function Attrs: nounwind -declare ptr @Parsed.value_of.301(ptr, ptr, ptr) #0 +declare i64 @os_argc.301(ptr) #0 ; Function Attrs: nounwind -declare i1 @is_long_flag.302(ptr, ptr) #0 +declare ptr @os_args.302(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @parse.303(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0 +declare i1 @Parsed.is_set.303(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @File.is_valid.304(ptr, ptr) #0 +declare ptr @Parsed.value_of.304(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @File.close.305(ptr, ptr) #0 +declare i1 @is_long_flag.305(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.read.306(ptr, ptr, ptr) #0 +declare void @parse.306(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.write.307(ptr, ptr, ptr) #0 +declare i1 @File.is_valid.307(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.seek.308(ptr, ptr, i64, i64) #0 +declare i1 @File.close.308(ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @mode_to_flags.309(ptr, i64) #0 +declare i64 @File.read.309(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @open_file.310(ptr, ptr, i64) #0 +declare i64 @File.write.310(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @read_file.311(ptr, ptr) #0 +declare i64 @File.seek.311(ptr, ptr, i64, i64) #0 ; Function Attrs: nounwind -declare i1 @write_file.312(ptr, ptr, ptr) #0 +declare i32 @mode_to_flags.312(ptr, i64) #0 ; Function Attrs: nounwind -declare i1 @append_file.313(ptr, ptr, ptr) #0 +declare i64 @open_file.313(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare i1 @exists.314(ptr, ptr) #0 +declare ptr @read_file.314(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @delete_file.315(ptr, ptr) #0 +declare i1 @write_file.315(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @delete_dir.316(ptr, ptr) #0 +declare i1 @append_file.316(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @create_dir.317(ptr, ptr) #0 +declare i1 @exists.317(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @set_mode.318(ptr, ptr, i32) #0 +declare i1 @delete_file.318(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @move.319(ptr, ptr, ptr) #0 +declare i1 @delete_dir.319(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @create_dir_all.320(ptr, ptr) #0 +declare i1 @create_dir.320(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @copy_file.321(ptr, ptr, ptr) #0 +declare i1 @set_mode.321(ptr, ptr, i32) #0 ; Function Attrs: nounwind -declare ptr @basename.322(ptr, ptr) #0 +declare i1 @move.322(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @dirname.323(ptr, ptr) #0 +declare i1 @create_dir_all.323(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @rotr.324(ptr, i64, i64) #0 +declare i1 @copy_file.324(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @big_sigma0.325(ptr, i64) #0 +declare ptr @basename.325(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @big_sigma1.326(ptr, i64) #0 +declare ptr @dirname.326(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @small_sigma0.327(ptr, i64) #0 +declare i64 @rotr.327(ptr, i64, i64) #0 ; Function Attrs: nounwind -declare i64 @small_sigma1.328(ptr, i64) #0 +declare i64 @big_sigma0.328(ptr, i64) #0 ; Function Attrs: nounwind -declare void @Sha256.process_block.329(ptr, ptr) #0 +declare i64 @big_sigma1.329(ptr, i64) #0 ; Function Attrs: nounwind -declare void @Sha256.update.330(ptr, ptr, ptr) #0 +declare i64 @small_sigma0.330(ptr, i64) #0 ; Function Attrs: nounwind -declare [64 x i8] @Sha256.final.331(ptr, ptr) #0 +declare i64 @small_sigma1.331(ptr, i64) #0 ; Function Attrs: nounwind -declare i8 @nibble_hex.332(ptr, i64) #0 +declare void @Sha256.process_block.332(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @init.333(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0 +declare void @Sha256.update.333(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare [64 x i8] @sha256_hex.334(ptr, ptr) #0 +declare [64 x i8] @Sha256.final.334(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @sha256_file.335(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0 +declare i8 @nibble_hex.335(ptr, i64) #0 ; Function Attrs: nounwind -declare void @log_emit.336(ptr, ptr, ptr) #0 +declare void @init.336(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0 ; Function Attrs: nounwind -declare void @assert.337(ptr, i1) #0 +declare [64 x i8] @sha256_hex.337(ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @sha256_file.338(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @log_emit.339(ptr, ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @assert.340(ptr, i1) #0 ; Function Attrs: nounwind declare ptr @cwd_greet(ptr) #0 @@ -4316,14 +4344,14 @@ entry: define internal void @print__ct_s86e89ca9c0674196__pack(ptr %0) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.545, i64 29 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.551, 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.546, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.552, 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) @@ -4339,7 +4367,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.547, i64 29 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.553, i64 29 }) ret { ptr, i64 } %call } @@ -4347,7 +4375,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.548, i64 11 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.554, 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 @@ -4363,7 +4391,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.549, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.555, 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) @@ -4391,7 +4419,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.550, i64 11 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.556, i64 11 }) ret { ptr, i64 } %call } @@ -4399,7 +4427,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.551, i64 9 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.557, 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 @@ -4415,7 +4443,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.552, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.558, 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) @@ -4443,7 +4471,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.553, i64 9 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.559, i64 9 }) ret { ptr, i64 } %call } @@ -4454,7 +4482,7 @@ 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.554, i64 15 }, { ptr, i64 } { ptr @str.555, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.560, i64 15 }, { 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 @@ -4473,12 +4501,12 @@ while.body.125: ; preds = %while.hdr.124 while.exit.126: ; preds = %while.hdr.124 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, 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.127: ; preds = %while.body.125 %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.563, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.128 @@ -4490,7 +4518,7 @@ if.merge.128: ; preds = %if.then.127, %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.561, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, i32, i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4547,7 +4575,7 @@ 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.562, i64 9 }, { ptr, i64 } { ptr @str.563, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.568, i64 9 }, { ptr, i64 } { ptr @str.569, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4566,24 +4594,24 @@ while.body.130: ; preds = %while.hdr.129 while.exit.131: ; preds = %while.hdr.129 %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.570, i64 1 }) ret { ptr, i64 } %callN if.then.132: ; preds = %while.body.130 %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.571, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.133 if.merge.133: ; preds = %if.then.132, %while.body.130 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.569, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.570, i64 2 }) + %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 { ptr, ptr, ptr }, ptr %alloca, align 8 @@ -4610,19 +4638,19 @@ fv.default: ; preds = %if.merge.133 fv.case: ; preds = %if.merge.133 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.133 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge fv.case21: ; preds = %if.merge.133 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -4632,7 +4660,7 @@ 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.571, i64 7 }, { ptr, i64 } { ptr @str.572, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.577, i64 7 }, { 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 @@ -4651,24 +4679,24 @@ while.body.135: ; preds = %while.hdr.134 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.573, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.579, i64 1 }) ret { ptr, i64 } %callN 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.574, i64 2 }) + %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.138 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 [2 x { ptr, i64 }], ptr @field_names.577, i64 0, i64 %loadN + %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.578, i64 2 }) + %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 { { ptr, ptr, ptr }, ptr }, ptr %alloca, align 8 @@ -4695,13 +4723,13 @@ fv.case: ; preds = %if.merge.138 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.138 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 - %fv.val19 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -4710,7 +4738,7 @@ 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.579, i64 10 }, { ptr, i64 } { ptr @str.580, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.585, i64 10 }, { 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 @@ -4729,24 +4757,24 @@ while.body.140: ; preds = %while.hdr.139 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.581, 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.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.582, 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.143 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 [0 x { ptr, i64 }], ptr @field_names.583, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.584, 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 %alloca, align 1 @@ -4765,7 +4793,7 @@ 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.585, i64 3 }, { ptr, i64 } { ptr @str.586, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 3 }, { 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 @@ -4784,24 +4812,24 @@ while.body.145: ; preds = %while.hdr.144 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.587, 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.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.588, 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.148 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 [1 x { ptr, i64 }], ptr @field_names.590, 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.591, 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 { i64 }, ptr %alloca, align 8 @@ -4834,7 +4862,7 @@ 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.592, i64 10 }, { ptr, i64 } { ptr @str.593, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 10 }, { 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 @@ -4853,24 +4881,24 @@ while.body.150: ; preds = %while.hdr.149 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.594, 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.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.595, 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.153 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 [2 x { ptr, i64 }], ptr @field_names.598, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.604, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.605, 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 @@ -4896,7 +4924,7 @@ fv.default: ; preds = %if.merge.153 fv.case: ; preds = %if.merge.153 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.153 @@ -4911,7 +4939,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.600, i64 5 }, { ptr, i64 } { ptr @str.601, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 5 }, { ptr, i64 } { ptr @str.607, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4930,24 +4958,24 @@ while.body.155: ; preds = %while.hdr.154 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.602, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.608, i64 1 }) ret { ptr, i64 } %callN 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.603, 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 br label %if.merge.158 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 [3 x { ptr, i64 }], ptr @field_names.607, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.613, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64, { ptr, ptr, ptr } }, ptr %alloca, align 8 @@ -4974,7 +5002,7 @@ fv.default: ; preds = %if.merge.158 fv.case: ; preds = %if.merge.158 %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.158 @@ -4986,7 +5014,7 @@ fv.case20: ; preds = %if.merge.158 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -4995,7 +5023,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.609, i64 8 }, { ptr, i64 } { ptr @str.610, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.615, i64 8 }, { ptr, i64 } { ptr @str.616, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5014,24 +5042,24 @@ while.body.160: ; preds = %while.hdr.159 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.611, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.617, 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.612, 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 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.616, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.617, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64, i64 }, ptr %alloca, align 8 @@ -5058,7 +5086,7 @@ fv.default: ; preds = %if.merge.163 fv.case: ; preds = %if.merge.163 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.163 @@ -5078,7 +5106,7 @@ 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.618, i64 17 }, { ptr, i64 } { ptr @str.619, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.624, i64 17 }, { 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 @@ -5097,24 +5125,24 @@ 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.620, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.626, 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.621, 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 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 [4 x { ptr, i64 }], ptr @field_names.626, i64 0, i64 %loadN + %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.627, i64 2 }) + %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 { { ptr, ptr, ptr }, i64, i64, i64 }, ptr %alloca, align 8 @@ -5143,7 +5171,7 @@ fv.case: ; preds = %if.merge.168 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.168 @@ -5167,7 +5195,7 @@ 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.628, i64 4 }, { ptr, i64 } { ptr @str.629, i64 1 }) + %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 @@ -5186,24 +5214,24 @@ while.body.170: ; preds = %while.hdr.169 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.630, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.636, 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.631, i64 2 }) + %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.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 [1 x { ptr, i64 }], ptr @field_names.633, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.639, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.640, 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 @@ -5240,7 +5268,7 @@ 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.635, i64 10 }, { ptr, i64 } { ptr @str.636, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.641, i64 10 }, { ptr, i64 } { ptr @str.642, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5259,24 +5287,24 @@ while.body.175: ; preds = %while.hdr.174 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.637, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.643, i64 1 }) ret { ptr, i64 } %callN 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.638, i64 2 }) + %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 br label %if.merge.178 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 [5 x { ptr, i64 }], ptr @field_names.644, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.645, 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 { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5342,7 +5370,7 @@ 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.646, i64 13 }, { ptr, i64 } { ptr @str.647, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 13 }, { 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 @@ -5361,24 +5389,24 @@ while.body.180: ; preds = %while.hdr.179 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.648, 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.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.649, 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.183 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 [2 x { ptr, i64 }], ptr @field_names.652, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.658, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -5420,7 +5448,7 @@ 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.654, i64 8 }, { ptr, i64 } { ptr @str.655, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.660, i64 8 }, { ptr, i64 } { ptr @str.661, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5439,24 +5467,24 @@ while.body.185: ; preds = %while.hdr.184 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.656, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.662, i64 1 }) ret { ptr, i64 } %callN 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.657, i64 2 }) + %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 br label %if.merge.188 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.663, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.664, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -5517,7 +5545,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.665, i64 5 }, { ptr, i64 } { ptr @str.666, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.671, i64 5 }, { 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 @@ -5536,24 +5564,24 @@ while.body.190: ; preds = %while.hdr.189 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.667, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.673, i64 1 }) ret { ptr, i64 } %callN 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.668, i64 2 }) + %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.193 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 [3 x { ptr, i64 }], ptr @field_names.672, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.673, 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, i64, i64 }, ptr %alloca, align 8 @@ -5580,7 +5608,7 @@ fv.default: ; preds = %if.merge.193 fv.case: ; preds = %if.merge.193 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.193 @@ -5599,7 +5627,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.674, i64 6 }, { ptr, i64 } { ptr @str.675, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.680, i64 6 }, { 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 @@ -5618,24 +5646,24 @@ while.body.195: ; preds = %while.hdr.194 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.676, 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.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.677, 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.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.681, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.687, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.682, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.688, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64, i64 }, ptr %alloca, align 8 @@ -5662,7 +5690,7 @@ fv.default: ; preds = %if.merge.198 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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.198 @@ -5683,7 +5711,7 @@ entry: %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.683, i64 6 }, { ptr, i64 } { ptr @str.684, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.689, i64 6 }, { ptr, i64 } { ptr @str.690, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5702,24 +5730,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.685, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.691, 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.686, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.692, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.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 [2 x { ptr, i64 }], ptr @field_names.689, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.690, 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 }, { i64, [24 x i8] } }, ptr %alloca, align 8 @@ -5753,7 +5781,7 @@ fv.case17: ; preds = %if.merge.203 %fv.field18 = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 1 store { i64, [24 x i8] } %fv.field18, ptr %ba.tmp19, align 8 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -5763,7 +5791,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.691, i64 4 }, { ptr, i64 } { ptr @str.692, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.697, i64 4 }, { 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 @@ -5782,24 +5810,24 @@ 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.693, 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.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.694, 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.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 [3 x { ptr, i64 }], ptr @field_names.698, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.704, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %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.705, 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 @@ -5827,7 +5855,7 @@ fv.case: ; preds = %if.merge.208 %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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.208 @@ -5838,7 +5866,7 @@ fv.case17: ; preds = %if.merge.208 fv.case20: ; preds = %if.merge.208 %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -5849,7 +5877,7 @@ entry: %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.700, i64 6 }, { ptr, i64 } { ptr @str.701, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.706, i64 6 }, { ptr, i64 } { ptr @str.707, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5868,24 +5896,24 @@ while.body.210: ; preds = %while.hdr.209 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.702, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.708, 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.703, 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.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.707, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.713, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, i64, { ptr, ptr, ptr } }, ptr %alloca, align 8 @@ -5925,7 +5953,7 @@ fv.case20: ; preds = %if.merge.213 %fv.field21 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 2 store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8 %ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -5934,7 +5962,7 @@ 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.709, i64 12 }, { ptr, i64 } { ptr @str.710, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.715, i64 12 }, { ptr, i64 } { ptr @str.716, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5953,24 +5981,24 @@ 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.711, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.717, 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.712, 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.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 [0 x { ptr, i64 }], ptr @field_names.713, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.714, i64 2 }) + %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 %alloca, align 1 @@ -5990,7 +6018,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.715, i64 8 }, { ptr, i64 } { ptr @str.716, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.721, i64 8 }, { 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 @@ -6009,24 +6037,24 @@ while.body.220: ; preds = %while.hdr.219 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.717, 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.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.718, 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.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.722, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.723, 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 { { ptr, i64 }, i1, i1 }, ptr %alloca, align 8 @@ -6078,7 +6106,7 @@ entry: %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.724, i64 7 }, { ptr, i64 } { ptr @str.725, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.730, i64 7 }, { 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 @@ -6097,24 +6125,24 @@ while.body.225: ; preds = %while.hdr.224 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.726, 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.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.727, 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.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.731, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.737, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.732, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -6156,7 +6184,7 @@ fv.case22: ; preds = %if.merge.228 %fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2 store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8 %ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -6166,7 +6194,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.733, i64 9 }, { ptr, i64 } { ptr @str.734, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.739, i64 9 }, { ptr, i64 } { ptr @str.740, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6185,24 +6213,24 @@ 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.735, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.741, 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.736, 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.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 [2 x { ptr, i64 }], ptr @field_names.739, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.745, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -6245,7 +6273,7 @@ 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.741, i64 4 }, { ptr, i64 } { ptr @str.742, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.747, i64 4 }, { ptr, i64 } { ptr @str.748, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6264,24 +6292,24 @@ while.body.235: ; preds = %while.hdr.234 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.743, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.749, 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.744, 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.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.747, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.753, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.748, i64 2 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i64, { ptr, i64 } }, ptr %alloca, align 8 @@ -6327,7 +6355,7 @@ 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.749, i64 6 }, { ptr, i64 } { ptr @str.750, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.755, i64 6 }, { 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 @@ -6346,24 +6374,24 @@ 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.751, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.757, 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.752, 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.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 [7 x { ptr, i64 }], ptr @field_names.760, 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 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %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 }) + %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 { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, ptr %alloca, align 8 @@ -6420,21 +6448,21 @@ fv.case28: ; preds = %if.merge.243 %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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge fv.case33: ; preds = %if.merge.243 %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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge fv.case38: ; preds = %if.merge.243 %fv.field39 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 6 store [16 x { i1, { ptr, i64 } }] %fv.field39, ptr %ba.tmp40, align 8 %ba.p2i41 = ptrtoint ptr %ba.tmp40 to i64 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -6445,7 +6473,7 @@ 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.762, i64 6 }, { ptr, i64 } { ptr @str.763, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.768, i64 6 }, { 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 @@ -6464,24 +6492,24 @@ while.body.245: ; preds = %while.hdr.244 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.764, 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.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.765, 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.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 [4 x { ptr, i64 }], ptr @field_names.770, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.771, 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 { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -6510,14 +6538,14 @@ fv.case: ; preds = %if.merge.248 %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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.248 %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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.248 @@ -6537,7 +6565,7 @@ 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.772, i64 4 }, { ptr, i64 } { ptr @str.773, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.778, i64 4 }, { 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 @@ -6556,24 +6584,24 @@ while.body.250: ; preds = %while.hdr.249 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.774, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.780, i64 1 }) ret { ptr, i64 } %callN 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.775, 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.253 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 [1 x { ptr, i64 }], ptr @field_names.777, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.783, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.778, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { [16 x float] }, ptr %alloca, align 4 @@ -6599,7 +6627,7 @@ fv.case: ; preds = %if.merge.253 %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 93, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 94, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -6608,7 +6636,7 @@ define internal { ptr, i64 } @struct_to_string__Vec2(ptr %0, { float, float } %1 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.779, i64 4 }, { ptr, i64 } { ptr @str.780, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.785, i64 4 }, { ptr, i64 } { ptr @str.786, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6627,24 +6655,24 @@ while.body.255: ; preds = %while.hdr.254 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.781, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.787, i64 1 }) ret { ptr, i64 } %callN 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.782, 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.258 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 [2 x { ptr, i64 }], ptr @field_names.785, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.791, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %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.792, 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 @@ -6687,7 +6715,7 @@ 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.787, i64 5 }, { ptr, i64 } { ptr @str.788, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.793, i64 5 }, { ptr, i64 } { ptr @str.794, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6706,24 +6734,24 @@ while.body.260: ; preds = %while.hdr.259 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.789, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.795, i64 1 }) ret { ptr, i64 } %callN 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.790, 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.263 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.793, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.799, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.794, i64 2 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i32, i32 }, ptr %alloca, align 4 @@ -6768,9 +6796,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.800, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.806, 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.795, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.801, 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 @@ -6789,8 +6817,8 @@ entry: if.then.271: ; 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.802, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.801, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.808, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.807, 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.272 @@ -6809,9 +6837,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.807, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.813, 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.803, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.809, 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 @@ -6830,8 +6858,8 @@ entry: if.then.273: ; 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.809, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.808, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.815, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.814, 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.274 @@ -6861,9 +6889,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.817, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.823, 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.810, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.816, 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 @@ -6880,8 +6908,8 @@ entry: if.then.275: ; 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.819, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.818, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.825, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.824, 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.276 @@ -6937,7 +6965,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -6946,7 +6974,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -6959,9 +6987,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.828, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.834, 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.820, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.826, 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 @@ -6980,8 +7008,8 @@ entry: if.then.277: ; 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.830, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.829, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.836, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.835, 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.278 @@ -7000,9 +7028,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.837, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.843, 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.831, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.837, 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 @@ -7021,8 +7049,8 @@ entry: if.then.279: ; 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.839, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.838, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.845, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.844, 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.280 @@ -7039,7 +7067,7 @@ 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.840, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.846, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.290 @@ -7056,12 +7084,12 @@ while.body.291: ; preds = %while.hdr.290 while.exit.292: ; preds = %while.hdr.290 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.841, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.847, i64 1 }) ret { ptr, i64 } %call 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.842, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.848, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.294 @@ -7090,7 +7118,7 @@ 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.843, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.849, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.295 @@ -7107,12 +7135,12 @@ while.body.296: ; preds = %while.hdr.295 while.exit.297: ; preds = %while.hdr.295 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.844, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.850, i64 1 }) ret { ptr, i64 } %call 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.845, i64 2 }) + %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 br label %if.merge.299 @@ -7125,7 +7153,7 @@ if.merge.299: ; preds = %if.then.298, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -7142,7 +7170,7 @@ 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.846, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.852, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.300 @@ -7159,12 +7187,12 @@ while.body.301: ; preds = %while.hdr.300 while.exit.302: ; preds = %while.hdr.300 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.847, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.853, i64 1 }) ret { ptr, i64 } %call 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.848, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.854, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.304 @@ -7192,7 +7220,7 @@ 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.849, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.855, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.305 @@ -7209,12 +7237,12 @@ while.body.306: ; preds = %while.hdr.305 while.exit.307: ; preds = %while.hdr.305 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.850, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.856, i64 1 }) ret { ptr, i64 } %call 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.851, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.857, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.309 @@ -7243,7 +7271,7 @@ 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.852, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.858, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.310 @@ -7260,12 +7288,12 @@ while.body.311: ; preds = %while.hdr.310 while.exit.312: ; preds = %while.hdr.310 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.853, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.859, i64 1 }) ret { ptr, i64 } %call 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.854, 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.314 @@ -7293,7 +7321,7 @@ 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.855, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.861, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.315 @@ -7310,12 +7338,12 @@ while.body.316: ; preds = %while.hdr.315 while.exit.317: ; preds = %while.hdr.315 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.856, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.862, i64 1 }) ret { ptr, i64 } %call 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.857, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.863, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.319 @@ -7346,7 +7374,7 @@ 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.858, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.864, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.320 @@ -7363,12 +7391,12 @@ while.body.321: ; preds = %while.hdr.320 while.exit.322: ; preds = %while.hdr.320 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.859, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.865, i64 1 }) ret { ptr, i64 } %call 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.860, 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 br label %if.merge.324 @@ -7398,7 +7426,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.861, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.867, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.332 @@ -7417,12 +7445,12 @@ while.body.333: ; preds = %while.hdr.332 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.862, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.868, i64 1 }) ret { ptr, i64 } %call 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.863, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.869, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.336 @@ -7451,7 +7479,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.864, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.870, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.337 @@ -7470,12 +7498,12 @@ while.body.338: ; preds = %while.hdr.337 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.865, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.871, i64 1 }) ret { ptr, i64 } %call 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.866, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.872, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.341 @@ -7504,7 +7532,7 @@ 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.867, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.873, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.342 @@ -7523,12 +7551,12 @@ while.body.343: ; preds = %while.hdr.342 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.868, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.874, i64 1 }) ret { ptr, i64 } %call 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.869, i64 2 }) + %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.346 @@ -7541,7 +7569,7 @@ if.merge.346: ; preds = %if.then.345, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -7558,7 +7586,7 @@ 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.870, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.876, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.347 @@ -7577,12 +7605,12 @@ while.body.348: ; preds = %while.hdr.347 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.871, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.877, i64 1 }) ret { ptr, i64 } %call 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.872, 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.351 @@ -7595,7 +7623,7 @@ if.merge.351: ; preds = %if.then.350, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -7612,7 +7640,7 @@ 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.873, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.879, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.352 @@ -7631,12 +7659,12 @@ while.body.353: ; preds = %while.hdr.352 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.874, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.880, i64 1 }) ret { ptr, i64 } %call 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.875, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.881, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.356 @@ -7678,12 +7706,12 @@ if.then.390: ; preds = %entry if.else.391: ; preds = %entry %loadN = load i64, ptr %allocaN, align 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 5 }, { ptr, i64 } %callN) + %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 5 }, { ptr, i64 } %callN) br label %if.merge.392 if.merge.392: ; preds = %if.else.391, %if.then.390 - %bp = phi { ptr, i64 } [ { ptr @str.876, i64 4 }, %if.then.390 ], [ %callN, %if.else.391 ] + %bp = phi { ptr, i64 } [ { ptr @str.882, i64 4 }, %if.then.390 ], [ %callN, %if.else.391 ] ret { ptr, i64 } %bp } @@ -7706,12 +7734,12 @@ if.then.406: ; preds = %entry 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.881, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.880, i64 11 }, { ptr, i64 } %callN) + %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 11 }, { ptr, i64 } %callN) br label %if.merge.408 if.merge.408: ; preds = %if.else.407, %if.then.406 - %bp = phi { ptr, i64 } [ { ptr @str.879, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] + %bp = phi { ptr, i64 } [ { ptr @str.885, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] ret { ptr, i64 } %bp } @@ -7734,12 +7762,12 @@ if.then.409: ; preds = %entry if.else.410: ; preds = %entry %loadN = load i64, ptr %allocaN, align 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 4 }, { ptr, i64 } %callN) + %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.411 if.merge.411: ; preds = %if.else.410, %if.then.409 - %bp = phi { ptr, i64 } [ { ptr @str.882, i64 4 }, %if.then.409 ], [ %callN, %if.else.410 ] + %bp = phi { ptr, i64 } [ { ptr @str.888, i64 4 }, %if.then.409 ], [ %callN, %if.else.410 ] ret { ptr, i64 } %bp } @@ -7762,12 +7790,12 @@ if.then.412: ; preds = %entry 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.887, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.886, i64 11 }, { ptr, i64 } %callN) + %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 11 }, { ptr, i64 } %callN) br label %if.merge.414 if.merge.414: ; preds = %if.else.413, %if.then.412 - %bp = phi { ptr, i64 } [ { ptr @str.885, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] + %bp = phi { ptr, i64 } [ { ptr @str.891, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] ret { ptr, i64 } %bp } @@ -7790,12 +7818,12 @@ if.then.415: ; preds = %entry if.else.416: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %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 6 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.417 if.merge.417: ; preds = %if.else.416, %if.then.415 - %bp = phi { ptr, i64 } [ { ptr @str.888, i64 4 }, %if.then.415 ], [ %callN, %if.else.416 ] + %bp = phi { ptr, i64 } [ { ptr @str.894, i64 4 }, %if.then.415 ], [ %callN, %if.else.416 ] ret { ptr, i64 } %bp } @@ -7817,12 +7845,12 @@ if.then.418: ; preds = %entry 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.893, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.892, i64 5 }, { ptr, i64 } %callN) + %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 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.891, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] + %bp = phi { ptr, i64 } [ { ptr @str.897, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] ret { ptr, i64 } %bp } @@ -7845,12 +7873,12 @@ if.then.421: ; preds = %entry if.else.422: ; preds = %entry %loadN = load i64, ptr %allocaN, align 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 9 }, { ptr, i64 } %callN) + %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.423 if.merge.423: ; preds = %if.else.422, %if.then.421 - %bp = phi { ptr, i64 } [ { ptr @str.894, i64 4 }, %if.then.421 ], [ %callN, %if.else.422 ] + %bp = phi { ptr, i64 } [ { ptr @str.900, i64 4 }, %if.then.421 ], [ %callN, %if.else.422 ] ret { ptr, i64 } %bp } @@ -7873,12 +7901,12 @@ if.then.424: ; preds = %entry if.else.425: ; preds = %entry %loadN = load i64, ptr %allocaN, align 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 18 }, { ptr, i64 } %callN) + %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 18 }, { ptr, i64 } %callN) br label %if.merge.426 if.merge.426: ; preds = %if.else.425, %if.then.424 - %bp = phi { ptr, i64 } [ { ptr @str.897, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] + %bp = phi { ptr, i64 } [ { ptr @str.903, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] ret { ptr, i64 } %bp } @@ -7901,17 +7929,17 @@ if.then.427: ; preds = %entry 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.902, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.901, i64 5 }, { ptr, i64 } %callN) + %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 5 }, { ptr, i64 } %callN) br label %if.merge.429 if.merge.429: ; preds = %if.else.428, %if.then.427 - %bp = phi { ptr, i64 } [ { ptr @str.900, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] + %bp = phi { ptr, i64 } [ { ptr @str.906, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7929,17 +7957,17 @@ if.then.430: ; preds = %entry 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.905, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.904, i64 3 }, { ptr, i64 } %callN) + %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 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.903, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] + %bp = phi { ptr, i64 } [ { ptr @str.909, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7957,17 +7985,17 @@ if.then.433: ; preds = %entry 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.908, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.907, i64 4 }, { ptr, i64 } %callN) + %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 9 }, { ptr, i64 } %callN) br label %if.merge.435 if.merge.435: ; preds = %if.else.434, %if.then.433 - %bp = phi { ptr, i64 } [ { ptr @str.906, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] + %bp = phi { ptr, i64 } [ { ptr @str.912, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7985,40 +8013,12 @@ if.then.436: ; preds = %entry 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.911, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.910, i64 9 }, { ptr, i64 } %callN) + %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.438 if.merge.438: ; preds = %if.else.437, %if.then.436 - %bp = phi { ptr, i64 } [ { ptr @str.909, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.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.914, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.913, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.441 - -if.merge.441: ; preds = %if.else.440, %if.then.439 - %bp = phi { ptr, i64 } [ { ptr @str.912, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] + %bp = phi { ptr, i64 } [ { ptr @str.915, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] ret { ptr, i64 } %bp } @@ -8032,20 +8032,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.442, label %if.else.443 + br i1 %icmp, label %if.then.439, label %if.else.440 -if.then.442: ; preds = %entry - br label %if.merge.444 +if.then.439: ; preds = %entry + br label %if.merge.441 -if.else.443: ; preds = %entry +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.917, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.916, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.444 + %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 8 }, { ptr, i64 } %callN) + br label %if.merge.441 -if.merge.444: ; preds = %if.else.443, %if.then.442 - %bp = phi { ptr, i64 } [ { ptr @str.915, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] +if.merge.441: ; preds = %if.else.440, %if.then.439 + %bp = phi { ptr, i64 } [ { ptr @str.918, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] ret { ptr, i64 } %bp } @@ -8060,20 +8060,20 @@ entry: store i64 %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 + br i1 %icmp, label %if.then.442, label %if.else.443 -if.then.445: ; preds = %entry - br label %if.merge.447 +if.then.442: ; preds = %entry + br label %if.merge.444 -if.else.446: ; preds = %entry +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.920, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.919, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.447 + %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.444 -if.merge.447: ; preds = %if.else.446, %if.then.445 - %bp = phi { ptr, i64 } [ { ptr @str.918, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] +if.merge.444: ; preds = %if.else.443, %if.then.442 + %bp = phi { ptr, i64 } [ { ptr @str.921, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] ret { ptr, i64 } %bp } @@ -8087,6 +8087,34 @@ 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.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.926, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.925, 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.924, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.448, label %if.else.449 if.then.448: ; preds = %entry @@ -8095,17 +8123,17 @@ 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.923, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.922, i64 9 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.450 if.merge.450: ; preds = %if.else.449, %if.then.448 - %bp = phi { ptr, i64 } [ { ptr @str.921, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] + %bp = phi { ptr, i64 } [ { ptr @str.927, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8123,17 +8151,17 @@ if.then.451: ; preds = %entry 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.926, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.925, i64 7 }, { ptr, i64 } %callN) + %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 5 }, { ptr, i64 } %callN) br label %if.merge.453 if.merge.453: ; preds = %if.else.452, %if.then.451 - %bp = phi { ptr, i64 } [ { ptr @str.924, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] + %bp = phi { ptr, i64 } [ { ptr @str.930, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8151,17 +8179,17 @@ if.then.454: ; preds = %entry 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.929, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.928, i64 5 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.456 if.merge.456: ; preds = %if.else.455, %if.then.454 - %bp = phi { ptr, i64 } [ { ptr @str.927, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] + %bp = phi { ptr, i64 } [ { ptr @str.933, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8179,17 +8207,17 @@ if.then.457: ; preds = %entry 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.932, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.931, i64 7 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.459 if.merge.459: ; preds = %if.else.458, %if.then.457 - %bp = phi { ptr, i64 } [ { ptr @str.930, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] + %bp = phi { ptr, i64 } [ { ptr @str.936, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8207,17 +8235,17 @@ 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.935, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.934, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.462 if.merge.462: ; preds = %if.else.461, %if.then.460 - %bp = phi { ptr, i64 } [ { ptr @str.933, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] + %bp = phi { ptr, i64 } [ { ptr @str.939, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8235,17 +8263,17 @@ if.then.463: ; preds = %entry 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.938, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.937, i64 7 }, { ptr, i64 } %callN) + %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 5 }, { ptr, i64 } %callN) br label %if.merge.465 if.merge.465: ; preds = %if.else.464, %if.then.463 - %bp = phi { ptr, i64 } [ { ptr @str.936, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] + %bp = phi { ptr, i64 } [ { ptr @str.942, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8263,17 +8291,17 @@ if.then.466: ; preds = %entry 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.941, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.940, i64 5 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.468 if.merge.468: ; preds = %if.else.467, %if.then.466 - %bp = phi { ptr, i64 } [ { ptr @str.939, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] + %bp = phi { ptr, i64 } [ { ptr @str.945, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8291,17 +8319,17 @@ if.then.469: ; preds = %entry 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.944, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.943, i64 7 }, { ptr, i64 } %callN) + %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 12 }, { ptr, i64 } %callN) br label %if.merge.471 if.merge.471: ; preds = %if.else.470, %if.then.469 - %bp = phi { ptr, i64 } [ { ptr @str.942, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] + %bp = phi { ptr, i64 } [ { ptr @str.948, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8319,17 +8347,17 @@ if.then.472: ; preds = %entry 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.947, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.946, i64 12 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.953, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.952, 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.945, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] + %bp = phi { ptr, i64 } [ { ptr @str.951, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8347,17 +8375,17 @@ 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.950, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.949, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.956, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.955, i64 7 }, { ptr, i64 } %callN) br label %if.merge.477 if.merge.477: ; preds = %if.else.476, %if.then.475 - %bp = phi { ptr, i64 } [ { ptr @str.948, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] + %bp = phi { ptr, i64 } [ { ptr @str.954, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8375,17 +8403,17 @@ if.then.478: ; preds = %entry 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.953, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.952, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.959, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.958, i64 4 }, { ptr, i64 } %callN) br label %if.merge.480 if.merge.480: ; preds = %if.else.479, %if.then.478 - %bp = phi { ptr, i64 } [ { ptr @str.951, i64 4 }, %if.then.478 ], [ %callN, %if.else.479 ] + %bp = phi { ptr, i64 } [ { ptr @str.957, i64 4 }, %if.then.478 ], [ %callN, %if.else.479 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8403,17 +8431,17 @@ 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.956, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.955, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.962, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.961, i64 6 }, { ptr, i64 } %callN) br label %if.merge.483 if.merge.483: ; preds = %if.else.482, %if.then.481 - %bp = phi { ptr, i64 } [ { ptr @str.954, i64 4 }, %if.then.481 ], [ %callN, %if.else.482 ] + %bp = phi { ptr, i64 } [ { ptr @str.960, i64 4 }, %if.then.481 ], [ %callN, %if.else.482 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8431,12 +8459,12 @@ if.then.484: ; preds = %entry 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.959, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.958, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.965, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.964, i64 3 }, { ptr, i64 } %callN) br label %if.merge.486 if.merge.486: ; preds = %if.else.485, %if.then.484 - %bp = phi { ptr, i64 } [ { ptr @str.957, i64 4 }, %if.then.484 ], [ %callN, %if.else.485 ] + %bp = phi { ptr, i64 } [ { ptr @str.963, i64 4 }, %if.then.484 ], [ %callN, %if.else.485 ] ret { ptr, i64 } %bp } @@ -8459,12 +8487,12 @@ if.then.487: ; 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.962, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.961, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.968, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.967, i64 5 }, { ptr, i64 } %callN) br label %if.merge.489 if.merge.489: ; preds = %if.else.488, %if.then.487 - %bp = phi { ptr, i64 } [ { ptr @str.960, i64 4 }, %if.then.487 ], [ %callN, %if.else.488 ] + %bp = phi { ptr, i64 } [ { ptr @str.966, i64 4 }, %if.then.487 ], [ %callN, %if.else.488 ] ret { ptr, i64 } %bp } @@ -8487,12 +8515,12 @@ if.then.490: ; 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.965, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.964, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.971, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.970, i64 6 }, { ptr, i64 } %callN) br label %if.merge.492 if.merge.492: ; preds = %if.else.491, %if.then.490 - %bp = phi { ptr, i64 } [ { ptr @str.963, i64 4 }, %if.then.490 ], [ %callN, %if.else.491 ] + %bp = phi { ptr, i64 } [ { ptr @str.969, i64 4 }, %if.then.490 ], [ %callN, %if.else.491 ] ret { ptr, i64 } %bp } @@ -8515,12 +8543,12 @@ if.then.493: ; 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.968, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.967, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.974, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.973, i64 7 }, { ptr, i64 } %callN) br label %if.merge.495 if.merge.495: ; preds = %if.else.494, %if.then.493 - %bp = phi { ptr, i64 } [ { ptr @str.966, i64 4 }, %if.then.493 ], [ %callN, %if.else.494 ] + %bp = phi { ptr, i64 } [ { ptr @str.972, i64 4 }, %if.then.493 ], [ %callN, %if.else.494 ] ret { ptr, i64 } %bp } @@ -8533,17 +8561,17 @@ 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.502, label %if.merge.503 + br i1 %lnot, label %if.then.503, label %if.merge.504 -if.then.502: ; preds = %entry - ret { ptr, i64 } { ptr @str.969, i64 4 } +if.then.503: ; preds = %entry + ret { ptr, i64 } { ptr @str.975, i64 4 } -if.merge.503: ; preds = %entry +if.merge.504: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -8557,12 +8585,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.504, label %if.merge.505 + br i1 %lnot, label %if.then.505, label %if.merge.506 -if.then.504: ; preds = %entry - ret { ptr, i64 } { ptr @str.970, i64 4 } +if.then.505: ; preds = %entry + ret { ptr, i64 } { ptr @str.976, i64 4 } -if.merge.505: ; preds = %entry +if.merge.506: ; 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 @@ -8572,6 +8600,27 @@ if.merge.505: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.507, label %if.merge.508 + +if.then.507: ; preds = %entry + ret { ptr, i64 } { ptr @str.977, i64 4 } + +if.merge.508: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -8581,17 +8630,17 @@ 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.506, label %if.merge.507 + br i1 %lnot, label %if.then.509, label %if.merge.510 -if.then.506: ; preds = %entry - ret { ptr, i64 } { ptr @str.971, i64 4 } +if.then.509: ; preds = %entry + ret { ptr, i64 } { ptr @str.978, i64 4 } -if.merge.507: ; preds = %entry +if.merge.510: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -8605,17 +8654,17 @@ 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.508, label %if.merge.509 + br i1 %lnot, label %if.then.511, label %if.merge.512 -if.then.508: ; preds = %entry - ret { ptr, i64 } { ptr @str.972, i64 4 } +if.then.511: ; preds = %entry + ret { ptr, i64 } { ptr @str.979, i64 4 } -if.merge.509: ; preds = %entry +if.merge.512: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } diff --git a/examples/expected/0044-basic-default-arg-expansion.ir b/examples/expected/0044-basic-default-arg-expansion.ir index 35938f5..c38146b 100644 --- a/examples/expected/0044-basic-default-arg-expansion.ir +++ b/examples/expected/0044-basic-default-arg-expansion.ir @@ -7,7 +7,7 @@ @str.78 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.79 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.80 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [162 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] +@__sx_type_is_unsigned = private constant [165 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.81 = private constant [9 x i8] c"Overflow\00" @tag.str.82 = private constant [3 x i8] c"Io\00" @@ -41,455 +41,455 @@ @tn.str.108 = private constant [6 x i8] c"isize\00" @tn.str.109 = private constant [6 x i8] c"usize\00" @tn.str.110 = private constant [5 x i8] c"void\00" -@tn.str.111 = private constant [6 x i8] c"*void\00" -@tn.str.112 = private constant [16 x i8] c"Source_Location\00" -@tn.str.113 = private constant [10 x i8] c"Allocator\00" -@tn.str.114 = private constant [8 x i8] c"Context\00" -@tn.str.115 = private constant [7 x i8] c"[4]i64\00" -@tn.str.116 = private constant [9 x i8] c"[]string\00" -@tn.str.117 = private constant [11 x i8] c"CAllocator\00" -@tn.str.118 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.119 = private constant [4 x i8] c"GPA\00" -@tn.str.120 = private constant [5 x i8] c"*GPA\00" -@tn.str.121 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.122 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.123 = private constant [6 x i8] c"Arena\00" -@tn.str.124 = private constant [7 x i8] c"*Arena\00" -@tn.str.125 = private constant [6 x i8] c"[*]u8\00" -@tn.str.126 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.127 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.128 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.129 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.130 = private constant [9 x i8] c"OpenMode\00" -@tn.str.131 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.132 = private constant [5 x i8] c"File\00" -@tn.str.133 = private constant [6 x i8] c"*File\00" -@tn.str.134 = private constant [6 x i8] c"?File\00" -@tn.str.135 = private constant [8 x i8] c"?string\00" -@tn.str.136 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.137 = private constant [4 x i8] c"*u8\00" -@tn.str.138 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.139 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.140 = private constant [5 x i8] c"*i32\00" -@tn.str.141 = private constant [9 x i8] c"SockAddr\00" -@tn.str.142 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.143 = private constant [5 x i8] c"*u32\00" -@tn.str.144 = private constant [10 x i8] c"JsonError\00" -@tn.str.145 = private constant [6 x i8] c"Array\00" -@tn.str.146 = private constant [7 x i8] c"Object\00" -@tn.str.147 = private constant [6 x i8] c"Value\00" -@tn.str.148 = private constant [7 x i8] c"Member\00" -@tn.str.149 = private constant [9 x i8] c"[*]Value\00" -@tn.str.150 = private constant [7 x i8] c"*Array\00" -@tn.str.151 = private constant [10 x i8] c"[*]Member\00" -@tn.str.152 = private constant [8 x i8] c"*Object\00" -@tn.str.153 = private constant [5 x i8] c"[]u8\00" -@tn.str.154 = private constant [5 x i8] c"Sink\00" -@tn.str.155 = private constant [6 x i8] c"*Sink\00" -@tn.str.156 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.157 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.158 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.159 = private constant [7 x i8] c"Parser\00" -@tn.str.160 = private constant [8 x i8] c"*Parser\00" -@tn.str.161 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.162 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.163 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.164 = private constant [13 x i8] c"Architecture\00" -@tn.str.165 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.166 = private constant [11 x i8] c"() -> bool\00" -@tn.str.167 = private constant [5 x i8] c"*i64\00" -@tn.str.168 = private constant [9 x i8] c"CliError\00" -@tn.str.169 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.170 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.171 = private constant [8 x i8] c"Command\00" -@tn.str.172 = private constant [10 x i8] c"FlagValue\00" -@tn.str.173 = private constant [5 x i8] c"Diag\00" -@tn.str.174 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.175 = private constant [7 x i8] c"Parsed\00" -@tn.str.176 = private constant [8 x i8] c"*Parsed\00" -@tn.str.177 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.178 = private constant [10 x i8] c"[]Command\00" -@tn.str.179 = private constant [6 x i8] c"*Diag\00" -@tn.str.180 = private constant [7 x i8] c"[8]i64\00" -@tn.str.181 = private constant [7 x i8] c"[64]u8\00" -@tn.str.182 = private constant [7 x i8] c"Sha256\00" -@tn.str.183 = private constant [8 x i8] c"*Sha256\00" -@tn.str.184 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.185 = private constant [8 x i8] c"[64]i64\00" -@tn.str.186 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.187 = private constant [7 x i8] c"**void\00" -@tn.str.188 = private constant [8 x i8] c"*string\00" -@tn.str.189 = private constant [6 x i8] c"[]Any\00" -@tn.str.190 = private constant [5 x i8] c"*Any\00" -@tn.str.191 = private constant [7 x i8] c"[1]Any\00" -@tn.str.192 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.193 = private constant [7 x i8] c"*[]Any\00" -@tn.str.194 = private constant [6 x i8] c"*bool\00" -@tn.str.195 = private constant [7 x i8] c"[3]Any\00" -@tn.str.196 = private constant [8 x i8] c"*[3]Any\00" -@tn.str.197 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.198 = private constant [5 x i8] c"*f64\00" -@tn.str.199 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.200 = private constant [11 x i8] c"*Allocator\00" -@tn.str.201 = private constant [9 x i8] c"*Context\00" -@tn.str.202 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.203 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.204 = private constant [8 x i8] c"*Member\00" -@tn.str.205 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.206 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.207 = private constant [9 x i8] c"*Command\00" -@tn.str.208 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.209 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.210 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.211 = private constant [7 x i8] c"*Value\00" -@tn.str.212 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.213 = private constant [14 x i8] c"*Architecture\00" -@tn.str.214 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.215 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.216 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.217 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.218 = private constant [10 x i8] c"*[]string\00" -@tn.str.219 = private constant [6 x i8] c"*[]u8\00" -@tn.str.220 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.221 = private constant [11 x i8] c"*[]Command\00" -@tn.str.222 = private constant [6 x i8] c"**GPA\00" -@tn.str.223 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.224 = private constant [8 x i8] c"**Arena\00" -@tn.str.225 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.226 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.227 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.228 = private constant [7 x i8] c"**File\00" -@tn.str.229 = private constant [5 x i8] c"**u8\00" -@tn.str.230 = private constant [6 x i8] c"**i32\00" -@tn.str.231 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.232 = private constant [6 x i8] c"**u32\00" -@tn.str.233 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.234 = private constant [8 x i8] c"**Array\00" -@tn.str.235 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.236 = private constant [9 x i8] c"**Object\00" -@tn.str.237 = private constant [7 x i8] c"**Sink\00" -@tn.str.238 = private constant [9 x i8] c"**Parser\00" -@tn.str.239 = private constant [6 x i8] c"**i64\00" -@tn.str.240 = private constant [9 x i8] c"**Parsed\00" -@tn.str.241 = private constant [7 x i8] c"**Diag\00" -@tn.str.242 = private constant [9 x i8] c"**Sha256\00" -@tn.str.243 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.244 = private constant [8 x i8] c"***void\00" -@tn.str.245 = private constant [9 x i8] c"**string\00" -@tn.str.246 = private constant [6 x i8] c"**Any\00" -@tn.str.247 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.248 = private constant [8 x i8] c"**[]Any\00" -@tn.str.249 = private constant [7 x i8] c"**bool\00" -@tn.str.250 = private constant [9 x i8] c"**[3]Any\00" -@tn.str.251 = private constant [7 x i8] c"*?File\00" -@tn.str.252 = private constant [9 x i8] c"*?string\00" -@tn.str.253 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.254 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [162 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 15 }, { ptr, i64 } { ptr @tn.str.113, i64 9 }, { ptr, i64 } { ptr @tn.str.114, i64 7 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 8 }, { ptr, i64 } { ptr @tn.str.117, i64 10 }, { ptr, i64 } { ptr @tn.str.118, i64 11 }, { ptr, i64 } { ptr @tn.str.119, i64 3 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 10 }, { ptr, i64 } { ptr @tn.str.122, i64 11 }, { ptr, i64 } { ptr @tn.str.123, i64 5 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 5 }, { ptr, i64 } { ptr @tn.str.126, i64 8 }, { ptr, i64 } { ptr @tn.str.127, i64 9 }, { ptr, i64 } { ptr @tn.str.128, i64 17 }, { ptr, i64 } { ptr @tn.str.129, i64 18 }, { ptr, i64 } { ptr @tn.str.130, i64 8 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 4 }, { ptr, i64 } { ptr @tn.str.133, i64 5 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 7 }, { ptr, i64 } { ptr @tn.str.136, i64 10 }, { ptr, i64 } { ptr @tn.str.137, i64 3 }, { ptr, i64 } { ptr @tn.str.138, i64 13 }, { ptr, i64 } { ptr @tn.str.139, i64 14 }, { ptr, i64 } { ptr @tn.str.140, i64 4 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 9 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 9 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 6 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 6 }, { ptr, i64 } { ptr @tn.str.149, i64 8 }, { ptr, i64 } { ptr @tn.str.150, i64 6 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 7 }, { ptr, i64 } { ptr @tn.str.153, i64 4 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 5 }, { ptr, i64 } { ptr @tn.str.156, i64 16 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 21 }, { ptr, i64 } { ptr @tn.str.159, i64 6 }, { ptr, i64 } { ptr @tn.str.160, i64 7 }, { ptr, i64 } { ptr @tn.str.161, i64 24 }, { ptr, i64 } { ptr @tn.str.162, i64 23 }, { ptr, i64 } { ptr @tn.str.163, i64 15 }, { ptr, i64 } { ptr @tn.str.164, i64 12 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 10 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 8 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 10 }, { ptr, i64 } { ptr @tn.str.171, i64 7 }, { ptr, i64 } { ptr @tn.str.172, i64 9 }, { ptr, i64 } { ptr @tn.str.173, i64 4 }, { ptr, i64 } { ptr @tn.str.174, i64 13 }, { ptr, i64 } { ptr @tn.str.175, i64 6 }, { ptr, i64 } { ptr @tn.str.176, i64 7 }, { ptr, i64 } { ptr @tn.str.177, i64 18 }, { ptr, i64 } { ptr @tn.str.178, i64 9 }, { ptr, i64 } { ptr @tn.str.179, i64 5 }, { ptr, i64 } { ptr @tn.str.180, i64 6 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 12 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 5 }, { ptr, i64 } { ptr @tn.str.190, i64 4 }, { ptr, i64 } { ptr @tn.str.191, i64 6 }, { ptr, i64 } { ptr @tn.str.192, i64 7 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 5 }, { 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 4 }, { ptr, i64 } { ptr @tn.str.199, i64 16 }, { ptr, i64 } { ptr @tn.str.200, i64 10 }, { ptr, i64 } { ptr @tn.str.201, i64 8 }, { ptr, i64 } { ptr @tn.str.202, i64 11 }, { ptr, i64 } { ptr @tn.str.203, i64 14 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 13 }, { ptr, i64 } { ptr @tn.str.206, i64 9 }, { ptr, i64 } { ptr @tn.str.207, i64 8 }, { ptr, i64 } { ptr @tn.str.208, i64 10 }, { ptr, i64 } { ptr @tn.str.209, i64 9 }, { ptr, i64 } { ptr @tn.str.210, i64 9 }, { ptr, i64 } { ptr @tn.str.211, i64 6 }, { ptr, i64 } { ptr @tn.str.212, i64 16 }, { ptr, i64 } { ptr @tn.str.213, i64 13 }, { ptr, i64 } { ptr @tn.str.214, i64 14 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 7 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 9 }, { ptr, i64 } { ptr @tn.str.219, i64 5 }, { ptr, i64 } { ptr @tn.str.220, i64 11 }, { ptr, i64 } { ptr @tn.str.221, i64 10 }, { ptr, i64 } { ptr @tn.str.222, i64 5 }, { ptr, i64 } { ptr @tn.str.223, i64 12 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 6 }, { ptr, i64 } { ptr @tn.str.226, i64 10 }, { ptr, i64 } { ptr @tn.str.227, i64 19 }, { ptr, i64 } { ptr @tn.str.228, i64 6 }, { ptr, i64 } { ptr @tn.str.229, i64 4 }, { ptr, i64 } { ptr @tn.str.230, i64 5 }, { ptr, i64 } { ptr @tn.str.231, i64 10 }, { ptr, i64 } { ptr @tn.str.232, i64 5 }, { ptr, i64 } { ptr @tn.str.233, i64 9 }, { ptr, i64 } { ptr @tn.str.234, i64 7 }, { ptr, i64 } { ptr @tn.str.235, i64 10 }, { ptr, i64 } { ptr @tn.str.236, i64 8 }, { ptr, i64 } { ptr @tn.str.237, i64 6 }, { ptr, i64 } { ptr @tn.str.238, i64 8 }, { ptr, i64 } { ptr @tn.str.239, i64 5 }, { ptr, i64 } { ptr @tn.str.240, i64 8 }, { ptr, i64 } { ptr @tn.str.241, i64 6 }, { ptr, i64 } { ptr @tn.str.242, i64 8 }, { ptr, i64 } { ptr @tn.str.243, i64 13 }, { ptr, i64 } { ptr @tn.str.244, i64 7 }, { ptr, i64 } { ptr @tn.str.245, i64 8 }, { ptr, i64 } { ptr @tn.str.246, i64 5 }, { ptr, i64 } { ptr @tn.str.247, i64 8 }, { ptr, i64 } { ptr @tn.str.248, i64 7 }, { ptr, i64 } { ptr @tn.str.249, i64 6 }, { ptr, i64 } { ptr @tn.str.250, i64 8 }, { ptr, i64 } { ptr @tn.str.251, i64 6 }, { ptr, i64 } { ptr @tn.str.252, i64 8 }, { ptr, i64 } { ptr @tn.str.253, i64 15 }, { ptr, i64 } { ptr @tn.str.254, i64 8 }] -@str.255 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.256 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.257 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@tn.str.111 = private constant [8 x i8] c"cstring\00" +@tn.str.112 = private constant [6 x i8] c"*void\00" +@tn.str.113 = private constant [16 x i8] c"Source_Location\00" +@tn.str.114 = private constant [10 x i8] c"Allocator\00" +@tn.str.115 = private constant [8 x i8] c"Context\00" +@tn.str.116 = private constant [7 x i8] c"[4]i64\00" +@tn.str.117 = private constant [9 x i8] c"[]string\00" +@tn.str.118 = private constant [11 x i8] c"CAllocator\00" +@tn.str.119 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.120 = private constant [4 x i8] c"GPA\00" +@tn.str.121 = private constant [5 x i8] c"*GPA\00" +@tn.str.122 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.123 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.124 = private constant [6 x i8] c"Arena\00" +@tn.str.125 = private constant [7 x i8] c"*Arena\00" +@tn.str.126 = private constant [6 x i8] c"[*]u8\00" +@tn.str.127 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.128 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.129 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.130 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.131 = private constant [9 x i8] c"OpenMode\00" +@tn.str.132 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.133 = private constant [5 x i8] c"File\00" +@tn.str.134 = private constant [6 x i8] c"*File\00" +@tn.str.135 = private constant [6 x i8] c"?File\00" +@tn.str.136 = private constant [8 x i8] c"?string\00" +@tn.str.137 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.138 = private constant [9 x i8] c"?cstring\00" +@tn.str.139 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.140 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.141 = private constant [5 x i8] c"*i32\00" +@tn.str.142 = private constant [9 x i8] c"SockAddr\00" +@tn.str.143 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.144 = private constant [5 x i8] c"*u32\00" +@tn.str.145 = private constant [10 x i8] c"JsonError\00" +@tn.str.146 = private constant [6 x i8] c"Array\00" +@tn.str.147 = private constant [7 x i8] c"Object\00" +@tn.str.148 = private constant [6 x i8] c"Value\00" +@tn.str.149 = private constant [7 x i8] c"Member\00" +@tn.str.150 = private constant [9 x i8] c"[*]Value\00" +@tn.str.151 = private constant [7 x i8] c"*Array\00" +@tn.str.152 = private constant [10 x i8] c"[*]Member\00" +@tn.str.153 = private constant [8 x i8] c"*Object\00" +@tn.str.154 = private constant [5 x i8] c"[]u8\00" +@tn.str.155 = private constant [5 x i8] c"Sink\00" +@tn.str.156 = private constant [6 x i8] c"*Sink\00" +@tn.str.157 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.158 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.159 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.160 = private constant [7 x i8] c"Parser\00" +@tn.str.161 = private constant [8 x i8] c"*Parser\00" +@tn.str.162 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.163 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.164 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.165 = private constant [13 x i8] c"Architecture\00" +@tn.str.166 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.167 = private constant [11 x i8] c"() -> bool\00" +@tn.str.168 = private constant [5 x i8] c"*i64\00" +@tn.str.169 = private constant [9 x i8] c"CliError\00" +@tn.str.170 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.171 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.172 = private constant [8 x i8] c"Command\00" +@tn.str.173 = private constant [10 x i8] c"FlagValue\00" +@tn.str.174 = private constant [5 x i8] c"Diag\00" +@tn.str.175 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.176 = private constant [7 x i8] c"Parsed\00" +@tn.str.177 = private constant [8 x i8] c"*Parsed\00" +@tn.str.178 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.179 = private constant [10 x i8] c"[]Command\00" +@tn.str.180 = private constant [6 x i8] c"*Diag\00" +@tn.str.181 = private constant [7 x i8] c"[8]i64\00" +@tn.str.182 = private constant [7 x i8] c"[64]u8\00" +@tn.str.183 = private constant [7 x i8] c"Sha256\00" +@tn.str.184 = private constant [8 x i8] c"*Sha256\00" +@tn.str.185 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.186 = private constant [8 x i8] c"[64]i64\00" +@tn.str.187 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.188 = private constant [7 x i8] c"**void\00" +@tn.str.189 = private constant [8 x i8] c"*string\00" +@tn.str.190 = private constant [6 x i8] c"[]Any\00" +@tn.str.191 = private constant [5 x i8] c"*Any\00" +@tn.str.192 = private constant [7 x i8] c"[1]Any\00" +@tn.str.193 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.194 = private constant [7 x i8] c"*[]Any\00" +@tn.str.195 = private constant [4 x i8] c"*u8\00" +@tn.str.196 = private constant [6 x i8] c"*bool\00" +@tn.str.197 = private constant [7 x i8] c"[3]Any\00" +@tn.str.198 = private constant [8 x i8] c"*[3]Any\00" +@tn.str.199 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.200 = private constant [5 x i8] c"*f64\00" +@tn.str.201 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.202 = private constant [11 x i8] c"*Allocator\00" +@tn.str.203 = private constant [9 x i8] c"*Context\00" +@tn.str.204 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.205 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.206 = private constant [8 x i8] c"*Member\00" +@tn.str.207 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.208 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.209 = private constant [9 x i8] c"*Command\00" +@tn.str.210 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.211 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.212 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.213 = private constant [7 x i8] c"*Value\00" +@tn.str.214 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.215 = private constant [14 x i8] c"*Architecture\00" +@tn.str.216 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.217 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.218 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.219 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.220 = private constant [10 x i8] c"*[]string\00" +@tn.str.221 = private constant [6 x i8] c"*[]u8\00" +@tn.str.222 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.223 = private constant [11 x i8] c"*[]Command\00" +@tn.str.224 = private constant [6 x i8] c"**GPA\00" +@tn.str.225 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.226 = private constant [8 x i8] c"**Arena\00" +@tn.str.227 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.228 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.229 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.230 = private constant [7 x i8] c"**File\00" +@tn.str.231 = private constant [6 x i8] c"**i32\00" +@tn.str.232 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.233 = private constant [6 x i8] c"**u32\00" +@tn.str.234 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.235 = private constant [8 x i8] c"**Array\00" +@tn.str.236 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.237 = private constant [9 x i8] c"**Object\00" +@tn.str.238 = private constant [7 x i8] c"**Sink\00" +@tn.str.239 = private constant [9 x i8] c"**Parser\00" +@tn.str.240 = private constant [6 x i8] c"**i64\00" +@tn.str.241 = private constant [9 x i8] c"**Parsed\00" +@tn.str.242 = private constant [7 x i8] c"**Diag\00" +@tn.str.243 = private constant [9 x i8] c"**Sha256\00" +@tn.str.244 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.245 = private constant [8 x i8] c"***void\00" +@tn.str.246 = private constant [9 x i8] c"**string\00" +@tn.str.247 = private constant [6 x i8] c"**Any\00" +@tn.str.248 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.249 = private constant [8 x i8] c"**[]Any\00" +@tn.str.250 = private constant [5 x i8] c"**u8\00" +@tn.str.251 = private constant [7 x i8] c"**bool\00" +@tn.str.252 = private constant [9 x i8] c"**[3]Any\00" +@tn.str.253 = private constant [7 x i8] c"*?File\00" +@tn.str.254 = private constant [9 x i8] c"*?string\00" +@tn.str.255 = private constant [10 x i8] c"*?cstring\00" +@tn.str.256 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.257 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [165 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 7 }, { ptr, i64 } { ptr @tn.str.112, i64 5 }, { ptr, i64 } { ptr @tn.str.113, i64 15 }, { ptr, i64 } { ptr @tn.str.114, i64 9 }, { ptr, i64 } { ptr @tn.str.115, i64 7 }, { ptr, i64 } { ptr @tn.str.116, i64 6 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 10 }, { ptr, i64 } { ptr @tn.str.119, i64 11 }, { ptr, i64 } { ptr @tn.str.120, i64 3 }, { ptr, i64 } { ptr @tn.str.121, i64 4 }, { ptr, i64 } { ptr @tn.str.122, i64 10 }, { ptr, i64 } { ptr @tn.str.123, i64 11 }, { ptr, i64 } { ptr @tn.str.124, i64 5 }, { ptr, i64 } { ptr @tn.str.125, i64 6 }, { ptr, i64 } { ptr @tn.str.126, i64 5 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 9 }, { ptr, i64 } { ptr @tn.str.129, i64 17 }, { ptr, i64 } { ptr @tn.str.130, i64 18 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 8 }, { ptr, i64 } { ptr @tn.str.133, i64 4 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 7 }, { ptr, i64 } { ptr @tn.str.137, i64 10 }, { ptr, i64 } { ptr @tn.str.138, i64 8 }, { ptr, i64 } { ptr @tn.str.139, i64 13 }, { ptr, i64 } { ptr @tn.str.140, i64 14 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 9 }, { ptr, i64 } { ptr @tn.str.144, i64 4 }, { ptr, i64 } { ptr @tn.str.145, i64 9 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 6 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 6 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 6 }, { ptr, i64 } { ptr @tn.str.152, i64 9 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 5 }, { ptr, i64 } { ptr @tn.str.157, i64 16 }, { ptr, i64 } { ptr @tn.str.158, i64 14 }, { ptr, i64 } { ptr @tn.str.159, i64 21 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 7 }, { ptr, i64 } { ptr @tn.str.162, i64 24 }, { ptr, i64 } { ptr @tn.str.163, i64 23 }, { ptr, i64 } { ptr @tn.str.164, i64 15 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 12 }, { ptr, i64 } { ptr @tn.str.167, i64 10 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 8 }, { ptr, i64 } { ptr @tn.str.171, i64 10 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 9 }, { ptr, i64 } { ptr @tn.str.174, i64 4 }, { ptr, i64 } { ptr @tn.str.175, i64 13 }, { ptr, i64 } { ptr @tn.str.176, i64 6 }, { ptr, i64 } { ptr @tn.str.177, i64 7 }, { ptr, i64 } { ptr @tn.str.178, i64 18 }, { ptr, i64 } { ptr @tn.str.179, i64 9 }, { ptr, i64 } { ptr @tn.str.180, i64 5 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 12 }, { ptr, i64 } { ptr @tn.str.188, i64 6 }, { ptr, i64 } { ptr @tn.str.189, i64 7 }, { ptr, i64 } { ptr @tn.str.190, i64 5 }, { ptr, i64 } { ptr @tn.str.191, i64 4 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 7 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 3 }, { ptr, i64 } { ptr @tn.str.196, i64 5 }, { 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 4 }, { ptr, i64 } { ptr @tn.str.201, i64 16 }, { ptr, i64 } { ptr @tn.str.202, i64 10 }, { ptr, i64 } { ptr @tn.str.203, i64 8 }, { ptr, i64 } { ptr @tn.str.204, i64 11 }, { ptr, i64 } { ptr @tn.str.205, i64 14 }, { ptr, i64 } { ptr @tn.str.206, i64 7 }, { ptr, i64 } { ptr @tn.str.207, i64 13 }, { ptr, i64 } { ptr @tn.str.208, i64 9 }, { ptr, i64 } { ptr @tn.str.209, i64 8 }, { ptr, i64 } { ptr @tn.str.210, i64 10 }, { ptr, i64 } { ptr @tn.str.211, i64 9 }, { ptr, i64 } { ptr @tn.str.212, i64 9 }, { ptr, i64 } { ptr @tn.str.213, i64 6 }, { ptr, i64 } { ptr @tn.str.214, i64 16 }, { ptr, i64 } { ptr @tn.str.215, i64 13 }, { ptr, i64 } { ptr @tn.str.216, i64 14 }, { ptr, i64 } { ptr @tn.str.217, i64 7 }, { ptr, i64 } { ptr @tn.str.218, i64 7 }, { ptr, i64 } { ptr @tn.str.219, i64 8 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 5 }, { ptr, i64 } { ptr @tn.str.222, i64 11 }, { ptr, i64 } { ptr @tn.str.223, i64 10 }, { ptr, i64 } { ptr @tn.str.224, i64 5 }, { ptr, i64 } { ptr @tn.str.225, i64 12 }, { ptr, i64 } { ptr @tn.str.226, i64 7 }, { ptr, i64 } { ptr @tn.str.227, i64 6 }, { ptr, i64 } { ptr @tn.str.228, i64 10 }, { ptr, i64 } { ptr @tn.str.229, i64 19 }, { ptr, i64 } { ptr @tn.str.230, i64 6 }, { ptr, i64 } { ptr @tn.str.231, i64 5 }, { ptr, i64 } { ptr @tn.str.232, i64 10 }, { ptr, i64 } { ptr @tn.str.233, i64 5 }, { ptr, i64 } { ptr @tn.str.234, i64 9 }, { ptr, i64 } { ptr @tn.str.235, i64 7 }, { ptr, i64 } { ptr @tn.str.236, i64 10 }, { ptr, i64 } { ptr @tn.str.237, i64 8 }, { ptr, i64 } { ptr @tn.str.238, i64 6 }, { ptr, i64 } { ptr @tn.str.239, i64 8 }, { ptr, i64 } { ptr @tn.str.240, i64 5 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 6 }, { ptr, i64 } { ptr @tn.str.243, i64 8 }, { ptr, i64 } { ptr @tn.str.244, i64 13 }, { ptr, i64 } { ptr @tn.str.245, i64 7 }, { ptr, i64 } { ptr @tn.str.246, i64 8 }, { ptr, i64 } { ptr @tn.str.247, i64 5 }, { ptr, i64 } { ptr @tn.str.248, i64 8 }, { ptr, i64 } { ptr @tn.str.249, i64 7 }, { ptr, i64 } { ptr @tn.str.250, i64 4 }, { ptr, i64 } { ptr @tn.str.251, i64 6 }, { ptr, i64 } { ptr @tn.str.252, i64 8 }, { ptr, i64 } { ptr @tn.str.253, i64 6 }, { ptr, i64 } { ptr @tn.str.254, i64 8 }, { ptr, i64 } { ptr @tn.str.255, i64 9 }, { ptr, i64 } { ptr @tn.str.256, i64 15 }, { ptr, i64 } { ptr @tn.str.257, i64 8 }] @str.258 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.259 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.260 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.261 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.262 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.263 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.264 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.265 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.266 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.267 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.268 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.269 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.261 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.262 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.263 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.264 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.265 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.266 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.267 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.268 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.269 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.270 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.271 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.272 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @str.273 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.274 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.275 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.276 = private unnamed_addr constant [2 x i8] c"v\00", align 1 -@str.277 = private unnamed_addr constant [2 x i8] c"!\00", align 1 -@str.278 = private unnamed_addr constant [2 x i8] c"x\00", align 1 -@str.279 = private unnamed_addr constant [2 x i8] c"!\00", align 1 -@str.280 = private unnamed_addr constant [2 x i8] c"y\00", align 1 -@str.281 = private unnamed_addr constant [2 x i8] c"?\00", align 1 -@str.282 = private unnamed_addr constant [13 x i8] c"default: {}\0A\00", align 1 -@str.283 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.284 = private unnamed_addr constant [13 x i8] c"default: {}\0A\00", align 1 -@str.285 = private unnamed_addr constant [14 x i8] c"explicit: {}\0A\00", align 1 +@str.276 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.277 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.278 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.279 = private unnamed_addr constant [2 x i8] c"v\00", align 1 +@str.280 = private unnamed_addr constant [2 x i8] c"!\00", align 1 +@str.281 = private unnamed_addr constant [2 x i8] c"x\00", align 1 +@str.282 = private unnamed_addr constant [2 x i8] c"!\00", align 1 +@str.283 = private unnamed_addr constant [2 x i8] c"y\00", align 1 +@str.284 = private unnamed_addr constant [2 x i8] c"?\00", align 1 +@str.285 = private unnamed_addr constant [13 x i8] c"default: {}\0A\00", align 1 @str.286 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.287 = private unnamed_addr constant [14 x i8] c"explicit: {}\0A\00", align 1 -@str.288 = private unnamed_addr constant [8 x i8] c"{}{}{}\0A\00", align 1 +@str.287 = private unnamed_addr constant [13 x i8] c"default: {}\0A\00", align 1 +@str.288 = private unnamed_addr constant [14 x i8] c"explicit: {}\0A\00", align 1 @str.289 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.290 = private unnamed_addr constant [8 x i8] c"{}{}{}\0A\00", align 1 -@str.291 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.292 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.293 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.294 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.290 = private unnamed_addr constant [14 x i8] c"explicit: {}\0A\00", align 1 +@str.291 = private unnamed_addr constant [8 x i8] c"{}{}{}\0A\00", align 1 +@str.292 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.293 = private unnamed_addr constant [8 x i8] c"{}{}{}\0A\00", align 1 +@str.294 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.295 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.296 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.297 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.295 = private constant [5 x i8] c"line\00" -@fld.str.296 = private constant [4 x i8] c"col\00" -@fld.str.297 = 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.295, i64 4 }, { ptr, i64 } { ptr @fld.str.296, i64 3 }, { ptr, i64 } { ptr @fld.str.297, i64 4 }] -@str.298 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.299 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.300 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.301 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.302 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.303 = private constant [4 x i8] c"ctx\00" -@fld.str.304 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.305 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.306 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.303, i64 3 }, { ptr, i64 } { ptr @fld.str.304, i64 11 }, { ptr, i64 } { ptr @fld.str.305, i64 13 }] -@str.307 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.308 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.309 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.310 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.311 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.312 = private constant [10 x i8] c"allocator\00" -@fld.str.313 = private constant [5 x i8] c"data\00" -@field_names.314 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.312, i64 9 }, { ptr, i64 } { ptr @fld.str.313, i64 4 }] -@str.315 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.316 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.317 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.318 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.319 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.320 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.321 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.322 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.323 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.324 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.325 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.326 = private constant [12 x i8] c"alloc_count\00" -@field_names.327 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.326, i64 11 }] -@str.328 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.329 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" -@fld.str.334 = private constant [4 x i8] c"cap\00" -@field_names.335 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.333, i64 4 }, { ptr, i64 } { ptr @fld.str.334, i64 3 }] -@str.336 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.337 = private unnamed_addr constant [6 x i8] c"Arena\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.341 = private constant [6 x i8] c"first\00" -@fld.str.342 = private constant [10 x i8] c"end_index\00" -@fld.str.343 = private constant [7 x i8] c"parent\00" -@field_names.344 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.341, i64 5 }, { ptr, i64 } { ptr @fld.str.342, i64 9 }, { ptr, i64 } { ptr @fld.str.343, i64 6 }] -@str.345 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.346 = private unnamed_addr constant [9 x i8] c"BufAlloc\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"buf\00" -@fld.str.351 = private constant [4 x i8] c"len\00" -@fld.str.352 = private constant [4 x i8] c"pos\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 3 }, { ptr, i64 } { ptr @fld.str.352, i64 3 }] -@str.354 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.355 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" -@fld.str.360 = private constant [12 x i8] c"alloc_count\00" -@fld.str.361 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.362 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.363 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.359, i64 6 }, { ptr, i64 } { ptr @fld.str.360, i64 11 }, { ptr, i64 } { ptr @fld.str.361, i64 13 }, { ptr, i64 } { ptr @fld.str.362, i64 17 }] -@str.364 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.365 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" -@field_names.370 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.369, i64 2 }] -@str.371 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.372 = private unnamed_addr constant [11 x i8] c"TraceFrame\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"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" -@fld.str.380 = private constant [10 x i8] c"line_text\00" -@field_names.381 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.376, 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 }, { ptr, i64 } { ptr @fld.str.380, i64 9 }] -@str.382 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.383 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" -@fld.str.388 = private constant [7 x i8] c"stdout\00" -@field_names.389 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.387, i64 9 }, { ptr, i64 } { ptr @fld.str.388, i64 6 }] -@str.390 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.391 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.396 = private constant [11 x i8] c"sin_family\00" -@fld.str.397 = private constant [9 x i8] c"sin_port\00" -@fld.str.398 = private constant [9 x i8] c"sin_addr\00" -@fld.str.399 = private constant [9 x i8] c"sin_zero\00" -@field_names.400 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.395, i64 7 }, { ptr, i64 } { ptr @fld.str.396, i64 10 }, { ptr, i64 } { ptr @fld.str.397, i64 8 }, { ptr, i64 } { ptr @fld.str.398, i64 8 }, { ptr, i64 } { ptr @fld.str.399, i64 8 }] -@str.401 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.402 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" -@fld.str.407 = private constant [4 x i8] c"len\00" -@fld.str.408 = private constant [4 x i8] c"cap\00" -@field_names.409 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.406, i64 5 }, { ptr, i64 } { ptr @fld.str.407, i64 3 }, { ptr, i64 } { ptr @fld.str.408, i64 3 }] -@str.410 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.411 = private unnamed_addr constant [7 x i8] c"Object\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 [6 x i8] c"items\00" -@fld.str.416 = private constant [4 x i8] c"len\00" -@fld.str.417 = private constant [4 x i8] c"cap\00" -@field_names.418 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.415, i64 5 }, { ptr, i64 } { ptr @fld.str.416, i64 3 }, { 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 [7 x i8] c"Member\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 [4 x i8] c"key\00" -@fld.str.425 = private constant [4 x i8] c"val\00" -@field_names.426 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.424, i64 3 }, { ptr, i64 } { ptr @fld.str.425, i64 3 }] -@str.427 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.428 = private unnamed_addr constant [5 x i8] c"Sink\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"dst\00" -@fld.str.433 = private constant [4 x i8] c"pos\00" -@fld.str.434 = private constant [5 x i8] c"file\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 4 }] -@str.436 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.437 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" -@fld.str.442 = private constant [4 x i8] c"pos\00" -@fld.str.443 = private constant [6 x i8] c"alloc\00" -@field_names.444 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.441, i64 3 }, { ptr, i64 } { ptr @fld.str.442, i64 3 }, { ptr, i64 } { ptr @fld.str.443, i64 5 }] -@str.445 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.446 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.450 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.451 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.452 = private unnamed_addr constant [9 x i8] c"FlagSpec\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"name\00" -@fld.str.457 = private constant [12 x i8] c"takes_value\00" -@fld.str.458 = private constant [9 x i8] c"required\00" -@field_names.459 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.456, i64 4 }, { ptr, i64 } { ptr @fld.str.457, i64 11 }, { ptr, i64 } { ptr @fld.str.458, i64 8 }] -@str.460 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.461 = private unnamed_addr constant [8 x i8] c"Command\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"group\00" -@fld.str.466 = private constant [8 x i8] c"command\00" -@fld.str.467 = private constant [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.467, i64 5 }] -@str.469 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.470 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" -@fld.str.475 = private constant [6 x i8] c"value\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 5 }] -@str.477 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.478 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" -@fld.str.483 = private constant [6 x i8] c"token\00" -@field_names.484 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.482, i64 5 }, { ptr, i64 } { ptr @fld.str.483, i64 5 }] -@str.485 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.486 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 -@str.487 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.488 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.489 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.490 = private constant [6 x i8] c"group\00" -@fld.str.491 = private constant [8 x i8] c"command\00" -@fld.str.492 = private constant [10 x i8] c"cmd_index\00" -@fld.str.493 = private constant [5 x i8] c"json\00" -@fld.str.494 = private constant [5 x i8] c"rest\00" -@fld.str.495 = private constant [5 x i8] c"spec\00" -@fld.str.496 = private constant [7 x i8] c"values\00" -@field_names.497 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.490, i64 5 }, { ptr, i64 } { ptr @fld.str.491, i64 7 }, { ptr, i64 } { ptr @fld.str.492, i64 9 }, { ptr, i64 } { ptr @fld.str.493, i64 4 }, { ptr, i64 } { ptr @fld.str.494, i64 4 }, { ptr, i64 } { ptr @fld.str.495, i64 4 }, { ptr, i64 } { ptr @fld.str.496, i64 6 }] -@str.498 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.499 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" -@fld.str.504 = private constant [4 x i8] c"buf\00" -@fld.str.505 = private constant [8 x i8] c"buf_len\00" -@fld.str.506 = private constant [10 x i8] c"total_len\00" -@field_names.507 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.503, i64 1 }, { ptr, i64 } { ptr @fld.str.504, i64 3 }, { ptr, i64 } { ptr @fld.str.505, i64 7 }, { ptr, i64 } { ptr @fld.str.506, i64 9 }] -@str.508 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.509 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.510 = private constant [5 x i8] c"read\00" -@fld.str.511 = private constant [6 x i8] c"write\00" -@fld.str.512 = private constant [7 x i8] c"append\00" -@fld.str.513 = private constant [11 x i8] c"read_write\00" -@field_names.514 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.510, i64 4 }, { ptr, i64 } { ptr @fld.str.511, i64 5 }, { ptr, i64 } { ptr @fld.str.512, i64 6 }, { ptr, i64 } { ptr @fld.str.513, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.518 = private constant [4 x i8] c"set\00" -@fld.str.519 = private constant [8 x i8] c"current\00" -@fld.str.520 = private constant [4 x i8] c"end\00" -@field_names.521 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.518, i64 3 }, { ptr, i64 } { ptr @fld.str.519, i64 7 }, { ptr, i64 } { ptr @fld.str.520, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.525 = private constant [6 x i8] c"null_\00" -@fld.str.526 = private constant [6 x i8] c"bool_\00" -@fld.str.527 = private constant [5 x i8] c"int_\00" -@fld.str.528 = private constant [4 x i8] c"str\00" -@fld.str.529 = private constant [6 x i8] c"array\00" -@fld.str.530 = private constant [7 x i8] c"object\00" -@field_names.531 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.525, i64 5 }, { ptr, i64 } { ptr @fld.str.526, i64 5 }, { ptr, i64 } { ptr @fld.str.527, i64 4 }, { ptr, i64 } { ptr @fld.str.528, i64 3 }, { ptr, i64 } { ptr @fld.str.529, i64 5 }, { ptr, i64 } { ptr @fld.str.530, i64 6 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.535 = private constant [6 x i8] c"macos\00" -@fld.str.536 = private constant [6 x i8] c"linux\00" -@fld.str.537 = private constant [8 x i8] c"windows\00" -@fld.str.538 = private constant [5 x i8] c"wasm\00" -@fld.str.539 = private constant [4 x i8] c"ios\00" -@fld.str.540 = private constant [8 x i8] c"android\00" -@fld.str.541 = private constant [8 x i8] c"unknown\00" -@field_names.542 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.535, i64 5 }, { ptr, i64 } { ptr @fld.str.536, i64 5 }, { ptr, i64 } { ptr @fld.str.537, i64 7 }, { ptr, i64 } { ptr @fld.str.538, i64 4 }, { ptr, i64 } { ptr @fld.str.539, i64 3 }, { ptr, i64 } { ptr @fld.str.540, i64 7 }, { ptr, i64 } { ptr @fld.str.541, i64 7 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.546 = private constant [8 x i8] c"aarch64\00" -@fld.str.547 = private constant [7 x i8] c"x86_64\00" -@fld.str.548 = private constant [7 x i8] c"wasm32\00" -@fld.str.549 = private constant [7 x i8] c"wasm64\00" -@fld.str.550 = private constant [8 x i8] c"unknown\00" -@field_names.551 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.546, i64 7 }, { ptr, i64 } { ptr @fld.str.547, i64 6 }, { ptr, i64 } { ptr @fld.str.548, i64 6 }, { ptr, i64 } { ptr @fld.str.549, i64 6 }, { ptr, i64 } { ptr @fld.str.550, i64 7 }] -@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 [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.298 = private constant [5 x i8] c"line\00" +@fld.str.299 = private constant [4 x i8] c"col\00" +@fld.str.300 = 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.298, i64 4 }, { ptr, i64 } { ptr @fld.str.299, i64 3 }, { ptr, i64 } { ptr @fld.str.300, i64 4 }] +@str.301 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.302 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.303 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.304 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.305 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.306 = private constant [4 x i8] c"ctx\00" +@fld.str.307 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.308 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.309 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.306, i64 3 }, { ptr, i64 } { ptr @fld.str.307, i64 11 }, { ptr, i64 } { ptr @fld.str.308, i64 13 }] +@str.310 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.311 = private unnamed_addr constant [8 x i8] c"Context\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"}\00", align 1 +@str.314 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.315 = private constant [10 x i8] c"allocator\00" +@fld.str.316 = private constant [5 x i8] c"data\00" +@field_names.317 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.315, i64 9 }, { ptr, i64 } { ptr @fld.str.316, i64 4 }] +@str.318 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.319 = private unnamed_addr constant [11 x i8] c"CAllocator\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 +@field_names.323 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.324 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.325 = private unnamed_addr constant [4 x i8] c"GPA\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.328 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.329 = private constant [12 x i8] c"alloc_count\00" +@field_names.330 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.329, i64 11 }] +@str.331 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.332 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" +@fld.str.337 = private constant [4 x i8] c"cap\00" +@field_names.338 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.336, i64 4 }, { ptr, i64 } { ptr @fld.str.337, i64 3 }] +@str.339 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.340 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" +@fld.str.345 = private constant [10 x i8] c"end_index\00" +@fld.str.346 = private constant [7 x i8] c"parent\00" +@field_names.347 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.344, i64 5 }, { ptr, i64 } { ptr @fld.str.345, i64 9 }, { ptr, i64 } { ptr @fld.str.346, i64 6 }] +@str.348 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.349 = private unnamed_addr constant [9 x i8] c"BufAlloc\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"buf\00" +@fld.str.354 = private constant [4 x i8] c"len\00" +@fld.str.355 = private constant [4 x i8] c"pos\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 3 }, { 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 [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" +@fld.str.363 = private constant [12 x i8] c"alloc_count\00" +@fld.str.364 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.365 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.366 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.362, i64 6 }, { ptr, i64 } { ptr @fld.str.363, i64 11 }, { ptr, i64 } { ptr @fld.str.364, i64 13 }, { ptr, i64 } { ptr @fld.str.365, i64 17 }] +@str.367 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.368 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" +@field_names.373 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.372, i64 2 }] +@str.374 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.375 = private unnamed_addr constant [11 x i8] c"TraceFrame\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"file\00" +@fld.str.380 = private constant [5 x i8] c"line\00" +@fld.str.381 = private constant [4 x i8] c"col\00" +@fld.str.382 = private constant [5 x i8] c"func\00" +@fld.str.383 = private constant [10 x i8] c"line_text\00" +@field_names.384 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.379, i64 4 }, { ptr, i64 } { ptr @fld.str.380, i64 4 }, { ptr, i64 } { ptr @fld.str.381, i64 3 }, { ptr, i64 } { ptr @fld.str.382, i64 4 }, { ptr, i64 } { ptr @fld.str.383, i64 9 }] +@str.385 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.386 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" +@fld.str.391 = private constant [7 x i8] c"stdout\00" +@field_names.392 = private constant [2 x { ptr, i64 }] [{ 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"SockAddr\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 [8 x i8] c"sin_len\00" +@fld.str.399 = private constant [11 x i8] c"sin_family\00" +@fld.str.400 = private constant [9 x i8] c"sin_port\00" +@fld.str.401 = private constant [9 x i8] c"sin_addr\00" +@fld.str.402 = private constant [9 x i8] c"sin_zero\00" +@field_names.403 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.398, i64 7 }, { ptr, i64 } { ptr @fld.str.399, i64 10 }, { ptr, i64 } { ptr @fld.str.400, i64 8 }, { ptr, i64 } { ptr @fld.str.401, i64 8 }, { ptr, i64 } { ptr @fld.str.402, i64 8 }] +@str.404 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.405 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" +@fld.str.410 = private constant [4 x i8] c"len\00" +@fld.str.411 = private constant [4 x i8] c"cap\00" +@field_names.412 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.409, i64 5 }, { ptr, i64 } { ptr @fld.str.410, i64 3 }, { ptr, i64 } { ptr @fld.str.411, i64 3 }] +@str.413 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.414 = private unnamed_addr constant [7 x i8] c"Object\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 [6 x i8] c"items\00" +@fld.str.419 = private constant [4 x i8] c"len\00" +@fld.str.420 = private constant [4 x i8] c"cap\00" +@field_names.421 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.418, i64 5 }, { ptr, i64 } { ptr @fld.str.419, i64 3 }, { ptr, i64 } { ptr @fld.str.420, i64 3 }] +@str.422 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.423 = private unnamed_addr constant [7 x i8] c"Member\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 [4 x i8] c"key\00" +@fld.str.428 = private constant [4 x i8] c"val\00" +@field_names.429 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.427, i64 3 }, { ptr, i64 } { ptr @fld.str.428, i64 3 }] +@str.430 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.431 = private unnamed_addr constant [5 x i8] c"Sink\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 [4 x i8] c"dst\00" +@fld.str.436 = private constant [4 x i8] c"pos\00" +@fld.str.437 = private constant [5 x i8] c"file\00" +@field_names.438 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.435, i64 3 }, { ptr, i64 } { ptr @fld.str.436, i64 3 }, { ptr, i64 } { ptr @fld.str.437, i64 4 }] +@str.439 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.440 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 +@str.441 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.442 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.443 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.444 = private constant [4 x i8] c"src\00" +@fld.str.445 = private constant [4 x i8] c"pos\00" +@fld.str.446 = private constant [6 x i8] c"alloc\00" +@field_names.447 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.444, i64 3 }, { ptr, i64 } { ptr @fld.str.445, i64 3 }, { ptr, i64 } { ptr @fld.str.446, i64 5 }] +@str.448 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.449 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 +@field_names.453 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.454 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.455 = private unnamed_addr constant [9 x i8] c"FlagSpec\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"name\00" +@fld.str.460 = private constant [12 x i8] c"takes_value\00" +@fld.str.461 = private constant [9 x i8] c"required\00" +@field_names.462 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.459, i64 4 }, { ptr, i64 } { ptr @fld.str.460, i64 11 }, { 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 [8 x i8] c"Command\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"group\00" +@fld.str.469 = private constant [8 x i8] c"command\00" +@fld.str.470 = private constant [6 x i8] c"flags\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 7 }, { 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 [10 x i8] c"FlagValue\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"set\00" +@fld.str.478 = private constant [6 x i8] c"value\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 5 }] +@str.480 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.481 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" +@fld.str.486 = private constant [6 x i8] c"token\00" +@field_names.487 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.485, i64 5 }, { 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 [7 x i8] c"Parsed\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 [10 x i8] c"cmd_index\00" +@fld.str.496 = private constant [5 x i8] c"json\00" +@fld.str.497 = private constant [5 x i8] c"rest\00" +@fld.str.498 = private constant [5 x i8] c"spec\00" +@fld.str.499 = private constant [7 x i8] c"values\00" +@field_names.500 = private constant [7 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 9 }, { ptr, i64 } { ptr @fld.str.496, i64 4 }, { ptr, i64 } { ptr @fld.str.497, i64 4 }, { ptr, i64 } { ptr @fld.str.498, i64 4 }, { ptr, i64 } { ptr @fld.str.499, i64 6 }] +@str.501 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.502 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" +@fld.str.507 = private constant [4 x i8] c"buf\00" +@fld.str.508 = private constant [8 x i8] c"buf_len\00" +@fld.str.509 = private constant [10 x i8] c"total_len\00" +@field_names.510 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.506, i64 1 }, { ptr, i64 } { ptr @fld.str.507, i64 3 }, { ptr, i64 } { ptr @fld.str.508, i64 7 }, { ptr, i64 } { ptr @fld.str.509, i64 9 }] +@str.511 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.512 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.513 = private constant [5 x i8] c"read\00" +@fld.str.514 = private constant [6 x i8] c"write\00" +@fld.str.515 = private constant [7 x i8] c"append\00" +@fld.str.516 = private constant [11 x i8] c"read_write\00" +@field_names.517 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.513, i64 4 }, { ptr, i64 } { ptr @fld.str.514, i64 5 }, { ptr, i64 } { ptr @fld.str.515, i64 6 }, { ptr, i64 } { ptr @fld.str.516, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.521 = private constant [4 x i8] c"set\00" +@fld.str.522 = private constant [8 x i8] c"current\00" +@fld.str.523 = private constant [4 x i8] c"end\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 7 }, { ptr, i64 } { ptr @fld.str.523, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.528 = private constant [6 x i8] c"null_\00" +@fld.str.529 = private constant [6 x i8] c"bool_\00" +@fld.str.530 = private constant [5 x i8] c"int_\00" +@fld.str.531 = private constant [4 x i8] c"str\00" +@fld.str.532 = private constant [6 x i8] c"array\00" +@fld.str.533 = private constant [7 x i8] c"object\00" +@field_names.534 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.528, i64 5 }, { ptr, i64 } { ptr @fld.str.529, i64 5 }, { ptr, i64 } { ptr @fld.str.530, i64 4 }, { ptr, i64 } { ptr @fld.str.531, i64 3 }, { ptr, i64 } { ptr @fld.str.532, i64 5 }, { ptr, i64 } { ptr @fld.str.533, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.538 = private constant [6 x i8] c"macos\00" +@fld.str.539 = private constant [6 x i8] c"linux\00" +@fld.str.540 = private constant [8 x i8] c"windows\00" +@fld.str.541 = private constant [5 x i8] c"wasm\00" +@fld.str.542 = private constant [4 x i8] c"ios\00" +@fld.str.543 = private constant [8 x i8] c"android\00" +@fld.str.544 = private constant [8 x i8] c"unknown\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 5 }, { ptr, i64 } { ptr @fld.str.540, i64 7 }, { ptr, i64 } { ptr @fld.str.541, i64 4 }, { ptr, i64 } { ptr @fld.str.542, i64 3 }, { ptr, i64 } { ptr @fld.str.543, i64 7 }, { ptr, i64 } { ptr @fld.str.544, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.549 = private constant [8 x i8] c"aarch64\00" +@fld.str.550 = private constant [7 x i8] c"x86_64\00" +@fld.str.551 = private constant [7 x i8] c"wasm32\00" +@fld.str.552 = private constant [7 x i8] c"wasm64\00" +@fld.str.553 = private constant [8 x i8] c"unknown\00" +@field_names.554 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.549, i64 7 }, { ptr, i64 } { ptr @fld.str.550, i64 6 }, { ptr, i64 } { ptr @fld.str.551, i64 6 }, { ptr, i64 } { ptr @fld.str.552, i64 6 }, { ptr, i64 } { ptr @fld.str.553, i64 7 }] +@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 [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 @@ -523,35 +523,35 @@ @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 -@str.590 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.591 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.592 = private unnamed_addr constant [4 x i8] c"@0x\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 @str.593 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.594 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.594 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.595 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.596 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.597 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.597 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.598 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.599 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.600 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.600 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.601 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.602 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.603 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.603 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.604 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.605 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.606 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 +@str.606 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.607 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.608 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.609 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 +@str.609 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.610 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.611 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.612 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.612 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.613 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.614 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.615 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.615 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.616 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.617 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.618 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.618 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.619 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.620 = private unnamed_addr constant [5 x i8] c"null\00", align 1 @str.621 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @@ -611,15 +611,19 @@ @str.675 = private unnamed_addr constant [7 x i8] c"*[]Any\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"*bool\00", align 1 +@str.678 = private unnamed_addr constant [4 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 [8 x i8] c"*[3]Any\00", align 1 +@str.681 = private unnamed_addr constant [6 x i8] c"*bool\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 [5 x i8] c"null\00", align 1 -@str.685 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.684 = private unnamed_addr constant [8 x i8] c"*[3]Any\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"null\00", align 1 +@str.688 = private unnamed_addr constant [5 x i8] c"null\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"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -636,7 +640,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -687,7 +691,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -777,7 +781,7 @@ if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.66 @@ -980,7 +984,7 @@ if.merge.91: ; preds = %if.else.90, %if.the %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1223,7 +1227,7 @@ if.merge.376: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1295,7 +1299,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1326,7 +1330,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1341,6 +1345,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1383,86 +1396,87 @@ entry: i64 1, label %match.arm.41 i64 10, label %match.arm.42 i64 11, label %match.arm.42 - i64 19, label %match.arm.43 i64 20, label %match.arm.43 i64 21, label %match.arm.43 - i64 24, label %match.arm.43 - i64 26, label %match.arm.43 - i64 28, label %match.arm.43 - i64 30, label %match.arm.43 - i64 33, label %match.arm.43 - i64 35, label %match.arm.43 - i64 39, label %match.arm.43 - i64 43, label %match.arm.43 - i64 45, label %match.arm.43 - i64 48, label %match.arm.43 - i64 52, label %match.arm.43 + i64 22, label %match.arm.43 + i64 25, label %match.arm.43 + i64 27, label %match.arm.43 + i64 29, label %match.arm.43 + i64 31, label %match.arm.43 + i64 34, label %match.arm.43 + i64 36, label %match.arm.43 + i64 40, label %match.arm.43 + i64 44, label %match.arm.43 + i64 46, label %match.arm.43 + i64 49, label %match.arm.43 i64 53, label %match.arm.43 - i64 55, label %match.arm.43 - i64 61, label %match.arm.43 - i64 66, label %match.arm.43 - i64 72, label %match.arm.43 - i64 76, label %match.arm.43 - i64 78, label %match.arm.43 + i64 54, label %match.arm.43 + i64 56, label %match.arm.43 + i64 62, label %match.arm.43 + i64 67, label %match.arm.43 + i64 73, label %match.arm.43 + i64 77, label %match.arm.43 i64 79, label %match.arm.43 i64 80, label %match.arm.43 - i64 82, label %match.arm.43 - i64 89, label %match.arm.43 - i64 37, label %match.arm.44 + i64 81, label %match.arm.43 + i64 83, label %match.arm.43 + i64 90, label %match.arm.43 i64 38, label %match.arm.44 - i64 54, label %match.arm.44 - i64 70, label %match.arm.44 + i64 39, label %match.arm.44 + i64 55, label %match.arm.44 i64 71, label %match.arm.44 - i64 51, label %match.arm.45 - i64 64, label %match.arm.45 - i64 75, label %match.arm.45 - i64 22, label %match.arm.47 - i64 81, label %match.arm.47 - i64 87, label %match.arm.47 + i64 72, label %match.arm.44 + i64 52, label %match.arm.45 + i64 65, label %match.arm.45 + i64 76, label %match.arm.45 + i64 23, label %match.arm.47 + i64 82, label %match.arm.47 i64 88, label %match.arm.47 - i64 92, label %match.arm.47 - i64 98, label %match.arm.47 - i64 102, label %match.arm.47 - i64 23, label %match.arm.48 - i64 60, label %match.arm.48 - i64 77, label %match.arm.48 - i64 85, label %match.arm.48 - i64 96, label %match.arm.48 - i64 18, label %match.arm.49 - i64 25, label %match.arm.49 - i64 27, label %match.arm.49 - i64 29, label %match.arm.49 - i64 31, label %match.arm.49 + i64 89, label %match.arm.47 + i64 93, label %match.arm.47 + i64 99, label %match.arm.47 + i64 104, label %match.arm.47 + i64 24, label %match.arm.48 + i64 61, label %match.arm.48 + i64 78, label %match.arm.48 + i64 86, label %match.arm.48 + i64 97, label %match.arm.48 + i64 19, label %match.arm.49 + i64 26, label %match.arm.49 + i64 28, label %match.arm.49 + i64 30, label %match.arm.49 i64 32, label %match.arm.49 - i64 34, label %match.arm.49 - i64 36, label %match.arm.49 - i64 40, label %match.arm.49 - i64 44, label %match.arm.49 - i64 47, label %match.arm.49 - i64 49, label %match.arm.49 + i64 33, label %match.arm.49 + i64 35, label %match.arm.49 + i64 37, label %match.arm.49 + i64 41, label %match.arm.49 + i64 48, label %match.arm.49 i64 50, label %match.arm.49 - i64 56, label %match.arm.49 + i64 51, label %match.arm.49 i64 57, label %match.arm.49 i64 58, label %match.arm.49 i64 59, label %match.arm.49 - i64 62, label %match.arm.49 - i64 67, label %match.arm.49 - i64 74, label %match.arm.49 - i64 83, label %match.arm.49 - i64 86, label %match.arm.49 - i64 90, label %match.arm.49 - i64 93, label %match.arm.49 + i64 60, label %match.arm.49 + i64 63, label %match.arm.49 + i64 68, label %match.arm.49 + i64 75, label %match.arm.49 + i64 84, label %match.arm.49 + i64 87, label %match.arm.49 + i64 91, label %match.arm.49 i64 94, label %match.arm.49 i64 95, label %match.arm.49 - i64 97, label %match.arm.49 - i64 99, label %match.arm.49 + i64 96, label %match.arm.49 + i64 98, label %match.arm.49 i64 100, label %match.arm.49 i64 101, label %match.arm.49 + i64 102, label %match.arm.49 i64 103, label %match.arm.49 - i64 41, label %match.arm.50 + i64 105, label %match.arm.49 i64 42, label %match.arm.50 - i64 46, label %match.arm.50 - i64 91, label %match.arm.50 + i64 43, label %match.arm.50 + i64 45, label %match.arm.50 + i64 47, label %match.arm.50 + i64 92, label %match.arm.50 i64 13, label %match.arm.51 ] @@ -1480,7 +1494,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 [162 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [165 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 @@ -1513,31 +1527,31 @@ match.arm.43: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.95 [ - i64 19, label %dispatch.case.96 - i64 20, label %dispatch.case.97 - i64 21, label %dispatch.case.98 - i64 24, label %dispatch.case.99 - i64 26, label %dispatch.case.100 - i64 28, label %dispatch.case.101 - i64 30, label %dispatch.case.102 - i64 33, label %dispatch.case.103 - i64 35, label %dispatch.case.104 - i64 39, label %dispatch.case.105 - i64 43, label %dispatch.case.106 - i64 45, label %dispatch.case.107 - i64 48, label %dispatch.case.108 - i64 52, label %dispatch.case.109 - i64 53, label %dispatch.case.110 - i64 55, label %dispatch.case.111 - i64 61, label %dispatch.case.112 - i64 66, label %dispatch.case.113 - i64 72, label %dispatch.case.114 - i64 76, label %dispatch.case.115 - i64 78, label %dispatch.case.116 - i64 79, label %dispatch.case.117 - i64 80, label %dispatch.case.118 - i64 82, label %dispatch.case.119 - i64 89, label %dispatch.case.120 + i64 20, label %dispatch.case.96 + i64 21, label %dispatch.case.97 + i64 22, label %dispatch.case.98 + i64 25, label %dispatch.case.99 + i64 27, label %dispatch.case.100 + i64 29, label %dispatch.case.101 + i64 31, label %dispatch.case.102 + i64 34, label %dispatch.case.103 + i64 36, label %dispatch.case.104 + i64 40, label %dispatch.case.105 + i64 44, label %dispatch.case.106 + i64 46, label %dispatch.case.107 + i64 49, label %dispatch.case.108 + i64 53, label %dispatch.case.109 + i64 54, label %dispatch.case.110 + i64 56, label %dispatch.case.111 + i64 62, label %dispatch.case.112 + i64 67, label %dispatch.case.113 + i64 73, label %dispatch.case.114 + i64 77, label %dispatch.case.115 + i64 79, label %dispatch.case.116 + i64 80, label %dispatch.case.117 + i64 81, label %dispatch.case.118 + i64 83, label %dispatch.case.119 + i64 90, label %dispatch.case.120 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1545,11 +1559,11 @@ match.arm.44: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.247 [ - i64 37, label %dispatch.case.248 - i64 38, label %dispatch.case.249 - i64 54, label %dispatch.case.250 - i64 70, label %dispatch.case.251 - i64 71, label %dispatch.case.252 + i64 38, label %dispatch.case.248 + i64 39, label %dispatch.case.249 + i64 55, label %dispatch.case.250 + i64 71, label %dispatch.case.251 + i64 72, label %dispatch.case.252 ] match.arm.45: ; preds = %entry, %entry, %entry @@ -1572,13 +1586,13 @@ match.arm.47: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.264 [ - i64 22, label %dispatch.case.265 - i64 81, label %dispatch.case.266 - i64 87, label %dispatch.case.267 - i64 88, label %dispatch.case.268 - i64 92, label %dispatch.case.269 - i64 98, label %dispatch.case.270 - i64 102, label %dispatch.case.271 + i64 23, label %dispatch.case.265 + i64 82, label %dispatch.case.266 + i64 88, label %dispatch.case.267 + i64 89, label %dispatch.case.268 + i64 93, label %dispatch.case.269 + i64 99, label %dispatch.case.270 + i64 104, label %dispatch.case.271 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1586,11 +1600,11 @@ match.arm.48: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.308 [ - i64 23, label %dispatch.case.309 - i64 60, label %dispatch.case.310 - i64 77, label %dispatch.case.311 - i64 85, label %dispatch.case.312 - i64 96, label %dispatch.case.313 + i64 24, label %dispatch.case.309 + i64 61, label %dispatch.case.310 + i64 78, label %dispatch.case.311 + i64 86, label %dispatch.case.312 + i64 97, label %dispatch.case.313 ] 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 @@ -1598,48 +1612,49 @@ match.arm.49: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.340 [ - i64 18, label %dispatch.case.341 - i64 25, label %dispatch.case.342 - i64 27, label %dispatch.case.343 - i64 29, label %dispatch.case.344 - i64 31, label %dispatch.case.345 - i64 32, label %dispatch.case.346 - i64 34, label %dispatch.case.347 - i64 36, label %dispatch.case.348 - i64 40, label %dispatch.case.349 - i64 44, label %dispatch.case.350 - i64 47, label %dispatch.case.351 - i64 49, label %dispatch.case.352 - i64 50, label %dispatch.case.353 - i64 56, label %dispatch.case.354 - i64 57, label %dispatch.case.355 - i64 58, label %dispatch.case.356 - i64 59, label %dispatch.case.357 - i64 62, label %dispatch.case.358 - i64 67, label %dispatch.case.359 - i64 74, label %dispatch.case.360 - i64 83, label %dispatch.case.361 - i64 86, label %dispatch.case.362 - i64 90, label %dispatch.case.363 - i64 93, label %dispatch.case.364 - i64 94, label %dispatch.case.365 - i64 95, label %dispatch.case.366 - i64 97, label %dispatch.case.367 - i64 99, label %dispatch.case.368 - i64 100, label %dispatch.case.369 - i64 101, label %dispatch.case.370 - i64 103, label %dispatch.case.371 + i64 19, label %dispatch.case.341 + i64 26, label %dispatch.case.342 + i64 28, label %dispatch.case.343 + i64 30, label %dispatch.case.344 + i64 32, label %dispatch.case.345 + i64 33, label %dispatch.case.346 + i64 35, label %dispatch.case.347 + i64 37, label %dispatch.case.348 + i64 41, label %dispatch.case.349 + i64 48, label %dispatch.case.350 + i64 50, label %dispatch.case.351 + i64 51, label %dispatch.case.352 + i64 57, label %dispatch.case.353 + i64 58, label %dispatch.case.354 + i64 59, label %dispatch.case.355 + i64 60, label %dispatch.case.356 + i64 63, label %dispatch.case.357 + i64 68, label %dispatch.case.358 + i64 75, label %dispatch.case.359 + i64 84, label %dispatch.case.360 + i64 87, label %dispatch.case.361 + i64 91, label %dispatch.case.362 + i64 94, label %dispatch.case.363 + i64 95, label %dispatch.case.364 + i64 96, label %dispatch.case.365 + i64 98, label %dispatch.case.366 + i64 100, label %dispatch.case.367 + i64 101, label %dispatch.case.368 + i64 102, label %dispatch.case.369 + i64 103, label %dispatch.case.370 + i64 105, label %dispatch.case.371 ] -match.arm.50: ; preds = %entry, %entry, %entry, %entry +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.479 [ - i64 41, label %dispatch.case.480 - i64 42, label %dispatch.case.481 - i64 46, label %dispatch.case.482 - i64 91, label %dispatch.case.483 + i64 42, label %dispatch.case.480 + i64 43, label %dispatch.case.481 + i64 45, label %dispatch.case.482 + i64 47, label %dispatch.case.483 + i64 92, label %dispatch.case.484 ] match.arm.51: ; preds = %entry @@ -1648,7 +1663,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 [162 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [165 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 @@ -1699,7 +1714,7 @@ dispatch.merge.94: ; preds = %dispatch.case.120, br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.255, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.258, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -1908,7 +1923,7 @@ dispatch.merge.246: ; preds = %dispatch.case.252, br label %match.merge.37 dispatch.default.247: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.256, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.259, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.246 dispatch.case.248: ; preds = %match.arm.44 @@ -1949,7 +1964,7 @@ dispatch.merge.263: ; preds = %dispatch.case.271, br label %match.merge.37 dispatch.default.264: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.257, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.260, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.263 dispatch.case.265: ; preds = %match.arm.47 @@ -2014,7 +2029,7 @@ dispatch.merge.307: ; preds = %dispatch.case.313, br label %match.merge.37 dispatch.default.308: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.258, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.261, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.307 dispatch.case.309: ; preds = %match.arm.48 @@ -2063,7 +2078,7 @@ dispatch.merge.339: ; preds = %dispatch.case.371, br label %match.merge.37 dispatch.default.340: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.259, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.262, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.341: ; preds = %match.arm.49 @@ -2132,140 +2147,140 @@ dispatch.case.349: ; preds = %match.arm.49 dispatch.case.350: ; 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_u8(ptr %0, ptr %iNp251) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp251) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.351: ; 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_i32(ptr %0, ptr %iNp254) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp254) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.352: ; 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_SockAddr(ptr %0, ptr %iNp257) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp257) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.353: ; 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_u32(ptr %0, ptr %iNp260) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp260) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.354: ; 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_Value(ptr %0, ptr %iNp263) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp263) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.355: ; 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_Array(ptr %0, ptr %iNp266) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp266) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.356: ; 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__mptr_Member(ptr %0, ptr %iNp269) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp269) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.357: ; 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_Object(ptr %0, ptr %iNp272) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp272) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.358: ; 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_Sink(ptr %0, ptr %iNp275) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp275) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.359: ; 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_Parser(ptr %0, ptr %iNp278) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp278) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.360: ; 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_i64(ptr %0, ptr %iNp281) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp281) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.361: ; 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_Parsed(ptr %0, ptr %iNp284) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp284) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.362: ; 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_Diag(ptr %0, ptr %iNp287) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp287) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.363: ; 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_Sha256(ptr %0, ptr %iNp290) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp290) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.364: ; 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_ptr_CAllocator(ptr %0, ptr %iNp293) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp293) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.365: ; 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_ptr_void(ptr %0, ptr %iNp296) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp296) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.366: ; 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_string(ptr %0, ptr %iNp299) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp299) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.367: ; 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_Any(ptr %0, ptr %iNp302) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp302) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.368: ; 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_AR_1_Any(ptr %0, ptr %iNp305) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp305) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.369: ; 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_SL_Any(ptr %0, ptr %iNp308) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp308) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 @@ -2283,13 +2298,13 @@ dispatch.case.371: ; preds = %match.arm.49 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 -dispatch.merge.478: ; preds = %dispatch.case.483, %dispatch.case.482, %dispatch.case.481, %dispatch.case.480, %dispatch.default.479 +dispatch.merge.478: ; preds = %dispatch.case.484, %dispatch.case.483, %dispatch.case.482, %dispatch.case.481, %dispatch.case.480, %dispatch.default.479 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.479: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.260, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.263, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.478 dispatch.case.480: ; preds = %match.arm.50 @@ -2310,17 +2325,24 @@ dispatch.case.481: ; preds = %match.arm.50 dispatch.case.482: ; preds = %match.arm.50 %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr326 = inttoptr i64 %ua.raw325 to ptr - %ua.load327 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr326, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load327) + %iNp326 = inttoptr i64 %ua.raw325 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp326) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.478 dispatch.case.483: ; preds = %match.arm.50 - %ua.raw329 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr330 = inttoptr i64 %ua.raw329 to ptr - %ua.load331 = load { [64 x i8], i1 }, ptr %ua.ptr330, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load331) + %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr329 = inttoptr i64 %ua.raw328 to ptr + %ua.load330 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr329, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load330) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.478 + +dispatch.case.484: ; preds = %match.arm.50 + %ua.raw332 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr333 = inttoptr i64 %ua.raw332 to ptr + %ua.load334 = load { [64 x i8], i1 }, ptr %ua.ptr333, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load334) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.478 } @@ -2331,7 +2353,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.261, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.264, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2427,7 +2449,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.262, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.265, 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 @@ -2435,7 +2457,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.263, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.266, 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 @@ -2445,13 +2467,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.264, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.267, 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.265, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.268, 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 @@ -2459,7 +2481,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.266, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.269, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2473,7 +2495,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.267, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.270, 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 @@ -2481,7 +2503,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.268, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.271, 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 @@ -2492,7 +2514,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.269, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.272, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2549,7 +2571,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.270, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.273, 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 @@ -2557,7 +2579,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.271, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.274, 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 @@ -2568,7 +2590,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.272, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.275, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2588,7 +2610,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.273, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.276, 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 @@ -2596,7 +2618,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.274, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.277, 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 @@ -2607,7 +2629,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.275, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.278, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -2828,9 +2850,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3387,9 +3406,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.276, i64 1 }, { ptr, i64 } { ptr @str.277, i64 1 }) - %callN = call i32 @label(ptr @__sx_default_context, i32 2, { ptr, i64 } { ptr @str.278, i64 1 }, { ptr, i64 } { ptr @str.279, i64 1 }) - %callN = call i32 @label(ptr @__sx_default_context, i32 3, { ptr, i64 } { ptr @str.280, i64 1 }, { ptr, i64 } { ptr @str.281, i64 1 }) + %callN = call i32 @label(ptr @__sx_default_context, i32 1, { ptr, i64 } { ptr @str.279, i64 1 }, { ptr, i64 } { ptr @str.280, i64 1 }) + %callN = call i32 @label(ptr @__sx_default_context, i32 2, { ptr, i64 } { ptr @str.281, i64 1 }, { ptr, i64 } { ptr @str.282, i64 1 }) + %callN = call i32 @label(ptr @__sx_default_context, i32 3, { ptr, i64 } { ptr @str.283, i64 1 }, { ptr, i64 } { ptr @str.284, i64 1 }) ret i32 0 } @@ -3411,7 +3430,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.282, i64 12 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.285, 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 @@ -3427,7 +3446,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.283, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.286, 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) @@ -3455,7 +3474,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.284, i64 12 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.287, i64 12 }) ret { ptr, i64 } %call } @@ -3463,7 +3482,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.285, i64 13 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.288, 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 @@ -3479,7 +3498,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.286, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.289, 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) @@ -3507,7 +3526,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.287, i64 13 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.290, i64 13 }) ret { ptr, i64 } %call } @@ -3515,7 +3534,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.288, i64 7 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.291, 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 @@ -3549,7 +3568,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.289, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.292, 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 @@ -3590,7 +3609,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.290, i64 7 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.293, i64 7 }) ret { ptr, i64 } %call } @@ -3601,7 +3620,7 @@ 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.291, i64 15 }, { ptr, i64 } { ptr @str.292, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.294, i64 15 }, { ptr, i64 } { ptr @str.295, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3620,12 +3639,12 @@ while.body.122: ; preds = %while.hdr.121 while.exit.123: ; preds = %while.hdr.121 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.293, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.296, i64 1 }) ret { ptr, i64 } %callN if.then.124: ; preds = %while.body.122 %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.297, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.125 @@ -3637,7 +3656,7 @@ if.merge.125: ; preds = %if.then.124, %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.298, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.301, 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 @@ -3694,7 +3713,7 @@ 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.299, i64 9 }, { ptr, i64 } { ptr @str.300, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.302, i64 9 }, { ptr, i64 } { ptr @str.303, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3713,24 +3732,24 @@ while.body.127: ; preds = %while.hdr.126 while.exit.128: ; preds = %while.hdr.126 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.301, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.304, i64 1 }) ret { ptr, i64 } %callN if.then.129: ; preds = %while.body.127 %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.305, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.130 if.merge.130: ; preds = %if.then.129, %while.body.127 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.306, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.309, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.310, 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 @@ -3757,19 +3776,19 @@ fv.default: ; preds = %if.merge.130 fv.case: ; preds = %if.merge.130 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.130 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge fv.case21: ; preds = %if.merge.130 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -3779,7 +3798,7 @@ 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.308, i64 7 }, { ptr, i64 } { ptr @str.309, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.311, i64 7 }, { ptr, i64 } { ptr @str.312, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3798,24 +3817,24 @@ while.body.132: ; preds = %while.hdr.131 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.310, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.313, i64 1 }) ret { ptr, i64 } %callN 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.311, 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 br label %if.merge.135 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 [2 x { ptr, i64 }], ptr @field_names.314, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.317, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.318, 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 @@ -3842,13 +3861,13 @@ fv.case: ; preds = %if.merge.135 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.135 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 - %fv.val19 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -3857,7 +3876,7 @@ 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.316, i64 10 }, { ptr, i64 } { ptr @str.317, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.319, i64 10 }, { ptr, i64 } { ptr @str.320, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3876,24 +3895,24 @@ while.body.137: ; preds = %while.hdr.136 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.318, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, i64 1 }) ret { ptr, i64 } %callN 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.319, 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 br label %if.merge.140 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 [0 x { ptr, i64 }], ptr @field_names.320, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.323, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.324, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -3912,7 +3931,7 @@ 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.322, i64 3 }, { ptr, i64 } { ptr @str.323, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.325, i64 3 }, { ptr, i64 } { ptr @str.326, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3931,24 +3950,24 @@ while.body.142: ; preds = %while.hdr.141 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.324, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.327, i64 1 }) ret { ptr, i64 } %callN 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.325, 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 br label %if.merge.145 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 [1 x { ptr, i64 }], ptr @field_names.327, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.330, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.331, 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 @@ -3981,7 +4000,7 @@ 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.329, i64 10 }, { ptr, i64 } { ptr @str.330, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.332, i64 10 }, { 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 @@ -4000,24 +4019,24 @@ while.body.147: ; preds = %while.hdr.146 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.334, i64 1 }) ret { ptr, i64 } %callN 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.335, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.150 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.338, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.339, 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 @@ -4043,7 +4062,7 @@ fv.default: ; preds = %if.merge.150 fv.case: ; preds = %if.merge.150 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.150 @@ -4058,7 +4077,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.337, i64 5 }, { ptr, i64 } { ptr @str.338, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.340, i64 5 }, { 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 @@ -4077,24 +4096,24 @@ while.body.152: ; preds = %while.hdr.151 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.342, i64 1 }) ret { ptr, i64 } %callN 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.343, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.155 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 [3 x { ptr, i64 }], ptr @field_names.344, 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.345, 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, { ptr, ptr, ptr } }, ptr %alloca, align 8 @@ -4121,7 +4140,7 @@ fv.default: ; preds = %if.merge.155 fv.case: ; preds = %if.merge.155 %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.155 @@ -4133,7 +4152,7 @@ fv.case20: ; preds = %if.merge.155 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -4142,7 +4161,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.346, i64 8 }, { ptr, i64 } { ptr @str.347, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.349, i64 8 }, { 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 @@ -4161,24 +4180,24 @@ while.body.157: ; preds = %while.hdr.156 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.348, 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.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.349, 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.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.353, 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.354, 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, i64, i64 }, ptr %alloca, align 8 @@ -4205,7 +4224,7 @@ fv.default: ; preds = %if.merge.160 fv.case: ; preds = %if.merge.160 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.160 @@ -4225,7 +4244,7 @@ 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.355, i64 17 }, { ptr, i64 } { ptr @str.356, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.358, i64 17 }, { 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 @@ -4244,24 +4263,24 @@ 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.357, 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.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.358, 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.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 [4 x { ptr, i64 }], ptr @field_names.363, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.364, 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, ptr, ptr }, i64, i64, i64 }, ptr %alloca, align 8 @@ -4290,7 +4309,7 @@ fv.case: ; preds = %if.merge.165 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.165 @@ -4314,7 +4333,7 @@ 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.365, i64 4 }, { ptr, i64 } { ptr @str.366, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.368, i64 4 }, { 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 @@ -4333,24 +4352,24 @@ 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.367, 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.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 }) + %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.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 [1 x { ptr, i64 }], ptr @field_names.370, 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.371, 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 { i32 }, ptr %alloca, align 4 @@ -4387,7 +4406,7 @@ 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.372, i64 10 }, { ptr, i64 } { ptr @str.373, 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 @@ -4406,24 +4425,24 @@ 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.374, 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.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.375, 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.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 [5 x { ptr, i64 }], ptr @field_names.381, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.384, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.385, 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 @@ -4489,7 +4508,7 @@ 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.383, i64 13 }, { ptr, i64 } { ptr @str.384, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.386, i64 13 }, { ptr, i64 } { ptr @str.387, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4508,24 +4527,24 @@ while.body.177: ; preds = %while.hdr.176 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.385, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.388, 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.386, 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 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 [2 x { ptr, i64 }], ptr @field_names.389, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.390, 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 { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4567,7 +4586,7 @@ 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.391, i64 8 }, { ptr, i64 } { ptr @str.392, i64 1 }) + %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 @@ -4586,24 +4605,24 @@ while.body.182: ; preds = %while.hdr.181 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.393, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.396, i64 1 }) ret { ptr, i64 } %callN 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.394, 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 br label %if.merge.185 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.400, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.401, 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 { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -4664,7 +4683,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.402, i64 5 }, { ptr, i64 } { ptr @str.403, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.405, i64 5 }, { 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 @@ -4683,24 +4702,24 @@ while.body.187: ; preds = %while.hdr.186 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.404, 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.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.405, 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.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.409, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.410, 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, i64, i64 }, ptr %alloca, align 8 @@ -4727,7 +4746,7 @@ fv.default: ; preds = %if.merge.190 fv.case: ; preds = %if.merge.190 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.190 @@ -4746,7 +4765,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.411, i64 6 }, { ptr, i64 } { ptr @str.412, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.414, i64 6 }, { 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 @@ -4765,24 +4784,24 @@ 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.413, 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.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.414, 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.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.418, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.421, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %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.422, 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 @@ -4809,7 +4828,7 @@ fv.default: ; preds = %if.merge.195 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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.195 @@ -4830,7 +4849,7 @@ entry: %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.420, i64 6 }, { ptr, i64 } { ptr @str.421, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.423, i64 6 }, { 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 @@ -4849,24 +4868,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.422, i64 1 }) + %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.423, 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 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 [2 x { ptr, i64 }], ptr @field_names.426, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.427, 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 }, { i64, [24 x i8] } }, ptr %alloca, align 8 @@ -4900,7 +4919,7 @@ fv.case17: ; preds = %if.merge.200 %fv.field18 = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 1 store { i64, [24 x i8] } %fv.field18, ptr %ba.tmp19, align 8 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -4910,7 +4929,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.428, i64 4 }, { ptr, i64 } { ptr @str.429, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.431, i64 4 }, { 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 @@ -4929,24 +4948,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.430, 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.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.431, 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.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.435, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.438, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.439, 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 @@ -4974,7 +4993,7 @@ fv.case: ; preds = %if.merge.205 %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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.205 @@ -4985,7 +5004,7 @@ fv.case17: ; preds = %if.merge.205 fv.case20: ; preds = %if.merge.205 %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -4996,7 +5015,7 @@ entry: %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.437, i64 6 }, { ptr, i64 } { ptr @str.438, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.440, i64 6 }, { ptr, i64 } { ptr @str.441, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5015,24 +5034,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.439, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.442, 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.440, 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 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.444, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.445, 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 { { ptr, i64 }, i64, { ptr, ptr, ptr } }, ptr %alloca, align 8 @@ -5072,7 +5091,7 @@ fv.case20: ; preds = %if.merge.210 %fv.field21 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 2 store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8 %ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -5081,7 +5100,7 @@ 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.446, i64 12 }, { ptr, i64 } { ptr @str.447, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.449, i64 12 }, { 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 @@ -5100,24 +5119,24 @@ 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.448, 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.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.449, 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.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 [0 x { ptr, i64 }], ptr @field_names.450, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.451, 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 {}, ptr %alloca, align 1 @@ -5137,7 +5156,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.452, i64 8 }, { ptr, i64 } { ptr @str.453, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.455, i64 8 }, { 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 @@ -5156,24 +5175,24 @@ 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.454, 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.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.455, 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.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.459, 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.460, 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 }, i1, i1 }, ptr %alloca, align 8 @@ -5225,7 +5244,7 @@ entry: %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.461, i64 7 }, { ptr, i64 } { ptr @str.462, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.464, i64 7 }, { 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 @@ -5244,24 +5263,24 @@ 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.463, 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.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.464, 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.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.468, 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.469, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5303,7 +5322,7 @@ fv.case22: ; preds = %if.merge.225 %fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2 store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8 %ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5313,7 +5332,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.470, i64 9 }, { ptr, i64 } { ptr @str.471, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.473, i64 9 }, { 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 @@ -5332,24 +5351,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.472, 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.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.473, 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.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 [2 x { ptr, i64 }], ptr @field_names.476, i64 0, i64 %loadN + %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.477, 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 { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -5392,7 +5411,7 @@ 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.478, i64 4 }, { ptr, i64 } { ptr @str.479, 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 @@ -5411,24 +5430,24 @@ 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.480, 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.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.481, 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.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.484, i64 0, i64 %loadN + %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.485, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i64, { ptr, i64 } }, ptr %alloca, align 8 @@ -5474,7 +5493,7 @@ 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.486, i64 6 }, { ptr, i64 } { ptr @str.487, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.489, i64 6 }, { 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 @@ -5493,24 +5512,24 @@ 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.488, 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.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.489, 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.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 [7 x { ptr, i64 }], ptr @field_names.497, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 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.498, 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 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, ptr %alloca, align 8 @@ -5567,21 +5586,21 @@ fv.case28: ; preds = %if.merge.240 %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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge fv.case33: ; preds = %if.merge.240 %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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge fv.case38: ; preds = %if.merge.240 %fv.field39 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 6 store [16 x { i1, { ptr, i64 } }] %fv.field39, ptr %ba.tmp40, align 8 %ba.p2i41 = ptrtoint ptr %ba.tmp40 to i64 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -5592,7 +5611,7 @@ 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.499, i64 6 }, { ptr, i64 } { ptr @str.500, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.502, i64 6 }, { 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 @@ -5611,24 +5630,24 @@ 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.504, 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.505, 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 [4 x { ptr, i64 }], ptr @field_names.507, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.508, 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 { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -5657,14 +5676,14 @@ fv.case: ; preds = %if.merge.245 %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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.245 %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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.245 @@ -5687,9 +5706,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.514, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.517, 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.509, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.512, 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 @@ -5708,8 +5727,8 @@ entry: if.then.253: ; 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.516, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.515, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.518, 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.254 @@ -5728,9 +5747,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.521, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.524, 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.517, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.520, 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 @@ -5749,8 +5768,8 @@ entry: if.then.255: ; 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.523, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.522, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.525, 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.256 @@ -5780,9 +5799,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.531, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.534, 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.524, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.527, 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 @@ -5799,8 +5818,8 @@ entry: if.then.257: ; 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.533, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.532, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.535, 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.258 @@ -5856,7 +5875,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -5865,7 +5884,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -5878,9 +5897,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.542, 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 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.534, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.537, 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 @@ -5899,8 +5918,8 @@ entry: if.then.259: ; 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.544, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.543, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.546, 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.260 @@ -5919,9 +5938,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.551, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.554, 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.545, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.548, 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 @@ -5940,8 +5959,8 @@ entry: if.then.261: ; 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.553, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.552, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.555, 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.262 @@ -5958,7 +5977,7 @@ 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.554, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.557, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.272 @@ -5975,12 +5994,12 @@ while.body.273: ; preds = %while.hdr.272 while.exit.274: ; preds = %while.hdr.272 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, i64 1 }) ret { ptr, i64 } %call 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.556, 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.276 @@ -6009,7 +6028,7 @@ 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.557, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.560, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.277 @@ -6026,12 +6045,12 @@ while.body.278: ; preds = %while.hdr.277 while.exit.279: ; preds = %while.hdr.277 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 1 }) ret { ptr, i64 } %call 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.559, 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.281 @@ -6044,7 +6063,7 @@ if.merge.281: ; preds = %if.then.280, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -6061,7 +6080,7 @@ 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.560, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.563, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.282 @@ -6078,12 +6097,12 @@ while.body.283: ; preds = %while.hdr.282 while.exit.284: ; preds = %while.hdr.282 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, i64 1 }) ret { ptr, i64 } %call 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.562, 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.286 @@ -6111,7 +6130,7 @@ 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.563, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.566, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.287 @@ -6128,12 +6147,12 @@ while.body.288: ; preds = %while.hdr.287 while.exit.289: ; preds = %while.hdr.287 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 1 }) ret { ptr, i64 } %call 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.565, i64 2 }) + %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.291 @@ -6162,7 +6181,7 @@ 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.566, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.569, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.292 @@ -6179,12 +6198,12 @@ while.body.293: ; preds = %while.hdr.292 while.exit.294: ; preds = %while.hdr.292 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.570, i64 1 }) ret { ptr, i64 } %call 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.568, 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 br label %if.merge.296 @@ -6213,7 +6232,7 @@ 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.569, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.572, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.297 @@ -6230,12 +6249,12 @@ while.body.298: ; preds = %while.hdr.297 while.exit.299: ; preds = %while.hdr.297 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.570, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 1 }) ret { ptr, i64 } %call 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.571, 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.301 @@ -6266,7 +6285,7 @@ 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.572, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.575, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.302 @@ -6283,12 +6302,12 @@ while.body.303: ; preds = %while.hdr.302 while.exit.304: ; preds = %while.hdr.302 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.576, i64 1 }) ret { ptr, i64 } %call 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.574, 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 br label %if.merge.306 @@ -6318,7 +6337,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.575, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.578, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.314 @@ -6337,12 +6356,12 @@ while.body.315: ; preds = %while.hdr.314 while.exit.316: ; preds = %while.hdr.314 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.576, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.579, i64 1 }) ret { ptr, i64 } %call 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.577, i64 2 }) + %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.318 @@ -6371,7 +6390,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.578, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.581, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.319 @@ -6390,12 +6409,12 @@ while.body.320: ; preds = %while.hdr.319 while.exit.321: ; preds = %while.hdr.319 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.579, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.582, i64 1 }) ret { ptr, i64 } %call 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.580, i64 2 }) + %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.323 @@ -6424,7 +6443,7 @@ 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.581, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.584, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.324 @@ -6443,12 +6462,12 @@ while.body.325: ; preds = %while.hdr.324 while.exit.326: ; preds = %while.hdr.324 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.582, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.585, i64 1 }) ret { ptr, i64 } %call if.then.327: ; preds = %while.body.325 %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.586, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.328 @@ -6461,7 +6480,7 @@ if.merge.328: ; preds = %if.then.327, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -6478,7 +6497,7 @@ 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.584, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.587, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.329 @@ -6497,12 +6516,12 @@ while.body.330: ; preds = %while.hdr.329 while.exit.331: ; preds = %while.hdr.329 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.585, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.588, i64 1 }) ret { ptr, i64 } %call if.then.332: ; preds = %while.body.330 %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.589, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.333 @@ -6515,7 +6534,7 @@ if.merge.333: ; preds = %if.then.332, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -6532,7 +6551,7 @@ 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.587, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.590, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.334 @@ -6551,12 +6570,12 @@ while.body.335: ; preds = %while.hdr.334 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.588, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.591, i64 1 }) ret { ptr, i64 } %call 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.589, i64 2 }) + %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.338 @@ -6598,12 +6617,12 @@ if.then.372: ; preds = %entry if.else.373: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.595, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.594, i64 5 }, { ptr, i64 } %callN) br label %if.merge.374 if.merge.374: ; preds = %if.else.373, %if.then.372 - %bp = phi { ptr, i64 } [ { ptr @str.590, i64 4 }, %if.then.372 ], [ %callN, %if.else.373 ] + %bp = phi { ptr, i64 } [ { ptr @str.593, i64 4 }, %if.then.372 ], [ %callN, %if.else.373 ] ret { ptr, i64 } %bp } @@ -6626,12 +6645,12 @@ if.then.388: ; preds = %entry if.else.389: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.595, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.594, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.597, i64 11 }, { ptr, i64 } %callN) br label %if.merge.390 if.merge.390: ; preds = %if.else.389, %if.then.388 - %bp = phi { ptr, i64 } [ { ptr @str.593, i64 4 }, %if.then.388 ], [ %callN, %if.else.389 ] + %bp = phi { ptr, i64 } [ { ptr @str.596, i64 4 }, %if.then.388 ], [ %callN, %if.else.389 ] ret { ptr, i64 } %bp } @@ -6654,12 +6673,12 @@ if.then.391: ; preds = %entry if.else.392: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.597, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 4 }, { ptr, i64 } %callN) br label %if.merge.393 if.merge.393: ; preds = %if.else.392, %if.then.391 - %bp = phi { ptr, i64 } [ { ptr @str.596, i64 4 }, %if.then.391 ], [ %callN, %if.else.392 ] + %bp = phi { ptr, i64 } [ { ptr @str.599, i64 4 }, %if.then.391 ], [ %callN, %if.else.392 ] ret { ptr, i64 } %bp } @@ -6682,12 +6701,12 @@ if.then.394: ; preds = %entry if.else.395: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 11 }, { ptr, i64 } %callN) br label %if.merge.396 if.merge.396: ; preds = %if.else.395, %if.then.394 - %bp = phi { ptr, i64 } [ { ptr @str.599, i64 4 }, %if.then.394 ], [ %callN, %if.else.395 ] + %bp = phi { ptr, i64 } [ { ptr @str.602, i64 4 }, %if.then.394 ], [ %callN, %if.else.395 ] ret { ptr, i64 } %bp } @@ -6710,12 +6729,12 @@ if.then.397: ; preds = %entry if.else.398: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.607, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 6 }, { ptr, i64 } %callN) br label %if.merge.399 if.merge.399: ; preds = %if.else.398, %if.then.397 - %bp = phi { ptr, i64 } [ { ptr @str.602, i64 4 }, %if.then.397 ], [ %callN, %if.else.398 ] + %bp = phi { ptr, i64 } [ { ptr @str.605, i64 4 }, %if.then.397 ], [ %callN, %if.else.398 ] ret { ptr, i64 } %bp } @@ -6737,12 +6756,12 @@ if.then.400: ; preds = %entry if.else.401: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.607, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.610, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, i64 5 }, { ptr, i64 } %callN) br label %if.merge.402 if.merge.402: ; preds = %if.else.401, %if.then.400 - %bp = phi { ptr, i64 } [ { ptr @str.605, i64 4 }, %if.then.400 ], [ %callN, %if.else.401 ] + %bp = phi { ptr, i64 } [ { ptr @str.608, i64 4 }, %if.then.400 ], [ %callN, %if.else.401 ] ret { ptr, i64 } %bp } @@ -6765,12 +6784,12 @@ if.then.403: ; preds = %entry if.else.404: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.610, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 9 }, { ptr, i64 } %callN) br label %if.merge.405 if.merge.405: ; preds = %if.else.404, %if.then.403 - %bp = phi { ptr, i64 } [ { ptr @str.608, i64 4 }, %if.then.403 ], [ %callN, %if.else.404 ] + %bp = phi { ptr, i64 } [ { ptr @str.611, i64 4 }, %if.then.403 ], [ %callN, %if.else.404 ] ret { ptr, i64 } %bp } @@ -6793,12 +6812,12 @@ if.then.406: ; preds = %entry 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.613, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.616, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.615, i64 18 }, { ptr, i64 } %callN) br label %if.merge.408 if.merge.408: ; preds = %if.else.407, %if.then.406 - %bp = phi { ptr, i64 } [ { ptr @str.611, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] + %bp = phi { ptr, i64 } [ { ptr @str.614, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] ret { ptr, i64 } %bp } @@ -6821,17 +6840,17 @@ if.then.409: ; preds = %entry if.else.410: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.616, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.615, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.618, i64 5 }, { ptr, i64 } %callN) br label %if.merge.411 if.merge.411: ; preds = %if.else.410, %if.then.409 - %bp = phi { ptr, i64 } [ { ptr @str.614, i64 4 }, %if.then.409 ], [ %callN, %if.else.410 ] + %bp = phi { ptr, i64 } [ { ptr @str.617, i64 4 }, %if.then.409 ], [ %callN, %if.else.410 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6849,17 +6868,17 @@ if.then.412: ; preds = %entry 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.619, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.618, i64 3 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.622, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.621, i64 4 }, { ptr, i64 } %callN) br label %if.merge.414 if.merge.414: ; preds = %if.else.413, %if.then.412 - %bp = phi { ptr, i64 } [ { ptr @str.617, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] + %bp = phi { ptr, i64 } [ { ptr @str.620, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6877,17 +6896,17 @@ if.then.415: ; preds = %entry if.else.416: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.622, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.621, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.625, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.624, i64 9 }, { ptr, i64 } %callN) br label %if.merge.417 if.merge.417: ; preds = %if.else.416, %if.then.415 - %bp = phi { ptr, i64 } [ { ptr @str.620, i64 4 }, %if.then.415 ], [ %callN, %if.else.416 ] + %bp = phi { ptr, i64 } [ { ptr @str.623, i64 4 }, %if.then.415 ], [ %callN, %if.else.416 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6905,40 +6924,12 @@ if.then.418: ; preds = %entry 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.625, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.624, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.627, i64 4 }, { ptr, i64 } %callN) br label %if.merge.420 if.merge.420: ; preds = %if.else.419, %if.then.418 - %bp = phi { ptr, i64 } [ { ptr @str.623, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.421, label %if.else.422 - -if.then.421: ; preds = %entry - br label %if.merge.423 - -if.else.422: ; preds = %entry - %loadN = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.627, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.423 - -if.merge.423: ; preds = %if.else.422, %if.then.421 - %bp = phi { ptr, i64 } [ { ptr @str.626, i64 4 }, %if.then.421 ], [ %callN, %if.else.422 ] + %bp = phi { ptr, i64 } [ { ptr @str.626, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] ret { ptr, i64 } %bp } @@ -6952,20 +6943,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.424, label %if.else.425 + br i1 %icmp, label %if.then.421, label %if.else.422 -if.then.424: ; preds = %entry - br label %if.merge.426 +if.then.421: ; preds = %entry + br label %if.merge.423 -if.else.425: ; preds = %entry +if.else.422: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.631, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.630, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.426 + br label %if.merge.423 -if.merge.426: ; preds = %if.else.425, %if.then.424 - %bp = phi { ptr, i64 } [ { ptr @str.629, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] +if.merge.423: ; preds = %if.else.422, %if.then.421 + %bp = phi { ptr, i64 } [ { ptr @str.629, i64 4 }, %if.then.421 ], [ %callN, %if.else.422 ] ret { ptr, i64 } %bp } @@ -6980,20 +6971,20 @@ entry: store i64 %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 + br i1 %icmp, label %if.then.424, label %if.else.425 -if.then.427: ; preds = %entry - br label %if.merge.429 +if.then.424: ; preds = %entry + br label %if.merge.426 -if.else.428: ; preds = %entry +if.else.425: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.634, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.633, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.429 + br label %if.merge.426 -if.merge.429: ; preds = %if.else.428, %if.then.427 - %bp = phi { ptr, i64 } [ { ptr @str.632, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] +if.merge.426: ; preds = %if.else.425, %if.then.424 + %bp = phi { ptr, i64 } [ { ptr @str.632, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] ret { ptr, i64 } %bp } @@ -7007,6 +6998,34 @@ 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.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.637, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.636, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.429 + +if.merge.429: ; preds = %if.else.428, %if.then.427 + %bp = phi { ptr, i64 } [ { ptr @str.635, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.430, label %if.else.431 if.then.430: ; preds = %entry @@ -7015,17 +7034,17 @@ if.then.430: ; preds = %entry 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.637, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.636, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.639, i64 7 }, { ptr, i64 } %callN) br label %if.merge.432 if.merge.432: ; preds = %if.else.431, %if.then.430 - %bp = phi { ptr, i64 } [ { ptr @str.635, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] + %bp = phi { ptr, i64 } [ { ptr @str.638, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7043,17 +7062,17 @@ if.then.433: ; preds = %entry 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.640, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.639, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.643, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.642, i64 5 }, { ptr, i64 } %callN) br label %if.merge.435 if.merge.435: ; preds = %if.else.434, %if.then.433 - %bp = phi { ptr, i64 } [ { ptr @str.638, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] + %bp = phi { ptr, i64 } [ { ptr @str.641, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7071,17 +7090,17 @@ if.then.436: ; preds = %entry 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.643, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.642, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.646, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.645, i64 7 }, { ptr, i64 } %callN) br label %if.merge.438 if.merge.438: ; preds = %if.else.437, %if.then.436 - %bp = phi { ptr, i64 } [ { ptr @str.641, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] + %bp = phi { ptr, i64 } [ { ptr @str.644, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7099,17 +7118,17 @@ if.then.439: ; preds = %entry 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.646, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.645, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.648, i64 4 }, { ptr, i64 } %callN) br label %if.merge.441 if.merge.441: ; preds = %if.else.440, %if.then.439 - %bp = phi { ptr, i64 } [ { ptr @str.644, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] + %bp = phi { ptr, i64 } [ { ptr @str.647, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7127,17 +7146,17 @@ if.then.442: ; preds = %entry 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.649, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.648, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 7 }, { ptr, i64 } %callN) br label %if.merge.444 if.merge.444: ; preds = %if.else.443, %if.then.442 - %bp = phi { ptr, i64 } [ { ptr @str.647, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] + %bp = phi { ptr, i64 } [ { ptr @str.650, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7155,17 +7174,17 @@ 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.652, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, 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.650, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] + %bp = phi { ptr, i64 } [ { ptr @str.653, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7183,17 +7202,17 @@ 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.655, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.658, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 7 }, { ptr, i64 } %callN) br label %if.merge.450 if.merge.450: ; preds = %if.else.449, %if.then.448 - %bp = phi { ptr, i64 } [ { ptr @str.653, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] + %bp = phi { ptr, i64 } [ { ptr @str.656, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7211,17 +7230,17 @@ if.then.451: ; preds = %entry 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.658, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 7 }, { ptr, i64 } %callN) + %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 12 }, { ptr, i64 } %callN) br label %if.merge.453 if.merge.453: ; preds = %if.else.452, %if.then.451 - %bp = phi { ptr, i64 } [ { ptr @str.656, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] + %bp = phi { ptr, i64 } [ { ptr @str.659, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7239,17 +7258,17 @@ if.then.454: ; preds = %entry 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.661, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.660, i64 12 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.456 if.merge.456: ; preds = %if.else.455, %if.then.454 - %bp = phi { ptr, i64 } [ { ptr @str.659, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] + %bp = phi { ptr, i64 } [ { ptr @str.662, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7267,17 +7286,17 @@ if.then.457: ; preds = %entry 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.664, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.663, i64 6 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.459 if.merge.459: ; preds = %if.else.458, %if.then.457 - %bp = phi { ptr, i64 } [ { ptr @str.662, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] + %bp = phi { ptr, i64 } [ { ptr @str.665, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7295,17 +7314,17 @@ 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.667, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.666, i64 7 }, { ptr, i64 } %callN) + %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.462 if.merge.462: ; preds = %if.else.461, %if.then.460 - %bp = phi { ptr, i64 } [ { ptr @str.665, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] + %bp = phi { ptr, i64 } [ { ptr @str.668, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7323,17 +7342,17 @@ if.then.463: ; preds = %entry 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.670, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.465 if.merge.465: ; preds = %if.else.464, %if.then.463 - %bp = phi { ptr, i64 } [ { ptr @str.668, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] + %bp = phi { ptr, i64 } [ { ptr @str.671, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7351,17 +7370,17 @@ if.then.466: ; preds = %entry 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.673, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 7 }, { ptr, i64 } %callN) + %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.468 if.merge.468: ; preds = %if.else.467, %if.then.466 - %bp = phi { ptr, i64 } [ { ptr @str.671, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] + %bp = phi { ptr, i64 } [ { ptr @str.674, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7379,12 +7398,12 @@ if.then.469: ; preds = %entry 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.676, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.675, i64 6 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.471 if.merge.471: ; preds = %if.else.470, %if.then.469 - %bp = phi { ptr, i64 } [ { ptr @str.674, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] + %bp = phi { ptr, i64 } [ { ptr @str.677, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] ret { ptr, i64 } %bp } @@ -7407,12 +7426,12 @@ if.then.472: ; preds = %entry 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.679, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.678, i64 5 }, { ptr, i64 } %callN) + %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.474 if.merge.474: ; preds = %if.else.473, %if.then.472 - %bp = phi { ptr, i64 } [ { ptr @str.677, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] + %bp = phi { ptr, i64 } [ { ptr @str.680, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] ret { ptr, i64 } %bp } @@ -7435,12 +7454,12 @@ 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.682, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.681, i64 7 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.477 if.merge.477: ; preds = %if.else.476, %if.then.475 - %bp = phi { ptr, i64 } [ { ptr @str.680, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] + %bp = phi { ptr, i64 } [ { ptr @str.683, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] ret { ptr, i64 } %bp } @@ -7453,17 +7472,17 @@ 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.484, label %if.merge.485 + br i1 %lnot, label %if.then.485, label %if.merge.486 -if.then.484: ; preds = %entry - ret { ptr, i64 } { ptr @str.683, i64 4 } +if.then.485: ; preds = %entry + ret { ptr, i64 } { ptr @str.686, i64 4 } -if.merge.485: ; preds = %entry +if.merge.486: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7477,12 +7496,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.486, label %if.merge.487 + br i1 %lnot, label %if.then.487, label %if.merge.488 -if.then.486: ; preds = %entry - ret { ptr, i64 } { ptr @str.684, i64 4 } +if.then.487: ; preds = %entry + ret { ptr, i64 } { ptr @str.687, i64 4 } -if.merge.487: ; preds = %entry +if.merge.488: ; 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 @@ -7492,6 +7511,27 @@ if.merge.487: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.489, label %if.merge.490 + +if.then.489: ; preds = %entry + ret { ptr, i64 } { ptr @str.688, i64 4 } + +if.merge.490: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -7501,17 +7541,17 @@ 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.488, label %if.merge.489 + br i1 %lnot, label %if.then.491, label %if.merge.492 -if.then.488: ; preds = %entry - ret { ptr, i64 } { ptr @str.685, i64 4 } +if.then.491: ; preds = %entry + ret { ptr, i64 } { ptr @str.689, i64 4 } -if.merge.489: ; preds = %entry +if.merge.492: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7525,17 +7565,17 @@ 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.490, label %if.merge.491 + br i1 %lnot, label %if.then.493, label %if.merge.494 -if.then.490: ; preds = %entry - ret { ptr, i64 } { ptr @str.686, i64 4 } +if.then.493: ; preds = %entry + ret { ptr, i64 } { ptr @str.690, i64 4 } -if.merge.491: ; preds = %entry +if.merge.494: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } 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 a09c819..29a323c 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.78 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.79 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.80 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [161 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] +@__sx_type_is_unsigned = private constant [164 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.81 = private constant [9 x i8] c"Overflow\00" @tag.str.82 = private constant [3 x i8] c"Io\00" @@ -41,443 +41,443 @@ @tn.str.108 = private constant [6 x i8] c"isize\00" @tn.str.109 = private constant [6 x i8] c"usize\00" @tn.str.110 = private constant [5 x i8] c"void\00" -@tn.str.111 = private constant [6 x i8] c"*void\00" -@tn.str.112 = private constant [16 x i8] c"Source_Location\00" -@tn.str.113 = private constant [10 x i8] c"Allocator\00" -@tn.str.114 = private constant [8 x i8] c"Context\00" -@tn.str.115 = private constant [7 x i8] c"[4]i64\00" -@tn.str.116 = private constant [9 x i8] c"[]string\00" -@tn.str.117 = private constant [11 x i8] c"CAllocator\00" -@tn.str.118 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.119 = private constant [4 x i8] c"GPA\00" -@tn.str.120 = private constant [5 x i8] c"*GPA\00" -@tn.str.121 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.122 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.123 = private constant [6 x i8] c"Arena\00" -@tn.str.124 = private constant [7 x i8] c"*Arena\00" -@tn.str.125 = private constant [6 x i8] c"[*]u8\00" -@tn.str.126 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.127 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.128 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.129 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.130 = private constant [9 x i8] c"OpenMode\00" -@tn.str.131 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.132 = private constant [5 x i8] c"File\00" -@tn.str.133 = private constant [6 x i8] c"*File\00" -@tn.str.134 = private constant [6 x i8] c"?File\00" -@tn.str.135 = private constant [8 x i8] c"?string\00" -@tn.str.136 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.137 = private constant [4 x i8] c"*u8\00" -@tn.str.138 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.139 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.140 = private constant [5 x i8] c"*i32\00" -@tn.str.141 = private constant [9 x i8] c"SockAddr\00" -@tn.str.142 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.143 = private constant [5 x i8] c"*u32\00" -@tn.str.144 = private constant [10 x i8] c"JsonError\00" -@tn.str.145 = private constant [6 x i8] c"Array\00" -@tn.str.146 = private constant [7 x i8] c"Object\00" -@tn.str.147 = private constant [6 x i8] c"Value\00" -@tn.str.148 = private constant [7 x i8] c"Member\00" -@tn.str.149 = private constant [9 x i8] c"[*]Value\00" -@tn.str.150 = private constant [7 x i8] c"*Array\00" -@tn.str.151 = private constant [10 x i8] c"[*]Member\00" -@tn.str.152 = private constant [8 x i8] c"*Object\00" -@tn.str.153 = private constant [5 x i8] c"[]u8\00" -@tn.str.154 = private constant [5 x i8] c"Sink\00" -@tn.str.155 = private constant [6 x i8] c"*Sink\00" -@tn.str.156 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.157 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.158 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.159 = private constant [7 x i8] c"Parser\00" -@tn.str.160 = private constant [8 x i8] c"*Parser\00" -@tn.str.161 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.162 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.163 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.164 = private constant [13 x i8] c"Architecture\00" -@tn.str.165 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.166 = private constant [11 x i8] c"() -> bool\00" -@tn.str.167 = private constant [5 x i8] c"*i64\00" -@tn.str.168 = private constant [9 x i8] c"CliError\00" -@tn.str.169 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.170 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.171 = private constant [8 x i8] c"Command\00" -@tn.str.172 = private constant [10 x i8] c"FlagValue\00" -@tn.str.173 = private constant [5 x i8] c"Diag\00" -@tn.str.174 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.175 = private constant [7 x i8] c"Parsed\00" -@tn.str.176 = private constant [8 x i8] c"*Parsed\00" -@tn.str.177 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.178 = private constant [10 x i8] c"[]Command\00" -@tn.str.179 = private constant [6 x i8] c"*Diag\00" -@tn.str.180 = private constant [7 x i8] c"[8]i64\00" -@tn.str.181 = private constant [7 x i8] c"[64]u8\00" -@tn.str.182 = private constant [7 x i8] c"Sha256\00" -@tn.str.183 = private constant [8 x i8] c"*Sha256\00" -@tn.str.184 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.185 = private constant [8 x i8] c"[64]i64\00" -@tn.str.186 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.187 = private constant [7 x i8] c"**void\00" -@tn.str.188 = private constant [5 x i8] c"*f32\00" -@tn.str.189 = private constant [8 x i8] c"*string\00" -@tn.str.190 = private constant [6 x i8] c"[]Any\00" -@tn.str.191 = private constant [5 x i8] c"*Any\00" -@tn.str.192 = private constant [7 x i8] c"[1]Any\00" -@tn.str.193 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.194 = private constant [7 x i8] c"*[]Any\00" -@tn.str.195 = private constant [6 x i8] c"*bool\00" -@tn.str.196 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.197 = private constant [5 x i8] c"*f64\00" -@tn.str.198 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.199 = private constant [11 x i8] c"*Allocator\00" -@tn.str.200 = private constant [9 x i8] c"*Context\00" -@tn.str.201 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.202 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.203 = private constant [8 x i8] c"*Member\00" -@tn.str.204 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.205 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.206 = private constant [9 x i8] c"*Command\00" -@tn.str.207 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.208 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.209 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.210 = private constant [7 x i8] c"*Value\00" -@tn.str.211 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.212 = private constant [14 x i8] c"*Architecture\00" -@tn.str.213 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.214 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.215 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.216 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.217 = private constant [10 x i8] c"*[]string\00" -@tn.str.218 = private constant [6 x i8] c"*[]u8\00" -@tn.str.219 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.220 = private constant [11 x i8] c"*[]Command\00" -@tn.str.221 = private constant [6 x i8] c"**GPA\00" -@tn.str.222 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.223 = private constant [8 x i8] c"**Arena\00" -@tn.str.224 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.225 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.226 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.227 = private constant [7 x i8] c"**File\00" -@tn.str.228 = private constant [5 x i8] c"**u8\00" -@tn.str.229 = private constant [6 x i8] c"**i32\00" -@tn.str.230 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.231 = private constant [6 x i8] c"**u32\00" -@tn.str.232 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.233 = private constant [8 x i8] c"**Array\00" -@tn.str.234 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.235 = private constant [9 x i8] c"**Object\00" -@tn.str.236 = private constant [7 x i8] c"**Sink\00" -@tn.str.237 = private constant [9 x i8] c"**Parser\00" -@tn.str.238 = private constant [6 x i8] c"**i64\00" -@tn.str.239 = private constant [9 x i8] c"**Parsed\00" -@tn.str.240 = private constant [7 x i8] c"**Diag\00" -@tn.str.241 = private constant [9 x i8] c"**Sha256\00" -@tn.str.242 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.243 = private constant [8 x i8] c"***void\00" -@tn.str.244 = private constant [6 x i8] c"**f32\00" -@tn.str.245 = private constant [9 x i8] c"**string\00" -@tn.str.246 = private constant [6 x i8] c"**Any\00" -@tn.str.247 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.248 = private constant [8 x i8] c"**[]Any\00" -@tn.str.249 = private constant [7 x i8] c"**bool\00" -@tn.str.250 = private constant [7 x i8] c"*?File\00" -@tn.str.251 = private constant [9 x i8] c"*?string\00" -@tn.str.252 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.253 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [161 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 15 }, { ptr, i64 } { ptr @tn.str.113, i64 9 }, { ptr, i64 } { ptr @tn.str.114, i64 7 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 8 }, { ptr, i64 } { ptr @tn.str.117, i64 10 }, { ptr, i64 } { ptr @tn.str.118, i64 11 }, { ptr, i64 } { ptr @tn.str.119, i64 3 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 10 }, { ptr, i64 } { ptr @tn.str.122, i64 11 }, { ptr, i64 } { ptr @tn.str.123, i64 5 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 5 }, { ptr, i64 } { ptr @tn.str.126, i64 8 }, { ptr, i64 } { ptr @tn.str.127, i64 9 }, { ptr, i64 } { ptr @tn.str.128, i64 17 }, { ptr, i64 } { ptr @tn.str.129, i64 18 }, { ptr, i64 } { ptr @tn.str.130, i64 8 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 4 }, { ptr, i64 } { ptr @tn.str.133, i64 5 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 7 }, { ptr, i64 } { ptr @tn.str.136, i64 10 }, { ptr, i64 } { ptr @tn.str.137, i64 3 }, { ptr, i64 } { ptr @tn.str.138, i64 13 }, { ptr, i64 } { ptr @tn.str.139, i64 14 }, { ptr, i64 } { ptr @tn.str.140, i64 4 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 9 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 9 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 6 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 6 }, { ptr, i64 } { ptr @tn.str.149, i64 8 }, { ptr, i64 } { ptr @tn.str.150, i64 6 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 7 }, { ptr, i64 } { ptr @tn.str.153, i64 4 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 5 }, { ptr, i64 } { ptr @tn.str.156, i64 16 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 21 }, { ptr, i64 } { ptr @tn.str.159, i64 6 }, { ptr, i64 } { ptr @tn.str.160, i64 7 }, { ptr, i64 } { ptr @tn.str.161, i64 24 }, { ptr, i64 } { ptr @tn.str.162, i64 23 }, { ptr, i64 } { ptr @tn.str.163, i64 15 }, { ptr, i64 } { ptr @tn.str.164, i64 12 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 10 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 8 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 10 }, { ptr, i64 } { ptr @tn.str.171, i64 7 }, { ptr, i64 } { ptr @tn.str.172, i64 9 }, { ptr, i64 } { ptr @tn.str.173, i64 4 }, { ptr, i64 } { ptr @tn.str.174, i64 13 }, { ptr, i64 } { ptr @tn.str.175, i64 6 }, { ptr, i64 } { ptr @tn.str.176, i64 7 }, { ptr, i64 } { ptr @tn.str.177, i64 18 }, { ptr, i64 } { ptr @tn.str.178, i64 9 }, { ptr, i64 } { ptr @tn.str.179, i64 5 }, { ptr, i64 } { ptr @tn.str.180, i64 6 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 12 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 4 }, { ptr, i64 } { ptr @tn.str.189, i64 7 }, { ptr, i64 } { ptr @tn.str.190, i64 5 }, { ptr, i64 } { ptr @tn.str.191, i64 4 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 7 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 5 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 4 }, { ptr, i64 } { ptr @tn.str.198, i64 16 }, { ptr, i64 } { ptr @tn.str.199, i64 10 }, { ptr, i64 } { ptr @tn.str.200, i64 8 }, { ptr, i64 } { ptr @tn.str.201, i64 11 }, { ptr, i64 } { ptr @tn.str.202, i64 14 }, { ptr, i64 } { ptr @tn.str.203, i64 7 }, { ptr, i64 } { ptr @tn.str.204, i64 13 }, { ptr, i64 } { ptr @tn.str.205, i64 9 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 10 }, { ptr, i64 } { ptr @tn.str.208, i64 9 }, { ptr, i64 } { ptr @tn.str.209, i64 9 }, { ptr, i64 } { ptr @tn.str.210, i64 6 }, { ptr, i64 } { ptr @tn.str.211, i64 16 }, { ptr, i64 } { ptr @tn.str.212, i64 13 }, { ptr, i64 } { ptr @tn.str.213, i64 14 }, { ptr, i64 } { ptr @tn.str.214, i64 7 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 8 }, { ptr, i64 } { ptr @tn.str.217, i64 9 }, { ptr, i64 } { ptr @tn.str.218, i64 5 }, { ptr, i64 } { ptr @tn.str.219, i64 11 }, { ptr, i64 } { ptr @tn.str.220, i64 10 }, { ptr, i64 } { ptr @tn.str.221, i64 5 }, { ptr, i64 } { ptr @tn.str.222, i64 12 }, { ptr, i64 } { ptr @tn.str.223, i64 7 }, { ptr, i64 } { ptr @tn.str.224, i64 6 }, { ptr, i64 } { ptr @tn.str.225, i64 10 }, { ptr, i64 } { ptr @tn.str.226, i64 19 }, { ptr, i64 } { ptr @tn.str.227, i64 6 }, { ptr, i64 } { ptr @tn.str.228, i64 4 }, { ptr, i64 } { ptr @tn.str.229, i64 5 }, { ptr, i64 } { ptr @tn.str.230, i64 10 }, { ptr, i64 } { ptr @tn.str.231, i64 5 }, { ptr, i64 } { ptr @tn.str.232, i64 9 }, { ptr, i64 } { ptr @tn.str.233, i64 7 }, { ptr, i64 } { ptr @tn.str.234, i64 10 }, { ptr, i64 } { ptr @tn.str.235, i64 8 }, { ptr, i64 } { ptr @tn.str.236, i64 6 }, { ptr, i64 } { ptr @tn.str.237, i64 8 }, { ptr, i64 } { ptr @tn.str.238, i64 5 }, { ptr, i64 } { ptr @tn.str.239, i64 8 }, { ptr, i64 } { ptr @tn.str.240, i64 6 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 13 }, { ptr, i64 } { ptr @tn.str.243, i64 7 }, { ptr, i64 } { ptr @tn.str.244, i64 5 }, { ptr, i64 } { ptr @tn.str.245, i64 8 }, { ptr, i64 } { ptr @tn.str.246, i64 5 }, { ptr, i64 } { ptr @tn.str.247, i64 8 }, { ptr, i64 } { ptr @tn.str.248, i64 7 }, { ptr, i64 } { ptr @tn.str.249, i64 6 }, { ptr, i64 } { ptr @tn.str.250, i64 6 }, { ptr, i64 } { ptr @tn.str.251, i64 8 }, { ptr, i64 } { ptr @tn.str.252, i64 15 }, { ptr, i64 } { ptr @tn.str.253, i64 8 }] -@str.254 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.255 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.256 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@tn.str.111 = private constant [8 x i8] c"cstring\00" +@tn.str.112 = private constant [6 x i8] c"*void\00" +@tn.str.113 = private constant [16 x i8] c"Source_Location\00" +@tn.str.114 = private constant [10 x i8] c"Allocator\00" +@tn.str.115 = private constant [8 x i8] c"Context\00" +@tn.str.116 = private constant [7 x i8] c"[4]i64\00" +@tn.str.117 = private constant [9 x i8] c"[]string\00" +@tn.str.118 = private constant [11 x i8] c"CAllocator\00" +@tn.str.119 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.120 = private constant [4 x i8] c"GPA\00" +@tn.str.121 = private constant [5 x i8] c"*GPA\00" +@tn.str.122 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.123 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.124 = private constant [6 x i8] c"Arena\00" +@tn.str.125 = private constant [7 x i8] c"*Arena\00" +@tn.str.126 = private constant [6 x i8] c"[*]u8\00" +@tn.str.127 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.128 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.129 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.130 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.131 = private constant [9 x i8] c"OpenMode\00" +@tn.str.132 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.133 = private constant [5 x i8] c"File\00" +@tn.str.134 = private constant [6 x i8] c"*File\00" +@tn.str.135 = private constant [6 x i8] c"?File\00" +@tn.str.136 = private constant [8 x i8] c"?string\00" +@tn.str.137 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.138 = private constant [9 x i8] c"?cstring\00" +@tn.str.139 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.140 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.141 = private constant [5 x i8] c"*i32\00" +@tn.str.142 = private constant [9 x i8] c"SockAddr\00" +@tn.str.143 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.144 = private constant [5 x i8] c"*u32\00" +@tn.str.145 = private constant [10 x i8] c"JsonError\00" +@tn.str.146 = private constant [6 x i8] c"Array\00" +@tn.str.147 = private constant [7 x i8] c"Object\00" +@tn.str.148 = private constant [6 x i8] c"Value\00" +@tn.str.149 = private constant [7 x i8] c"Member\00" +@tn.str.150 = private constant [9 x i8] c"[*]Value\00" +@tn.str.151 = private constant [7 x i8] c"*Array\00" +@tn.str.152 = private constant [10 x i8] c"[*]Member\00" +@tn.str.153 = private constant [8 x i8] c"*Object\00" +@tn.str.154 = private constant [5 x i8] c"[]u8\00" +@tn.str.155 = private constant [5 x i8] c"Sink\00" +@tn.str.156 = private constant [6 x i8] c"*Sink\00" +@tn.str.157 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.158 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.159 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.160 = private constant [7 x i8] c"Parser\00" +@tn.str.161 = private constant [8 x i8] c"*Parser\00" +@tn.str.162 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.163 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.164 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.165 = private constant [13 x i8] c"Architecture\00" +@tn.str.166 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.167 = private constant [11 x i8] c"() -> bool\00" +@tn.str.168 = private constant [5 x i8] c"*i64\00" +@tn.str.169 = private constant [9 x i8] c"CliError\00" +@tn.str.170 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.171 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.172 = private constant [8 x i8] c"Command\00" +@tn.str.173 = private constant [10 x i8] c"FlagValue\00" +@tn.str.174 = private constant [5 x i8] c"Diag\00" +@tn.str.175 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.176 = private constant [7 x i8] c"Parsed\00" +@tn.str.177 = private constant [8 x i8] c"*Parsed\00" +@tn.str.178 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.179 = private constant [10 x i8] c"[]Command\00" +@tn.str.180 = private constant [6 x i8] c"*Diag\00" +@tn.str.181 = private constant [7 x i8] c"[8]i64\00" +@tn.str.182 = private constant [7 x i8] c"[64]u8\00" +@tn.str.183 = private constant [7 x i8] c"Sha256\00" +@tn.str.184 = private constant [8 x i8] c"*Sha256\00" +@tn.str.185 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.186 = private constant [8 x i8] c"[64]i64\00" +@tn.str.187 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.188 = private constant [7 x i8] c"**void\00" +@tn.str.189 = private constant [5 x i8] c"*f32\00" +@tn.str.190 = private constant [8 x i8] c"*string\00" +@tn.str.191 = private constant [6 x i8] c"[]Any\00" +@tn.str.192 = private constant [5 x i8] c"*Any\00" +@tn.str.193 = private constant [7 x i8] c"[1]Any\00" +@tn.str.194 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.195 = private constant [7 x i8] c"*[]Any\00" +@tn.str.196 = private constant [4 x i8] c"*u8\00" +@tn.str.197 = private constant [6 x i8] c"*bool\00" +@tn.str.198 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.199 = private constant [5 x i8] c"*f64\00" +@tn.str.200 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.201 = private constant [11 x i8] c"*Allocator\00" +@tn.str.202 = private constant [9 x i8] c"*Context\00" +@tn.str.203 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.204 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.205 = private constant [8 x i8] c"*Member\00" +@tn.str.206 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.207 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.208 = private constant [9 x i8] c"*Command\00" +@tn.str.209 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.210 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.211 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.212 = private constant [7 x i8] c"*Value\00" +@tn.str.213 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.214 = private constant [14 x i8] c"*Architecture\00" +@tn.str.215 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.216 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.217 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.218 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.219 = private constant [10 x i8] c"*[]string\00" +@tn.str.220 = private constant [6 x i8] c"*[]u8\00" +@tn.str.221 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.222 = private constant [11 x i8] c"*[]Command\00" +@tn.str.223 = private constant [6 x i8] c"**GPA\00" +@tn.str.224 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.225 = private constant [8 x i8] c"**Arena\00" +@tn.str.226 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.227 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.228 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.229 = private constant [7 x i8] c"**File\00" +@tn.str.230 = private constant [6 x i8] c"**i32\00" +@tn.str.231 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.232 = private constant [6 x i8] c"**u32\00" +@tn.str.233 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.234 = private constant [8 x i8] c"**Array\00" +@tn.str.235 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.236 = private constant [9 x i8] c"**Object\00" +@tn.str.237 = private constant [7 x i8] c"**Sink\00" +@tn.str.238 = private constant [9 x i8] c"**Parser\00" +@tn.str.239 = private constant [6 x i8] c"**i64\00" +@tn.str.240 = private constant [9 x i8] c"**Parsed\00" +@tn.str.241 = private constant [7 x i8] c"**Diag\00" +@tn.str.242 = private constant [9 x i8] c"**Sha256\00" +@tn.str.243 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.244 = private constant [8 x i8] c"***void\00" +@tn.str.245 = private constant [6 x i8] c"**f32\00" +@tn.str.246 = private constant [9 x i8] c"**string\00" +@tn.str.247 = private constant [6 x i8] c"**Any\00" +@tn.str.248 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.249 = private constant [8 x i8] c"**[]Any\00" +@tn.str.250 = private constant [5 x i8] c"**u8\00" +@tn.str.251 = private constant [7 x i8] c"**bool\00" +@tn.str.252 = private constant [7 x i8] c"*?File\00" +@tn.str.253 = private constant [9 x i8] c"*?string\00" +@tn.str.254 = private constant [10 x i8] c"*?cstring\00" +@tn.str.255 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.256 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [164 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 7 }, { ptr, i64 } { ptr @tn.str.112, i64 5 }, { ptr, i64 } { ptr @tn.str.113, i64 15 }, { ptr, i64 } { ptr @tn.str.114, i64 9 }, { ptr, i64 } { ptr @tn.str.115, i64 7 }, { ptr, i64 } { ptr @tn.str.116, i64 6 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 10 }, { ptr, i64 } { ptr @tn.str.119, i64 11 }, { ptr, i64 } { ptr @tn.str.120, i64 3 }, { ptr, i64 } { ptr @tn.str.121, i64 4 }, { ptr, i64 } { ptr @tn.str.122, i64 10 }, { ptr, i64 } { ptr @tn.str.123, i64 11 }, { ptr, i64 } { ptr @tn.str.124, i64 5 }, { ptr, i64 } { ptr @tn.str.125, i64 6 }, { ptr, i64 } { ptr @tn.str.126, i64 5 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 9 }, { ptr, i64 } { ptr @tn.str.129, i64 17 }, { ptr, i64 } { ptr @tn.str.130, i64 18 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 8 }, { ptr, i64 } { ptr @tn.str.133, i64 4 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 7 }, { ptr, i64 } { ptr @tn.str.137, i64 10 }, { ptr, i64 } { ptr @tn.str.138, i64 8 }, { ptr, i64 } { ptr @tn.str.139, i64 13 }, { ptr, i64 } { ptr @tn.str.140, i64 14 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 9 }, { ptr, i64 } { ptr @tn.str.144, i64 4 }, { ptr, i64 } { ptr @tn.str.145, i64 9 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 6 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 6 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 6 }, { ptr, i64 } { ptr @tn.str.152, i64 9 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 5 }, { ptr, i64 } { ptr @tn.str.157, i64 16 }, { ptr, i64 } { ptr @tn.str.158, i64 14 }, { ptr, i64 } { ptr @tn.str.159, i64 21 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 7 }, { ptr, i64 } { ptr @tn.str.162, i64 24 }, { ptr, i64 } { ptr @tn.str.163, i64 23 }, { ptr, i64 } { ptr @tn.str.164, i64 15 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 12 }, { ptr, i64 } { ptr @tn.str.167, i64 10 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 8 }, { ptr, i64 } { ptr @tn.str.171, i64 10 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 9 }, { ptr, i64 } { ptr @tn.str.174, i64 4 }, { ptr, i64 } { ptr @tn.str.175, i64 13 }, { ptr, i64 } { ptr @tn.str.176, i64 6 }, { ptr, i64 } { ptr @tn.str.177, i64 7 }, { ptr, i64 } { ptr @tn.str.178, i64 18 }, { ptr, i64 } { ptr @tn.str.179, i64 9 }, { ptr, i64 } { ptr @tn.str.180, i64 5 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 12 }, { ptr, i64 } { ptr @tn.str.188, i64 6 }, { ptr, i64 } { ptr @tn.str.189, i64 4 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 5 }, { ptr, i64 } { ptr @tn.str.192, i64 4 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 7 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 3 }, { ptr, i64 } { ptr @tn.str.197, i64 5 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 4 }, { ptr, i64 } { ptr @tn.str.200, i64 16 }, { ptr, i64 } { ptr @tn.str.201, i64 10 }, { ptr, i64 } { ptr @tn.str.202, i64 8 }, { ptr, i64 } { ptr @tn.str.203, i64 11 }, { ptr, i64 } { ptr @tn.str.204, i64 14 }, { ptr, i64 } { ptr @tn.str.205, i64 7 }, { ptr, i64 } { ptr @tn.str.206, i64 13 }, { ptr, i64 } { ptr @tn.str.207, i64 9 }, { ptr, i64 } { ptr @tn.str.208, i64 8 }, { ptr, i64 } { ptr @tn.str.209, i64 10 }, { ptr, i64 } { ptr @tn.str.210, i64 9 }, { ptr, i64 } { ptr @tn.str.211, i64 9 }, { ptr, i64 } { ptr @tn.str.212, i64 6 }, { ptr, i64 } { ptr @tn.str.213, i64 16 }, { ptr, i64 } { ptr @tn.str.214, i64 13 }, { ptr, i64 } { ptr @tn.str.215, i64 14 }, { ptr, i64 } { ptr @tn.str.216, i64 7 }, { ptr, i64 } { ptr @tn.str.217, i64 7 }, { ptr, i64 } { ptr @tn.str.218, i64 8 }, { ptr, i64 } { ptr @tn.str.219, i64 9 }, { ptr, i64 } { ptr @tn.str.220, i64 5 }, { ptr, i64 } { ptr @tn.str.221, i64 11 }, { ptr, i64 } { ptr @tn.str.222, i64 10 }, { ptr, i64 } { ptr @tn.str.223, i64 5 }, { ptr, i64 } { ptr @tn.str.224, i64 12 }, { ptr, i64 } { ptr @tn.str.225, i64 7 }, { ptr, i64 } { ptr @tn.str.226, i64 6 }, { ptr, i64 } { ptr @tn.str.227, i64 10 }, { ptr, i64 } { ptr @tn.str.228, i64 19 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 5 }, { ptr, i64 } { ptr @tn.str.231, i64 10 }, { ptr, i64 } { ptr @tn.str.232, i64 5 }, { ptr, i64 } { ptr @tn.str.233, i64 9 }, { ptr, i64 } { ptr @tn.str.234, i64 7 }, { ptr, i64 } { ptr @tn.str.235, i64 10 }, { ptr, i64 } { ptr @tn.str.236, i64 8 }, { ptr, i64 } { ptr @tn.str.237, i64 6 }, { ptr, i64 } { ptr @tn.str.238, i64 8 }, { ptr, i64 } { ptr @tn.str.239, i64 5 }, { ptr, i64 } { ptr @tn.str.240, i64 8 }, { ptr, i64 } { ptr @tn.str.241, i64 6 }, { ptr, i64 } { ptr @tn.str.242, i64 8 }, { ptr, i64 } { ptr @tn.str.243, i64 13 }, { ptr, i64 } { ptr @tn.str.244, i64 7 }, { ptr, i64 } { ptr @tn.str.245, i64 5 }, { ptr, i64 } { ptr @tn.str.246, i64 8 }, { ptr, i64 } { ptr @tn.str.247, i64 5 }, { ptr, i64 } { ptr @tn.str.248, i64 8 }, { ptr, i64 } { ptr @tn.str.249, i64 7 }, { ptr, i64 } { ptr @tn.str.250, i64 4 }, { ptr, i64 } { ptr @tn.str.251, i64 6 }, { ptr, i64 } { ptr @tn.str.252, i64 6 }, { ptr, i64 } { ptr @tn.str.253, i64 8 }, { ptr, i64 } { ptr @tn.str.254, i64 9 }, { ptr, i64 } { ptr @tn.str.255, i64 15 }, { ptr, i64 } { ptr @tn.str.256, i64 8 }] @str.257 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.258 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.259 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.260 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.261 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.262 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.263 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.264 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.265 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.266 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.267 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.268 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.260 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.261 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.262 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.263 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.264 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.265 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.266 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.267 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.268 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.269 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.270 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.271 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @str.272 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.273 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.274 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.275 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1 -@str.276 = private unnamed_addr constant [13 x i8] c"result = {}\0A\00", align 1 -@str.277 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.278 = private unnamed_addr constant [13 x i8] c"result = {}\0A\00", align 1 -@str.279 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.280 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.281 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.282 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.275 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.276 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.277 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.278 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1 +@str.279 = private unnamed_addr constant [13 x i8] c"result = {}\0A\00", align 1 +@str.280 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.281 = private unnamed_addr constant [13 x i8] c"result = {}\0A\00", align 1 +@str.282 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.283 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.284 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.285 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.283 = private constant [5 x i8] c"line\00" -@fld.str.284 = private constant [4 x i8] c"col\00" -@fld.str.285 = 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.283, i64 4 }, { ptr, i64 } { ptr @fld.str.284, i64 3 }, { ptr, i64 } { ptr @fld.str.285, i64 4 }] -@str.286 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.287 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.288 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.289 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.290 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.291 = private constant [4 x i8] c"ctx\00" -@fld.str.292 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.293 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.294 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.291, i64 3 }, { ptr, i64 } { ptr @fld.str.292, i64 11 }, { ptr, i64 } { ptr @fld.str.293, i64 13 }] -@str.295 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.296 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.297 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.298 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.299 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.300 = private constant [10 x i8] c"allocator\00" -@fld.str.301 = private constant [5 x i8] c"data\00" -@field_names.302 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.300, i64 9 }, { ptr, i64 } { ptr @fld.str.301, i64 4 }] -@str.303 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.304 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.305 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.306 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.307 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.308 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.309 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.310 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.311 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.312 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.313 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.314 = private constant [12 x i8] c"alloc_count\00" -@field_names.315 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.314, i64 11 }] -@str.316 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.317 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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.320 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.321 = private constant [5 x i8] c"next\00" -@fld.str.322 = private constant [4 x i8] c"cap\00" -@field_names.323 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.321, i64 4 }, { ptr, i64 } { ptr @fld.str.322, i64 3 }] -@str.324 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.325 = private unnamed_addr constant [6 x i8] c"Arena\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.328 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.329 = private constant [6 x i8] c"first\00" -@fld.str.330 = private constant [10 x i8] c"end_index\00" -@fld.str.331 = private constant [7 x i8] c"parent\00" -@field_names.332 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.329, i64 5 }, { ptr, i64 } { ptr @fld.str.330, i64 9 }, { ptr, i64 } { ptr @fld.str.331, i64 6 }] -@str.333 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.334 = private unnamed_addr constant [9 x i8] c"BufAlloc\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"buf\00" -@fld.str.339 = private constant [4 x i8] c"len\00" -@fld.str.340 = private constant [4 x i8] c"pos\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 3 }, { ptr, i64 } { ptr @fld.str.340, i64 3 }] -@str.342 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.343 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" -@fld.str.348 = private constant [12 x i8] c"alloc_count\00" -@fld.str.349 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.350 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.351 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.347, i64 6 }, { ptr, i64 } { ptr @fld.str.348, i64 11 }, { ptr, i64 } { ptr @fld.str.349, i64 13 }, { ptr, i64 } { ptr @fld.str.350, i64 17 }] -@str.352 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.353 = private unnamed_addr constant [5 x i8] c"File\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.357 = private constant [3 x i8] c"fd\00" -@field_names.358 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.357, i64 2 }] -@str.359 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.360 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" -@fld.str.365 = private constant [5 x i8] c"line\00" -@fld.str.366 = private constant [4 x i8] c"col\00" -@fld.str.367 = private constant [5 x i8] c"func\00" -@fld.str.368 = private constant [10 x i8] c"line_text\00" -@field_names.369 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.364, i64 4 }, { ptr, i64 } { ptr @fld.str.365, i64 4 }, { ptr, i64 } { ptr @fld.str.366, i64 3 }, { ptr, i64 } { ptr @fld.str.367, i64 4 }, { ptr, i64 } { ptr @fld.str.368, i64 9 }] -@str.370 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.371 = private unnamed_addr constant [14 x i8] c"ProcessResult\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"exit_code\00" -@fld.str.376 = private constant [7 x i8] c"stdout\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 6 }] -@str.378 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.379 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.384 = private constant [11 x i8] c"sin_family\00" -@fld.str.385 = private constant [9 x i8] c"sin_port\00" -@fld.str.386 = private constant [9 x i8] c"sin_addr\00" -@fld.str.387 = private constant [9 x i8] c"sin_zero\00" -@field_names.388 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.383, i64 7 }, { ptr, i64 } { ptr @fld.str.384, i64 10 }, { ptr, i64 } { ptr @fld.str.385, i64 8 }, { ptr, i64 } { ptr @fld.str.386, i64 8 }, { ptr, i64 } { ptr @fld.str.387, i64 8 }] -@str.389 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.390 = private unnamed_addr constant [6 x i8] c"Array\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"items\00" -@fld.str.395 = private constant [4 x i8] c"len\00" -@fld.str.396 = private constant [4 x i8] c"cap\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 3 }, { 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 [7 x i8] c"Object\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"items\00" -@fld.str.404 = private constant [4 x i8] c"len\00" -@fld.str.405 = private constant [4 x i8] c"cap\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 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 [7 x i8] c"Member\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"key\00" -@fld.str.413 = private constant [4 x i8] c"val\00" -@field_names.414 = private constant [2 x { ptr, i64 }] [{ 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 [5 x i8] c"Sink\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 [4 x i8] c"dst\00" -@fld.str.421 = private constant [4 x i8] c"pos\00" -@fld.str.422 = private constant [5 x i8] c"file\00" -@field_names.423 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.420, i64 3 }, { ptr, i64 } { ptr @fld.str.421, i64 3 }, { ptr, i64 } { ptr @fld.str.422, i64 4 }] -@str.424 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.425 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" -@fld.str.430 = private constant [4 x i8] c"pos\00" -@fld.str.431 = private constant [6 x i8] c"alloc\00" -@field_names.432 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.429, i64 3 }, { ptr, i64 } { ptr @fld.str.430, i64 3 }, { ptr, i64 } { ptr @fld.str.431, i64 5 }] -@str.433 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.434 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.438 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.439 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.440 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.441 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.442 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.443 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.444 = private constant [5 x i8] c"name\00" -@fld.str.445 = private constant [12 x i8] c"takes_value\00" -@fld.str.446 = private constant [9 x i8] c"required\00" -@field_names.447 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.444, i64 4 }, { ptr, i64 } { ptr @fld.str.445, i64 11 }, { 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 [8 x i8] c"Command\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"group\00" -@fld.str.454 = private constant [8 x i8] c"command\00" -@fld.str.455 = private constant [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.455, i64 5 }] -@str.457 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.458 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" -@fld.str.463 = private constant [6 x i8] c"value\00" -@field_names.464 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.462, i64 3 }, { ptr, i64 } { ptr @fld.str.463, i64 5 }] -@str.465 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.466 = private unnamed_addr constant [5 x i8] c"Diag\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"index\00" -@fld.str.471 = private constant [6 x i8] c"token\00" -@field_names.472 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.470, i64 5 }, { 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 [7 x i8] c"Parsed\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"group\00" -@fld.str.479 = private constant [8 x i8] c"command\00" -@fld.str.480 = private constant [10 x i8] c"cmd_index\00" -@fld.str.481 = private constant [5 x i8] c"json\00" -@fld.str.482 = private constant [5 x i8] c"rest\00" -@fld.str.483 = private constant [5 x i8] c"spec\00" -@fld.str.484 = private constant [7 x i8] c"values\00" -@field_names.485 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.478, i64 5 }, { ptr, i64 } { ptr @fld.str.479, i64 7 }, { ptr, i64 } { ptr @fld.str.480, i64 9 }, { ptr, i64 } { ptr @fld.str.481, i64 4 }, { ptr, i64 } { ptr @fld.str.482, i64 4 }, { ptr, i64 } { ptr @fld.str.483, i64 4 }, { ptr, i64 } { ptr @fld.str.484, i64 6 }] -@str.486 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.487 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" -@fld.str.492 = private constant [4 x i8] c"buf\00" -@fld.str.493 = private constant [8 x i8] c"buf_len\00" -@fld.str.494 = private constant [10 x i8] c"total_len\00" -@field_names.495 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.491, i64 1 }, { ptr, i64 } { ptr @fld.str.492, i64 3 }, { ptr, i64 } { ptr @fld.str.493, i64 7 }, { ptr, i64 } { ptr @fld.str.494, i64 9 }] -@str.496 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.497 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.498 = private constant [5 x i8] c"read\00" -@fld.str.499 = private constant [6 x i8] c"write\00" -@fld.str.500 = private constant [7 x i8] c"append\00" -@fld.str.501 = private constant [11 x i8] c"read_write\00" -@field_names.502 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.498, i64 4 }, { ptr, i64 } { ptr @fld.str.499, i64 5 }, { ptr, i64 } { ptr @fld.str.500, i64 6 }, { ptr, i64 } { ptr @fld.str.501, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.506 = private constant [4 x i8] c"set\00" -@fld.str.507 = private constant [8 x i8] c"current\00" -@fld.str.508 = private constant [4 x i8] c"end\00" -@field_names.509 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.506, i64 3 }, { ptr, i64 } { ptr @fld.str.507, i64 7 }, { ptr, i64 } { ptr @fld.str.508, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.513 = private constant [6 x i8] c"null_\00" -@fld.str.514 = private constant [6 x i8] c"bool_\00" -@fld.str.515 = private constant [5 x i8] c"int_\00" -@fld.str.516 = private constant [4 x i8] c"str\00" -@fld.str.517 = private constant [6 x i8] c"array\00" -@fld.str.518 = private constant [7 x i8] c"object\00" -@field_names.519 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.513, i64 5 }, { ptr, i64 } { ptr @fld.str.514, i64 5 }, { ptr, i64 } { ptr @fld.str.515, i64 4 }, { ptr, i64 } { ptr @fld.str.516, i64 3 }, { ptr, i64 } { ptr @fld.str.517, i64 5 }, { ptr, i64 } { ptr @fld.str.518, i64 6 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.523 = private constant [6 x i8] c"macos\00" -@fld.str.524 = private constant [6 x i8] c"linux\00" -@fld.str.525 = private constant [8 x i8] c"windows\00" -@fld.str.526 = private constant [5 x i8] c"wasm\00" -@fld.str.527 = private constant [4 x i8] c"ios\00" -@fld.str.528 = private constant [8 x i8] c"android\00" -@fld.str.529 = private constant [8 x i8] c"unknown\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 5 }, { ptr, i64 } { ptr @fld.str.525, i64 7 }, { ptr, i64 } { ptr @fld.str.526, i64 4 }, { ptr, i64 } { ptr @fld.str.527, i64 3 }, { ptr, i64 } { ptr @fld.str.528, i64 7 }, { ptr, i64 } { ptr @fld.str.529, i64 7 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.534 = private constant [8 x i8] c"aarch64\00" -@fld.str.535 = private constant [7 x i8] c"x86_64\00" -@fld.str.536 = private constant [7 x i8] c"wasm32\00" -@fld.str.537 = private constant [7 x i8] c"wasm64\00" -@fld.str.538 = private constant [8 x i8] c"unknown\00" -@field_names.539 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.534, i64 7 }, { ptr, i64 } { ptr @fld.str.535, i64 6 }, { ptr, i64 } { ptr @fld.str.536, i64 6 }, { ptr, i64 } { ptr @fld.str.537, i64 6 }, { ptr, i64 } { ptr @fld.str.538, i64 7 }] -@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 [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.286 = private constant [5 x i8] c"line\00" +@fld.str.287 = private constant [4 x i8] c"col\00" +@fld.str.288 = 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.286, i64 4 }, { ptr, i64 } { ptr @fld.str.287, i64 3 }, { ptr, i64 } { ptr @fld.str.288, i64 4 }] +@str.289 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.290 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.291 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.292 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.293 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.294 = private constant [4 x i8] c"ctx\00" +@fld.str.295 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.296 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.297 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.294, i64 3 }, { ptr, i64 } { ptr @fld.str.295, i64 11 }, { ptr, i64 } { ptr @fld.str.296, i64 13 }] +@str.298 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.299 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.300 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.301 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.302 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.303 = private constant [10 x i8] c"allocator\00" +@fld.str.304 = private constant [5 x i8] c"data\00" +@field_names.305 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.303, i64 9 }, { ptr, i64 } { ptr @fld.str.304, i64 4 }] +@str.306 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.307 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.308 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.309 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.310 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.311 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.312 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.313 = private unnamed_addr constant [4 x i8] c"GPA\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 +@fld.str.317 = private constant [12 x i8] c"alloc_count\00" +@field_names.318 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.317, i64 11 }] +@str.319 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.320 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" +@fld.str.325 = private constant [4 x i8] c"cap\00" +@field_names.326 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.324, i64 4 }, { ptr, i64 } { ptr @fld.str.325, i64 3 }] +@str.327 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.328 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.329 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.330 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.331 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.332 = private constant [6 x i8] c"first\00" +@fld.str.333 = private constant [10 x i8] c"end_index\00" +@fld.str.334 = private constant [7 x i8] c"parent\00" +@field_names.335 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.332, i64 5 }, { ptr, i64 } { ptr @fld.str.333, i64 9 }, { ptr, i64 } { ptr @fld.str.334, i64 6 }] +@str.336 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.337 = private unnamed_addr constant [9 x i8] c"BufAlloc\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.341 = private constant [4 x i8] c"buf\00" +@fld.str.342 = private constant [4 x i8] c"len\00" +@fld.str.343 = private constant [4 x i8] c"pos\00" +@field_names.344 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.341, i64 3 }, { ptr, i64 } { ptr @fld.str.342, i64 3 }, { ptr, i64 } { ptr @fld.str.343, i64 3 }] +@str.345 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.346 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" +@fld.str.351 = private constant [12 x i8] c"alloc_count\00" +@fld.str.352 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.353 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.354 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.350, i64 6 }, { ptr, i64 } { ptr @fld.str.351, i64 11 }, { ptr, i64 } { ptr @fld.str.352, i64 13 }, { ptr, i64 } { ptr @fld.str.353, i64 17 }] +@str.355 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.356 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" +@field_names.361 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.360, i64 2 }] +@str.362 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.363 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" +@fld.str.368 = private constant [5 x i8] c"line\00" +@fld.str.369 = private constant [4 x i8] c"col\00" +@fld.str.370 = private constant [5 x i8] c"func\00" +@fld.str.371 = private constant [10 x i8] c"line_text\00" +@field_names.372 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.367, i64 4 }, { ptr, i64 } { ptr @fld.str.368, i64 4 }, { ptr, i64 } { ptr @fld.str.369, i64 3 }, { ptr, i64 } { ptr @fld.str.370, i64 4 }, { ptr, i64 } { ptr @fld.str.371, i64 9 }] +@str.373 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.374 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" +@fld.str.379 = private constant [7 x i8] c"stdout\00" +@field_names.380 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.378, i64 9 }, { ptr, i64 } { ptr @fld.str.379, i64 6 }] +@str.381 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.382 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" +@fld.str.387 = private constant [11 x i8] c"sin_family\00" +@fld.str.388 = private constant [9 x i8] c"sin_port\00" +@fld.str.389 = private constant [9 x i8] c"sin_addr\00" +@fld.str.390 = private constant [9 x i8] c"sin_zero\00" +@field_names.391 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.386, i64 7 }, { ptr, i64 } { ptr @fld.str.387, i64 10 }, { ptr, i64 } { ptr @fld.str.388, i64 8 }, { ptr, i64 } { ptr @fld.str.389, i64 8 }, { ptr, i64 } { ptr @fld.str.390, i64 8 }] +@str.392 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.393 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" +@fld.str.398 = private constant [4 x i8] c"len\00" +@fld.str.399 = private constant [4 x i8] c"cap\00" +@field_names.400 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.397, i64 5 }, { 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 [7 x i8] c"Object\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 [6 x i8] c"items\00" +@fld.str.407 = private constant [4 x i8] c"len\00" +@fld.str.408 = private constant [4 x i8] c"cap\00" +@field_names.409 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.406, i64 5 }, { ptr, i64 } { ptr @fld.str.407, i64 3 }, { ptr, i64 } { ptr @fld.str.408, i64 3 }] +@str.410 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.411 = private unnamed_addr constant [7 x i8] c"Member\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 [4 x i8] c"key\00" +@fld.str.416 = private constant [4 x i8] c"val\00" +@field_names.417 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.415, i64 3 }, { 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 [5 x i8] c"Sink\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 [4 x i8] c"dst\00" +@fld.str.424 = private constant [4 x i8] c"pos\00" +@fld.str.425 = private constant [5 x i8] c"file\00" +@field_names.426 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.423, i64 3 }, { ptr, i64 } { ptr @fld.str.424, i64 3 }, { ptr, i64 } { ptr @fld.str.425, i64 4 }] +@str.427 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.428 = private unnamed_addr constant [7 x i8] c"Parser\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"src\00" +@fld.str.433 = private constant [4 x i8] c"pos\00" +@fld.str.434 = private constant [6 x i8] c"alloc\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 5 }] +@str.436 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.437 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 +@field_names.441 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.442 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.443 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" +@fld.str.448 = private constant [12 x i8] c"takes_value\00" +@fld.str.449 = private constant [9 x i8] c"required\00" +@field_names.450 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.447, i64 4 }, { ptr, i64 } { ptr @fld.str.448, i64 11 }, { 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 [8 x i8] c"Command\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"group\00" +@fld.str.457 = private constant [8 x i8] c"command\00" +@fld.str.458 = private constant [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.458, i64 5 }] +@str.460 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.461 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" +@fld.str.466 = private constant [6 x i8] c"value\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 5 }] +@str.468 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.469 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" +@fld.str.474 = private constant [6 x i8] c"token\00" +@field_names.475 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.473, i64 5 }, { ptr, i64 } { ptr @fld.str.474, i64 5 }] +@str.476 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.477 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.478 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.479 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.480 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.481 = private constant [6 x i8] c"group\00" +@fld.str.482 = private constant [8 x i8] c"command\00" +@fld.str.483 = private constant [10 x i8] c"cmd_index\00" +@fld.str.484 = private constant [5 x i8] c"json\00" +@fld.str.485 = private constant [5 x i8] c"rest\00" +@fld.str.486 = private constant [5 x i8] c"spec\00" +@fld.str.487 = private constant [7 x i8] c"values\00" +@field_names.488 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.481, i64 5 }, { ptr, i64 } { ptr @fld.str.482, i64 7 }, { ptr, i64 } { ptr @fld.str.483, i64 9 }, { ptr, i64 } { ptr @fld.str.484, i64 4 }, { ptr, i64 } { ptr @fld.str.485, i64 4 }, { ptr, i64 } { ptr @fld.str.486, i64 4 }, { ptr, i64 } { ptr @fld.str.487, i64 6 }] +@str.489 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.490 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" +@fld.str.495 = private constant [4 x i8] c"buf\00" +@fld.str.496 = private constant [8 x i8] c"buf_len\00" +@fld.str.497 = private constant [10 x i8] c"total_len\00" +@field_names.498 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.494, i64 1 }, { ptr, i64 } { ptr @fld.str.495, i64 3 }, { ptr, i64 } { ptr @fld.str.496, i64 7 }, { ptr, i64 } { ptr @fld.str.497, i64 9 }] +@str.499 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.500 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.501 = private constant [5 x i8] c"read\00" +@fld.str.502 = private constant [6 x i8] c"write\00" +@fld.str.503 = private constant [7 x i8] c"append\00" +@fld.str.504 = private constant [11 x i8] c"read_write\00" +@field_names.505 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.501, i64 4 }, { ptr, i64 } { ptr @fld.str.502, i64 5 }, { ptr, i64 } { ptr @fld.str.503, i64 6 }, { ptr, i64 } { ptr @fld.str.504, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.509 = private constant [4 x i8] c"set\00" +@fld.str.510 = private constant [8 x i8] c"current\00" +@fld.str.511 = private constant [4 x i8] c"end\00" +@field_names.512 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.509, i64 3 }, { ptr, i64 } { ptr @fld.str.510, i64 7 }, { ptr, i64 } { ptr @fld.str.511, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.516 = private constant [6 x i8] c"null_\00" +@fld.str.517 = private constant [6 x i8] c"bool_\00" +@fld.str.518 = private constant [5 x i8] c"int_\00" +@fld.str.519 = private constant [4 x i8] c"str\00" +@fld.str.520 = private constant [6 x i8] c"array\00" +@fld.str.521 = private constant [7 x i8] c"object\00" +@field_names.522 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.516, i64 5 }, { ptr, i64 } { ptr @fld.str.517, i64 5 }, { ptr, i64 } { ptr @fld.str.518, i64 4 }, { ptr, i64 } { ptr @fld.str.519, i64 3 }, { ptr, i64 } { ptr @fld.str.520, i64 5 }, { ptr, i64 } { ptr @fld.str.521, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.526 = private constant [6 x i8] c"macos\00" +@fld.str.527 = private constant [6 x i8] c"linux\00" +@fld.str.528 = private constant [8 x i8] c"windows\00" +@fld.str.529 = private constant [5 x i8] c"wasm\00" +@fld.str.530 = private constant [4 x i8] c"ios\00" +@fld.str.531 = private constant [8 x i8] c"android\00" +@fld.str.532 = private constant [8 x i8] c"unknown\00" +@field_names.533 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.526, i64 5 }, { ptr, i64 } { ptr @fld.str.527, i64 5 }, { ptr, i64 } { ptr @fld.str.528, i64 7 }, { ptr, i64 } { ptr @fld.str.529, i64 4 }, { ptr, i64 } { ptr @fld.str.530, i64 3 }, { ptr, i64 } { ptr @fld.str.531, i64 7 }, { ptr, i64 } { ptr @fld.str.532, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.537 = private constant [8 x i8] c"aarch64\00" +@fld.str.538 = private constant [7 x i8] c"x86_64\00" +@fld.str.539 = private constant [7 x i8] c"wasm32\00" +@fld.str.540 = private constant [7 x i8] c"wasm64\00" +@fld.str.541 = private constant [8 x i8] c"unknown\00" +@field_names.542 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.537, i64 7 }, { ptr, i64 } { ptr @fld.str.538, i64 6 }, { ptr, i64 } { ptr @fld.str.539, i64 6 }, { ptr, i64 } { ptr @fld.str.540, i64 6 }, { ptr, i64 } { ptr @fld.str.541, i64 7 }] +@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 [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 @@ -508,35 +508,35 @@ @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 -@str.575 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.576 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.577 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@str.575 = private unnamed_addr constant [2 x i8] c"[\00", align 1 +@str.576 = private unnamed_addr constant [2 x i8] c"]\00", align 1 +@str.577 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.578 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.579 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.579 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.580 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.581 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.582 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.582 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.583 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.584 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.585 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.585 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.586 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.587 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.588 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.588 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.589 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.590 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.591 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 +@str.591 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.592 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.593 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.594 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 +@str.594 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.595 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.596 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.597 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.597 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.598 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.599 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.600 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.600 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.601 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.602 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.603 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.603 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.604 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.605 = private unnamed_addr constant [5 x i8] c"null\00", align 1 @str.606 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @@ -599,12 +599,16 @@ @str.663 = private unnamed_addr constant [7 x i8] c"*[]Any\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 [6 x i8] c"*bool\00", align 1 +@str.666 = private unnamed_addr constant [4 x i8] c"*u8\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"null\00", align 1 -@str.670 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.669 = private unnamed_addr constant [6 x i8] c"*bool\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"null\00", align 1 +@str.673 = private unnamed_addr constant [5 x i8] c"null\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"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -621,7 +625,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -672,7 +676,7 @@ if.merge.20: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -762,7 +766,7 @@ if.merge.62: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.71 @@ -965,7 +969,7 @@ if.merge.96: ; preds = %if.else.95, %if.the %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1208,7 +1212,7 @@ if.merge.375: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1280,7 +1284,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1311,7 +1315,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1326,6 +1330,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1368,85 +1381,86 @@ entry: i64 1, label %match.arm.46 i64 10, label %match.arm.47 i64 11, label %match.arm.47 - i64 19, label %match.arm.48 i64 20, label %match.arm.48 i64 21, label %match.arm.48 - i64 24, label %match.arm.48 - i64 26, label %match.arm.48 - i64 28, label %match.arm.48 - i64 30, label %match.arm.48 - i64 33, label %match.arm.48 - i64 35, label %match.arm.48 - i64 39, label %match.arm.48 - i64 43, label %match.arm.48 - i64 45, label %match.arm.48 - i64 48, label %match.arm.48 - i64 52, label %match.arm.48 + i64 22, label %match.arm.48 + i64 25, label %match.arm.48 + i64 27, label %match.arm.48 + i64 29, label %match.arm.48 + i64 31, label %match.arm.48 + i64 34, label %match.arm.48 + i64 36, label %match.arm.48 + i64 40, label %match.arm.48 + i64 44, label %match.arm.48 + i64 46, label %match.arm.48 + i64 49, label %match.arm.48 i64 53, label %match.arm.48 - i64 55, label %match.arm.48 - i64 61, label %match.arm.48 - i64 66, label %match.arm.48 - i64 72, label %match.arm.48 - i64 76, label %match.arm.48 - i64 78, label %match.arm.48 + i64 54, label %match.arm.48 + i64 56, label %match.arm.48 + i64 62, label %match.arm.48 + i64 67, label %match.arm.48 + i64 73, label %match.arm.48 + i64 77, label %match.arm.48 i64 79, label %match.arm.48 i64 80, label %match.arm.48 - i64 82, label %match.arm.48 - i64 89, label %match.arm.48 - i64 37, label %match.arm.49 + i64 81, label %match.arm.48 + i64 83, label %match.arm.48 + i64 90, label %match.arm.48 i64 38, label %match.arm.49 - i64 54, label %match.arm.49 - i64 70, label %match.arm.49 + i64 39, label %match.arm.49 + i64 55, label %match.arm.49 i64 71, label %match.arm.49 - i64 51, label %match.arm.50 - i64 64, label %match.arm.50 - i64 75, label %match.arm.50 - i64 22, label %match.arm.52 - i64 81, label %match.arm.52 - i64 87, label %match.arm.52 + i64 72, label %match.arm.49 + i64 52, label %match.arm.50 + i64 65, label %match.arm.50 + i64 76, label %match.arm.50 + i64 23, label %match.arm.52 + i64 82, label %match.arm.52 i64 88, label %match.arm.52 - i64 92, label %match.arm.52 - i64 99, label %match.arm.52 - i64 23, label %match.arm.53 - i64 60, label %match.arm.53 - i64 77, label %match.arm.53 - i64 85, label %match.arm.53 - i64 97, label %match.arm.53 - i64 18, label %match.arm.54 - i64 25, label %match.arm.54 - i64 27, label %match.arm.54 - i64 29, label %match.arm.54 - i64 31, label %match.arm.54 + i64 89, label %match.arm.52 + i64 93, label %match.arm.52 + i64 100, label %match.arm.52 + i64 24, label %match.arm.53 + i64 61, label %match.arm.53 + i64 78, label %match.arm.53 + i64 86, label %match.arm.53 + i64 98, label %match.arm.53 + i64 19, label %match.arm.54 + i64 26, label %match.arm.54 + i64 28, label %match.arm.54 + i64 30, label %match.arm.54 i64 32, label %match.arm.54 - i64 34, label %match.arm.54 - i64 36, label %match.arm.54 - i64 40, label %match.arm.54 - i64 44, label %match.arm.54 - i64 47, label %match.arm.54 - i64 49, label %match.arm.54 + i64 33, label %match.arm.54 + i64 35, label %match.arm.54 + i64 37, label %match.arm.54 + i64 41, label %match.arm.54 + i64 48, label %match.arm.54 i64 50, label %match.arm.54 - i64 56, label %match.arm.54 + i64 51, label %match.arm.54 i64 57, label %match.arm.54 i64 58, label %match.arm.54 i64 59, label %match.arm.54 - i64 62, label %match.arm.54 - i64 67, label %match.arm.54 - i64 74, label %match.arm.54 - i64 83, label %match.arm.54 - i64 86, label %match.arm.54 - i64 90, label %match.arm.54 - i64 93, label %match.arm.54 + i64 60, label %match.arm.54 + i64 63, label %match.arm.54 + i64 68, label %match.arm.54 + i64 75, label %match.arm.54 + i64 84, label %match.arm.54 + i64 87, label %match.arm.54 + i64 91, label %match.arm.54 i64 94, label %match.arm.54 i64 95, label %match.arm.54 i64 96, label %match.arm.54 - i64 98, label %match.arm.54 - i64 100, label %match.arm.54 + i64 97, label %match.arm.54 + i64 99, label %match.arm.54 i64 101, label %match.arm.54 i64 102, label %match.arm.54 - i64 41, label %match.arm.55 + i64 103, label %match.arm.54 + i64 104, label %match.arm.54 i64 42, label %match.arm.55 - i64 46, label %match.arm.55 - i64 91, label %match.arm.55 + i64 43, label %match.arm.55 + i64 45, label %match.arm.55 + i64 47, label %match.arm.55 + i64 92, label %match.arm.55 i64 13, label %match.arm.56 ] @@ -1464,7 +1478,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 [161 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [164 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 @@ -1497,31 +1511,31 @@ match.arm.48: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.100 [ - i64 19, label %dispatch.case.101 - i64 20, label %dispatch.case.102 - i64 21, label %dispatch.case.103 - i64 24, label %dispatch.case.104 - i64 26, label %dispatch.case.105 - i64 28, label %dispatch.case.106 - i64 30, label %dispatch.case.107 - i64 33, label %dispatch.case.108 - i64 35, label %dispatch.case.109 - i64 39, label %dispatch.case.110 - i64 43, label %dispatch.case.111 - i64 45, label %dispatch.case.112 - i64 48, label %dispatch.case.113 - i64 52, label %dispatch.case.114 - i64 53, label %dispatch.case.115 - i64 55, label %dispatch.case.116 - i64 61, label %dispatch.case.117 - i64 66, label %dispatch.case.118 - i64 72, label %dispatch.case.119 - i64 76, label %dispatch.case.120 - i64 78, label %dispatch.case.121 - i64 79, label %dispatch.case.122 - i64 80, label %dispatch.case.123 - i64 82, label %dispatch.case.124 - i64 89, label %dispatch.case.125 + i64 20, label %dispatch.case.101 + i64 21, label %dispatch.case.102 + i64 22, label %dispatch.case.103 + i64 25, label %dispatch.case.104 + i64 27, label %dispatch.case.105 + i64 29, label %dispatch.case.106 + i64 31, label %dispatch.case.107 + i64 34, label %dispatch.case.108 + i64 36, label %dispatch.case.109 + i64 40, label %dispatch.case.110 + i64 44, label %dispatch.case.111 + i64 46, label %dispatch.case.112 + i64 49, label %dispatch.case.113 + i64 53, label %dispatch.case.114 + i64 54, label %dispatch.case.115 + i64 56, label %dispatch.case.116 + i64 62, label %dispatch.case.117 + i64 67, label %dispatch.case.118 + i64 73, label %dispatch.case.119 + i64 77, label %dispatch.case.120 + i64 79, label %dispatch.case.121 + i64 80, label %dispatch.case.122 + i64 81, label %dispatch.case.123 + i64 83, label %dispatch.case.124 + i64 90, label %dispatch.case.125 ] match.arm.49: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1529,11 +1543,11 @@ match.arm.49: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.252 [ - i64 37, label %dispatch.case.253 - i64 38, label %dispatch.case.254 - i64 54, label %dispatch.case.255 - i64 70, label %dispatch.case.256 - i64 71, label %dispatch.case.257 + i64 38, label %dispatch.case.253 + i64 39, label %dispatch.case.254 + i64 55, label %dispatch.case.255 + i64 71, label %dispatch.case.256 + i64 72, label %dispatch.case.257 ] match.arm.50: ; preds = %entry, %entry, %entry @@ -1556,12 +1570,12 @@ match.arm.52: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.269 [ - i64 22, label %dispatch.case.270 - i64 81, label %dispatch.case.271 - i64 87, label %dispatch.case.272 - i64 88, label %dispatch.case.273 - i64 92, label %dispatch.case.274 - i64 99, label %dispatch.case.275 + i64 23, label %dispatch.case.270 + i64 82, label %dispatch.case.271 + i64 88, label %dispatch.case.272 + i64 89, label %dispatch.case.273 + i64 93, label %dispatch.case.274 + i64 100, label %dispatch.case.275 ] match.arm.53: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1569,11 +1583,11 @@ match.arm.53: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.307 [ - i64 23, label %dispatch.case.308 - i64 60, label %dispatch.case.309 - i64 77, label %dispatch.case.310 - i64 85, label %dispatch.case.311 - i64 97, label %dispatch.case.312 + i64 24, label %dispatch.case.308 + i64 61, label %dispatch.case.309 + i64 78, label %dispatch.case.310 + i64 86, label %dispatch.case.311 + i64 98, label %dispatch.case.312 ] 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 @@ -1581,48 +1595,49 @@ match.arm.54: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.339 [ - i64 18, label %dispatch.case.340 - i64 25, label %dispatch.case.341 - i64 27, label %dispatch.case.342 - i64 29, label %dispatch.case.343 - i64 31, label %dispatch.case.344 - i64 32, label %dispatch.case.345 - i64 34, label %dispatch.case.346 - i64 36, label %dispatch.case.347 - i64 40, label %dispatch.case.348 - i64 44, label %dispatch.case.349 - i64 47, label %dispatch.case.350 - i64 49, label %dispatch.case.351 - i64 50, label %dispatch.case.352 - i64 56, label %dispatch.case.353 - i64 57, label %dispatch.case.354 - i64 58, label %dispatch.case.355 - i64 59, label %dispatch.case.356 - i64 62, label %dispatch.case.357 - i64 67, label %dispatch.case.358 - i64 74, label %dispatch.case.359 - i64 83, label %dispatch.case.360 - i64 86, label %dispatch.case.361 - i64 90, label %dispatch.case.362 - i64 93, label %dispatch.case.363 - i64 94, label %dispatch.case.364 - i64 95, label %dispatch.case.365 - i64 96, label %dispatch.case.366 - i64 98, label %dispatch.case.367 - i64 100, label %dispatch.case.368 - i64 101, label %dispatch.case.369 - i64 102, label %dispatch.case.370 + i64 19, label %dispatch.case.340 + i64 26, label %dispatch.case.341 + i64 28, label %dispatch.case.342 + i64 30, label %dispatch.case.343 + i64 32, label %dispatch.case.344 + i64 33, label %dispatch.case.345 + i64 35, label %dispatch.case.346 + i64 37, label %dispatch.case.347 + i64 41, label %dispatch.case.348 + i64 48, label %dispatch.case.349 + i64 50, label %dispatch.case.350 + i64 51, label %dispatch.case.351 + i64 57, label %dispatch.case.352 + i64 58, label %dispatch.case.353 + i64 59, label %dispatch.case.354 + i64 60, label %dispatch.case.355 + i64 63, label %dispatch.case.356 + i64 68, label %dispatch.case.357 + i64 75, label %dispatch.case.358 + i64 84, label %dispatch.case.359 + i64 87, label %dispatch.case.360 + i64 91, label %dispatch.case.361 + i64 94, label %dispatch.case.362 + i64 95, label %dispatch.case.363 + i64 96, label %dispatch.case.364 + i64 97, label %dispatch.case.365 + i64 99, label %dispatch.case.366 + i64 101, label %dispatch.case.367 + i64 102, label %dispatch.case.368 + i64 103, label %dispatch.case.369 + i64 104, label %dispatch.case.370 ] -match.arm.55: ; preds = %entry, %entry, %entry, %entry +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.478 [ - i64 41, label %dispatch.case.479 - i64 42, label %dispatch.case.480 - i64 46, label %dispatch.case.481 - i64 91, label %dispatch.case.482 + i64 42, label %dispatch.case.479 + i64 43, label %dispatch.case.480 + i64 45, label %dispatch.case.481 + i64 47, label %dispatch.case.482 + i64 92, label %dispatch.case.483 ] match.arm.56: ; preds = %entry @@ -1631,7 +1646,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 [161 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [164 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 @@ -1682,7 +1697,7 @@ dispatch.merge.99: ; preds = %dispatch.case.125, br label %match.merge.42 dispatch.default.100: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.254, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.257, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.99 dispatch.case.101: ; preds = %match.arm.48 @@ -1891,7 +1906,7 @@ dispatch.merge.251: ; preds = %dispatch.case.257, br label %match.merge.42 dispatch.default.252: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.255, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.258, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.251 dispatch.case.253: ; preds = %match.arm.49 @@ -1932,7 +1947,7 @@ dispatch.merge.268: ; preds = %dispatch.case.275, br label %match.merge.42 dispatch.default.269: ; preds = %match.arm.52 - store { ptr, i64 } { ptr @str.256, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.259, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.268 dispatch.case.270: ; preds = %match.arm.52 @@ -1989,7 +2004,7 @@ dispatch.merge.306: ; preds = %dispatch.case.312, br label %match.merge.42 dispatch.default.307: ; preds = %match.arm.53 - store { ptr, i64 } { ptr @str.257, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.260, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.306 dispatch.case.308: ; preds = %match.arm.53 @@ -2038,7 +2053,7 @@ dispatch.merge.338: ; preds = %dispatch.case.370, br label %match.merge.42 dispatch.default.339: ; preds = %match.arm.54 - store { ptr, i64 } { ptr @str.258, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.261, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.340: ; preds = %match.arm.54 @@ -2107,147 +2122,147 @@ dispatch.case.348: ; preds = %match.arm.54 dispatch.case.349: ; 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_u8(ptr %0, ptr %iNp247) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp247) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.350: ; 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_i32(ptr %0, ptr %iNp250) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp250) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.351: ; 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_SockAddr(ptr %0, ptr %iNp253) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp253) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.352: ; 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_u32(ptr %0, ptr %iNp256) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp256) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.353: ; 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_Value(ptr %0, ptr %iNp259) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp259) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.354: ; 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_Array(ptr %0, ptr %iNp262) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp262) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.355: ; 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__mptr_Member(ptr %0, ptr %iNp265) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp265) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.356: ; 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_Object(ptr %0, ptr %iNp268) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp268) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.357: ; 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_Sink(ptr %0, ptr %iNp271) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp271) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.358: ; 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_Parser(ptr %0, ptr %iNp274) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp274) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.359: ; 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_i64(ptr %0, ptr %iNp277) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp277) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.360: ; 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__ptr_Parsed(ptr %0, ptr %iNp280) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp280) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.361: ; 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_Diag(ptr %0, ptr %iNp283) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp283) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.362: ; 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__ptr_Sha256(ptr %0, ptr %iNp286) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp286) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.363: ; 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_ptr_CAllocator(ptr %0, ptr %iNp289) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp289) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.364: ; 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_ptr_void(ptr %0, ptr %iNp292) + %callN = call { ptr, i64 } @pointer_to_string__ptr_f32(ptr %0, ptr %iNp292) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.365: ; 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_f32(ptr %0, ptr %iNp295) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp295) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.366: ; 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_string(ptr %0, ptr %iNp298) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp298) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.367: ; 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_Any(ptr %0, ptr %iNp301) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp301) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.368: ; 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_AR_1_Any(ptr %0, ptr %iNp304) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp304) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 dispatch.case.369: ; 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_SL_Any(ptr %0, ptr %iNp307) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp307) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 @@ -2258,13 +2273,13 @@ dispatch.case.370: ; preds = %match.arm.54 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.338 -dispatch.merge.477: ; preds = %dispatch.case.482, %dispatch.case.481, %dispatch.case.480, %dispatch.case.479, %dispatch.default.478 +dispatch.merge.477: ; preds = %dispatch.case.483, %dispatch.case.482, %dispatch.case.481, %dispatch.case.480, %dispatch.case.479, %dispatch.default.478 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.42 dispatch.default.478: ; preds = %match.arm.55 - store { ptr, i64 } { ptr @str.259, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.262, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.477 dispatch.case.479: ; preds = %match.arm.55 @@ -2285,17 +2300,24 @@ dispatch.case.480: ; preds = %match.arm.55 dispatch.case.481: ; preds = %match.arm.55 %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr322 = inttoptr i64 %ua.raw321 to ptr - %ua.load323 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr322, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load323) + %iNp322 = inttoptr i64 %ua.raw321 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp322) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.477 dispatch.case.482: ; preds = %match.arm.55 - %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr326 = inttoptr i64 %ua.raw325 to ptr - %ua.load327 = load { [64 x i8], i1 }, ptr %ua.ptr326, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load327) + %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr325 = inttoptr i64 %ua.raw324 to ptr + %ua.load326 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr325, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load326) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.477 + +dispatch.case.483: ; preds = %match.arm.55 + %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr329 = inttoptr i64 %ua.raw328 to ptr + %ua.load330 = load { [64 x i8], i1 }, ptr %ua.ptr329, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load330) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.477 } @@ -2306,7 +2328,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.260, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.263, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2402,7 +2424,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.261, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.264, 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 @@ -2410,7 +2432,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.262, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.265, 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 @@ -2420,13 +2442,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.263, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.266, 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.264, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.267, 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 @@ -2434,7 +2456,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.265, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.268, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2448,7 +2470,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.266, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.269, 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 @@ -2456,7 +2478,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.267, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.270, 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 @@ -2467,7 +2489,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.268, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.271, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2524,7 +2546,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.269, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.272, 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 @@ -2532,7 +2554,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.270, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.273, 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 @@ -2543,7 +2565,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.271, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.274, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2563,7 +2585,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.272, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.275, 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 @@ -2571,7 +2593,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.273, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.276, 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 @@ -2582,7 +2604,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.274, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.277, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.41 @@ -2803,9 +2825,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3336,7 +3355,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.275, i64 3) + %0 = call i64 @write(i32 1, ptr @str.278, i64 3) br label %if.merge.1 if.merge.1: ; preds = %if.then.0, %entry @@ -3377,7 +3396,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.276, i64 12 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.279, 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 @@ -3394,7 +3413,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.277, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.280, 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) @@ -3423,7 +3442,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.278, i64 12 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.281, i64 12 }) ret { ptr, i64 } %call } @@ -3434,7 +3453,7 @@ 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.279, i64 15 }, { ptr, i64 } { ptr @str.280, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.282, i64 15 }, { ptr, i64 } { ptr @str.283, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3453,12 +3472,12 @@ while.body.127: ; preds = %while.hdr.126 while.exit.128: ; preds = %while.hdr.126 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.281, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.284, i64 1 }) ret { ptr, i64 } %callN if.then.129: ; preds = %while.body.127 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.282, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.285, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.130 @@ -3470,7 +3489,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.286, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.289, 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 @@ -3527,7 +3546,7 @@ 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.287, i64 9 }, { ptr, i64 } { ptr @str.288, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.290, i64 9 }, { ptr, i64 } { ptr @str.291, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3546,24 +3565,24 @@ while.body.132: ; preds = %while.hdr.131 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.289, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.292, i64 1 }) ret { ptr, i64 } %callN 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.290, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.293, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.135 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 [3 x { ptr, i64 }], ptr @field_names.294, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.297, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.298, 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 @@ -3590,19 +3609,19 @@ fv.default: ; preds = %if.merge.135 fv.case: ; preds = %if.merge.135 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.135 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge fv.case21: ; preds = %if.merge.135 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -3612,7 +3631,7 @@ 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.296, i64 7 }, { ptr, i64 } { ptr @str.297, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.299, i64 7 }, { ptr, i64 } { ptr @str.300, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3631,24 +3650,24 @@ while.body.137: ; preds = %while.hdr.136 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.298, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.301, i64 1 }) ret { ptr, i64 } %callN 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.299, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.302, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.140 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 [2 x { ptr, i64 }], ptr @field_names.302, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.305, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.306, 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 @@ -3675,13 +3694,13 @@ fv.case: ; preds = %if.merge.140 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.140 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 - %fv.val19 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -3690,7 +3709,7 @@ 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.304, i64 10 }, { ptr, i64 } { ptr @str.305, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.307, i64 10 }, { ptr, i64 } { ptr @str.308, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3709,24 +3728,24 @@ while.body.142: ; preds = %while.hdr.141 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.306, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.309, i64 1 }) ret { ptr, i64 } %callN 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.307, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.310, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.145 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 [0 x { ptr, i64 }], ptr @field_names.308, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.311, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.312, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -3745,7 +3764,7 @@ 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.310, i64 3 }, { ptr, i64 } { ptr @str.311, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.313, i64 3 }, { ptr, i64 } { ptr @str.314, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3764,24 +3783,24 @@ while.body.147: ; preds = %while.hdr.146 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.312, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.315, i64 1 }) ret { ptr, i64 } %callN 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.313, 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 br label %if.merge.150 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 [1 x { ptr, i64 }], ptr @field_names.315, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.318, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.319, 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 @@ -3814,7 +3833,7 @@ 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.317, i64 10 }, { ptr, i64 } { ptr @str.318, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.320, i64 10 }, { ptr, i64 } { ptr @str.321, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3833,24 +3852,24 @@ while.body.152: ; preds = %while.hdr.151 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.319, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, i64 1 }) ret { ptr, i64 } %callN 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.320, 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 br label %if.merge.155 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.323, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.326, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.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 @@ -3876,7 +3895,7 @@ fv.default: ; preds = %if.merge.155 fv.case: ; preds = %if.merge.155 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.155 @@ -3891,7 +3910,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.325, i64 5 }, { ptr, i64 } { ptr @str.326, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.328, i64 5 }, { ptr, i64 } { ptr @str.329, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3910,24 +3929,24 @@ while.body.157: ; preds = %while.hdr.156 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.327, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.330, 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.328, 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 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.332, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.335, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.336, 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 @@ -3954,7 +3973,7 @@ fv.default: ; preds = %if.merge.160 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 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.160 @@ -3966,7 +3985,7 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -3975,7 +3994,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.334, i64 8 }, { ptr, i64 } { ptr @str.335, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.337, i64 8 }, { 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 @@ -3994,24 +4013,24 @@ 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.336, 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.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.337, 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.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.341, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.344, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.345, 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 @@ -4038,7 +4057,7 @@ fv.default: ; preds = %if.merge.165 fv.case: ; preds = %if.merge.165 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.165 @@ -4058,7 +4077,7 @@ 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.343, i64 17 }, { ptr, i64 } { ptr @str.344, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.346, i64 17 }, { 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 @@ -4077,24 +4096,24 @@ 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.345, 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.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.346, 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.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 [4 x { ptr, i64 }], ptr @field_names.351, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.352, 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 }, i64, i64, i64 }, ptr %alloca, align 8 @@ -4123,7 +4142,7 @@ fv.case: ; preds = %if.merge.170 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.170 @@ -4147,7 +4166,7 @@ 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.353, i64 4 }, { ptr, i64 } { ptr @str.354, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.356, i64 4 }, { 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 @@ -4166,24 +4185,24 @@ 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.355, 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.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.356, 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.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 [1 x { ptr, i64 }], ptr @field_names.358, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.359, 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 { i32 }, ptr %alloca, align 4 @@ -4220,7 +4239,7 @@ 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.360, i64 10 }, { ptr, i64 } { ptr @str.361, 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 @@ -4239,24 +4258,24 @@ while.body.177: ; preds = %while.hdr.176 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.362, 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.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.363, 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.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 [5 x { ptr, i64 }], ptr @field_names.369, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.370, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -4322,7 +4341,7 @@ 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.371, i64 13 }, { ptr, i64 } { ptr @str.372, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.374, i64 13 }, { 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 @@ -4341,24 +4360,24 @@ while.body.182: ; preds = %while.hdr.181 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.373, 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.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.374, 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.185 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 [2 x { ptr, i64 }], ptr @field_names.377, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.378, 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 { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4400,7 +4419,7 @@ 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.379, i64 8 }, { ptr, i64 } { ptr @str.380, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.382, i64 8 }, { 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 @@ -4419,24 +4438,24 @@ while.body.187: ; preds = %while.hdr.186 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.381, 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.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.382, 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.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 [5 x { ptr, i64 }], ptr @field_names.388, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.389, 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 { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -4497,7 +4516,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.390, i64 5 }, { ptr, i64 } { ptr @str.391, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.393, i64 5 }, { 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 @@ -4516,24 +4535,24 @@ 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.392, 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.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.393, 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.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.397, i64 0, i64 %loadN + %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.398, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64, i64 }, ptr %alloca, align 8 @@ -4560,7 +4579,7 @@ fv.default: ; preds = %if.merge.195 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 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.195 @@ -4579,7 +4598,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.399, i64 6 }, { ptr, i64 } { ptr @str.400, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.402, i64 6 }, { 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 @@ -4598,24 +4617,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.401, 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.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.402, 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.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.406, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.407, 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, i64, i64 }, ptr %alloca, align 8 @@ -4642,7 +4661,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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.200 @@ -4663,7 +4682,7 @@ entry: %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.408, i64 6 }, { ptr, i64 } { ptr @str.409, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.411, i64 6 }, { 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 @@ -4682,24 +4701,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.410, 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.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.411, 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.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.414, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.415, 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 { { ptr, i64 }, { i64, [24 x i8] } }, ptr %alloca, align 8 @@ -4733,7 +4752,7 @@ fv.case17: ; preds = %if.merge.205 %fv.field18 = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 1 store { i64, [24 x i8] } %fv.field18, ptr %ba.tmp19, align 8 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -4743,7 +4762,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.416, i64 4 }, { ptr, i64 } { ptr @str.417, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.419, i64 4 }, { 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 @@ -4762,24 +4781,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.418, 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.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.419, 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.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.423, i64 0, i64 %loadN + %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.424, 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, i64 }, i64, ptr }, ptr %alloca, align 8 @@ -4807,7 +4826,7 @@ 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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.210 @@ -4818,7 +4837,7 @@ fv.case17: ; preds = %if.merge.210 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 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -4829,7 +4848,7 @@ entry: %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.425, i64 6 }, { ptr, i64 } { ptr @str.426, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.428, i64 6 }, { 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 @@ -4848,24 +4867,24 @@ 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.427, 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.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.428, 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.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.432, i64 0, i64 %loadN + %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.433, 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 }, i64, { ptr, ptr, ptr } }, ptr %alloca, align 8 @@ -4905,7 +4924,7 @@ fv.case20: ; preds = %if.merge.215 %fv.field21 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 2 store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8 %ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -4914,7 +4933,7 @@ 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.434, i64 12 }, { ptr, i64 } { ptr @str.435, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.437, i64 12 }, { 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 @@ -4933,24 +4952,24 @@ 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.436, 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.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.437, 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.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 [0 x { ptr, i64 }], ptr @field_names.438, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.439, 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 {}, ptr %alloca, align 1 @@ -4970,7 +4989,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.440, i64 8 }, { ptr, i64 } { ptr @str.441, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.443, i64 8 }, { 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 @@ -4989,24 +5008,24 @@ 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.442, 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.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.443, 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.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.447, 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.448, 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 }, i1, i1 }, ptr %alloca, align 8 @@ -5058,7 +5077,7 @@ entry: %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.449, i64 7 }, { ptr, i64 } { ptr @str.450, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.452, i64 7 }, { 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 @@ -5077,24 +5096,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.451, 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.452, 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.456, 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.457, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5136,7 +5155,7 @@ fv.case22: ; preds = %if.merge.230 %fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2 store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8 %ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5146,7 +5165,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.458, i64 9 }, { ptr, i64 } { ptr @str.459, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.461, i64 9 }, { 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 @@ -5165,24 +5184,24 @@ 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.460, 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.461, 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.464, i64 0, i64 %loadN + %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.465, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -5225,7 +5244,7 @@ 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.466, i64 4 }, { ptr, i64 } { ptr @str.467, 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 @@ -5244,24 +5263,24 @@ 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.468, 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.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.469, 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.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.472, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.475, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.476, 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 @@ -5307,7 +5326,7 @@ 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.474, i64 6 }, { ptr, i64 } { ptr @str.475, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.477, i64 6 }, { ptr, i64 } { ptr @str.478, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5326,24 +5345,24 @@ 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.476, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.479, 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.477, 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 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 [7 x { ptr, i64 }], ptr @field_names.485, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 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.486, 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 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, ptr %alloca, align 8 @@ -5400,21 +5419,21 @@ fv.case28: ; preds = %if.merge.245 %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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge fv.case33: ; preds = %if.merge.245 %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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge fv.case38: ; preds = %if.merge.245 %fv.field39 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 6 store [16 x { i1, { ptr, i64 } }] %fv.field39, ptr %ba.tmp40, align 8 %ba.p2i41 = ptrtoint ptr %ba.tmp40 to i64 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -5425,7 +5444,7 @@ 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.487, i64 6 }, { ptr, i64 } { ptr @str.488, i64 1 }) + %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 @@ -5444,24 +5463,24 @@ 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.489, 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.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 }) + %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.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 [4 x { ptr, i64 }], ptr @field_names.495, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.496, 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 { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -5490,14 +5509,14 @@ fv.case: ; preds = %if.merge.250 %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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.250 %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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.250 @@ -5520,9 +5539,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.502, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.505, 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.497, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.500, 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 @@ -5541,8 +5560,8 @@ entry: if.then.258: ; 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.504, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.503, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.506, 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.259 @@ -5561,9 +5580,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.509, 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 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.505, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.508, 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 @@ -5582,8 +5601,8 @@ entry: if.then.260: ; 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.511, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.510, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.513, 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.261 @@ -5613,9 +5632,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.519, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.522, 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.512, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.515, 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 @@ -5632,8 +5651,8 @@ entry: if.then.262: ; 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.521, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.520, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.524, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.523, 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.263 @@ -5689,7 +5708,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -5698,7 +5717,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -5711,9 +5730,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.530, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.533, 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.522, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.525, 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 @@ -5732,8 +5751,8 @@ entry: if.then.264: ; 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.532, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.531, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.534, 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.265 @@ -5752,9 +5771,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.539, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.542, 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.533, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.536, 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 @@ -5773,8 +5792,8 @@ entry: if.then.266: ; 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.541, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.540, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.543, 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.267 @@ -5791,7 +5810,7 @@ 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.542, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.545, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.276 @@ -5808,12 +5827,12 @@ while.body.277: ; preds = %while.hdr.276 while.exit.278: ; preds = %while.hdr.276 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.543, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.546, i64 1 }) ret { ptr, i64 } %call 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.544, 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.280 @@ -5842,7 +5861,7 @@ 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.545, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.548, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.281 @@ -5859,12 +5878,12 @@ while.body.282: ; preds = %while.hdr.281 while.exit.283: ; preds = %while.hdr.281 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.546, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.549, i64 1 }) ret { ptr, i64 } %call 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.547, 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.285 @@ -5877,7 +5896,7 @@ if.merge.285: ; preds = %if.then.284, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -5894,7 +5913,7 @@ 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.548, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.551, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.286 @@ -5911,12 +5930,12 @@ while.body.287: ; preds = %while.hdr.286 while.exit.288: ; preds = %while.hdr.286 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.549, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 1 }) ret { ptr, i64 } %call 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.553, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.290 @@ -5944,7 +5963,7 @@ 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.551, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.554, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.291 @@ -5961,12 +5980,12 @@ while.body.292: ; preds = %while.hdr.291 while.exit.293: ; preds = %while.hdr.291 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 1 }) ret { ptr, i64 } %call 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.553, 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.295 @@ -5995,7 +6014,7 @@ 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.554, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.557, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.296 @@ -6012,12 +6031,12 @@ while.body.297: ; preds = %while.hdr.296 while.exit.298: ; preds = %while.hdr.296 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, i64 1 }) ret { ptr, i64 } %call 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.556, 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.300 @@ -6046,7 +6065,7 @@ 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.557, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.560, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.301 @@ -6063,12 +6082,12 @@ while.body.302: ; preds = %while.hdr.301 while.exit.303: ; preds = %while.hdr.301 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 1 }) ret { ptr, i64 } %call 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.559, 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.305 @@ -6098,7 +6117,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.560, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.563, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.313 @@ -6117,12 +6136,12 @@ while.body.314: ; preds = %while.hdr.313 while.exit.315: ; preds = %while.hdr.313 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, i64 1 }) ret { ptr, i64 } %call 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.562, 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.317 @@ -6151,7 +6170,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.563, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.566, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.318 @@ -6170,12 +6189,12 @@ while.body.319: ; preds = %while.hdr.318 while.exit.320: ; preds = %while.hdr.318 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 1 }) ret { ptr, i64 } %call 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.565, i64 2 }) + %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.322 @@ -6204,7 +6223,7 @@ 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.566, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.569, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.323 @@ -6223,12 +6242,12 @@ while.body.324: ; preds = %while.hdr.323 while.exit.325: ; preds = %while.hdr.323 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.570, i64 1 }) ret { ptr, i64 } %call 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.568, 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 br label %if.merge.327 @@ -6241,7 +6260,7 @@ if.merge.327: ; preds = %if.then.326, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -6258,7 +6277,7 @@ 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.569, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.572, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.328 @@ -6277,12 +6296,12 @@ while.body.329: ; preds = %while.hdr.328 while.exit.330: ; preds = %while.hdr.328 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.570, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 1 }) ret { ptr, i64 } %call 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.571, 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.332 @@ -6295,7 +6314,7 @@ if.merge.332: ; preds = %if.then.331, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -6312,7 +6331,7 @@ 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.572, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.575, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.333 @@ -6331,12 +6350,12 @@ while.body.334: ; preds = %while.hdr.333 while.exit.335: ; preds = %while.hdr.333 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.576, i64 1 }) ret { ptr, i64 } %call 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.574, 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 br label %if.merge.337 @@ -6378,12 +6397,12 @@ if.then.371: ; preds = %entry if.else.372: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.577, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.576, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.580, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.579, i64 5 }, { ptr, i64 } %callN) br label %if.merge.373 if.merge.373: ; preds = %if.else.372, %if.then.371 - %bp = phi { ptr, i64 } [ { ptr @str.575, i64 4 }, %if.then.371 ], [ %callN, %if.else.372 ] + %bp = phi { ptr, i64 } [ { ptr @str.578, i64 4 }, %if.then.371 ], [ %callN, %if.else.372 ] ret { ptr, i64 } %bp } @@ -6406,12 +6425,12 @@ if.then.387: ; preds = %entry if.else.388: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.580, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.579, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.583, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.582, i64 11 }, { ptr, i64 } %callN) br label %if.merge.389 if.merge.389: ; preds = %if.else.388, %if.then.387 - %bp = phi { ptr, i64 } [ { ptr @str.578, i64 4 }, %if.then.387 ], [ %callN, %if.else.388 ] + %bp = phi { ptr, i64 } [ { ptr @str.581, i64 4 }, %if.then.387 ], [ %callN, %if.else.388 ] ret { ptr, i64 } %bp } @@ -6434,12 +6453,12 @@ if.then.390: ; preds = %entry if.else.391: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.583, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.582, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.586, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.585, i64 4 }, { ptr, i64 } %callN) br label %if.merge.392 if.merge.392: ; preds = %if.else.391, %if.then.390 - %bp = phi { ptr, i64 } [ { ptr @str.581, i64 4 }, %if.then.390 ], [ %callN, %if.else.391 ] + %bp = phi { ptr, i64 } [ { ptr @str.584, i64 4 }, %if.then.390 ], [ %callN, %if.else.391 ] ret { ptr, i64 } %bp } @@ -6462,12 +6481,12 @@ if.then.393: ; preds = %entry if.else.394: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.586, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.585, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.589, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.588, i64 11 }, { ptr, i64 } %callN) br label %if.merge.395 if.merge.395: ; preds = %if.else.394, %if.then.393 - %bp = phi { ptr, i64 } [ { ptr @str.584, i64 4 }, %if.then.393 ], [ %callN, %if.else.394 ] + %bp = phi { ptr, i64 } [ { ptr @str.587, i64 4 }, %if.then.393 ], [ %callN, %if.else.394 ] ret { ptr, i64 } %bp } @@ -6490,12 +6509,12 @@ if.then.396: ; preds = %entry if.else.397: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.589, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.588, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 6 }, { ptr, i64 } %callN) br label %if.merge.398 if.merge.398: ; preds = %if.else.397, %if.then.396 - %bp = phi { ptr, i64 } [ { ptr @str.587, i64 4 }, %if.then.396 ], [ %callN, %if.else.397 ] + %bp = phi { ptr, i64 } [ { ptr @str.590, i64 4 }, %if.then.396 ], [ %callN, %if.else.397 ] ret { ptr, i64 } %bp } @@ -6517,12 +6536,12 @@ if.then.399: ; preds = %entry if.else.400: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.595, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.594, i64 5 }, { ptr, i64 } %callN) br label %if.merge.401 if.merge.401: ; preds = %if.else.400, %if.then.399 - %bp = phi { ptr, i64 } [ { ptr @str.590, i64 4 }, %if.then.399 ], [ %callN, %if.else.400 ] + %bp = phi { ptr, i64 } [ { ptr @str.593, i64 4 }, %if.then.399 ], [ %callN, %if.else.400 ] ret { ptr, i64 } %bp } @@ -6545,12 +6564,12 @@ if.then.402: ; preds = %entry if.else.403: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.595, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.594, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.597, i64 9 }, { ptr, i64 } %callN) br label %if.merge.404 if.merge.404: ; preds = %if.else.403, %if.then.402 - %bp = phi { ptr, i64 } [ { ptr @str.593, i64 4 }, %if.then.402 ], [ %callN, %if.else.403 ] + %bp = phi { ptr, i64 } [ { ptr @str.596, i64 4 }, %if.then.402 ], [ %callN, %if.else.403 ] ret { ptr, i64 } %bp } @@ -6573,12 +6592,12 @@ if.then.405: ; preds = %entry if.else.406: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.597, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 18 }, { ptr, i64 } %callN) br label %if.merge.407 if.merge.407: ; preds = %if.else.406, %if.then.405 - %bp = phi { ptr, i64 } [ { ptr @str.596, i64 4 }, %if.then.405 ], [ %callN, %if.else.406 ] + %bp = phi { ptr, i64 } [ { ptr @str.599, i64 4 }, %if.then.405 ], [ %callN, %if.else.406 ] ret { ptr, i64 } %bp } @@ -6601,17 +6620,17 @@ if.then.408: ; preds = %entry if.else.409: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 5 }, { ptr, i64 } %callN) br label %if.merge.410 if.merge.410: ; preds = %if.else.409, %if.then.408 - %bp = phi { ptr, i64 } [ { ptr @str.599, i64 4 }, %if.then.408 ], [ %callN, %if.else.409 ] + %bp = phi { ptr, i64 } [ { ptr @str.602, i64 4 }, %if.then.408 ], [ %callN, %if.else.409 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6629,17 +6648,17 @@ if.then.411: ; preds = %entry 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.604, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 3 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.607, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 4 }, { ptr, i64 } %callN) br label %if.merge.413 if.merge.413: ; preds = %if.else.412, %if.then.411 - %bp = phi { ptr, i64 } [ { ptr @str.602, i64 4 }, %if.then.411 ], [ %callN, %if.else.412 ] + %bp = phi { ptr, i64 } [ { ptr @str.605, i64 4 }, %if.then.411 ], [ %callN, %if.else.412 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6657,17 +6676,17 @@ if.then.414: ; preds = %entry 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.607, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.610, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, i64 9 }, { ptr, i64 } %callN) br label %if.merge.416 if.merge.416: ; preds = %if.else.415, %if.then.414 - %bp = phi { ptr, i64 } [ { ptr @str.605, i64 4 }, %if.then.414 ], [ %callN, %if.else.415 ] + %bp = phi { ptr, i64 } [ { ptr @str.608, i64 4 }, %if.then.414 ], [ %callN, %if.else.415 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6685,40 +6704,12 @@ if.then.417: ; preds = %entry if.else.418: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.610, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 4 }, { ptr, i64 } %callN) br label %if.merge.419 if.merge.419: ; preds = %if.else.418, %if.then.417 - %bp = phi { ptr, i64 } [ { ptr @str.608, i64 4 }, %if.then.417 ], [ %callN, %if.else.418 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.420, label %if.else.421 - -if.then.420: ; preds = %entry - br label %if.merge.422 - -if.else.421: ; preds = %entry - %loadN = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.422 - -if.merge.422: ; preds = %if.else.421, %if.then.420 - %bp = phi { ptr, i64 } [ { ptr @str.611, i64 4 }, %if.then.420 ], [ %callN, %if.else.421 ] + %bp = phi { ptr, i64 } [ { ptr @str.611, i64 4 }, %if.then.417 ], [ %callN, %if.else.418 ] ret { ptr, i64 } %bp } @@ -6732,20 +6723,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.423, label %if.else.424 + br i1 %icmp, label %if.then.420, label %if.else.421 -if.then.423: ; preds = %entry - br label %if.merge.425 +if.then.420: ; preds = %entry + br label %if.merge.422 -if.else.424: ; preds = %entry +if.else.421: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.616, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.615, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.425 + br label %if.merge.422 -if.merge.425: ; preds = %if.else.424, %if.then.423 - %bp = phi { ptr, i64 } [ { ptr @str.614, i64 4 }, %if.then.423 ], [ %callN, %if.else.424 ] +if.merge.422: ; preds = %if.else.421, %if.then.420 + %bp = phi { ptr, i64 } [ { ptr @str.614, i64 4 }, %if.then.420 ], [ %callN, %if.else.421 ] ret { ptr, i64 } %bp } @@ -6760,20 +6751,20 @@ entry: store i64 %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 + br i1 %icmp, label %if.then.423, label %if.else.424 -if.then.426: ; preds = %entry - br label %if.merge.428 +if.then.423: ; preds = %entry + br label %if.merge.425 -if.else.427: ; preds = %entry +if.else.424: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.618, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.428 + br label %if.merge.425 -if.merge.428: ; preds = %if.else.427, %if.then.426 - %bp = phi { ptr, i64 } [ { ptr @str.617, i64 4 }, %if.then.426 ], [ %callN, %if.else.427 ] +if.merge.425: ; preds = %if.else.424, %if.then.423 + %bp = phi { ptr, i64 } [ { ptr @str.617, i64 4 }, %if.then.423 ], [ %callN, %if.else.424 ] ret { ptr, i64 } %bp } @@ -6787,6 +6778,34 @@ 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.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.622, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.621, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.428 + +if.merge.428: ; preds = %if.else.427, %if.then.426 + %bp = phi { ptr, i64 } [ { ptr @str.620, i64 4 }, %if.then.426 ], [ %callN, %if.else.427 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.429, label %if.else.430 if.then.429: ; preds = %entry @@ -6795,17 +6814,17 @@ if.then.429: ; preds = %entry if.else.430: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.622, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.621, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.625, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.624, i64 7 }, { ptr, i64 } %callN) br label %if.merge.431 if.merge.431: ; preds = %if.else.430, %if.then.429 - %bp = phi { ptr, i64 } [ { ptr @str.620, i64 4 }, %if.then.429 ], [ %callN, %if.else.430 ] + %bp = phi { ptr, i64 } [ { ptr @str.623, i64 4 }, %if.then.429 ], [ %callN, %if.else.430 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6823,17 +6842,17 @@ if.then.432: ; preds = %entry 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.625, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.624, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.627, i64 5 }, { ptr, i64 } %callN) br label %if.merge.434 if.merge.434: ; preds = %if.else.433, %if.then.432 - %bp = phi { ptr, i64 } [ { ptr @str.623, i64 4 }, %if.then.432 ], [ %callN, %if.else.433 ] + %bp = phi { ptr, i64 } [ { ptr @str.626, i64 4 }, %if.then.432 ], [ %callN, %if.else.433 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6851,17 +6870,17 @@ if.then.435: ; preds = %entry 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.628, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.627, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.631, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.630, i64 7 }, { ptr, i64 } %callN) br label %if.merge.437 if.merge.437: ; preds = %if.else.436, %if.then.435 - %bp = phi { ptr, i64 } [ { ptr @str.626, i64 4 }, %if.then.435 ], [ %callN, %if.else.436 ] + %bp = phi { ptr, i64 } [ { ptr @str.629, i64 4 }, %if.then.435 ], [ %callN, %if.else.436 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6879,17 +6898,17 @@ if.then.438: ; preds = %entry 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.631, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.630, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.634, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.633, i64 4 }, { ptr, i64 } %callN) br label %if.merge.440 if.merge.440: ; preds = %if.else.439, %if.then.438 - %bp = phi { ptr, i64 } [ { ptr @str.629, i64 4 }, %if.then.438 ], [ %callN, %if.else.439 ] + %bp = phi { ptr, i64 } [ { ptr @str.632, i64 4 }, %if.then.438 ], [ %callN, %if.else.439 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6907,17 +6926,17 @@ if.then.441: ; preds = %entry 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.634, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.633, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.637, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.636, i64 7 }, { ptr, i64 } %callN) br label %if.merge.443 if.merge.443: ; preds = %if.else.442, %if.then.441 - %bp = phi { ptr, i64 } [ { ptr @str.632, i64 4 }, %if.then.441 ], [ %callN, %if.else.442 ] + %bp = phi { ptr, i64 } [ { ptr @str.635, i64 4 }, %if.then.441 ], [ %callN, %if.else.442 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6935,17 +6954,17 @@ if.then.444: ; preds = %entry 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.637, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.636, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.639, 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.635, i64 4 }, %if.then.444 ], [ %callN, %if.else.445 ] + %bp = phi { ptr, i64 } [ { ptr @str.638, i64 4 }, %if.then.444 ], [ %callN, %if.else.445 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6963,17 +6982,17 @@ if.then.447: ; preds = %entry 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.640, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.639, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.643, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.642, i64 7 }, { ptr, i64 } %callN) br label %if.merge.449 if.merge.449: ; preds = %if.else.448, %if.then.447 - %bp = phi { ptr, i64 } [ { ptr @str.638, i64 4 }, %if.then.447 ], [ %callN, %if.else.448 ] + %bp = phi { ptr, i64 } [ { ptr @str.641, i64 4 }, %if.then.447 ], [ %callN, %if.else.448 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6991,17 +7010,17 @@ 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.643, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.642, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.646, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.645, i64 12 }, { ptr, i64 } %callN) br label %if.merge.452 if.merge.452: ; preds = %if.else.451, %if.then.450 - %bp = phi { ptr, i64 } [ { ptr @str.641, i64 4 }, %if.then.450 ], [ %callN, %if.else.451 ] + %bp = phi { ptr, i64 } [ { ptr @str.644, i64 4 }, %if.then.450 ], [ %callN, %if.else.451 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7019,17 +7038,17 @@ if.then.453: ; preds = %entry if.else.454: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.646, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.645, i64 12 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.648, i64 6 }, { ptr, i64 } %callN) br label %if.merge.455 if.merge.455: ; preds = %if.else.454, %if.then.453 - %bp = phi { ptr, i64 } [ { ptr @str.644, i64 4 }, %if.then.453 ], [ %callN, %if.else.454 ] + %bp = phi { ptr, i64 } [ { ptr @str.647, i64 4 }, %if.then.453 ], [ %callN, %if.else.454 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_f32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7047,17 +7066,17 @@ if.then.456: ; preds = %entry 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.649, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.648, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 4 }, { ptr, i64 } %callN) br label %if.merge.458 if.merge.458: ; preds = %if.else.457, %if.then.456 - %bp = phi { ptr, i64 } [ { ptr @str.647, i64 4 }, %if.then.456 ], [ %callN, %if.else.457 ] + %bp = phi { ptr, i64 } [ { ptr @str.650, i64 4 }, %if.then.456 ], [ %callN, %if.else.457 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_f32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7075,17 +7094,17 @@ if.then.459: ; preds = %entry 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.652, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, i64 7 }, { ptr, i64 } %callN) br label %if.merge.461 if.merge.461: ; preds = %if.else.460, %if.then.459 - %bp = phi { ptr, i64 } [ { ptr @str.650, i64 4 }, %if.then.459 ], [ %callN, %if.else.460 ] + %bp = phi { ptr, i64 } [ { ptr @str.653, i64 4 }, %if.then.459 ], [ %callN, %if.else.460 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7103,17 +7122,17 @@ if.then.462: ; preds = %entry 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.655, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.658, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 4 }, { ptr, i64 } %callN) br label %if.merge.464 if.merge.464: ; preds = %if.else.463, %if.then.462 - %bp = phi { ptr, i64 } [ { ptr @str.653, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] + %bp = phi { ptr, i64 } [ { ptr @str.656, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7131,17 +7150,17 @@ if.then.465: ; preds = %entry 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.658, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.467 if.merge.467: ; preds = %if.else.466, %if.then.465 - %bp = phi { ptr, i64 } [ { ptr @str.656, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] + %bp = phi { ptr, i64 } [ { ptr @str.659, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7159,17 +7178,17 @@ if.then.468: ; preds = %entry 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.661, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.660, i64 7 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.470 if.merge.470: ; preds = %if.else.469, %if.then.468 - %bp = phi { ptr, i64 } [ { ptr @str.659, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] + %bp = phi { ptr, i64 } [ { ptr @str.662, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7187,12 +7206,12 @@ if.then.471: ; preds = %entry 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.664, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.663, i64 6 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.473 if.merge.473: ; preds = %if.else.472, %if.then.471 - %bp = phi { ptr, i64 } [ { ptr @str.662, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] + %bp = phi { ptr, i64 } [ { ptr @str.665, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] ret { ptr, i64 } %bp } @@ -7215,12 +7234,12 @@ if.then.474: ; preds = %entry 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.667, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.666, i64 5 }, { ptr, i64 } %callN) + %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.476 if.merge.476: ; preds = %if.else.475, %if.then.474 - %bp = phi { ptr, i64 } [ { ptr @str.665, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] + %bp = phi { ptr, i64 } [ { ptr @str.668, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] ret { ptr, i64 } %bp } @@ -7233,17 +7252,17 @@ 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.483, label %if.merge.484 + br i1 %lnot, label %if.then.484, label %if.merge.485 -if.then.483: ; preds = %entry - ret { ptr, i64 } { ptr @str.668, i64 4 } +if.then.484: ; preds = %entry + ret { ptr, i64 } { ptr @str.671, i64 4 } -if.merge.484: ; preds = %entry +if.merge.485: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7257,12 +7276,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.485, label %if.merge.486 + br i1 %lnot, label %if.then.486, label %if.merge.487 -if.then.485: ; preds = %entry - ret { ptr, i64 } { ptr @str.669, i64 4 } +if.then.486: ; preds = %entry + ret { ptr, i64 } { ptr @str.672, i64 4 } -if.merge.486: ; preds = %entry +if.merge.487: ; 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 @@ -7272,6 +7291,27 @@ if.merge.486: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.488, label %if.merge.489 + +if.then.488: ; preds = %entry + ret { ptr, i64 } { ptr @str.673, i64 4 } + +if.merge.489: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -7281,17 +7321,17 @@ 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.487, label %if.merge.488 + br i1 %lnot, label %if.then.490, label %if.merge.491 -if.then.487: ; preds = %entry - ret { ptr, i64 } { ptr @str.670, i64 4 } +if.then.490: ; preds = %entry + ret { ptr, i64 } { ptr @str.674, i64 4 } -if.merge.488: ; preds = %entry +if.merge.491: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7305,17 +7345,17 @@ 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.489, label %if.merge.490 + br i1 %lnot, label %if.then.492, label %if.merge.493 -if.then.489: ; preds = %entry - ret { ptr, i64 } { ptr @str.671, i64 4 } +if.then.492: ; preds = %entry + ret { ptr, i64 } { ptr @str.675, i64 4 } -if.merge.490: ; preds = %entry +if.merge.493: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } diff --git a/examples/expected/0200-generics-generic.ir b/examples/expected/0200-generics-generic.ir index 608270b..03dbe07 100644 --- a/examples/expected/0200-generics-generic.ir +++ b/examples/expected/0200-generics-generic.ir @@ -7,7 +7,7 @@ @str.78 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.79 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.80 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [160 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] +@__sx_type_is_unsigned = private constant [163 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.81 = private constant [9 x i8] c"Overflow\00" @tag.str.82 = private constant [3 x i8] c"Io\00" @@ -41,444 +41,444 @@ @tn.str.108 = private constant [6 x i8] c"isize\00" @tn.str.109 = private constant [6 x i8] c"usize\00" @tn.str.110 = private constant [5 x i8] c"void\00" -@tn.str.111 = private constant [6 x i8] c"*void\00" -@tn.str.112 = private constant [16 x i8] c"Source_Location\00" -@tn.str.113 = private constant [10 x i8] c"Allocator\00" -@tn.str.114 = private constant [8 x i8] c"Context\00" -@tn.str.115 = private constant [7 x i8] c"[4]i64\00" -@tn.str.116 = private constant [9 x i8] c"[]string\00" -@tn.str.117 = private constant [11 x i8] c"CAllocator\00" -@tn.str.118 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.119 = private constant [4 x i8] c"GPA\00" -@tn.str.120 = private constant [5 x i8] c"*GPA\00" -@tn.str.121 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.122 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.123 = private constant [6 x i8] c"Arena\00" -@tn.str.124 = private constant [7 x i8] c"*Arena\00" -@tn.str.125 = private constant [6 x i8] c"[*]u8\00" -@tn.str.126 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.127 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.128 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.129 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.130 = private constant [9 x i8] c"OpenMode\00" -@tn.str.131 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.132 = private constant [5 x i8] c"File\00" -@tn.str.133 = private constant [6 x i8] c"*File\00" -@tn.str.134 = private constant [6 x i8] c"?File\00" -@tn.str.135 = private constant [8 x i8] c"?string\00" -@tn.str.136 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.137 = private constant [4 x i8] c"*u8\00" -@tn.str.138 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.139 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.140 = private constant [5 x i8] c"*i32\00" -@tn.str.141 = private constant [9 x i8] c"SockAddr\00" -@tn.str.142 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.143 = private constant [5 x i8] c"*u32\00" -@tn.str.144 = private constant [10 x i8] c"JsonError\00" -@tn.str.145 = private constant [6 x i8] c"Array\00" -@tn.str.146 = private constant [7 x i8] c"Object\00" -@tn.str.147 = private constant [6 x i8] c"Value\00" -@tn.str.148 = private constant [7 x i8] c"Member\00" -@tn.str.149 = private constant [9 x i8] c"[*]Value\00" -@tn.str.150 = private constant [7 x i8] c"*Array\00" -@tn.str.151 = private constant [10 x i8] c"[*]Member\00" -@tn.str.152 = private constant [8 x i8] c"*Object\00" -@tn.str.153 = private constant [5 x i8] c"[]u8\00" -@tn.str.154 = private constant [5 x i8] c"Sink\00" -@tn.str.155 = private constant [6 x i8] c"*Sink\00" -@tn.str.156 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.157 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.158 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.159 = private constant [7 x i8] c"Parser\00" -@tn.str.160 = private constant [8 x i8] c"*Parser\00" -@tn.str.161 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.162 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.163 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.164 = private constant [13 x i8] c"Architecture\00" -@tn.str.165 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.166 = private constant [11 x i8] c"() -> bool\00" -@tn.str.167 = private constant [5 x i8] c"*i64\00" -@tn.str.168 = private constant [9 x i8] c"CliError\00" -@tn.str.169 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.170 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.171 = private constant [8 x i8] c"Command\00" -@tn.str.172 = private constant [10 x i8] c"FlagValue\00" -@tn.str.173 = private constant [5 x i8] c"Diag\00" -@tn.str.174 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.175 = private constant [7 x i8] c"Parsed\00" -@tn.str.176 = private constant [8 x i8] c"*Parsed\00" -@tn.str.177 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.178 = private constant [10 x i8] c"[]Command\00" -@tn.str.179 = private constant [6 x i8] c"*Diag\00" -@tn.str.180 = private constant [7 x i8] c"[8]i64\00" -@tn.str.181 = private constant [7 x i8] c"[64]u8\00" -@tn.str.182 = private constant [7 x i8] c"Sha256\00" -@tn.str.183 = private constant [8 x i8] c"*Sha256\00" -@tn.str.184 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.185 = private constant [8 x i8] c"[64]i64\00" -@tn.str.186 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.187 = private constant [7 x i8] c"**void\00" -@tn.str.188 = private constant [8 x i8] c"*string\00" -@tn.str.189 = private constant [6 x i8] c"[]Any\00" -@tn.str.190 = private constant [5 x i8] c"*Any\00" -@tn.str.191 = private constant [7 x i8] c"[1]Any\00" -@tn.str.192 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.193 = private constant [7 x i8] c"*[]Any\00" -@tn.str.194 = private constant [6 x i8] c"*bool\00" -@tn.str.195 = private constant [5 x i8] c"*f64\00" -@tn.str.196 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.197 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.198 = private constant [11 x i8] c"*Allocator\00" -@tn.str.199 = private constant [9 x i8] c"*Context\00" -@tn.str.200 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.201 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.202 = private constant [8 x i8] c"*Member\00" -@tn.str.203 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.204 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.205 = private constant [9 x i8] c"*Command\00" -@tn.str.206 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.207 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.208 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.209 = private constant [7 x i8] c"*Value\00" -@tn.str.210 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.211 = private constant [14 x i8] c"*Architecture\00" -@tn.str.212 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.213 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.214 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.215 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.216 = private constant [10 x i8] c"*[]string\00" -@tn.str.217 = private constant [6 x i8] c"*[]u8\00" -@tn.str.218 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.219 = private constant [11 x i8] c"*[]Command\00" -@tn.str.220 = private constant [6 x i8] c"**GPA\00" -@tn.str.221 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.222 = private constant [8 x i8] c"**Arena\00" -@tn.str.223 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.224 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.225 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.226 = private constant [7 x i8] c"**File\00" -@tn.str.227 = private constant [5 x i8] c"**u8\00" -@tn.str.228 = private constant [6 x i8] c"**i32\00" -@tn.str.229 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.230 = private constant [6 x i8] c"**u32\00" -@tn.str.231 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.232 = private constant [8 x i8] c"**Array\00" -@tn.str.233 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.234 = private constant [9 x i8] c"**Object\00" -@tn.str.235 = private constant [7 x i8] c"**Sink\00" -@tn.str.236 = private constant [9 x i8] c"**Parser\00" -@tn.str.237 = private constant [6 x i8] c"**i64\00" -@tn.str.238 = private constant [9 x i8] c"**Parsed\00" -@tn.str.239 = private constant [7 x i8] c"**Diag\00" -@tn.str.240 = private constant [9 x i8] c"**Sha256\00" -@tn.str.241 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.242 = private constant [8 x i8] c"***void\00" -@tn.str.243 = private constant [9 x i8] c"**string\00" -@tn.str.244 = private constant [6 x i8] c"**Any\00" -@tn.str.245 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.246 = private constant [8 x i8] c"**[]Any\00" -@tn.str.247 = private constant [7 x i8] c"**bool\00" -@tn.str.248 = private constant [6 x i8] c"**f64\00" -@tn.str.249 = private constant [7 x i8] c"*?File\00" -@tn.str.250 = private constant [9 x i8] c"*?string\00" -@tn.str.251 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.252 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [160 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 15 }, { ptr, i64 } { ptr @tn.str.113, i64 9 }, { ptr, i64 } { ptr @tn.str.114, i64 7 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 8 }, { ptr, i64 } { ptr @tn.str.117, i64 10 }, { ptr, i64 } { ptr @tn.str.118, i64 11 }, { ptr, i64 } { ptr @tn.str.119, i64 3 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 10 }, { ptr, i64 } { ptr @tn.str.122, i64 11 }, { ptr, i64 } { ptr @tn.str.123, i64 5 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 5 }, { ptr, i64 } { ptr @tn.str.126, i64 8 }, { ptr, i64 } { ptr @tn.str.127, i64 9 }, { ptr, i64 } { ptr @tn.str.128, i64 17 }, { ptr, i64 } { ptr @tn.str.129, i64 18 }, { ptr, i64 } { ptr @tn.str.130, i64 8 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 4 }, { ptr, i64 } { ptr @tn.str.133, i64 5 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 7 }, { ptr, i64 } { ptr @tn.str.136, i64 10 }, { ptr, i64 } { ptr @tn.str.137, i64 3 }, { ptr, i64 } { ptr @tn.str.138, i64 13 }, { ptr, i64 } { ptr @tn.str.139, i64 14 }, { ptr, i64 } { ptr @tn.str.140, i64 4 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 9 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 9 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 6 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 6 }, { ptr, i64 } { ptr @tn.str.149, i64 8 }, { ptr, i64 } { ptr @tn.str.150, i64 6 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 7 }, { ptr, i64 } { ptr @tn.str.153, i64 4 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 5 }, { ptr, i64 } { ptr @tn.str.156, i64 16 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 21 }, { ptr, i64 } { ptr @tn.str.159, i64 6 }, { ptr, i64 } { ptr @tn.str.160, i64 7 }, { ptr, i64 } { ptr @tn.str.161, i64 24 }, { ptr, i64 } { ptr @tn.str.162, i64 23 }, { ptr, i64 } { ptr @tn.str.163, i64 15 }, { ptr, i64 } { ptr @tn.str.164, i64 12 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 10 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 8 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 10 }, { ptr, i64 } { ptr @tn.str.171, i64 7 }, { ptr, i64 } { ptr @tn.str.172, i64 9 }, { ptr, i64 } { ptr @tn.str.173, i64 4 }, { ptr, i64 } { ptr @tn.str.174, i64 13 }, { ptr, i64 } { ptr @tn.str.175, i64 6 }, { ptr, i64 } { ptr @tn.str.176, i64 7 }, { ptr, i64 } { ptr @tn.str.177, i64 18 }, { ptr, i64 } { ptr @tn.str.178, i64 9 }, { ptr, i64 } { ptr @tn.str.179, i64 5 }, { ptr, i64 } { ptr @tn.str.180, i64 6 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 12 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 5 }, { ptr, i64 } { ptr @tn.str.190, i64 4 }, { ptr, i64 } { ptr @tn.str.191, i64 6 }, { ptr, i64 } { ptr @tn.str.192, i64 7 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 5 }, { ptr, i64 } { ptr @tn.str.195, i64 4 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 16 }, { ptr, i64 } { ptr @tn.str.198, i64 10 }, { ptr, i64 } { ptr @tn.str.199, i64 8 }, { ptr, i64 } { ptr @tn.str.200, i64 11 }, { ptr, i64 } { ptr @tn.str.201, i64 14 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 13 }, { ptr, i64 } { ptr @tn.str.204, i64 9 }, { ptr, i64 } { ptr @tn.str.205, i64 8 }, { ptr, i64 } { ptr @tn.str.206, i64 10 }, { ptr, i64 } { ptr @tn.str.207, i64 9 }, { ptr, i64 } { ptr @tn.str.208, i64 9 }, { ptr, i64 } { ptr @tn.str.209, i64 6 }, { ptr, i64 } { ptr @tn.str.210, i64 16 }, { ptr, i64 } { ptr @tn.str.211, i64 13 }, { ptr, i64 } { ptr @tn.str.212, i64 14 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 7 }, { ptr, i64 } { ptr @tn.str.215, i64 8 }, { ptr, i64 } { ptr @tn.str.216, i64 9 }, { ptr, i64 } { ptr @tn.str.217, i64 5 }, { ptr, i64 } { ptr @tn.str.218, i64 11 }, { ptr, i64 } { ptr @tn.str.219, i64 10 }, { ptr, i64 } { ptr @tn.str.220, i64 5 }, { ptr, i64 } { ptr @tn.str.221, i64 12 }, { ptr, i64 } { ptr @tn.str.222, i64 7 }, { ptr, i64 } { ptr @tn.str.223, i64 6 }, { ptr, i64 } { ptr @tn.str.224, i64 10 }, { ptr, i64 } { ptr @tn.str.225, i64 19 }, { ptr, i64 } { ptr @tn.str.226, i64 6 }, { ptr, i64 } { ptr @tn.str.227, i64 4 }, { ptr, i64 } { ptr @tn.str.228, i64 5 }, { ptr, i64 } { ptr @tn.str.229, i64 10 }, { ptr, i64 } { ptr @tn.str.230, i64 5 }, { ptr, i64 } { ptr @tn.str.231, i64 9 }, { ptr, i64 } { ptr @tn.str.232, i64 7 }, { ptr, i64 } { ptr @tn.str.233, i64 10 }, { ptr, i64 } { ptr @tn.str.234, i64 8 }, { ptr, i64 } { ptr @tn.str.235, i64 6 }, { ptr, i64 } { ptr @tn.str.236, i64 8 }, { ptr, i64 } { ptr @tn.str.237, i64 5 }, { ptr, i64 } { ptr @tn.str.238, i64 8 }, { ptr, i64 } { ptr @tn.str.239, i64 6 }, { ptr, i64 } { ptr @tn.str.240, i64 8 }, { ptr, i64 } { ptr @tn.str.241, i64 13 }, { ptr, i64 } { ptr @tn.str.242, i64 7 }, { ptr, i64 } { ptr @tn.str.243, i64 8 }, { ptr, i64 } { ptr @tn.str.244, i64 5 }, { ptr, i64 } { ptr @tn.str.245, i64 8 }, { ptr, i64 } { ptr @tn.str.246, i64 7 }, { ptr, i64 } { ptr @tn.str.247, i64 6 }, { ptr, i64 } { ptr @tn.str.248, i64 5 }, { ptr, i64 } { ptr @tn.str.249, i64 6 }, { ptr, i64 } { ptr @tn.str.250, i64 8 }, { ptr, i64 } { ptr @tn.str.251, i64 15 }, { ptr, i64 } { ptr @tn.str.252, i64 8 }] -@str.253 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.254 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.255 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@tn.str.111 = private constant [8 x i8] c"cstring\00" +@tn.str.112 = private constant [6 x i8] c"*void\00" +@tn.str.113 = private constant [16 x i8] c"Source_Location\00" +@tn.str.114 = private constant [10 x i8] c"Allocator\00" +@tn.str.115 = private constant [8 x i8] c"Context\00" +@tn.str.116 = private constant [7 x i8] c"[4]i64\00" +@tn.str.117 = private constant [9 x i8] c"[]string\00" +@tn.str.118 = private constant [11 x i8] c"CAllocator\00" +@tn.str.119 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.120 = private constant [4 x i8] c"GPA\00" +@tn.str.121 = private constant [5 x i8] c"*GPA\00" +@tn.str.122 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.123 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.124 = private constant [6 x i8] c"Arena\00" +@tn.str.125 = private constant [7 x i8] c"*Arena\00" +@tn.str.126 = private constant [6 x i8] c"[*]u8\00" +@tn.str.127 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.128 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.129 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.130 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.131 = private constant [9 x i8] c"OpenMode\00" +@tn.str.132 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.133 = private constant [5 x i8] c"File\00" +@tn.str.134 = private constant [6 x i8] c"*File\00" +@tn.str.135 = private constant [6 x i8] c"?File\00" +@tn.str.136 = private constant [8 x i8] c"?string\00" +@tn.str.137 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.138 = private constant [9 x i8] c"?cstring\00" +@tn.str.139 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.140 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.141 = private constant [5 x i8] c"*i32\00" +@tn.str.142 = private constant [9 x i8] c"SockAddr\00" +@tn.str.143 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.144 = private constant [5 x i8] c"*u32\00" +@tn.str.145 = private constant [10 x i8] c"JsonError\00" +@tn.str.146 = private constant [6 x i8] c"Array\00" +@tn.str.147 = private constant [7 x i8] c"Object\00" +@tn.str.148 = private constant [6 x i8] c"Value\00" +@tn.str.149 = private constant [7 x i8] c"Member\00" +@tn.str.150 = private constant [9 x i8] c"[*]Value\00" +@tn.str.151 = private constant [7 x i8] c"*Array\00" +@tn.str.152 = private constant [10 x i8] c"[*]Member\00" +@tn.str.153 = private constant [8 x i8] c"*Object\00" +@tn.str.154 = private constant [5 x i8] c"[]u8\00" +@tn.str.155 = private constant [5 x i8] c"Sink\00" +@tn.str.156 = private constant [6 x i8] c"*Sink\00" +@tn.str.157 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.158 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.159 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.160 = private constant [7 x i8] c"Parser\00" +@tn.str.161 = private constant [8 x i8] c"*Parser\00" +@tn.str.162 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.163 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.164 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.165 = private constant [13 x i8] c"Architecture\00" +@tn.str.166 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.167 = private constant [11 x i8] c"() -> bool\00" +@tn.str.168 = private constant [5 x i8] c"*i64\00" +@tn.str.169 = private constant [9 x i8] c"CliError\00" +@tn.str.170 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.171 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.172 = private constant [8 x i8] c"Command\00" +@tn.str.173 = private constant [10 x i8] c"FlagValue\00" +@tn.str.174 = private constant [5 x i8] c"Diag\00" +@tn.str.175 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.176 = private constant [7 x i8] c"Parsed\00" +@tn.str.177 = private constant [8 x i8] c"*Parsed\00" +@tn.str.178 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.179 = private constant [10 x i8] c"[]Command\00" +@tn.str.180 = private constant [6 x i8] c"*Diag\00" +@tn.str.181 = private constant [7 x i8] c"[8]i64\00" +@tn.str.182 = private constant [7 x i8] c"[64]u8\00" +@tn.str.183 = private constant [7 x i8] c"Sha256\00" +@tn.str.184 = private constant [8 x i8] c"*Sha256\00" +@tn.str.185 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.186 = private constant [8 x i8] c"[64]i64\00" +@tn.str.187 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.188 = private constant [7 x i8] c"**void\00" +@tn.str.189 = private constant [8 x i8] c"*string\00" +@tn.str.190 = private constant [6 x i8] c"[]Any\00" +@tn.str.191 = private constant [5 x i8] c"*Any\00" +@tn.str.192 = private constant [7 x i8] c"[1]Any\00" +@tn.str.193 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.194 = private constant [7 x i8] c"*[]Any\00" +@tn.str.195 = private constant [4 x i8] c"*u8\00" +@tn.str.196 = private constant [6 x i8] c"*bool\00" +@tn.str.197 = private constant [5 x i8] c"*f64\00" +@tn.str.198 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.199 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.200 = private constant [11 x i8] c"*Allocator\00" +@tn.str.201 = private constant [9 x i8] c"*Context\00" +@tn.str.202 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.203 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.204 = private constant [8 x i8] c"*Member\00" +@tn.str.205 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.206 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.207 = private constant [9 x i8] c"*Command\00" +@tn.str.208 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.209 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.210 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.211 = private constant [7 x i8] c"*Value\00" +@tn.str.212 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.213 = private constant [14 x i8] c"*Architecture\00" +@tn.str.214 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.215 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.216 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.217 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.218 = private constant [10 x i8] c"*[]string\00" +@tn.str.219 = private constant [6 x i8] c"*[]u8\00" +@tn.str.220 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.221 = private constant [11 x i8] c"*[]Command\00" +@tn.str.222 = private constant [6 x i8] c"**GPA\00" +@tn.str.223 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.224 = private constant [8 x i8] c"**Arena\00" +@tn.str.225 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.226 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.227 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.228 = private constant [7 x i8] c"**File\00" +@tn.str.229 = private constant [6 x i8] c"**i32\00" +@tn.str.230 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.231 = private constant [6 x i8] c"**u32\00" +@tn.str.232 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.233 = private constant [8 x i8] c"**Array\00" +@tn.str.234 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.235 = private constant [9 x i8] c"**Object\00" +@tn.str.236 = private constant [7 x i8] c"**Sink\00" +@tn.str.237 = private constant [9 x i8] c"**Parser\00" +@tn.str.238 = private constant [6 x i8] c"**i64\00" +@tn.str.239 = private constant [9 x i8] c"**Parsed\00" +@tn.str.240 = private constant [7 x i8] c"**Diag\00" +@tn.str.241 = private constant [9 x i8] c"**Sha256\00" +@tn.str.242 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.243 = private constant [8 x i8] c"***void\00" +@tn.str.244 = private constant [9 x i8] c"**string\00" +@tn.str.245 = private constant [6 x i8] c"**Any\00" +@tn.str.246 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.247 = private constant [8 x i8] c"**[]Any\00" +@tn.str.248 = private constant [5 x i8] c"**u8\00" +@tn.str.249 = private constant [7 x i8] c"**bool\00" +@tn.str.250 = private constant [6 x i8] c"**f64\00" +@tn.str.251 = private constant [7 x i8] c"*?File\00" +@tn.str.252 = private constant [9 x i8] c"*?string\00" +@tn.str.253 = private constant [10 x i8] c"*?cstring\00" +@tn.str.254 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.255 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [163 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 7 }, { ptr, i64 } { ptr @tn.str.112, i64 5 }, { ptr, i64 } { ptr @tn.str.113, i64 15 }, { ptr, i64 } { ptr @tn.str.114, i64 9 }, { ptr, i64 } { ptr @tn.str.115, i64 7 }, { ptr, i64 } { ptr @tn.str.116, i64 6 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 10 }, { ptr, i64 } { ptr @tn.str.119, i64 11 }, { ptr, i64 } { ptr @tn.str.120, i64 3 }, { ptr, i64 } { ptr @tn.str.121, i64 4 }, { ptr, i64 } { ptr @tn.str.122, i64 10 }, { ptr, i64 } { ptr @tn.str.123, i64 11 }, { ptr, i64 } { ptr @tn.str.124, i64 5 }, { ptr, i64 } { ptr @tn.str.125, i64 6 }, { ptr, i64 } { ptr @tn.str.126, i64 5 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 9 }, { ptr, i64 } { ptr @tn.str.129, i64 17 }, { ptr, i64 } { ptr @tn.str.130, i64 18 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 8 }, { ptr, i64 } { ptr @tn.str.133, i64 4 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 7 }, { ptr, i64 } { ptr @tn.str.137, i64 10 }, { ptr, i64 } { ptr @tn.str.138, i64 8 }, { ptr, i64 } { ptr @tn.str.139, i64 13 }, { ptr, i64 } { ptr @tn.str.140, i64 14 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 9 }, { ptr, i64 } { ptr @tn.str.144, i64 4 }, { ptr, i64 } { ptr @tn.str.145, i64 9 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 6 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 6 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 6 }, { ptr, i64 } { ptr @tn.str.152, i64 9 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 5 }, { ptr, i64 } { ptr @tn.str.157, i64 16 }, { ptr, i64 } { ptr @tn.str.158, i64 14 }, { ptr, i64 } { ptr @tn.str.159, i64 21 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 7 }, { ptr, i64 } { ptr @tn.str.162, i64 24 }, { ptr, i64 } { ptr @tn.str.163, i64 23 }, { ptr, i64 } { ptr @tn.str.164, i64 15 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 12 }, { ptr, i64 } { ptr @tn.str.167, i64 10 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 8 }, { ptr, i64 } { ptr @tn.str.171, i64 10 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 9 }, { ptr, i64 } { ptr @tn.str.174, i64 4 }, { ptr, i64 } { ptr @tn.str.175, i64 13 }, { ptr, i64 } { ptr @tn.str.176, i64 6 }, { ptr, i64 } { ptr @tn.str.177, i64 7 }, { ptr, i64 } { ptr @tn.str.178, i64 18 }, { ptr, i64 } { ptr @tn.str.179, i64 9 }, { ptr, i64 } { ptr @tn.str.180, i64 5 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 12 }, { ptr, i64 } { ptr @tn.str.188, i64 6 }, { ptr, i64 } { ptr @tn.str.189, i64 7 }, { ptr, i64 } { ptr @tn.str.190, i64 5 }, { ptr, i64 } { ptr @tn.str.191, i64 4 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 7 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 3 }, { ptr, i64 } { ptr @tn.str.196, i64 5 }, { ptr, i64 } { ptr @tn.str.197, i64 4 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 16 }, { ptr, i64 } { ptr @tn.str.200, i64 10 }, { ptr, i64 } { ptr @tn.str.201, i64 8 }, { ptr, i64 } { ptr @tn.str.202, i64 11 }, { ptr, i64 } { ptr @tn.str.203, i64 14 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 13 }, { ptr, i64 } { ptr @tn.str.206, i64 9 }, { ptr, i64 } { ptr @tn.str.207, i64 8 }, { ptr, i64 } { ptr @tn.str.208, i64 10 }, { ptr, i64 } { ptr @tn.str.209, i64 9 }, { ptr, i64 } { ptr @tn.str.210, i64 9 }, { ptr, i64 } { ptr @tn.str.211, i64 6 }, { ptr, i64 } { ptr @tn.str.212, i64 16 }, { ptr, i64 } { ptr @tn.str.213, i64 13 }, { ptr, i64 } { ptr @tn.str.214, i64 14 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 7 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 9 }, { ptr, i64 } { ptr @tn.str.219, i64 5 }, { ptr, i64 } { ptr @tn.str.220, i64 11 }, { ptr, i64 } { ptr @tn.str.221, i64 10 }, { ptr, i64 } { ptr @tn.str.222, i64 5 }, { ptr, i64 } { ptr @tn.str.223, i64 12 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 6 }, { ptr, i64 } { ptr @tn.str.226, i64 10 }, { ptr, i64 } { ptr @tn.str.227, i64 19 }, { ptr, i64 } { ptr @tn.str.228, i64 6 }, { ptr, i64 } { ptr @tn.str.229, i64 5 }, { ptr, i64 } { ptr @tn.str.230, i64 10 }, { ptr, i64 } { ptr @tn.str.231, i64 5 }, { ptr, i64 } { ptr @tn.str.232, i64 9 }, { ptr, i64 } { ptr @tn.str.233, i64 7 }, { ptr, i64 } { ptr @tn.str.234, i64 10 }, { ptr, i64 } { ptr @tn.str.235, i64 8 }, { ptr, i64 } { ptr @tn.str.236, i64 6 }, { ptr, i64 } { ptr @tn.str.237, i64 8 }, { ptr, i64 } { ptr @tn.str.238, i64 5 }, { ptr, i64 } { ptr @tn.str.239, i64 8 }, { ptr, i64 } { ptr @tn.str.240, i64 6 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 13 }, { ptr, i64 } { ptr @tn.str.243, i64 7 }, { ptr, i64 } { ptr @tn.str.244, i64 8 }, { ptr, i64 } { ptr @tn.str.245, i64 5 }, { ptr, i64 } { ptr @tn.str.246, i64 8 }, { ptr, i64 } { ptr @tn.str.247, i64 7 }, { ptr, i64 } { ptr @tn.str.248, i64 4 }, { ptr, i64 } { ptr @tn.str.249, i64 6 }, { ptr, i64 } { ptr @tn.str.250, i64 5 }, { ptr, i64 } { ptr @tn.str.251, i64 6 }, { ptr, i64 } { ptr @tn.str.252, i64 8 }, { ptr, i64 } { ptr @tn.str.253, i64 9 }, { ptr, i64 } { ptr @tn.str.254, i64 15 }, { ptr, i64 } { ptr @tn.str.255, i64 8 }] @str.256 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.257 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.258 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.259 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.260 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.261 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.262 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.263 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.264 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.265 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.266 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.267 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.259 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.260 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.261 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.262 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.263 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.264 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.265 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.266 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.267 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.268 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.269 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.270 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @str.271 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.272 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.273 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.274 = private unnamed_addr constant [9 x i8] c"sum: {}\0A\00", align 1 -@str.275 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.276 = private unnamed_addr constant [9 x i8] c"sum: {}\0A\00", align 1 +@str.274 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.275 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.276 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @str.277 = private unnamed_addr constant [9 x i8] c"sum: {}\0A\00", align 1 @str.278 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.279 = private unnamed_addr constant [9 x i8] c"sum: {}\0A\00", align 1 -@str.280 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.281 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.282 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.283 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.280 = private unnamed_addr constant [9 x i8] c"sum: {}\0A\00", align 1 +@str.281 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.282 = private unnamed_addr constant [9 x i8] c"sum: {}\0A\00", align 1 +@str.283 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.284 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.285 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.286 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.284 = private constant [5 x i8] c"line\00" -@fld.str.285 = private constant [4 x i8] c"col\00" -@fld.str.286 = 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.284, i64 4 }, { ptr, i64 } { ptr @fld.str.285, i64 3 }, { ptr, i64 } { ptr @fld.str.286, i64 4 }] -@str.287 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.288 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.289 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.290 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.291 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.292 = private constant [4 x i8] c"ctx\00" -@fld.str.293 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.294 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.295 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.292, i64 3 }, { ptr, i64 } { ptr @fld.str.293, i64 11 }, { ptr, i64 } { ptr @fld.str.294, i64 13 }] -@str.296 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.297 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.298 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.299 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.300 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.301 = private constant [10 x i8] c"allocator\00" -@fld.str.302 = private constant [5 x i8] c"data\00" -@field_names.303 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.301, i64 9 }, { ptr, i64 } { ptr @fld.str.302, i64 4 }] -@str.304 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.305 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.306 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.307 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.308 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.309 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.310 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.311 = private unnamed_addr constant [4 x i8] c"GPA\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"}\00", align 1 -@str.314 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.315 = private constant [12 x i8] c"alloc_count\00" -@field_names.316 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.315, i64 11 }] -@str.317 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.318 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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.322 = private constant [5 x i8] c"next\00" -@fld.str.323 = private constant [4 x i8] c"cap\00" -@field_names.324 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.322, i64 4 }, { ptr, i64 } { ptr @fld.str.323, i64 3 }] -@str.325 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.326 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" -@fld.str.331 = private constant [10 x i8] c"end_index\00" -@fld.str.332 = private constant [7 x i8] c"parent\00" -@field_names.333 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.330, i64 5 }, { ptr, i64 } { ptr @fld.str.331, i64 9 }, { ptr, i64 } { ptr @fld.str.332, i64 6 }] -@str.334 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.335 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" -@fld.str.340 = private constant [4 x i8] c"len\00" -@fld.str.341 = private constant [4 x i8] c"pos\00" -@field_names.342 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.339, i64 3 }, { ptr, i64 } { ptr @fld.str.340, i64 3 }, { ptr, i64 } { ptr @fld.str.341, i64 3 }] -@str.343 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.344 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" -@fld.str.349 = private constant [12 x i8] c"alloc_count\00" -@fld.str.350 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.351 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.352 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.348, i64 6 }, { ptr, i64 } { ptr @fld.str.349, i64 11 }, { ptr, i64 } { ptr @fld.str.350, i64 13 }, { ptr, i64 } { ptr @fld.str.351, i64 17 }] -@str.353 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.354 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" -@field_names.359 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.358, i64 2 }] -@str.360 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.361 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" -@fld.str.366 = private constant [5 x i8] c"line\00" -@fld.str.367 = private constant [4 x i8] c"col\00" -@fld.str.368 = private constant [5 x i8] c"func\00" -@fld.str.369 = private constant [10 x i8] c"line_text\00" -@field_names.370 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.365, i64 4 }, { ptr, i64 } { ptr @fld.str.366, i64 4 }, { ptr, i64 } { ptr @fld.str.367, i64 3 }, { ptr, i64 } { ptr @fld.str.368, i64 4 }, { ptr, i64 } { ptr @fld.str.369, i64 9 }] -@str.371 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.372 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" -@fld.str.377 = private constant [7 x i8] c"stdout\00" -@field_names.378 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.376, i64 9 }, { ptr, i64 } { ptr @fld.str.377, i64 6 }] -@str.379 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.380 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.385 = private constant [11 x i8] c"sin_family\00" -@fld.str.386 = private constant [9 x i8] c"sin_port\00" -@fld.str.387 = private constant [9 x i8] c"sin_addr\00" -@fld.str.388 = private constant [9 x i8] c"sin_zero\00" -@field_names.389 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.384, i64 7 }, { ptr, i64 } { ptr @fld.str.385, i64 10 }, { ptr, i64 } { ptr @fld.str.386, i64 8 }, { ptr, i64 } { ptr @fld.str.387, i64 8 }, { ptr, i64 } { ptr @fld.str.388, i64 8 }] -@str.390 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.391 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" -@fld.str.396 = private constant [4 x i8] c"len\00" -@fld.str.397 = private constant [4 x i8] c"cap\00" -@field_names.398 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.395, i64 5 }, { ptr, i64 } { ptr @fld.str.396, i64 3 }, { 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 [7 x i8] c"Object\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"items\00" -@fld.str.405 = private constant [4 x i8] c"len\00" -@fld.str.406 = private constant [4 x i8] c"cap\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 3 }, { 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 [7 x i8] c"Member\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"key\00" -@fld.str.414 = private constant [4 x i8] c"val\00" -@field_names.415 = private constant [2 x { ptr, i64 }] [{ 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 [5 x i8] c"Sink\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 [4 x i8] c"dst\00" -@fld.str.422 = private constant [4 x i8] c"pos\00" -@fld.str.423 = private constant [5 x i8] c"file\00" -@field_names.424 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.421, i64 3 }, { ptr, i64 } { ptr @fld.str.422, i64 3 }, { ptr, i64 } { ptr @fld.str.423, i64 4 }] -@str.425 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.426 = private unnamed_addr constant [7 x i8] c"Parser\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"src\00" -@fld.str.431 = private constant [4 x i8] c"pos\00" -@fld.str.432 = private constant [6 x i8] c"alloc\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 5 }] -@str.434 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.435 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.439 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.440 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.441 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" -@fld.str.446 = private constant [12 x i8] c"takes_value\00" -@fld.str.447 = private constant [9 x i8] c"required\00" -@field_names.448 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.445, i64 4 }, { ptr, i64 } { ptr @fld.str.446, i64 11 }, { 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 [8 x i8] c"Command\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"group\00" -@fld.str.455 = private constant [8 x i8] c"command\00" -@fld.str.456 = private constant [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.456, i64 5 }] -@str.458 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.459 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" -@fld.str.464 = private constant [6 x i8] c"value\00" -@field_names.465 = private constant [2 x { ptr, i64 }] [{ 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 [5 x i8] c"Diag\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 [6 x i8] c"index\00" -@fld.str.472 = private constant [6 x i8] c"token\00" -@field_names.473 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.471, i64 5 }, { ptr, i64 } { ptr @fld.str.472, i64 5 }] -@str.474 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.475 = private unnamed_addr constant [7 x i8] c"Parsed\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 [6 x i8] c"group\00" -@fld.str.480 = private constant [8 x i8] c"command\00" -@fld.str.481 = private constant [10 x i8] c"cmd_index\00" -@fld.str.482 = private constant [5 x i8] c"json\00" -@fld.str.483 = private constant [5 x i8] c"rest\00" -@fld.str.484 = private constant [5 x i8] c"spec\00" -@fld.str.485 = private constant [7 x i8] c"values\00" -@field_names.486 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.479, i64 5 }, { ptr, i64 } { ptr @fld.str.480, i64 7 }, { ptr, i64 } { ptr @fld.str.481, i64 9 }, { ptr, i64 } { ptr @fld.str.482, i64 4 }, { ptr, i64 } { ptr @fld.str.483, i64 4 }, { ptr, i64 } { ptr @fld.str.484, i64 4 }, { ptr, i64 } { ptr @fld.str.485, i64 6 }] -@str.487 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.488 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" -@fld.str.493 = private constant [4 x i8] c"buf\00" -@fld.str.494 = private constant [8 x i8] c"buf_len\00" -@fld.str.495 = private constant [10 x i8] c"total_len\00" -@field_names.496 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.492, i64 1 }, { ptr, i64 } { ptr @fld.str.493, i64 3 }, { ptr, i64 } { ptr @fld.str.494, i64 7 }, { ptr, i64 } { ptr @fld.str.495, i64 9 }] -@str.497 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.498 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.499 = private constant [5 x i8] c"read\00" -@fld.str.500 = private constant [6 x i8] c"write\00" -@fld.str.501 = private constant [7 x i8] c"append\00" -@fld.str.502 = private constant [11 x i8] c"read_write\00" -@field_names.503 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.499, i64 4 }, { ptr, i64 } { ptr @fld.str.500, i64 5 }, { ptr, i64 } { ptr @fld.str.501, i64 6 }, { ptr, i64 } { ptr @fld.str.502, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.507 = private constant [4 x i8] c"set\00" -@fld.str.508 = private constant [8 x i8] c"current\00" -@fld.str.509 = private constant [4 x i8] c"end\00" -@field_names.510 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.507, i64 3 }, { ptr, i64 } { ptr @fld.str.508, i64 7 }, { ptr, i64 } { ptr @fld.str.509, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.514 = private constant [6 x i8] c"null_\00" -@fld.str.515 = private constant [6 x i8] c"bool_\00" -@fld.str.516 = private constant [5 x i8] c"int_\00" -@fld.str.517 = private constant [4 x i8] c"str\00" -@fld.str.518 = private constant [6 x i8] c"array\00" -@fld.str.519 = private constant [7 x i8] c"object\00" -@field_names.520 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.514, i64 5 }, { ptr, i64 } { ptr @fld.str.515, i64 5 }, { ptr, i64 } { ptr @fld.str.516, i64 4 }, { ptr, i64 } { ptr @fld.str.517, i64 3 }, { ptr, i64 } { ptr @fld.str.518, i64 5 }, { ptr, i64 } { ptr @fld.str.519, i64 6 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.524 = private constant [6 x i8] c"macos\00" -@fld.str.525 = private constant [6 x i8] c"linux\00" -@fld.str.526 = private constant [8 x i8] c"windows\00" -@fld.str.527 = private constant [5 x i8] c"wasm\00" -@fld.str.528 = private constant [4 x i8] c"ios\00" -@fld.str.529 = private constant [8 x i8] c"android\00" -@fld.str.530 = private constant [8 x i8] c"unknown\00" -@field_names.531 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.524, i64 5 }, { ptr, i64 } { ptr @fld.str.525, i64 5 }, { ptr, i64 } { ptr @fld.str.526, i64 7 }, { ptr, i64 } { ptr @fld.str.527, i64 4 }, { ptr, i64 } { ptr @fld.str.528, i64 3 }, { ptr, i64 } { ptr @fld.str.529, i64 7 }, { ptr, i64 } { ptr @fld.str.530, i64 7 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.535 = private constant [8 x i8] c"aarch64\00" -@fld.str.536 = private constant [7 x i8] c"x86_64\00" -@fld.str.537 = private constant [7 x i8] c"wasm32\00" -@fld.str.538 = private constant [7 x i8] c"wasm64\00" -@fld.str.539 = private constant [8 x i8] c"unknown\00" -@field_names.540 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.535, i64 7 }, { ptr, i64 } { ptr @fld.str.536, i64 6 }, { ptr, i64 } { ptr @fld.str.537, i64 6 }, { ptr, i64 } { ptr @fld.str.538, i64 6 }, { ptr, i64 } { ptr @fld.str.539, i64 7 }] -@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 [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.287 = private constant [5 x i8] c"line\00" +@fld.str.288 = private constant [4 x i8] c"col\00" +@fld.str.289 = 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.287, i64 4 }, { ptr, i64 } { ptr @fld.str.288, i64 3 }, { ptr, i64 } { ptr @fld.str.289, i64 4 }] +@str.290 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.291 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.292 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.293 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.294 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.295 = private constant [4 x i8] c"ctx\00" +@fld.str.296 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.297 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.298 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.295, i64 3 }, { ptr, i64 } { ptr @fld.str.296, i64 11 }, { ptr, i64 } { ptr @fld.str.297, i64 13 }] +@str.299 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.300 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.301 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.302 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.303 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.304 = private constant [10 x i8] c"allocator\00" +@fld.str.305 = private constant [5 x i8] c"data\00" +@field_names.306 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.304, i64 9 }, { ptr, i64 } { ptr @fld.str.305, i64 4 }] +@str.307 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.308 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.309 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.310 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.311 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.312 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.313 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.314 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.315 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.316 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.317 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.318 = private constant [12 x i8] c"alloc_count\00" +@field_names.319 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.318, i64 11 }] +@str.320 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.321 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" +@fld.str.326 = private constant [4 x i8] c"cap\00" +@field_names.327 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.325, i64 4 }, { ptr, i64 } { ptr @fld.str.326, i64 3 }] +@str.328 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.329 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" +@fld.str.334 = private constant [10 x i8] c"end_index\00" +@fld.str.335 = private constant [7 x i8] c"parent\00" +@field_names.336 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.333, i64 5 }, { ptr, i64 } { ptr @fld.str.334, i64 9 }, { ptr, i64 } { ptr @fld.str.335, i64 6 }] +@str.337 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.338 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" +@fld.str.343 = private constant [4 x i8] c"len\00" +@fld.str.344 = private constant [4 x i8] c"pos\00" +@field_names.345 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.342, i64 3 }, { ptr, i64 } { ptr @fld.str.343, i64 3 }, { ptr, i64 } { ptr @fld.str.344, i64 3 }] +@str.346 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.347 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" +@fld.str.352 = private constant [12 x i8] c"alloc_count\00" +@fld.str.353 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.354 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.355 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.351, i64 6 }, { ptr, i64 } { ptr @fld.str.352, i64 11 }, { ptr, i64 } { ptr @fld.str.353, i64 13 }, { ptr, i64 } { ptr @fld.str.354, i64 17 }] +@str.356 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.357 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" +@field_names.362 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.361, i64 2 }] +@str.363 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.364 = private unnamed_addr constant [11 x i8] c"TraceFrame\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"file\00" +@fld.str.369 = private constant [5 x i8] c"line\00" +@fld.str.370 = private constant [4 x i8] c"col\00" +@fld.str.371 = private constant [5 x i8] c"func\00" +@fld.str.372 = private constant [10 x i8] c"line_text\00" +@field_names.373 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.368, i64 4 }, { ptr, i64 } { ptr @fld.str.369, i64 4 }, { ptr, i64 } { ptr @fld.str.370, i64 3 }, { ptr, i64 } { ptr @fld.str.371, i64 4 }, { ptr, i64 } { ptr @fld.str.372, i64 9 }] +@str.374 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.375 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" +@fld.str.380 = private constant [7 x i8] c"stdout\00" +@field_names.381 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.379, i64 9 }, { ptr, i64 } { ptr @fld.str.380, i64 6 }] +@str.382 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.383 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" +@fld.str.388 = private constant [11 x i8] c"sin_family\00" +@fld.str.389 = private constant [9 x i8] c"sin_port\00" +@fld.str.390 = private constant [9 x i8] c"sin_addr\00" +@fld.str.391 = private constant [9 x i8] c"sin_zero\00" +@field_names.392 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.387, i64 7 }, { ptr, i64 } { ptr @fld.str.388, i64 10 }, { ptr, i64 } { ptr @fld.str.389, i64 8 }, { ptr, i64 } { ptr @fld.str.390, i64 8 }, { ptr, i64 } { ptr @fld.str.391, i64 8 }] +@str.393 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.394 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" +@fld.str.399 = private constant [4 x i8] c"len\00" +@fld.str.400 = private constant [4 x i8] c"cap\00" +@field_names.401 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.398, i64 5 }, { 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 [7 x i8] c"Object\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 [6 x i8] c"items\00" +@fld.str.408 = private constant [4 x i8] c"len\00" +@fld.str.409 = private constant [4 x i8] c"cap\00" +@field_names.410 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.407, i64 5 }, { ptr, i64 } { ptr @fld.str.408, i64 3 }, { ptr, i64 } { ptr @fld.str.409, i64 3 }] +@str.411 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.412 = private unnamed_addr constant [7 x i8] c"Member\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 [4 x i8] c"key\00" +@fld.str.417 = private constant [4 x i8] c"val\00" +@field_names.418 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.416, i64 3 }, { 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 [5 x i8] c"Sink\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 [4 x i8] c"dst\00" +@fld.str.425 = private constant [4 x i8] c"pos\00" +@fld.str.426 = private constant [5 x i8] c"file\00" +@field_names.427 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.424, i64 3 }, { ptr, i64 } { ptr @fld.str.425, i64 3 }, { ptr, i64 } { ptr @fld.str.426, i64 4 }] +@str.428 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.429 = private unnamed_addr constant [7 x i8] c"Parser\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"src\00" +@fld.str.434 = private constant [4 x i8] c"pos\00" +@fld.str.435 = private constant [6 x i8] c"alloc\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 5 }] +@str.437 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.438 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 +@field_names.442 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.443 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.444 = private unnamed_addr constant [9 x i8] c"FlagSpec\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"name\00" +@fld.str.449 = private constant [12 x i8] c"takes_value\00" +@fld.str.450 = private constant [9 x i8] c"required\00" +@field_names.451 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.448, i64 4 }, { ptr, i64 } { ptr @fld.str.449, i64 11 }, { ptr, i64 } { ptr @fld.str.450, i64 8 }] +@str.452 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.453 = private unnamed_addr constant [8 x i8] c"Command\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"group\00" +@fld.str.458 = private constant [8 x i8] c"command\00" +@fld.str.459 = private constant [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.459, i64 5 }] +@str.461 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.462 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" +@fld.str.467 = private constant [6 x i8] c"value\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 5 }] +@str.469 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.470 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" +@fld.str.475 = private constant [6 x i8] c"token\00" +@field_names.476 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.474, i64 5 }, { ptr, i64 } { ptr @fld.str.475, i64 5 }] +@str.477 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.478 = private unnamed_addr constant [7 x i8] c"Parsed\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 [6 x i8] c"group\00" +@fld.str.483 = private constant [8 x i8] c"command\00" +@fld.str.484 = private constant [10 x i8] c"cmd_index\00" +@fld.str.485 = private constant [5 x i8] c"json\00" +@fld.str.486 = private constant [5 x i8] c"rest\00" +@fld.str.487 = private constant [5 x i8] c"spec\00" +@fld.str.488 = private constant [7 x i8] c"values\00" +@field_names.489 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.482, i64 5 }, { ptr, i64 } { ptr @fld.str.483, i64 7 }, { ptr, i64 } { ptr @fld.str.484, i64 9 }, { ptr, i64 } { ptr @fld.str.485, i64 4 }, { ptr, i64 } { ptr @fld.str.486, i64 4 }, { ptr, i64 } { ptr @fld.str.487, i64 4 }, { 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"Sha256\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 [2 x i8] c"h\00" +@fld.str.496 = private constant [4 x i8] c"buf\00" +@fld.str.497 = private constant [8 x i8] c"buf_len\00" +@fld.str.498 = private constant [10 x i8] c"total_len\00" +@field_names.499 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.495, i64 1 }, { ptr, i64 } { ptr @fld.str.496, i64 3 }, { ptr, i64 } { ptr @fld.str.497, i64 7 }, { ptr, i64 } { ptr @fld.str.498, i64 9 }] +@str.500 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.501 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.502 = private constant [5 x i8] c"read\00" +@fld.str.503 = private constant [6 x i8] c"write\00" +@fld.str.504 = private constant [7 x i8] c"append\00" +@fld.str.505 = private constant [11 x i8] c"read_write\00" +@field_names.506 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.502, i64 4 }, { ptr, i64 } { ptr @fld.str.503, i64 5 }, { ptr, i64 } { ptr @fld.str.504, i64 6 }, { ptr, i64 } { ptr @fld.str.505, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.510 = private constant [4 x i8] c"set\00" +@fld.str.511 = private constant [8 x i8] c"current\00" +@fld.str.512 = private constant [4 x i8] c"end\00" +@field_names.513 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.510, i64 3 }, { ptr, i64 } { ptr @fld.str.511, i64 7 }, { ptr, i64 } { ptr @fld.str.512, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.517 = private constant [6 x i8] c"null_\00" +@fld.str.518 = private constant [6 x i8] c"bool_\00" +@fld.str.519 = private constant [5 x i8] c"int_\00" +@fld.str.520 = private constant [4 x i8] c"str\00" +@fld.str.521 = private constant [6 x i8] c"array\00" +@fld.str.522 = private constant [7 x i8] c"object\00" +@field_names.523 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.517, i64 5 }, { ptr, i64 } { ptr @fld.str.518, i64 5 }, { ptr, i64 } { ptr @fld.str.519, i64 4 }, { ptr, i64 } { ptr @fld.str.520, i64 3 }, { ptr, i64 } { ptr @fld.str.521, i64 5 }, { ptr, i64 } { ptr @fld.str.522, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.527 = private constant [6 x i8] c"macos\00" +@fld.str.528 = private constant [6 x i8] c"linux\00" +@fld.str.529 = private constant [8 x i8] c"windows\00" +@fld.str.530 = private constant [5 x i8] c"wasm\00" +@fld.str.531 = private constant [4 x i8] c"ios\00" +@fld.str.532 = private constant [8 x i8] c"android\00" +@fld.str.533 = private constant [8 x i8] c"unknown\00" +@field_names.534 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.527, i64 5 }, { ptr, i64 } { ptr @fld.str.528, i64 5 }, { ptr, i64 } { ptr @fld.str.529, i64 7 }, { ptr, i64 } { ptr @fld.str.530, i64 4 }, { ptr, i64 } { ptr @fld.str.531, i64 3 }, { ptr, i64 } { ptr @fld.str.532, i64 7 }, { ptr, i64 } { ptr @fld.str.533, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.538 = private constant [8 x i8] c"aarch64\00" +@fld.str.539 = private constant [7 x i8] c"x86_64\00" +@fld.str.540 = private constant [7 x i8] c"wasm32\00" +@fld.str.541 = private constant [7 x i8] c"wasm64\00" +@fld.str.542 = private constant [8 x i8] c"unknown\00" +@field_names.543 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.538, i64 7 }, { ptr, i64 } { ptr @fld.str.539, i64 6 }, { ptr, i64 } { ptr @fld.str.540, i64 6 }, { ptr, i64 } { ptr @fld.str.541, i64 6 }, { ptr, i64 } { ptr @fld.str.542, i64 7 }] +@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 [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 @@ -509,35 +509,35 @@ @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 -@str.576 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.577 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.578 = private unnamed_addr constant [4 x i8] c"@0x\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 @str.579 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.580 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.580 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.581 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.582 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.583 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.583 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.584 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.585 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.586 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.586 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.587 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.588 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.589 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.589 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.590 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.591 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.592 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 +@str.592 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.593 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.594 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.595 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 +@str.595 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.596 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.597 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.598 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.598 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.599 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.600 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.601 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.601 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.602 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.603 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.604 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.604 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.605 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.606 = private unnamed_addr constant [5 x i8] c"null\00", align 1 @str.607 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @@ -597,15 +597,19 @@ @str.661 = private unnamed_addr constant [7 x i8] c"*[]Any\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 [6 x i8] c"*bool\00", align 1 +@str.664 = private unnamed_addr constant [4 x i8] c"*u8\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"*f64\00", align 1 +@str.667 = private unnamed_addr constant [6 x i8] c"*bool\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 [5 x i8] c"null\00", align 1 -@str.671 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.670 = private unnamed_addr constant [5 x i8] c"*f64\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"null\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"null\00", align 1 +@str.676 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -622,7 +626,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -673,7 +677,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -763,7 +767,7 @@ if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.66 @@ -966,7 +970,7 @@ if.merge.91: ; preds = %if.else.90, %if.the %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1209,7 +1213,7 @@ if.merge.370: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1281,7 +1285,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1312,7 +1316,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1327,6 +1331,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1369,85 +1382,86 @@ entry: i64 1, label %match.arm.41 i64 10, label %match.arm.42 i64 11, label %match.arm.42 - i64 19, label %match.arm.43 i64 20, label %match.arm.43 i64 21, label %match.arm.43 - i64 24, label %match.arm.43 - i64 26, label %match.arm.43 - i64 28, label %match.arm.43 - i64 30, label %match.arm.43 - i64 33, label %match.arm.43 - i64 35, label %match.arm.43 - i64 39, label %match.arm.43 - i64 43, label %match.arm.43 - i64 45, label %match.arm.43 - i64 48, label %match.arm.43 - i64 52, label %match.arm.43 + i64 22, label %match.arm.43 + i64 25, label %match.arm.43 + i64 27, label %match.arm.43 + i64 29, label %match.arm.43 + i64 31, label %match.arm.43 + i64 34, label %match.arm.43 + i64 36, label %match.arm.43 + i64 40, label %match.arm.43 + i64 44, label %match.arm.43 + i64 46, label %match.arm.43 + i64 49, label %match.arm.43 i64 53, label %match.arm.43 - i64 55, label %match.arm.43 - i64 61, label %match.arm.43 - i64 66, label %match.arm.43 - i64 72, label %match.arm.43 - i64 76, label %match.arm.43 - i64 78, label %match.arm.43 + i64 54, label %match.arm.43 + i64 56, label %match.arm.43 + i64 62, label %match.arm.43 + i64 67, label %match.arm.43 + i64 73, label %match.arm.43 + i64 77, label %match.arm.43 i64 79, label %match.arm.43 i64 80, label %match.arm.43 - i64 82, label %match.arm.43 - i64 89, label %match.arm.43 - i64 37, label %match.arm.44 + i64 81, label %match.arm.43 + i64 83, label %match.arm.43 + i64 90, label %match.arm.43 i64 38, label %match.arm.44 - i64 54, label %match.arm.44 - i64 70, label %match.arm.44 + i64 39, label %match.arm.44 + i64 55, label %match.arm.44 i64 71, label %match.arm.44 - i64 51, label %match.arm.45 - i64 64, label %match.arm.45 - i64 75, label %match.arm.45 - i64 22, label %match.arm.47 - i64 81, label %match.arm.47 - i64 87, label %match.arm.47 + i64 72, label %match.arm.44 + i64 52, label %match.arm.45 + i64 65, label %match.arm.45 + i64 76, label %match.arm.45 + i64 23, label %match.arm.47 + i64 82, label %match.arm.47 i64 88, label %match.arm.47 - i64 92, label %match.arm.47 - i64 98, label %match.arm.47 - i64 23, label %match.arm.48 - i64 60, label %match.arm.48 - i64 77, label %match.arm.48 - i64 85, label %match.arm.48 - i64 96, label %match.arm.48 - i64 18, label %match.arm.49 - i64 25, label %match.arm.49 - i64 27, label %match.arm.49 - i64 29, label %match.arm.49 - i64 31, label %match.arm.49 + i64 89, label %match.arm.47 + i64 93, label %match.arm.47 + i64 99, label %match.arm.47 + i64 24, label %match.arm.48 + i64 61, label %match.arm.48 + i64 78, label %match.arm.48 + i64 86, label %match.arm.48 + i64 97, label %match.arm.48 + i64 19, label %match.arm.49 + i64 26, label %match.arm.49 + i64 28, label %match.arm.49 + i64 30, label %match.arm.49 i64 32, label %match.arm.49 - i64 34, label %match.arm.49 - i64 36, label %match.arm.49 - i64 40, label %match.arm.49 - i64 44, label %match.arm.49 - i64 47, label %match.arm.49 - i64 49, label %match.arm.49 + i64 33, label %match.arm.49 + i64 35, label %match.arm.49 + i64 37, label %match.arm.49 + i64 41, label %match.arm.49 + i64 48, label %match.arm.49 i64 50, label %match.arm.49 - i64 56, label %match.arm.49 + i64 51, label %match.arm.49 i64 57, label %match.arm.49 i64 58, label %match.arm.49 i64 59, label %match.arm.49 - i64 62, label %match.arm.49 - i64 67, label %match.arm.49 - i64 74, label %match.arm.49 - i64 83, label %match.arm.49 - i64 86, label %match.arm.49 - i64 90, label %match.arm.49 - i64 93, label %match.arm.49 + i64 60, label %match.arm.49 + i64 63, label %match.arm.49 + i64 68, label %match.arm.49 + i64 75, label %match.arm.49 + i64 84, label %match.arm.49 + i64 87, label %match.arm.49 + i64 91, label %match.arm.49 i64 94, label %match.arm.49 i64 95, label %match.arm.49 - i64 97, label %match.arm.49 - i64 99, label %match.arm.49 + i64 96, label %match.arm.49 + i64 98, label %match.arm.49 i64 100, label %match.arm.49 i64 101, label %match.arm.49 i64 102, label %match.arm.49 - i64 41, label %match.arm.50 + i64 103, label %match.arm.49 + i64 104, label %match.arm.49 i64 42, label %match.arm.50 - i64 46, label %match.arm.50 - i64 91, label %match.arm.50 + i64 43, label %match.arm.50 + i64 45, label %match.arm.50 + i64 47, label %match.arm.50 + i64 92, label %match.arm.50 i64 13, label %match.arm.51 ] @@ -1465,7 +1479,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 [160 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [163 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 @@ -1498,31 +1512,31 @@ match.arm.43: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.95 [ - i64 19, label %dispatch.case.96 - i64 20, label %dispatch.case.97 - i64 21, label %dispatch.case.98 - i64 24, label %dispatch.case.99 - i64 26, label %dispatch.case.100 - i64 28, label %dispatch.case.101 - i64 30, label %dispatch.case.102 - i64 33, label %dispatch.case.103 - i64 35, label %dispatch.case.104 - i64 39, label %dispatch.case.105 - i64 43, label %dispatch.case.106 - i64 45, label %dispatch.case.107 - i64 48, label %dispatch.case.108 - i64 52, label %dispatch.case.109 - i64 53, label %dispatch.case.110 - i64 55, label %dispatch.case.111 - i64 61, label %dispatch.case.112 - i64 66, label %dispatch.case.113 - i64 72, label %dispatch.case.114 - i64 76, label %dispatch.case.115 - i64 78, label %dispatch.case.116 - i64 79, label %dispatch.case.117 - i64 80, label %dispatch.case.118 - i64 82, label %dispatch.case.119 - i64 89, label %dispatch.case.120 + i64 20, label %dispatch.case.96 + i64 21, label %dispatch.case.97 + i64 22, label %dispatch.case.98 + i64 25, label %dispatch.case.99 + i64 27, label %dispatch.case.100 + i64 29, label %dispatch.case.101 + i64 31, label %dispatch.case.102 + i64 34, label %dispatch.case.103 + i64 36, label %dispatch.case.104 + i64 40, label %dispatch.case.105 + i64 44, label %dispatch.case.106 + i64 46, label %dispatch.case.107 + i64 49, label %dispatch.case.108 + i64 53, label %dispatch.case.109 + i64 54, label %dispatch.case.110 + i64 56, label %dispatch.case.111 + i64 62, label %dispatch.case.112 + i64 67, label %dispatch.case.113 + i64 73, label %dispatch.case.114 + i64 77, label %dispatch.case.115 + i64 79, label %dispatch.case.116 + i64 80, label %dispatch.case.117 + i64 81, label %dispatch.case.118 + i64 83, label %dispatch.case.119 + i64 90, label %dispatch.case.120 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1530,11 +1544,11 @@ match.arm.44: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.247 [ - i64 37, label %dispatch.case.248 - i64 38, label %dispatch.case.249 - i64 54, label %dispatch.case.250 - i64 70, label %dispatch.case.251 - i64 71, label %dispatch.case.252 + i64 38, label %dispatch.case.248 + i64 39, label %dispatch.case.249 + i64 55, label %dispatch.case.250 + i64 71, label %dispatch.case.251 + i64 72, label %dispatch.case.252 ] match.arm.45: ; preds = %entry, %entry, %entry @@ -1557,12 +1571,12 @@ match.arm.47: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.264 [ - i64 22, label %dispatch.case.265 - i64 81, label %dispatch.case.266 - i64 87, label %dispatch.case.267 - i64 88, label %dispatch.case.268 - i64 92, label %dispatch.case.269 - i64 98, label %dispatch.case.270 + i64 23, label %dispatch.case.265 + i64 82, label %dispatch.case.266 + i64 88, label %dispatch.case.267 + i64 89, label %dispatch.case.268 + i64 93, label %dispatch.case.269 + i64 99, label %dispatch.case.270 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1570,11 +1584,11 @@ match.arm.48: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.302 [ - i64 23, label %dispatch.case.303 - i64 60, label %dispatch.case.304 - i64 77, label %dispatch.case.305 - i64 85, label %dispatch.case.306 - i64 96, label %dispatch.case.307 + i64 24, label %dispatch.case.303 + i64 61, label %dispatch.case.304 + i64 78, label %dispatch.case.305 + i64 86, label %dispatch.case.306 + i64 97, label %dispatch.case.307 ] 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 @@ -1582,48 +1596,49 @@ match.arm.49: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.334 [ - i64 18, label %dispatch.case.335 - i64 25, label %dispatch.case.336 - i64 27, label %dispatch.case.337 - i64 29, label %dispatch.case.338 - i64 31, label %dispatch.case.339 - i64 32, label %dispatch.case.340 - i64 34, label %dispatch.case.341 - i64 36, label %dispatch.case.342 - i64 40, label %dispatch.case.343 - i64 44, label %dispatch.case.344 - i64 47, label %dispatch.case.345 - i64 49, label %dispatch.case.346 - i64 50, label %dispatch.case.347 - i64 56, label %dispatch.case.348 - i64 57, label %dispatch.case.349 - i64 58, label %dispatch.case.350 - i64 59, label %dispatch.case.351 - i64 62, label %dispatch.case.352 - i64 67, label %dispatch.case.353 - i64 74, label %dispatch.case.354 - i64 83, label %dispatch.case.355 - i64 86, label %dispatch.case.356 - i64 90, label %dispatch.case.357 - i64 93, label %dispatch.case.358 - i64 94, label %dispatch.case.359 - i64 95, label %dispatch.case.360 - i64 97, label %dispatch.case.361 - i64 99, label %dispatch.case.362 - i64 100, label %dispatch.case.363 - i64 101, label %dispatch.case.364 - i64 102, label %dispatch.case.365 + i64 19, label %dispatch.case.335 + i64 26, label %dispatch.case.336 + i64 28, label %dispatch.case.337 + i64 30, label %dispatch.case.338 + i64 32, label %dispatch.case.339 + i64 33, label %dispatch.case.340 + i64 35, label %dispatch.case.341 + i64 37, label %dispatch.case.342 + i64 41, label %dispatch.case.343 + i64 48, label %dispatch.case.344 + i64 50, label %dispatch.case.345 + i64 51, label %dispatch.case.346 + i64 57, label %dispatch.case.347 + i64 58, label %dispatch.case.348 + i64 59, label %dispatch.case.349 + i64 60, label %dispatch.case.350 + i64 63, label %dispatch.case.351 + i64 68, label %dispatch.case.352 + i64 75, label %dispatch.case.353 + i64 84, label %dispatch.case.354 + i64 87, label %dispatch.case.355 + i64 91, label %dispatch.case.356 + i64 94, label %dispatch.case.357 + i64 95, label %dispatch.case.358 + i64 96, label %dispatch.case.359 + i64 98, label %dispatch.case.360 + i64 100, label %dispatch.case.361 + i64 101, label %dispatch.case.362 + i64 102, label %dispatch.case.363 + i64 103, label %dispatch.case.364 + i64 104, label %dispatch.case.365 ] -match.arm.50: ; preds = %entry, %entry, %entry, %entry +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.473 [ - i64 41, label %dispatch.case.474 - i64 42, label %dispatch.case.475 - i64 46, label %dispatch.case.476 - i64 91, label %dispatch.case.477 + i64 42, label %dispatch.case.474 + i64 43, label %dispatch.case.475 + i64 45, label %dispatch.case.476 + i64 47, label %dispatch.case.477 + i64 92, label %dispatch.case.478 ] match.arm.51: ; preds = %entry @@ -1632,7 +1647,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 [160 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [163 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 @@ -1683,7 +1698,7 @@ dispatch.merge.94: ; preds = %dispatch.case.120, br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.253, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.256, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -1892,7 +1907,7 @@ dispatch.merge.246: ; preds = %dispatch.case.252, br label %match.merge.37 dispatch.default.247: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.254, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.257, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.246 dispatch.case.248: ; preds = %match.arm.44 @@ -1933,7 +1948,7 @@ dispatch.merge.263: ; preds = %dispatch.case.270, br label %match.merge.37 dispatch.default.264: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.255, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.258, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.263 dispatch.case.265: ; preds = %match.arm.47 @@ -1990,7 +2005,7 @@ dispatch.merge.301: ; preds = %dispatch.case.307, br label %match.merge.37 dispatch.default.302: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.256, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.259, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.301 dispatch.case.303: ; preds = %match.arm.48 @@ -2039,7 +2054,7 @@ dispatch.merge.333: ; preds = %dispatch.case.365, br label %match.merge.37 dispatch.default.334: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.257, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.260, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.335: ; preds = %match.arm.49 @@ -2108,140 +2123,140 @@ dispatch.case.343: ; preds = %match.arm.49 dispatch.case.344: ; 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_u8(ptr %0, ptr %iNp247) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp247) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.345: ; 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_i32(ptr %0, ptr %iNp250) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp250) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.346: ; 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_SockAddr(ptr %0, ptr %iNp253) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp253) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.347: ; 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_u32(ptr %0, ptr %iNp256) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp256) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.348: ; 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_Value(ptr %0, ptr %iNp259) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp259) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.349: ; 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_Array(ptr %0, ptr %iNp262) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp262) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.350: ; 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__mptr_Member(ptr %0, ptr %iNp265) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp265) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.351: ; 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_Object(ptr %0, ptr %iNp268) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp268) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.352: ; 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_Sink(ptr %0, ptr %iNp271) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp271) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.353: ; 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_Parser(ptr %0, ptr %iNp274) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp274) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.354: ; 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_i64(ptr %0, ptr %iNp277) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp277) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.355: ; 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_Parsed(ptr %0, ptr %iNp280) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp280) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.356: ; 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_Diag(ptr %0, ptr %iNp283) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp283) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.357: ; 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_Sha256(ptr %0, ptr %iNp286) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp286) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.358: ; 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_ptr_CAllocator(ptr %0, ptr %iNp289) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp289) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.359: ; 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_ptr_void(ptr %0, ptr %iNp292) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp292) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.360: ; 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_string(ptr %0, ptr %iNp295) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp295) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.361: ; 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_Any(ptr %0, ptr %iNp298) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp298) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.362: ; 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_AR_1_Any(ptr %0, ptr %iNp301) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp301) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.363: ; 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_SL_Any(ptr %0, ptr %iNp304) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp304) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 @@ -2259,13 +2274,13 @@ dispatch.case.365: ; preds = %match.arm.49 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 -dispatch.merge.472: ; preds = %dispatch.case.477, %dispatch.case.476, %dispatch.case.475, %dispatch.case.474, %dispatch.default.473 +dispatch.merge.472: ; preds = %dispatch.case.478, %dispatch.case.477, %dispatch.case.476, %dispatch.case.475, %dispatch.case.474, %dispatch.default.473 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.473: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.258, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.261, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.472 dispatch.case.474: ; preds = %match.arm.50 @@ -2286,17 +2301,24 @@ dispatch.case.475: ; preds = %match.arm.50 dispatch.case.476: ; preds = %match.arm.50 %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr322 = inttoptr i64 %ua.raw321 to ptr - %ua.load323 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr322, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load323) + %iNp322 = inttoptr i64 %ua.raw321 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp322) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.472 dispatch.case.477: ; preds = %match.arm.50 - %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr326 = inttoptr i64 %ua.raw325 to ptr - %ua.load327 = load { [64 x i8], i1 }, ptr %ua.ptr326, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load327) + %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr325 = inttoptr i64 %ua.raw324 to ptr + %ua.load326 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr325, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load326) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.472 + +dispatch.case.478: ; preds = %match.arm.50 + %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr329 = inttoptr i64 %ua.raw328 to ptr + %ua.load330 = load { [64 x i8], i1 }, ptr %ua.ptr329, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load330) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.472 } @@ -2307,7 +2329,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.259, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.262, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2403,7 +2425,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.260, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.263, 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 @@ -2411,7 +2433,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.261, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.264, 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 @@ -2421,13 +2443,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.262, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.265, 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.263, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.266, 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 @@ -2435,7 +2457,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.264, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.267, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2449,7 +2471,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.265, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.268, 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 @@ -2457,7 +2479,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.266, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.269, 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 @@ -2468,7 +2490,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.267, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.270, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2525,7 +2547,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.268, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.271, 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 @@ -2533,7 +2555,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.269, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.272, 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 @@ -2544,7 +2566,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.270, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.273, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2564,7 +2586,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.271, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.274, 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 @@ -2572,7 +2594,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.272, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.275, 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 @@ -2583,7 +2605,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.273, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.276, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -2804,9 +2826,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3372,7 +3391,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.274, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.277, 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 @@ -3387,7 +3406,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.275, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.278, 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) @@ -3414,7 +3433,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.276, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.279, i64 8 }) ret { ptr, i64 } %call } @@ -3435,7 +3454,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.277, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.280, 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 @@ -3451,7 +3470,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.278, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.281, 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) @@ -3479,7 +3498,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.279, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.282, i64 8 }) ret { ptr, i64 } %call } @@ -3490,7 +3509,7 @@ 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.280, i64 15 }, { ptr, i64 } { ptr @str.281, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.283, i64 15 }, { ptr, i64 } { ptr @str.284, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3509,12 +3528,12 @@ while.body.122: ; preds = %while.hdr.121 while.exit.123: ; preds = %while.hdr.121 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.282, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.285, i64 1 }) ret { ptr, i64 } %callN if.then.124: ; preds = %while.body.122 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.283, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.286, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.125 @@ -3526,7 +3545,7 @@ if.merge.125: ; preds = %if.then.124, %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.287, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.290, 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 @@ -3583,7 +3602,7 @@ 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.288, i64 9 }, { ptr, i64 } { ptr @str.289, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.291, i64 9 }, { ptr, i64 } { ptr @str.292, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3602,24 +3621,24 @@ while.body.127: ; preds = %while.hdr.126 while.exit.128: ; preds = %while.hdr.126 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.290, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.293, i64 1 }) ret { ptr, i64 } %callN if.then.129: ; preds = %while.body.127 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.291, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.294, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.130 if.merge.130: ; preds = %if.then.129, %while.body.127 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.295, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.298, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.299, 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 @@ -3646,19 +3665,19 @@ fv.default: ; preds = %if.merge.130 fv.case: ; preds = %if.merge.130 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.130 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge fv.case21: ; preds = %if.merge.130 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -3668,7 +3687,7 @@ 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.297, i64 7 }, { ptr, i64 } { ptr @str.298, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.300, i64 7 }, { ptr, i64 } { ptr @str.301, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3687,24 +3706,24 @@ while.body.132: ; preds = %while.hdr.131 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.299, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.302, i64 1 }) ret { ptr, i64 } %callN 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.300, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.303, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.135 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 [2 x { ptr, i64 }], ptr @field_names.303, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.306, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.307, 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 @@ -3731,13 +3750,13 @@ fv.case: ; preds = %if.merge.135 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.135 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 - %fv.val19 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -3746,7 +3765,7 @@ 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.305, i64 10 }, { ptr, i64 } { ptr @str.306, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.308, i64 10 }, { ptr, i64 } { ptr @str.309, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3765,24 +3784,24 @@ while.body.137: ; preds = %while.hdr.136 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.307, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.310, i64 1 }) ret { ptr, i64 } %callN 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.308, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.311, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.140 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 [0 x { ptr, i64 }], ptr @field_names.309, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.312, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.313, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -3801,7 +3820,7 @@ 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.311, i64 3 }, { ptr, i64 } { ptr @str.312, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.314, i64 3 }, { ptr, i64 } { ptr @str.315, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3820,24 +3839,24 @@ while.body.142: ; preds = %while.hdr.141 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.313, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.316, i64 1 }) ret { ptr, i64 } %callN 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.314, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.317, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.145 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 [1 x { ptr, i64 }], ptr @field_names.316, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.319, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 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 %alloca, align 8 @@ -3870,7 +3889,7 @@ 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.318, i64 10 }, { ptr, i64 } { ptr @str.319, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.321, i64 10 }, { ptr, i64 } { ptr @str.322, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3889,24 +3908,24 @@ while.body.147: ; preds = %while.hdr.146 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.320, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, i64 1 }) ret { ptr, i64 } %callN 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.321, 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 br label %if.merge.150 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.324, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.327, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.328, 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 @@ -3932,7 +3951,7 @@ fv.default: ; preds = %if.merge.150 fv.case: ; preds = %if.merge.150 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.150 @@ -3947,7 +3966,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.326, i64 5 }, { ptr, i64 } { ptr @str.327, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.329, i64 5 }, { ptr, i64 } { ptr @str.330, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3966,24 +3985,24 @@ while.body.152: ; preds = %while.hdr.151 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.328, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.331, i64 1 }) ret { ptr, i64 } %callN 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.329, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.332, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.155 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 [3 x { ptr, i64 }], ptr @field_names.333, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.336, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.337, 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 @@ -4010,7 +4029,7 @@ fv.default: ; preds = %if.merge.155 fv.case: ; preds = %if.merge.155 %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.155 @@ -4022,7 +4041,7 @@ fv.case20: ; preds = %if.merge.155 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -4031,7 +4050,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.335, i64 8 }, { ptr, i64 } { ptr @str.336, 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 @@ -4050,24 +4069,24 @@ while.body.157: ; preds = %while.hdr.156 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.337, 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.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.338, 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.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.342, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.345, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.346, 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 @@ -4094,7 +4113,7 @@ fv.default: ; preds = %if.merge.160 fv.case: ; preds = %if.merge.160 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.160 @@ -4114,7 +4133,7 @@ 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.344, i64 17 }, { ptr, i64 } { ptr @str.345, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.347, i64 17 }, { 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 @@ -4133,24 +4152,24 @@ 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.346, 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.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.347, 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.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 [4 x { ptr, i64 }], ptr @field_names.352, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.353, 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 }, i64, i64, i64 }, ptr %alloca, align 8 @@ -4179,7 +4198,7 @@ fv.case: ; preds = %if.merge.165 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.165 @@ -4203,7 +4222,7 @@ 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.354, i64 4 }, { ptr, i64 } { ptr @str.355, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.357, i64 4 }, { 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 @@ -4222,24 +4241,24 @@ 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.356, 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.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.357, 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.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 [1 x { ptr, i64 }], ptr @field_names.359, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.360, 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 { i32 }, ptr %alloca, align 4 @@ -4276,7 +4295,7 @@ 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.361, i64 10 }, { ptr, i64 } { ptr @str.362, 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 @@ -4295,24 +4314,24 @@ 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.363, 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.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.364, 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.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 [5 x { ptr, i64 }], ptr @field_names.370, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.371, 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, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -4378,7 +4397,7 @@ 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.372, i64 13 }, { ptr, i64 } { ptr @str.373, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.375, i64 13 }, { 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 @@ -4397,24 +4416,24 @@ while.body.177: ; preds = %while.hdr.176 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.374, 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.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.375, 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.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 [2 x { ptr, i64 }], ptr @field_names.378, 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.379, 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 { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4456,7 +4475,7 @@ 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.380, i64 8 }, { ptr, i64 } { ptr @str.381, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.383, i64 8 }, { 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 @@ -4475,24 +4494,24 @@ while.body.182: ; preds = %while.hdr.181 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.382, 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.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.383, 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.185 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.389, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.390, 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 { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -4553,7 +4572,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.391, i64 5 }, { ptr, i64 } { ptr @str.392, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.394, i64 5 }, { 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 @@ -4572,24 +4591,24 @@ while.body.187: ; preds = %while.hdr.186 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.393, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.396, 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.394, 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 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.398, i64 0, i64 %loadN + %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.399, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64, i64 }, ptr %alloca, align 8 @@ -4616,7 +4635,7 @@ fv.default: ; preds = %if.merge.190 fv.case: ; preds = %if.merge.190 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.190 @@ -4635,7 +4654,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.400, i64 6 }, { ptr, i64 } { ptr @str.401, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.403, i64 6 }, { 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 @@ -4654,24 +4673,24 @@ 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.402, 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.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.406, 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.407, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.408, 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, i64, i64 }, ptr %alloca, align 8 @@ -4698,7 +4717,7 @@ fv.default: ; preds = %if.merge.195 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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.195 @@ -4719,7 +4738,7 @@ entry: %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.409, i64 6 }, { ptr, i64 } { ptr @str.410, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.412, i64 6 }, { 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 @@ -4738,24 +4757,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.411, 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.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.412, 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.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 [2 x { ptr, i64 }], ptr @field_names.415, 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.416, 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 }, { i64, [24 x i8] } }, ptr %alloca, align 8 @@ -4789,7 +4808,7 @@ fv.case17: ; preds = %if.merge.200 %fv.field18 = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 1 store { i64, [24 x i8] } %fv.field18, ptr %ba.tmp19, align 8 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -4799,7 +4818,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.417, i64 4 }, { ptr, i64 } { ptr @str.418, 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 @@ -4818,24 +4837,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.419, 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.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.420, 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.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.424, 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.425, 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 }, ptr %alloca, align 8 @@ -4863,7 +4882,7 @@ fv.case: ; preds = %if.merge.205 %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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.205 @@ -4874,7 +4893,7 @@ fv.case17: ; preds = %if.merge.205 fv.case20: ; preds = %if.merge.205 %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -4885,7 +4904,7 @@ entry: %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.426, i64 6 }, { ptr, i64 } { ptr @str.427, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.429, i64 6 }, { 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 @@ -4904,24 +4923,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.428, 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.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.429, 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.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.433, 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.434, 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, ptr, ptr } }, ptr %alloca, align 8 @@ -4961,7 +4980,7 @@ fv.case20: ; preds = %if.merge.210 %fv.field21 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 2 store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8 %ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -4970,7 +4989,7 @@ 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.435, i64 12 }, { ptr, i64 } { ptr @str.436, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.438, i64 12 }, { 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 @@ -4989,24 +5008,24 @@ 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.437, 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.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.438, 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.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 [0 x { ptr, i64 }], ptr @field_names.439, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.440, 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 %alloca, align 1 @@ -5026,7 +5045,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.441, i64 8 }, { ptr, i64 } { ptr @str.442, 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 @@ -5045,24 +5064,24 @@ 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.443, 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.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.444, 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.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.448, 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.449, 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 }, i1, i1 }, ptr %alloca, align 8 @@ -5114,7 +5133,7 @@ entry: %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.450, i64 7 }, { ptr, i64 } { ptr @str.451, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.453, i64 7 }, { 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 @@ -5133,24 +5152,24 @@ 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.452, 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.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.453, 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.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.457, 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.458, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5192,7 +5211,7 @@ fv.case22: ; preds = %if.merge.225 %fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2 store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8 %ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5202,7 +5221,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.459, i64 9 }, { ptr, i64 } { ptr @str.460, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.462, i64 9 }, { 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 @@ -5221,24 +5240,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.461, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.464, 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.462, 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 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 [2 x { ptr, i64 }], ptr @field_names.465, i64 0, i64 %loadN + %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.466, 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 { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -5281,7 +5300,7 @@ 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.467, i64 4 }, { ptr, i64 } { ptr @str.468, 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 @@ -5300,24 +5319,24 @@ 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.469, 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.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.470, 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.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.473, i64 0, i64 %loadN + %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.474, 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 { i64, { ptr, i64 } }, ptr %alloca, align 8 @@ -5363,7 +5382,7 @@ 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.475, i64 6 }, { ptr, i64 } { ptr @str.476, i64 1 }) + %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 @@ -5382,24 +5401,24 @@ 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.477, 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.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.478, 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.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 [7 x { ptr, i64 }], ptr @field_names.486, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 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.487, 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 { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, ptr %alloca, align 8 @@ -5456,21 +5475,21 @@ fv.case28: ; preds = %if.merge.240 %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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge fv.case33: ; preds = %if.merge.240 %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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge fv.case38: ; preds = %if.merge.240 %fv.field39 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 6 store [16 x { i1, { ptr, i64 } }] %fv.field39, ptr %ba.tmp40, align 8 %ba.p2i41 = ptrtoint ptr %ba.tmp40 to i64 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -5481,7 +5500,7 @@ 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.488, i64 6 }, { ptr, i64 } { ptr @str.489, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.491, i64 6 }, { 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 @@ -5500,24 +5519,24 @@ 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.490, 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.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.491, 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.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 [4 x { ptr, i64 }], ptr @field_names.496, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.497, i64 2 }) + %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 { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -5546,14 +5565,14 @@ fv.case: ; preds = %if.merge.245 %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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.245 %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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.245 @@ -5576,9 +5595,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.503, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.506, 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.498, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.501, 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 @@ -5597,8 +5616,8 @@ entry: if.then.253: ; 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.505, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.504, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.507, 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.254 @@ -5617,9 +5636,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.510, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.513, 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.506, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.509, 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 @@ -5638,8 +5657,8 @@ entry: if.then.255: ; 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.512, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.511, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.514, 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.256 @@ -5669,9 +5688,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.520, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.523, 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.513, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.516, 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 @@ -5688,8 +5707,8 @@ entry: if.then.257: ; 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.522, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.521, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.525, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.524, 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.258 @@ -5745,7 +5764,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -5754,7 +5773,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -5767,9 +5786,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.531, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.534, 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.523, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.526, 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 @@ -5788,8 +5807,8 @@ entry: if.then.259: ; 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.533, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.532, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.535, 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.260 @@ -5808,9 +5827,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.540, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.543, 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.534, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.537, 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 @@ -5829,8 +5848,8 @@ entry: if.then.261: ; 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.542, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.541, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.544, 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.262 @@ -5847,7 +5866,7 @@ 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.543, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.546, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.271 @@ -5864,12 +5883,12 @@ while.body.272: ; preds = %while.hdr.271 while.exit.273: ; preds = %while.hdr.271 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.544, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.547, i64 1 }) ret { ptr, i64 } %call 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.545, 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.275 @@ -5898,7 +5917,7 @@ 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.546, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.549, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.276 @@ -5915,12 +5934,12 @@ while.body.277: ; preds = %while.hdr.276 while.exit.278: ; preds = %while.hdr.276 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.547, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.550, i64 1 }) ret { ptr, i64 } %call 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.548, 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.280 @@ -5933,7 +5952,7 @@ if.merge.280: ; preds = %if.then.279, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -5950,7 +5969,7 @@ 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.549, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.552, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.281 @@ -5967,12 +5986,12 @@ while.body.282: ; preds = %while.hdr.281 while.exit.283: ; preds = %while.hdr.281 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.550, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 1 }) ret { ptr, i64 } %call 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.551, 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.285 @@ -6000,7 +6019,7 @@ 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.552, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.555, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.286 @@ -6017,12 +6036,12 @@ while.body.287: ; preds = %while.hdr.286 while.exit.288: ; preds = %while.hdr.286 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, i64 1 }) ret { ptr, i64 } %call 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.554, 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.290 @@ -6051,7 +6070,7 @@ 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.555, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.558, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.291 @@ -6068,12 +6087,12 @@ while.body.292: ; preds = %while.hdr.291 while.exit.293: ; preds = %while.hdr.291 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.559, i64 1 }) ret { ptr, i64 } %call 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.557, 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.295 @@ -6102,7 +6121,7 @@ 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.558, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.561, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.296 @@ -6119,12 +6138,12 @@ while.body.297: ; preds = %while.hdr.296 while.exit.298: ; preds = %while.hdr.296 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.559, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.562, i64 1 }) ret { ptr, i64 } %call 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.560, 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.300 @@ -6154,7 +6173,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.561, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.564, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.308 @@ -6173,12 +6192,12 @@ while.body.309: ; preds = %while.hdr.308 while.exit.310: ; preds = %while.hdr.308 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.562, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.565, i64 1 }) ret { ptr, i64 } %call 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.563, i64 2 }) + %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.312 @@ -6207,7 +6226,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.564, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.567, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.313 @@ -6226,12 +6245,12 @@ while.body.314: ; preds = %while.hdr.313 while.exit.315: ; preds = %while.hdr.313 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.565, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.568, i64 1 }) ret { ptr, i64 } %call 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.566, 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 br label %if.merge.317 @@ -6260,7 +6279,7 @@ 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.567, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.570, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.318 @@ -6279,12 +6298,12 @@ while.body.319: ; preds = %while.hdr.318 while.exit.320: ; preds = %while.hdr.318 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.568, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.571, i64 1 }) ret { ptr, i64 } %call 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.569, 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.322 @@ -6297,7 +6316,7 @@ if.merge.322: ; preds = %if.then.321, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -6314,7 +6333,7 @@ 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.570, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.573, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.323 @@ -6333,12 +6352,12 @@ while.body.324: ; preds = %while.hdr.323 while.exit.325: ; preds = %while.hdr.323 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.571, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 1 }) ret { ptr, i64 } %call 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.572, 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.327 @@ -6351,7 +6370,7 @@ if.merge.327: ; preds = %if.then.326, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -6368,7 +6387,7 @@ 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.573, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.576, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.328 @@ -6387,12 +6406,12 @@ while.body.329: ; preds = %while.hdr.328 while.exit.330: ; preds = %while.hdr.328 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.577, i64 1 }) ret { ptr, i64 } %call 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.575, i64 2 }) + %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.332 @@ -6434,12 +6453,12 @@ if.then.366: ; preds = %entry if.else.367: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.578, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.577, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.581, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.580, i64 5 }, { ptr, i64 } %callN) br label %if.merge.368 if.merge.368: ; preds = %if.else.367, %if.then.366 - %bp = phi { ptr, i64 } [ { ptr @str.576, i64 4 }, %if.then.366 ], [ %callN, %if.else.367 ] + %bp = phi { ptr, i64 } [ { ptr @str.579, i64 4 }, %if.then.366 ], [ %callN, %if.else.367 ] ret { ptr, i64 } %bp } @@ -6462,12 +6481,12 @@ if.then.382: ; preds = %entry if.else.383: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.581, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.580, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.584, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.583, i64 11 }, { ptr, i64 } %callN) br label %if.merge.384 if.merge.384: ; preds = %if.else.383, %if.then.382 - %bp = phi { ptr, i64 } [ { ptr @str.579, i64 4 }, %if.then.382 ], [ %callN, %if.else.383 ] + %bp = phi { ptr, i64 } [ { ptr @str.582, i64 4 }, %if.then.382 ], [ %callN, %if.else.383 ] ret { ptr, i64 } %bp } @@ -6490,12 +6509,12 @@ if.then.385: ; preds = %entry if.else.386: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.584, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.583, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.587, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.586, i64 4 }, { ptr, i64 } %callN) br label %if.merge.387 if.merge.387: ; preds = %if.else.386, %if.then.385 - %bp = phi { ptr, i64 } [ { ptr @str.582, i64 4 }, %if.then.385 ], [ %callN, %if.else.386 ] + %bp = phi { ptr, i64 } [ { ptr @str.585, i64 4 }, %if.then.385 ], [ %callN, %if.else.386 ] ret { ptr, i64 } %bp } @@ -6518,12 +6537,12 @@ if.then.388: ; preds = %entry if.else.389: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.587, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.586, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.590, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.589, i64 11 }, { ptr, i64 } %callN) br label %if.merge.390 if.merge.390: ; preds = %if.else.389, %if.then.388 - %bp = phi { ptr, i64 } [ { ptr @str.585, i64 4 }, %if.then.388 ], [ %callN, %if.else.389 ] + %bp = phi { ptr, i64 } [ { ptr @str.588, i64 4 }, %if.then.388 ], [ %callN, %if.else.389 ] ret { ptr, i64 } %bp } @@ -6546,12 +6565,12 @@ if.then.391: ; preds = %entry if.else.392: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.590, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.589, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.593, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 6 }, { ptr, i64 } %callN) br label %if.merge.393 if.merge.393: ; preds = %if.else.392, %if.then.391 - %bp = phi { ptr, i64 } [ { ptr @str.588, i64 4 }, %if.then.391 ], [ %callN, %if.else.392 ] + %bp = phi { ptr, i64 } [ { ptr @str.591, i64 4 }, %if.then.391 ], [ %callN, %if.else.392 ] ret { ptr, i64 } %bp } @@ -6573,12 +6592,12 @@ if.then.394: ; preds = %entry if.else.395: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.593, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.596, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.595, i64 5 }, { ptr, i64 } %callN) br label %if.merge.396 if.merge.396: ; preds = %if.else.395, %if.then.394 - %bp = phi { ptr, i64 } [ { ptr @str.591, i64 4 }, %if.then.394 ], [ %callN, %if.else.395 ] + %bp = phi { ptr, i64 } [ { ptr @str.594, i64 4 }, %if.then.394 ], [ %callN, %if.else.395 ] ret { ptr, i64 } %bp } @@ -6601,12 +6620,12 @@ if.then.397: ; preds = %entry if.else.398: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.596, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.595, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 9 }, { ptr, i64 } %callN) br label %if.merge.399 if.merge.399: ; preds = %if.else.398, %if.then.397 - %bp = phi { ptr, i64 } [ { ptr @str.594, i64 4 }, %if.then.397 ], [ %callN, %if.else.398 ] + %bp = phi { ptr, i64 } [ { ptr @str.597, i64 4 }, %if.then.397 ], [ %callN, %if.else.398 ] ret { ptr, i64 } %bp } @@ -6629,12 +6648,12 @@ if.then.400: ; preds = %entry if.else.401: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.602, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 18 }, { ptr, i64 } %callN) br label %if.merge.402 if.merge.402: ; preds = %if.else.401, %if.then.400 - %bp = phi { ptr, i64 } [ { ptr @str.597, i64 4 }, %if.then.400 ], [ %callN, %if.else.401 ] + %bp = phi { ptr, i64 } [ { ptr @str.600, i64 4 }, %if.then.400 ], [ %callN, %if.else.401 ] ret { ptr, i64 } %bp } @@ -6657,17 +6676,17 @@ if.then.403: ; preds = %entry if.else.404: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.602, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, i64 5 }, { ptr, i64 } %callN) br label %if.merge.405 if.merge.405: ; preds = %if.else.404, %if.then.403 - %bp = phi { ptr, i64 } [ { ptr @str.600, i64 4 }, %if.then.403 ], [ %callN, %if.else.404 ] + %bp = phi { ptr, i64 } [ { ptr @str.603, i64 4 }, %if.then.403 ], [ %callN, %if.else.404 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6685,17 +6704,17 @@ if.then.406: ; preds = %entry 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.605, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, i64 3 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.608, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.607, i64 4 }, { ptr, i64 } %callN) br label %if.merge.408 if.merge.408: ; preds = %if.else.407, %if.then.406 - %bp = phi { ptr, i64 } [ { ptr @str.603, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] + %bp = phi { ptr, i64 } [ { ptr @str.606, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6713,17 +6732,17 @@ if.then.409: ; preds = %entry if.else.410: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.608, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.607, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.611, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.610, i64 9 }, { ptr, i64 } %callN) br label %if.merge.411 if.merge.411: ; preds = %if.else.410, %if.then.409 - %bp = phi { ptr, i64 } [ { ptr @str.606, i64 4 }, %if.then.409 ], [ %callN, %if.else.410 ] + %bp = phi { ptr, i64 } [ { ptr @str.609, i64 4 }, %if.then.409 ], [ %callN, %if.else.410 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6741,40 +6760,12 @@ if.then.412: ; preds = %entry 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.611, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.610, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.614, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 4 }, { ptr, i64 } %callN) br label %if.merge.414 if.merge.414: ; preds = %if.else.413, %if.then.412 - %bp = phi { ptr, i64 } [ { ptr @str.609, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.415, label %if.else.416 - -if.then.415: ; preds = %entry - br label %if.merge.417 - -if.else.416: ; preds = %entry - %loadN = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.614, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.417 - -if.merge.417: ; preds = %if.else.416, %if.then.415 - %bp = phi { ptr, i64 } [ { ptr @str.612, i64 4 }, %if.then.415 ], [ %callN, %if.else.416 ] + %bp = phi { ptr, i64 } [ { ptr @str.612, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] ret { ptr, i64 } %bp } @@ -6788,20 +6779,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.418, label %if.else.419 + br i1 %icmp, label %if.then.415, label %if.else.416 -if.then.418: ; preds = %entry - br label %if.merge.420 +if.then.415: ; preds = %entry + br label %if.merge.417 -if.else.419: ; preds = %entry +if.else.416: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.617, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.616, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.420 + br label %if.merge.417 -if.merge.420: ; preds = %if.else.419, %if.then.418 - %bp = phi { ptr, i64 } [ { ptr @str.615, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] +if.merge.417: ; preds = %if.else.416, %if.then.415 + %bp = phi { ptr, i64 } [ { ptr @str.615, i64 4 }, %if.then.415 ], [ %callN, %if.else.416 ] ret { ptr, i64 } %bp } @@ -6816,20 +6807,20 @@ entry: store i64 %pti, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.421, label %if.else.422 + br i1 %icmp, label %if.then.418, label %if.else.419 -if.then.421: ; preds = %entry - br label %if.merge.423 +if.then.418: ; preds = %entry + br label %if.merge.420 -if.else.422: ; preds = %entry +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.620, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.423 + br label %if.merge.420 -if.merge.423: ; preds = %if.else.422, %if.then.421 - %bp = phi { ptr, i64 } [ { ptr @str.618, i64 4 }, %if.then.421 ], [ %callN, %if.else.422 ] +if.merge.420: ; preds = %if.else.419, %if.then.418 + %bp = phi { ptr, i64 } [ { ptr @str.618, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] ret { ptr, i64 } %bp } @@ -6843,6 +6834,34 @@ 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.421, label %if.else.422 + +if.then.421: ; preds = %entry + br label %if.merge.423 + +if.else.422: ; preds = %entry + %loadN = load i64, ptr %allocaN, align 8 + %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.623, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.622, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.423 + +if.merge.423: ; preds = %if.else.422, %if.then.421 + %bp = phi { ptr, i64 } [ { ptr @str.621, i64 4 }, %if.then.421 ], [ %callN, %if.else.422 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.424, label %if.else.425 if.then.424: ; preds = %entry @@ -6851,17 +6870,17 @@ if.then.424: ; preds = %entry if.else.425: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.623, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.622, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.626, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.625, i64 7 }, { ptr, i64 } %callN) br label %if.merge.426 if.merge.426: ; preds = %if.else.425, %if.then.424 - %bp = phi { ptr, i64 } [ { ptr @str.621, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] + %bp = phi { ptr, i64 } [ { ptr @str.624, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6879,17 +6898,17 @@ if.then.427: ; preds = %entry 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.626, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.625, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.629, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, i64 5 }, { ptr, i64 } %callN) br label %if.merge.429 if.merge.429: ; preds = %if.else.428, %if.then.427 - %bp = phi { ptr, i64 } [ { ptr @str.624, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] + %bp = phi { ptr, i64 } [ { ptr @str.627, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6907,17 +6926,17 @@ if.then.430: ; preds = %entry 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.629, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.632, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.631, i64 7 }, { ptr, i64 } %callN) br label %if.merge.432 if.merge.432: ; preds = %if.else.431, %if.then.430 - %bp = phi { ptr, i64 } [ { ptr @str.627, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] + %bp = phi { ptr, i64 } [ { ptr @str.630, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6935,17 +6954,17 @@ if.then.433: ; preds = %entry 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.632, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.631, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.635, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.634, 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.630, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] + %bp = phi { ptr, i64 } [ { ptr @str.633, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6963,17 +6982,17 @@ if.then.436: ; preds = %entry 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.635, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.634, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.638, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.637, i64 7 }, { ptr, i64 } %callN) br label %if.merge.438 if.merge.438: ; preds = %if.else.437, %if.then.436 - %bp = phi { ptr, i64 } [ { ptr @str.633, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] + %bp = phi { ptr, i64 } [ { ptr @str.636, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6991,17 +7010,17 @@ if.then.439: ; preds = %entry 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.638, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.637, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.641, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, 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.636, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] + %bp = phi { ptr, i64 } [ { ptr @str.639, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7019,17 +7038,17 @@ if.then.442: ; preds = %entry 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.641, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.644, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.643, i64 7 }, { ptr, i64 } %callN) br label %if.merge.444 if.merge.444: ; preds = %if.else.443, %if.then.442 - %bp = phi { ptr, i64 } [ { ptr @str.639, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] + %bp = phi { ptr, i64 } [ { ptr @str.642, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7047,17 +7066,17 @@ 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.644, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.643, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.647, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.646, i64 12 }, { ptr, i64 } %callN) br label %if.merge.447 if.merge.447: ; preds = %if.else.446, %if.then.445 - %bp = phi { ptr, i64 } [ { ptr @str.642, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] + %bp = phi { ptr, i64 } [ { ptr @str.645, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7075,17 +7094,17 @@ 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.647, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.646, i64 12 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 6 }, { ptr, i64 } %callN) br label %if.merge.450 if.merge.450: ; preds = %if.else.449, %if.then.448 - %bp = phi { ptr, i64 } [ { ptr @str.645, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] + %bp = phi { ptr, i64 } [ { ptr @str.648, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7103,17 +7122,17 @@ if.then.451: ; preds = %entry 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.650, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.653, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 7 }, { ptr, i64 } %callN) br label %if.merge.453 if.merge.453: ; preds = %if.else.452, %if.then.451 - %bp = phi { ptr, i64 } [ { ptr @str.648, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] + %bp = phi { ptr, i64 } [ { ptr @str.651, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7131,17 +7150,17 @@ if.then.454: ; preds = %entry 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.653, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.656, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 4 }, { ptr, i64 } %callN) br label %if.merge.456 if.merge.456: ; preds = %if.else.455, %if.then.454 - %bp = phi { ptr, i64 } [ { ptr @str.651, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] + %bp = phi { ptr, i64 } [ { ptr @str.654, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7159,17 +7178,17 @@ if.then.457: ; preds = %entry 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.656, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.658, i64 7 }, { ptr, i64 } %callN) br label %if.merge.459 if.merge.459: ; preds = %if.else.458, %if.then.457 - %bp = phi { ptr, i64 } [ { ptr @str.654, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] + %bp = phi { ptr, i64 } [ { ptr @str.657, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7187,17 +7206,17 @@ 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.659, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.658, i64 7 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.462 if.merge.462: ; preds = %if.else.461, %if.then.460 - %bp = phi { ptr, i64 } [ { ptr @str.657, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] + %bp = phi { ptr, i64 } [ { ptr @str.660, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7215,12 +7234,12 @@ if.then.463: ; preds = %entry 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.662, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.661, i64 6 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.465 if.merge.465: ; preds = %if.else.464, %if.then.463 - %bp = phi { ptr, i64 } [ { ptr @str.660, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] + %bp = phi { ptr, i64 } [ { ptr @str.663, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] ret { ptr, i64 } %bp } @@ -7243,12 +7262,12 @@ if.then.466: ; preds = %entry 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.665, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.664, i64 5 }, { ptr, i64 } %callN) + %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.468 if.merge.468: ; preds = %if.else.467, %if.then.466 - %bp = phi { ptr, i64 } [ { ptr @str.663, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] + %bp = phi { ptr, i64 } [ { ptr @str.666, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] ret { ptr, i64 } %bp } @@ -7271,12 +7290,12 @@ if.then.469: ; preds = %entry 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.668, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.667, i64 4 }, { ptr, i64 } %callN) + %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 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.666, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] + %bp = phi { ptr, i64 } [ { ptr @str.669, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] ret { ptr, i64 } %bp } @@ -7289,17 +7308,17 @@ 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.478, label %if.merge.479 + br i1 %lnot, label %if.then.479, label %if.merge.480 -if.then.478: ; preds = %entry - ret { ptr, i64 } { ptr @str.669, i64 4 } +if.then.479: ; preds = %entry + ret { ptr, i64 } { ptr @str.672, i64 4 } -if.merge.479: ; preds = %entry +if.merge.480: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7313,12 +7332,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.480, label %if.merge.481 + br i1 %lnot, label %if.then.481, label %if.merge.482 -if.then.480: ; preds = %entry - ret { ptr, i64 } { ptr @str.670, i64 4 } +if.then.481: ; preds = %entry + ret { ptr, i64 } { ptr @str.673, i64 4 } -if.merge.481: ; preds = %entry +if.merge.482: ; 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 @@ -7328,6 +7347,27 @@ if.merge.481: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.483, label %if.merge.484 + +if.then.483: ; preds = %entry + ret { ptr, i64 } { ptr @str.674, i64 4 } + +if.merge.484: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -7337,17 +7377,17 @@ 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.482, label %if.merge.483 + br i1 %lnot, label %if.then.485, label %if.merge.486 -if.then.482: ; preds = %entry - ret { ptr, i64 } { ptr @str.671, i64 4 } +if.then.485: ; preds = %entry + ret { ptr, i64 } { ptr @str.675, i64 4 } -if.merge.483: ; preds = %entry +if.merge.486: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7361,17 +7401,17 @@ 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.484, label %if.merge.485 + br i1 %lnot, label %if.then.487, label %if.merge.488 -if.then.484: ; preds = %entry - ret { ptr, i64 } { ptr @str.672, i64 4 } +if.then.487: ; preds = %entry + ret { ptr, i64 } { ptr @str.676, i64 4 } -if.merge.485: ; preds = %entry +if.merge.488: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } diff --git a/examples/expected/0201-generics-generic-struct.ir b/examples/expected/0201-generics-generic-struct.ir index faee62d..20f9209 100644 --- a/examples/expected/0201-generics-generic-struct.ir +++ b/examples/expected/0201-generics-generic-struct.ir @@ -7,7 +7,7 @@ @str.78 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.79 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.80 = 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 [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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.81 = private constant [9 x i8] c"Overflow\00" @tag.str.82 = private constant [3 x i8] c"Io\00" @@ -41,553 +41,553 @@ @tn.str.108 = private constant [6 x i8] c"isize\00" @tn.str.109 = private constant [6 x i8] c"usize\00" @tn.str.110 = private constant [5 x i8] c"void\00" -@tn.str.111 = private constant [6 x i8] c"*void\00" -@tn.str.112 = private constant [16 x i8] c"Source_Location\00" -@tn.str.113 = private constant [10 x i8] c"Allocator\00" -@tn.str.114 = private constant [8 x i8] c"Context\00" -@tn.str.115 = private constant [7 x i8] c"[4]i64\00" -@tn.str.116 = private constant [9 x i8] c"[]string\00" -@tn.str.117 = private constant [11 x i8] c"CAllocator\00" -@tn.str.118 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.119 = private constant [4 x i8] c"GPA\00" -@tn.str.120 = private constant [5 x i8] c"*GPA\00" -@tn.str.121 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.122 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.123 = private constant [6 x i8] c"Arena\00" -@tn.str.124 = private constant [7 x i8] c"*Arena\00" -@tn.str.125 = private constant [6 x i8] c"[*]u8\00" -@tn.str.126 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.127 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.128 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.129 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.130 = private constant [9 x i8] c"OpenMode\00" -@tn.str.131 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.132 = private constant [5 x i8] c"File\00" -@tn.str.133 = private constant [6 x i8] c"*File\00" -@tn.str.134 = private constant [6 x i8] c"?File\00" -@tn.str.135 = private constant [8 x i8] c"?string\00" -@tn.str.136 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.137 = private constant [4 x i8] c"*u8\00" -@tn.str.138 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.139 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.140 = private constant [5 x i8] c"*i32\00" -@tn.str.141 = private constant [9 x i8] c"SockAddr\00" -@tn.str.142 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.143 = private constant [5 x i8] c"*u32\00" -@tn.str.144 = private constant [10 x i8] c"JsonError\00" -@tn.str.145 = private constant [6 x i8] c"Array\00" -@tn.str.146 = private constant [7 x i8] c"Object\00" -@tn.str.147 = private constant [6 x i8] c"Value\00" -@tn.str.148 = private constant [7 x i8] c"Member\00" -@tn.str.149 = private constant [9 x i8] c"[*]Value\00" -@tn.str.150 = private constant [7 x i8] c"*Array\00" -@tn.str.151 = private constant [10 x i8] c"[*]Member\00" -@tn.str.152 = private constant [8 x i8] c"*Object\00" -@tn.str.153 = private constant [5 x i8] c"[]u8\00" -@tn.str.154 = private constant [5 x i8] c"Sink\00" -@tn.str.155 = private constant [6 x i8] c"*Sink\00" -@tn.str.156 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.157 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.158 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.159 = private constant [7 x i8] c"Parser\00" -@tn.str.160 = private constant [8 x i8] c"*Parser\00" -@tn.str.161 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.162 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.163 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.164 = private constant [13 x i8] c"Architecture\00" -@tn.str.165 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.166 = private constant [11 x i8] c"() -> bool\00" -@tn.str.167 = private constant [5 x i8] c"*i64\00" -@tn.str.168 = private constant [9 x i8] c"CliError\00" -@tn.str.169 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.170 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.171 = private constant [8 x i8] c"Command\00" -@tn.str.172 = private constant [10 x i8] c"FlagValue\00" -@tn.str.173 = private constant [5 x i8] c"Diag\00" -@tn.str.174 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.175 = private constant [7 x i8] c"Parsed\00" -@tn.str.176 = private constant [8 x i8] c"*Parsed\00" -@tn.str.177 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.178 = private constant [10 x i8] c"[]Command\00" -@tn.str.179 = private constant [6 x i8] c"*Diag\00" -@tn.str.180 = private constant [7 x i8] c"[8]i64\00" -@tn.str.181 = private constant [7 x i8] c"[64]u8\00" -@tn.str.182 = private constant [7 x i8] c"Sha256\00" -@tn.str.183 = private constant [8 x i8] c"*Sha256\00" -@tn.str.184 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.185 = private constant [8 x i8] c"[64]i64\00" -@tn.str.186 = private constant [8 x i8] c"[16]f32\00" -@tn.str.187 = private constant [5 x i8] c"Mat4\00" -@tn.str.188 = private constant [5 x i8] c"Vec2\00" -@tn.str.189 = private constant [14 x i8] c"Vector(3,f32)\00" -@tn.str.190 = private constant [12 x i8] c"Vec__3__f32\00" -@tn.str.191 = private constant [5 x i8] c"Vec3\00" -@tn.str.192 = private constant [13 x i8] c"Complex__u32\00" -@tn.str.193 = private constant [4 x i8] c"Foo\00" -@tn.str.194 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.195 = private constant [7 x i8] c"**void\00" -@tn.str.196 = private constant [6 x i8] c"*Vec3\00" -@tn.str.197 = private constant [8 x i8] c"*string\00" -@tn.str.198 = private constant [6 x i8] c"[]Any\00" -@tn.str.199 = private constant [5 x i8] c"*Any\00" -@tn.str.200 = private constant [7 x i8] c"[1]Any\00" -@tn.str.201 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.202 = private constant [7 x i8] c"*[]Any\00" -@tn.str.203 = private constant [6 x i8] c"*bool\00" -@tn.str.204 = private constant [5 x i8] c"*f32\00" -@tn.str.205 = private constant [15 x i8] c"*Vector(3,f32)\00" -@tn.str.206 = private constant [7 x i8] c"[5]f32\00" -@tn.str.207 = private constant [8 x i8] c"*[5]f32\00" -@tn.str.208 = private constant [5 x i8] c"*Foo\00" -@tn.str.209 = private constant [5 x i8] c"*f64\00" -@tn.str.210 = private constant [8 x i8] c"Sx__f32\00" -@tn.str.211 = private constant [9 x i8] c"*Sx__f32\00" -@tn.str.212 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.213 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.214 = private constant [11 x i8] c"*Allocator\00" -@tn.str.215 = private constant [9 x i8] c"*Context\00" -@tn.str.216 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.217 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.218 = private constant [8 x i8] c"*Member\00" -@tn.str.219 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.220 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.221 = private constant [9 x i8] c"*Command\00" -@tn.str.222 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.223 = private constant [6 x i8] c"*Mat4\00" -@tn.str.224 = private constant [6 x i8] c"*Vec2\00" -@tn.str.225 = private constant [13 x i8] c"*Vec__3__f32\00" -@tn.str.226 = private constant [14 x i8] c"*Complex__u32\00" -@tn.str.227 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.228 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.229 = private constant [7 x i8] c"*Value\00" -@tn.str.230 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.231 = private constant [14 x i8] c"*Architecture\00" -@tn.str.232 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.233 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.234 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.235 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.236 = private constant [9 x i8] c"*[16]f32\00" -@tn.str.237 = private constant [10 x i8] c"*[]string\00" -@tn.str.238 = private constant [6 x i8] c"*[]u8\00" -@tn.str.239 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.240 = private constant [11 x i8] c"*[]Command\00" -@tn.str.241 = private constant [6 x i8] c"**GPA\00" -@tn.str.242 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.243 = private constant [8 x i8] c"**Arena\00" -@tn.str.244 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.245 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.246 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.247 = private constant [7 x i8] c"**File\00" -@tn.str.248 = private constant [5 x i8] c"**u8\00" -@tn.str.249 = private constant [6 x i8] c"**i32\00" -@tn.str.250 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.251 = private constant [6 x i8] c"**u32\00" -@tn.str.252 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.253 = private constant [8 x i8] c"**Array\00" -@tn.str.254 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.255 = private constant [9 x i8] c"**Object\00" -@tn.str.256 = private constant [7 x i8] c"**Sink\00" -@tn.str.257 = private constant [9 x i8] c"**Parser\00" -@tn.str.258 = private constant [6 x i8] c"**i64\00" -@tn.str.259 = private constant [9 x i8] c"**Parsed\00" -@tn.str.260 = private constant [7 x i8] c"**Diag\00" -@tn.str.261 = private constant [9 x i8] c"**Sha256\00" -@tn.str.262 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.263 = private constant [8 x i8] c"***void\00" -@tn.str.264 = private constant [7 x i8] c"**Vec3\00" -@tn.str.265 = private constant [9 x i8] c"**string\00" -@tn.str.266 = private constant [6 x i8] c"**Any\00" -@tn.str.267 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.268 = private constant [8 x i8] c"**[]Any\00" -@tn.str.269 = private constant [7 x i8] c"**bool\00" -@tn.str.270 = private constant [6 x i8] c"**f32\00" -@tn.str.271 = private constant [16 x i8] c"**Vector(3,f32)\00" -@tn.str.272 = private constant [9 x i8] c"**[5]f32\00" -@tn.str.273 = private constant [6 x i8] c"**Foo\00" -@tn.str.274 = private constant [6 x i8] c"**f64\00" -@tn.str.275 = private constant [10 x i8] c"**Sx__f32\00" -@tn.str.276 = private constant [7 x i8] c"*?File\00" -@tn.str.277 = private constant [9 x i8] c"*?string\00" -@tn.str.278 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.279 = 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.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 15 }, { ptr, i64 } { ptr @tn.str.113, i64 9 }, { ptr, i64 } { ptr @tn.str.114, i64 7 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 8 }, { ptr, i64 } { ptr @tn.str.117, i64 10 }, { ptr, i64 } { ptr @tn.str.118, i64 11 }, { ptr, i64 } { ptr @tn.str.119, i64 3 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 10 }, { ptr, i64 } { ptr @tn.str.122, i64 11 }, { ptr, i64 } { ptr @tn.str.123, i64 5 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 5 }, { ptr, i64 } { ptr @tn.str.126, i64 8 }, { ptr, i64 } { ptr @tn.str.127, i64 9 }, { ptr, i64 } { ptr @tn.str.128, i64 17 }, { ptr, i64 } { ptr @tn.str.129, i64 18 }, { ptr, i64 } { ptr @tn.str.130, i64 8 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 4 }, { ptr, i64 } { ptr @tn.str.133, i64 5 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 7 }, { ptr, i64 } { ptr @tn.str.136, i64 10 }, { ptr, i64 } { ptr @tn.str.137, i64 3 }, { ptr, i64 } { ptr @tn.str.138, i64 13 }, { ptr, i64 } { ptr @tn.str.139, i64 14 }, { ptr, i64 } { ptr @tn.str.140, i64 4 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 9 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 9 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 6 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 6 }, { ptr, i64 } { ptr @tn.str.149, i64 8 }, { ptr, i64 } { ptr @tn.str.150, i64 6 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 7 }, { ptr, i64 } { ptr @tn.str.153, i64 4 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 5 }, { ptr, i64 } { ptr @tn.str.156, i64 16 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 21 }, { ptr, i64 } { ptr @tn.str.159, i64 6 }, { ptr, i64 } { ptr @tn.str.160, i64 7 }, { ptr, i64 } { ptr @tn.str.161, i64 24 }, { ptr, i64 } { ptr @tn.str.162, i64 23 }, { ptr, i64 } { ptr @tn.str.163, i64 15 }, { ptr, i64 } { ptr @tn.str.164, i64 12 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 10 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 8 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 10 }, { ptr, i64 } { ptr @tn.str.171, i64 7 }, { ptr, i64 } { ptr @tn.str.172, i64 9 }, { ptr, i64 } { ptr @tn.str.173, i64 4 }, { ptr, i64 } { ptr @tn.str.174, i64 13 }, { ptr, i64 } { ptr @tn.str.175, i64 6 }, { ptr, i64 } { ptr @tn.str.176, i64 7 }, { ptr, i64 } { ptr @tn.str.177, i64 18 }, { ptr, i64 } { ptr @tn.str.178, i64 9 }, { ptr, i64 } { ptr @tn.str.179, i64 5 }, { ptr, i64 } { ptr @tn.str.180, i64 6 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 4 }, { ptr, i64 } { ptr @tn.str.188, i64 4 }, { ptr, i64 } { ptr @tn.str.189, i64 13 }, { ptr, i64 } { ptr @tn.str.190, i64 11 }, { ptr, i64 } { ptr @tn.str.191, i64 4 }, { ptr, i64 } { ptr @tn.str.192, i64 12 }, { ptr, i64 } { ptr @tn.str.193, i64 3 }, { ptr, i64 } { ptr @tn.str.194, i64 12 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 5 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 5 }, { ptr, i64 } { ptr @tn.str.199, i64 4 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 7 }, { ptr, i64 } { ptr @tn.str.202, i64 6 }, { ptr, i64 } { ptr @tn.str.203, i64 5 }, { ptr, i64 } { ptr @tn.str.204, i64 4 }, { ptr, i64 } { ptr @tn.str.205, i64 14 }, { ptr, i64 } { ptr @tn.str.206, i64 6 }, { ptr, i64 } { ptr @tn.str.207, i64 7 }, { ptr, i64 } { ptr @tn.str.208, i64 4 }, { ptr, i64 } { ptr @tn.str.209, i64 4 }, { ptr, i64 } { ptr @tn.str.210, i64 7 }, { ptr, i64 } { ptr @tn.str.211, i64 8 }, { ptr, i64 } { ptr @tn.str.212, i64 7 }, { ptr, i64 } { ptr @tn.str.213, i64 16 }, { ptr, i64 } { ptr @tn.str.214, i64 10 }, { ptr, i64 } { ptr @tn.str.215, i64 8 }, { ptr, i64 } { ptr @tn.str.216, i64 11 }, { ptr, i64 } { ptr @tn.str.217, i64 14 }, { ptr, i64 } { ptr @tn.str.218, i64 7 }, { ptr, i64 } { ptr @tn.str.219, i64 13 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 8 }, { ptr, i64 } { ptr @tn.str.222, i64 10 }, { ptr, i64 } { ptr @tn.str.223, i64 5 }, { ptr, i64 } { ptr @tn.str.224, i64 5 }, { ptr, i64 } { ptr @tn.str.225, i64 12 }, { ptr, i64 } { ptr @tn.str.226, i64 13 }, { ptr, i64 } { ptr @tn.str.227, i64 9 }, { ptr, i64 } { ptr @tn.str.228, i64 9 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 16 }, { ptr, i64 } { ptr @tn.str.231, i64 13 }, { ptr, i64 } { ptr @tn.str.232, i64 14 }, { 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 8 }, { ptr, i64 } { ptr @tn.str.237, i64 9 }, { ptr, i64 } { ptr @tn.str.238, i64 5 }, { ptr, i64 } { ptr @tn.str.239, i64 11 }, { ptr, i64 } { ptr @tn.str.240, i64 10 }, { ptr, i64 } { ptr @tn.str.241, i64 5 }, { ptr, i64 } { ptr @tn.str.242, i64 12 }, { ptr, i64 } { ptr @tn.str.243, i64 7 }, { ptr, i64 } { ptr @tn.str.244, i64 6 }, { ptr, i64 } { ptr @tn.str.245, i64 10 }, { ptr, i64 } { ptr @tn.str.246, i64 19 }, { ptr, i64 } { ptr @tn.str.247, i64 6 }, { ptr, i64 } { ptr @tn.str.248, i64 4 }, { ptr, i64 } { ptr @tn.str.249, i64 5 }, { ptr, i64 } { ptr @tn.str.250, i64 10 }, { ptr, i64 } { ptr @tn.str.251, i64 5 }, { ptr, i64 } { ptr @tn.str.252, i64 9 }, { ptr, i64 } { ptr @tn.str.253, i64 7 }, { ptr, i64 } { ptr @tn.str.254, i64 10 }, { ptr, i64 } { ptr @tn.str.255, i64 8 }, { ptr, i64 } { ptr @tn.str.256, i64 6 }, { ptr, i64 } { ptr @tn.str.257, i64 8 }, { ptr, i64 } { ptr @tn.str.258, i64 5 }, { ptr, i64 } { ptr @tn.str.259, i64 8 }, { ptr, i64 } { ptr @tn.str.260, i64 6 }, { ptr, i64 } { ptr @tn.str.261, i64 8 }, { ptr, i64 } { ptr @tn.str.262, i64 13 }, { ptr, i64 } { ptr @tn.str.263, i64 7 }, { 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 7 }, { ptr, i64 } { ptr @tn.str.269, i64 6 }, { ptr, i64 } { ptr @tn.str.270, i64 5 }, { ptr, i64 } { ptr @tn.str.271, i64 15 }, { ptr, i64 } { ptr @tn.str.272, i64 8 }, { ptr, i64 } { ptr @tn.str.273, i64 5 }, { ptr, i64 } { ptr @tn.str.274, i64 5 }, { ptr, i64 } { ptr @tn.str.275, i64 9 }, { ptr, i64 } { ptr @tn.str.276, i64 6 }, { ptr, i64 } { ptr @tn.str.277, i64 8 }, { ptr, i64 } { ptr @tn.str.278, i64 15 }, { ptr, i64 } { ptr @tn.str.279, i64 8 }] -@str.280 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.281 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.282 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@tn.str.111 = private constant [8 x i8] c"cstring\00" +@tn.str.112 = private constant [6 x i8] c"*void\00" +@tn.str.113 = private constant [16 x i8] c"Source_Location\00" +@tn.str.114 = private constant [10 x i8] c"Allocator\00" +@tn.str.115 = private constant [8 x i8] c"Context\00" +@tn.str.116 = private constant [7 x i8] c"[4]i64\00" +@tn.str.117 = private constant [9 x i8] c"[]string\00" +@tn.str.118 = private constant [11 x i8] c"CAllocator\00" +@tn.str.119 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.120 = private constant [4 x i8] c"GPA\00" +@tn.str.121 = private constant [5 x i8] c"*GPA\00" +@tn.str.122 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.123 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.124 = private constant [6 x i8] c"Arena\00" +@tn.str.125 = private constant [7 x i8] c"*Arena\00" +@tn.str.126 = private constant [6 x i8] c"[*]u8\00" +@tn.str.127 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.128 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.129 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.130 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.131 = private constant [9 x i8] c"OpenMode\00" +@tn.str.132 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.133 = private constant [5 x i8] c"File\00" +@tn.str.134 = private constant [6 x i8] c"*File\00" +@tn.str.135 = private constant [6 x i8] c"?File\00" +@tn.str.136 = private constant [8 x i8] c"?string\00" +@tn.str.137 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.138 = private constant [9 x i8] c"?cstring\00" +@tn.str.139 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.140 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.141 = private constant [5 x i8] c"*i32\00" +@tn.str.142 = private constant [9 x i8] c"SockAddr\00" +@tn.str.143 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.144 = private constant [5 x i8] c"*u32\00" +@tn.str.145 = private constant [10 x i8] c"JsonError\00" +@tn.str.146 = private constant [6 x i8] c"Array\00" +@tn.str.147 = private constant [7 x i8] c"Object\00" +@tn.str.148 = private constant [6 x i8] c"Value\00" +@tn.str.149 = private constant [7 x i8] c"Member\00" +@tn.str.150 = private constant [9 x i8] c"[*]Value\00" +@tn.str.151 = private constant [7 x i8] c"*Array\00" +@tn.str.152 = private constant [10 x i8] c"[*]Member\00" +@tn.str.153 = private constant [8 x i8] c"*Object\00" +@tn.str.154 = private constant [5 x i8] c"[]u8\00" +@tn.str.155 = private constant [5 x i8] c"Sink\00" +@tn.str.156 = private constant [6 x i8] c"*Sink\00" +@tn.str.157 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.158 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.159 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.160 = private constant [7 x i8] c"Parser\00" +@tn.str.161 = private constant [8 x i8] c"*Parser\00" +@tn.str.162 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.163 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.164 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.165 = private constant [13 x i8] c"Architecture\00" +@tn.str.166 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.167 = private constant [11 x i8] c"() -> bool\00" +@tn.str.168 = private constant [5 x i8] c"*i64\00" +@tn.str.169 = private constant [9 x i8] c"CliError\00" +@tn.str.170 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.171 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.172 = private constant [8 x i8] c"Command\00" +@tn.str.173 = private constant [10 x i8] c"FlagValue\00" +@tn.str.174 = private constant [5 x i8] c"Diag\00" +@tn.str.175 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.176 = private constant [7 x i8] c"Parsed\00" +@tn.str.177 = private constant [8 x i8] c"*Parsed\00" +@tn.str.178 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.179 = private constant [10 x i8] c"[]Command\00" +@tn.str.180 = private constant [6 x i8] c"*Diag\00" +@tn.str.181 = private constant [7 x i8] c"[8]i64\00" +@tn.str.182 = private constant [7 x i8] c"[64]u8\00" +@tn.str.183 = private constant [7 x i8] c"Sha256\00" +@tn.str.184 = private constant [8 x i8] c"*Sha256\00" +@tn.str.185 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.186 = private constant [8 x i8] c"[64]i64\00" +@tn.str.187 = private constant [8 x i8] c"[16]f32\00" +@tn.str.188 = private constant [5 x i8] c"Mat4\00" +@tn.str.189 = private constant [5 x i8] c"Vec2\00" +@tn.str.190 = private constant [14 x i8] c"Vector(3,f32)\00" +@tn.str.191 = private constant [12 x i8] c"Vec__3__f32\00" +@tn.str.192 = private constant [5 x i8] c"Vec3\00" +@tn.str.193 = private constant [13 x i8] c"Complex__u32\00" +@tn.str.194 = private constant [4 x i8] c"Foo\00" +@tn.str.195 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.196 = private constant [7 x i8] c"**void\00" +@tn.str.197 = private constant [6 x i8] c"*Vec3\00" +@tn.str.198 = private constant [8 x i8] c"*string\00" +@tn.str.199 = private constant [6 x i8] c"[]Any\00" +@tn.str.200 = private constant [5 x i8] c"*Any\00" +@tn.str.201 = private constant [7 x i8] c"[1]Any\00" +@tn.str.202 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.203 = private constant [7 x i8] c"*[]Any\00" +@tn.str.204 = private constant [4 x i8] c"*u8\00" +@tn.str.205 = private constant [6 x i8] c"*bool\00" +@tn.str.206 = private constant [5 x i8] c"*f32\00" +@tn.str.207 = private constant [15 x i8] c"*Vector(3,f32)\00" +@tn.str.208 = private constant [7 x i8] c"[5]f32\00" +@tn.str.209 = private constant [8 x i8] c"*[5]f32\00" +@tn.str.210 = private constant [5 x i8] c"*Foo\00" +@tn.str.211 = private constant [5 x i8] c"*f64\00" +@tn.str.212 = private constant [8 x i8] c"Sx__f32\00" +@tn.str.213 = private constant [9 x i8] c"*Sx__f32\00" +@tn.str.214 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.215 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.216 = private constant [11 x i8] c"*Allocator\00" +@tn.str.217 = private constant [9 x i8] c"*Context\00" +@tn.str.218 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.219 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.220 = private constant [8 x i8] c"*Member\00" +@tn.str.221 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.222 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.223 = private constant [9 x i8] c"*Command\00" +@tn.str.224 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.225 = private constant [6 x i8] c"*Mat4\00" +@tn.str.226 = private constant [6 x i8] c"*Vec2\00" +@tn.str.227 = private constant [13 x i8] c"*Vec__3__f32\00" +@tn.str.228 = private constant [14 x i8] c"*Complex__u32\00" +@tn.str.229 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.230 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.231 = private constant [7 x i8] c"*Value\00" +@tn.str.232 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.233 = private constant [14 x i8] c"*Architecture\00" +@tn.str.234 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.235 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.236 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.237 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.238 = private constant [9 x i8] c"*[16]f32\00" +@tn.str.239 = private constant [10 x i8] c"*[]string\00" +@tn.str.240 = private constant [6 x i8] c"*[]u8\00" +@tn.str.241 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.242 = private constant [11 x i8] c"*[]Command\00" +@tn.str.243 = private constant [6 x i8] c"**GPA\00" +@tn.str.244 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.245 = private constant [8 x i8] c"**Arena\00" +@tn.str.246 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.247 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.248 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.249 = private constant [7 x i8] c"**File\00" +@tn.str.250 = private constant [6 x i8] c"**i32\00" +@tn.str.251 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.252 = private constant [6 x i8] c"**u32\00" +@tn.str.253 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.254 = private constant [8 x i8] c"**Array\00" +@tn.str.255 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.256 = private constant [9 x i8] c"**Object\00" +@tn.str.257 = private constant [7 x i8] c"**Sink\00" +@tn.str.258 = private constant [9 x i8] c"**Parser\00" +@tn.str.259 = private constant [6 x i8] c"**i64\00" +@tn.str.260 = private constant [9 x i8] c"**Parsed\00" +@tn.str.261 = private constant [7 x i8] c"**Diag\00" +@tn.str.262 = private constant [9 x i8] c"**Sha256\00" +@tn.str.263 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.264 = private constant [8 x i8] c"***void\00" +@tn.str.265 = private constant [7 x i8] c"**Vec3\00" +@tn.str.266 = private constant [9 x i8] c"**string\00" +@tn.str.267 = private constant [6 x i8] c"**Any\00" +@tn.str.268 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.269 = private constant [8 x i8] c"**[]Any\00" +@tn.str.270 = private constant [5 x i8] c"**u8\00" +@tn.str.271 = private constant [7 x i8] c"**bool\00" +@tn.str.272 = private constant [6 x i8] c"**f32\00" +@tn.str.273 = private constant [16 x i8] c"**Vector(3,f32)\00" +@tn.str.274 = private constant [9 x i8] c"**[5]f32\00" +@tn.str.275 = private constant [6 x i8] c"**Foo\00" +@tn.str.276 = private constant [6 x i8] c"**f64\00" +@tn.str.277 = private constant [10 x i8] c"**Sx__f32\00" +@tn.str.278 = private constant [7 x i8] c"*?File\00" +@tn.str.279 = private constant [9 x i8] c"*?string\00" +@tn.str.280 = private constant [10 x i8] c"*?cstring\00" +@tn.str.281 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.282 = 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.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 7 }, { ptr, i64 } { ptr @tn.str.112, i64 5 }, { ptr, i64 } { ptr @tn.str.113, i64 15 }, { ptr, i64 } { ptr @tn.str.114, i64 9 }, { ptr, i64 } { ptr @tn.str.115, i64 7 }, { ptr, i64 } { ptr @tn.str.116, i64 6 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 10 }, { ptr, i64 } { ptr @tn.str.119, i64 11 }, { ptr, i64 } { ptr @tn.str.120, i64 3 }, { ptr, i64 } { ptr @tn.str.121, i64 4 }, { ptr, i64 } { ptr @tn.str.122, i64 10 }, { ptr, i64 } { ptr @tn.str.123, i64 11 }, { ptr, i64 } { ptr @tn.str.124, i64 5 }, { ptr, i64 } { ptr @tn.str.125, i64 6 }, { ptr, i64 } { ptr @tn.str.126, i64 5 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 9 }, { ptr, i64 } { ptr @tn.str.129, i64 17 }, { ptr, i64 } { ptr @tn.str.130, i64 18 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 8 }, { ptr, i64 } { ptr @tn.str.133, i64 4 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 7 }, { ptr, i64 } { ptr @tn.str.137, i64 10 }, { ptr, i64 } { ptr @tn.str.138, i64 8 }, { ptr, i64 } { ptr @tn.str.139, i64 13 }, { ptr, i64 } { ptr @tn.str.140, i64 14 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 9 }, { ptr, i64 } { ptr @tn.str.144, i64 4 }, { ptr, i64 } { ptr @tn.str.145, i64 9 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 6 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 6 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 6 }, { ptr, i64 } { ptr @tn.str.152, i64 9 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 5 }, { ptr, i64 } { ptr @tn.str.157, i64 16 }, { ptr, i64 } { ptr @tn.str.158, i64 14 }, { ptr, i64 } { ptr @tn.str.159, i64 21 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 7 }, { ptr, i64 } { ptr @tn.str.162, i64 24 }, { ptr, i64 } { ptr @tn.str.163, i64 23 }, { ptr, i64 } { ptr @tn.str.164, i64 15 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 12 }, { ptr, i64 } { ptr @tn.str.167, i64 10 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 8 }, { ptr, i64 } { ptr @tn.str.171, i64 10 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 9 }, { ptr, i64 } { ptr @tn.str.174, i64 4 }, { ptr, i64 } { ptr @tn.str.175, i64 13 }, { ptr, i64 } { ptr @tn.str.176, i64 6 }, { ptr, i64 } { ptr @tn.str.177, i64 7 }, { ptr, i64 } { ptr @tn.str.178, i64 18 }, { ptr, i64 } { ptr @tn.str.179, i64 9 }, { ptr, i64 } { ptr @tn.str.180, i64 5 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 7 }, { ptr, i64 } { ptr @tn.str.188, i64 4 }, { ptr, i64 } { ptr @tn.str.189, i64 4 }, { ptr, i64 } { ptr @tn.str.190, i64 13 }, { ptr, i64 } { ptr @tn.str.191, i64 11 }, { ptr, i64 } { ptr @tn.str.192, i64 4 }, { ptr, i64 } { ptr @tn.str.193, i64 12 }, { ptr, i64 } { ptr @tn.str.194, i64 3 }, { ptr, i64 } { ptr @tn.str.195, i64 12 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 5 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 5 }, { ptr, i64 } { ptr @tn.str.200, i64 4 }, { ptr, i64 } { ptr @tn.str.201, i64 6 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 6 }, { ptr, i64 } { ptr @tn.str.204, i64 3 }, { ptr, i64 } { ptr @tn.str.205, i64 5 }, { ptr, i64 } { ptr @tn.str.206, i64 4 }, { ptr, i64 } { ptr @tn.str.207, i64 14 }, { ptr, i64 } { ptr @tn.str.208, i64 6 }, { ptr, i64 } { ptr @tn.str.209, i64 7 }, { ptr, i64 } { ptr @tn.str.210, i64 4 }, { ptr, i64 } { ptr @tn.str.211, i64 4 }, { ptr, i64 } { ptr @tn.str.212, i64 7 }, { ptr, i64 } { ptr @tn.str.213, i64 8 }, { ptr, i64 } { ptr @tn.str.214, i64 7 }, { ptr, i64 } { ptr @tn.str.215, i64 16 }, { ptr, i64 } { ptr @tn.str.216, i64 10 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 11 }, { ptr, i64 } { ptr @tn.str.219, i64 14 }, { ptr, i64 } { ptr @tn.str.220, i64 7 }, { ptr, i64 } { ptr @tn.str.221, i64 13 }, { ptr, i64 } { ptr @tn.str.222, i64 9 }, { ptr, i64 } { ptr @tn.str.223, i64 8 }, { ptr, i64 } { ptr @tn.str.224, i64 10 }, { ptr, i64 } { ptr @tn.str.225, i64 5 }, { ptr, i64 } { ptr @tn.str.226, i64 5 }, { ptr, i64 } { ptr @tn.str.227, i64 12 }, { ptr, i64 } { ptr @tn.str.228, i64 13 }, { ptr, i64 } { ptr @tn.str.229, i64 9 }, { ptr, i64 } { ptr @tn.str.230, i64 9 }, { ptr, i64 } { ptr @tn.str.231, i64 6 }, { ptr, i64 } { ptr @tn.str.232, i64 16 }, { ptr, i64 } { ptr @tn.str.233, i64 13 }, { ptr, i64 } { ptr @tn.str.234, i64 14 }, { 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 8 }, { ptr, i64 } { ptr @tn.str.239, i64 9 }, { ptr, i64 } { ptr @tn.str.240, i64 5 }, { ptr, i64 } { ptr @tn.str.241, i64 11 }, { ptr, i64 } { ptr @tn.str.242, i64 10 }, { ptr, i64 } { ptr @tn.str.243, i64 5 }, { ptr, i64 } { ptr @tn.str.244, i64 12 }, { ptr, i64 } { ptr @tn.str.245, i64 7 }, { ptr, i64 } { ptr @tn.str.246, i64 6 }, { ptr, i64 } { ptr @tn.str.247, i64 10 }, { ptr, i64 } { ptr @tn.str.248, i64 19 }, { ptr, i64 } { ptr @tn.str.249, i64 6 }, { ptr, i64 } { ptr @tn.str.250, i64 5 }, { ptr, i64 } { ptr @tn.str.251, i64 10 }, { ptr, i64 } { ptr @tn.str.252, i64 5 }, { ptr, i64 } { ptr @tn.str.253, i64 9 }, { ptr, i64 } { ptr @tn.str.254, i64 7 }, { ptr, i64 } { ptr @tn.str.255, i64 10 }, { ptr, i64 } { ptr @tn.str.256, i64 8 }, { ptr, i64 } { ptr @tn.str.257, i64 6 }, { ptr, i64 } { ptr @tn.str.258, i64 8 }, { ptr, i64 } { ptr @tn.str.259, i64 5 }, { ptr, i64 } { ptr @tn.str.260, i64 8 }, { ptr, i64 } { ptr @tn.str.261, i64 6 }, { ptr, i64 } { ptr @tn.str.262, i64 8 }, { ptr, i64 } { ptr @tn.str.263, i64 13 }, { ptr, i64 } { ptr @tn.str.264, i64 7 }, { ptr, i64 } { ptr @tn.str.265, i64 6 }, { ptr, i64 } { ptr @tn.str.266, i64 8 }, { ptr, i64 } { ptr @tn.str.267, i64 5 }, { ptr, i64 } { ptr @tn.str.268, i64 8 }, { ptr, i64 } { ptr @tn.str.269, i64 7 }, { ptr, i64 } { ptr @tn.str.270, i64 4 }, { ptr, i64 } { ptr @tn.str.271, i64 6 }, { ptr, i64 } { ptr @tn.str.272, i64 5 }, { ptr, i64 } { ptr @tn.str.273, i64 15 }, { ptr, i64 } { ptr @tn.str.274, i64 8 }, { ptr, i64 } { ptr @tn.str.275, i64 5 }, { ptr, i64 } { ptr @tn.str.276, i64 5 }, { ptr, i64 } { ptr @tn.str.277, i64 9 }, { ptr, i64 } { ptr @tn.str.278, i64 6 }, { ptr, i64 } { ptr @tn.str.279, i64 8 }, { ptr, i64 } { ptr @tn.str.280, i64 9 }, { ptr, i64 } { ptr @tn.str.281, i64 15 }, { ptr, i64 } { ptr @tn.str.282, i64 8 }] @str.283 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.284 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.285 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.286 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.287 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.288 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.289 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.290 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.291 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.292 = private unnamed_addr constant [6 x i8] c"])); \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.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 [15 x i8] c"result := \22\22; \00", align 1 +@str.291 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.292 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.293 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.294 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.295 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.296 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.297 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.298 = private unnamed_addr constant [5 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 [8 x i8] c"v1: {}\0A\00", align 1 -@str.303 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.304 = private unnamed_addr constant [8 x i8] c"v1: {}\0A\00", align 1 -@str.305 = private unnamed_addr constant [8 x i8] c"v2: {}\0A\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 [8 x i8] c"v1: {}\0A\00", align 1 @str.306 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.307 = private unnamed_addr constant [8 x i8] c"v2: {}\0A\00", align 1 -@str.308 = private unnamed_addr constant [10 x i8] c"buff: {}\0A\00", align 1 +@str.307 = private unnamed_addr constant [8 x i8] c"v1: {}\0A\00", align 1 +@str.308 = private unnamed_addr constant [8 x i8] c"v2: {}\0A\00", align 1 @str.309 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.310 = private unnamed_addr constant [10 x i8] c"buff: {}\0A\00", align 1 -@str.311 = private unnamed_addr constant [10 x i8] c"comp: {}\0A\00", align 1 +@str.310 = private unnamed_addr constant [8 x i8] c"v2: {}\0A\00", align 1 +@str.311 = private unnamed_addr constant [10 x i8] c"buff: {}\0A\00", align 1 @str.312 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.313 = private unnamed_addr constant [10 x i8] c"comp: {}\0A\00", align 1 -@str.314 = private unnamed_addr constant [9 x i8] c"add: {}\0A\00", align 1 +@str.313 = private unnamed_addr constant [10 x i8] c"buff: {}\0A\00", align 1 +@str.314 = private unnamed_addr constant [10 x i8] c"comp: {}\0A\00", align 1 @str.315 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.316 = private unnamed_addr constant [9 x i8] c"add: {}\0A\00", align 1 -@str.317 = private unnamed_addr constant [10 x i8] c"v2.x: {}\0A\00", align 1 +@str.316 = private unnamed_addr constant [10 x i8] c"comp: {}\0A\00", align 1 +@str.317 = private unnamed_addr constant [9 x i8] c"add: {}\0A\00", align 1 @str.318 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.319 = private unnamed_addr constant [10 x i8] c"v2.x: {}\0A\00", align 1 -@str.320 = private unnamed_addr constant [11 x i8] c"v2[1]: {}\0A\00", align 1 +@str.319 = private unnamed_addr constant [9 x i8] c"add: {}\0A\00", align 1 +@str.320 = private unnamed_addr constant [10 x i8] c"v2.x: {}\0A\00", align 1 @str.321 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.322 = private unnamed_addr constant [11 x i8] c"v2[1]: {}\0A\00", align 1 -@str.323 = private unnamed_addr constant [12 x i8] c"scaled: {}\0A\00", align 1 +@str.322 = private unnamed_addr constant [10 x i8] c"v2.x: {}\0A\00", align 1 +@str.323 = private unnamed_addr constant [11 x i8] c"v2[1]: {}\0A\00", align 1 @str.324 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.325 = private unnamed_addr constant [12 x i8] c"scaled: {}\0A\00", align 1 -@str.326 = private unnamed_addr constant [9 x i8] c"neg: {}\0A\00", align 1 +@str.325 = private unnamed_addr constant [11 x i8] c"v2[1]: {}\0A\00", align 1 +@str.326 = private unnamed_addr constant [12 x i8] c"scaled: {}\0A\00", align 1 @str.327 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.328 = private unnamed_addr constant [9 x i8] c"neg: {}\0A\00", align 1 -@str.329 = private unnamed_addr constant [13 x i8] c"sqrt(9): {}\0A\00", align 1 +@str.328 = private unnamed_addr constant [12 x i8] c"scaled: {}\0A\00", align 1 +@str.329 = private unnamed_addr constant [9 x i8] c"neg: {}\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"sqrt(9): {}\0A\00", align 1 -@str.332 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.331 = private unnamed_addr constant [9 x i8] c"neg: {}\0A\00", align 1 +@str.332 = private unnamed_addr constant [13 x i8] c"sqrt(9): {}\0A\00", align 1 @str.333 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.334 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.334 = private unnamed_addr constant [13 x i8] c"sqrt(9): {}\0A\00", align 1 @str.335 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 @str.336 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.337 = private unnamed_addr constant [4 x i8] c"{}\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 +@str.338 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.339 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.340 = private unnamed_addr constant [4 x i8] c"{}\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.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 [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 [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 [5 x i8] c"Mat4\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 -@fld.str.560 = private constant [5 x i8] c"data\00" -@field_names.561 = private constant [1 x { ptr, i64 }] [{ 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 [5 x i8] c"Vec2\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 [2 x i8] c"x\00" -@fld.str.568 = private constant [2 x i8] c"y\00" -@field_names.569 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.567, i64 1 }, { ptr, i64 } { ptr @fld.str.568, i64 1 }] -@str.570 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.571 = private unnamed_addr constant [12 x i8] c"Vec__3__f32\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 [5 x i8] c"data\00" -@field_names.576 = private constant [1 x { ptr, i64 }] [{ 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 [5 x i8] c"Vec3\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 [5 x i8] c"data\00" -@field_names.583 = private constant [1 x { ptr, i64 }] [{ 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 [13 x i8] c"Complex__u32\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 [6 x i8] c"value\00" -@fld.str.590 = private constant [6 x i8] c"count\00" -@field_names.591 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.589, i64 5 }, { ptr, i64 } { ptr @fld.str.590, i64 5 }] -@str.592 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.593 = private unnamed_addr constant [4 x i8] c"Foo\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 [6 x i8] c"value\00" -@fld.str.598 = private constant [6 x i8] c"count\00" -@field_names.599 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.597, i64 5 }, { ptr, i64 } { ptr @fld.str.598, i64 5 }] -@str.600 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.601 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.602 = private constant [5 x i8] c"read\00" -@fld.str.603 = private constant [6 x i8] c"write\00" -@fld.str.604 = private constant [7 x i8] c"append\00" -@fld.str.605 = private constant [11 x i8] c"read_write\00" -@field_names.606 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.602, i64 4 }, { ptr, i64 } { ptr @fld.str.603, i64 5 }, { ptr, i64 } { ptr @fld.str.604, i64 6 }, { ptr, i64 } { ptr @fld.str.605, i64 10 }] -@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 [4 x i8] c"set\00" -@fld.str.611 = private constant [8 x i8] c"current\00" -@fld.str.612 = private constant [4 x i8] c"end\00" -@field_names.613 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.610, i64 3 }, { ptr, i64 } { ptr @fld.str.611, i64 7 }, { ptr, i64 } { ptr @fld.str.612, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.617 = private constant [6 x i8] c"null_\00" -@fld.str.618 = private constant [6 x i8] c"bool_\00" -@fld.str.619 = private constant [5 x i8] c"int_\00" -@fld.str.620 = private constant [4 x i8] c"str\00" -@fld.str.621 = private constant [6 x i8] c"array\00" -@fld.str.622 = private constant [7 x i8] c"object\00" -@field_names.623 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.617, i64 5 }, { ptr, i64 } { ptr @fld.str.618, i64 5 }, { ptr, i64 } { ptr @fld.str.619, i64 4 }, { ptr, i64 } { ptr @fld.str.620, i64 3 }, { ptr, i64 } { ptr @fld.str.621, i64 5 }, { ptr, i64 } { ptr @fld.str.622, i64 6 }] -@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 [6 x i8] c"macos\00" -@fld.str.628 = private constant [6 x i8] c"linux\00" -@fld.str.629 = private constant [8 x i8] c"windows\00" -@fld.str.630 = private constant [5 x i8] c"wasm\00" -@fld.str.631 = private constant [4 x i8] c"ios\00" -@fld.str.632 = private constant [8 x i8] c"android\00" -@fld.str.633 = private constant [8 x i8] c"unknown\00" -@field_names.634 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.627, i64 5 }, { ptr, i64 } { ptr @fld.str.628, i64 5 }, { ptr, i64 } { ptr @fld.str.629, i64 7 }, { ptr, i64 } { ptr @fld.str.630, i64 4 }, { ptr, i64 } { ptr @fld.str.631, i64 3 }, { ptr, i64 } { ptr @fld.str.632, i64 7 }, { 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 -@fld.str.638 = private constant [8 x i8] c"aarch64\00" -@fld.str.639 = private constant [7 x i8] c"x86_64\00" -@fld.str.640 = private constant [7 x i8] c"wasm32\00" -@fld.str.641 = private constant [7 x i8] c"wasm64\00" -@fld.str.642 = private constant [8 x i8] c"unknown\00" -@field_names.643 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.638, i64 7 }, { ptr, i64 } { ptr @fld.str.639, i64 6 }, { ptr, i64 } { ptr @fld.str.640, i64 6 }, { ptr, i64 } { ptr @fld.str.641, i64 6 }, { ptr, i64 } { ptr @fld.str.642, i64 7 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.647 = private constant [8 x i8] c"counter\00" -@fld.str.648 = private constant [5 x i8] c"user\00" -@field_names.649 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.647, i64 7 }, { ptr, i64 } { ptr @fld.str.648, i64 4 }] -@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 -@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.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 [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 [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 [5 x i8] c"Mat4\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 [5 x i8] c"data\00" +@field_names.564 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.563, i64 4 }] +@str.565 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.566 = private unnamed_addr constant [5 x i8] c"Vec2\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 [2 x i8] c"x\00" +@fld.str.571 = private constant [2 x i8] c"y\00" +@field_names.572 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.570, i64 1 }, { ptr, i64 } { ptr @fld.str.571, i64 1 }] +@str.573 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.574 = private unnamed_addr constant [12 x i8] c"Vec__3__f32\00", align 1 +@str.575 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.576 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.577 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.578 = private constant [5 x i8] c"data\00" +@field_names.579 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.578, i64 4 }] +@str.580 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.581 = private unnamed_addr constant [5 x i8] c"Vec3\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 [5 x i8] c"data\00" +@field_names.586 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.585, i64 4 }] +@str.587 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.588 = private unnamed_addr constant [13 x i8] c"Complex__u32\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"value\00" +@fld.str.593 = private constant [6 x i8] c"count\00" +@field_names.594 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.592, i64 5 }, { ptr, i64 } { ptr @fld.str.593, i64 5 }] +@str.595 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.596 = private unnamed_addr constant [4 x i8] c"Foo\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 [6 x i8] c"value\00" +@fld.str.601 = private constant [6 x i8] c"count\00" +@field_names.602 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.600, i64 5 }, { ptr, i64 } { ptr @fld.str.601, i64 5 }] +@str.603 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.604 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.605 = private constant [5 x i8] c"read\00" +@fld.str.606 = private constant [6 x i8] c"write\00" +@fld.str.607 = private constant [7 x i8] c"append\00" +@fld.str.608 = private constant [11 x i8] c"read_write\00" +@field_names.609 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.605, i64 4 }, { ptr, i64 } { ptr @fld.str.606, i64 5 }, { ptr, i64 } { ptr @fld.str.607, i64 6 }, { ptr, i64 } { ptr @fld.str.608, i64 10 }] +@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 [4 x i8] c"set\00" +@fld.str.614 = private constant [8 x i8] c"current\00" +@fld.str.615 = private constant [4 x i8] c"end\00" +@field_names.616 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.613, i64 3 }, { ptr, i64 } { ptr @fld.str.614, i64 7 }, { ptr, i64 } { ptr @fld.str.615, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.620 = private constant [6 x i8] c"null_\00" +@fld.str.621 = private constant [6 x i8] c"bool_\00" +@fld.str.622 = private constant [5 x i8] c"int_\00" +@fld.str.623 = private constant [4 x i8] c"str\00" +@fld.str.624 = private constant [6 x i8] c"array\00" +@fld.str.625 = private constant [7 x i8] c"object\00" +@field_names.626 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.620, i64 5 }, { ptr, i64 } { ptr @fld.str.621, i64 5 }, { ptr, i64 } { ptr @fld.str.622, i64 4 }, { ptr, i64 } { ptr @fld.str.623, i64 3 }, { ptr, i64 } { ptr @fld.str.624, i64 5 }, { ptr, i64 } { ptr @fld.str.625, i64 6 }] +@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 +@fld.str.630 = private constant [6 x i8] c"macos\00" +@fld.str.631 = private constant [6 x i8] c"linux\00" +@fld.str.632 = private constant [8 x i8] c"windows\00" +@fld.str.633 = private constant [5 x i8] c"wasm\00" +@fld.str.634 = private constant [4 x i8] c"ios\00" +@fld.str.635 = private constant [8 x i8] c"android\00" +@fld.str.636 = private constant [8 x i8] c"unknown\00" +@field_names.637 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.630, i64 5 }, { ptr, i64 } { ptr @fld.str.631, i64 5 }, { ptr, i64 } { ptr @fld.str.632, i64 7 }, { ptr, i64 } { ptr @fld.str.633, i64 4 }, { ptr, i64 } { ptr @fld.str.634, i64 3 }, { ptr, i64 } { ptr @fld.str.635, i64 7 }, { ptr, i64 } { ptr @fld.str.636, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.641 = private constant [8 x i8] c"aarch64\00" +@fld.str.642 = private constant [7 x i8] c"x86_64\00" +@fld.str.643 = private constant [7 x i8] c"wasm32\00" +@fld.str.644 = private constant [7 x i8] c"wasm64\00" +@fld.str.645 = private constant [8 x i8] c"unknown\00" +@field_names.646 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.641, i64 7 }, { ptr, i64 } { ptr @fld.str.642, i64 6 }, { ptr, i64 } { ptr @fld.str.643, i64 6 }, { ptr, i64 } { ptr @fld.str.644, i64 6 }, { ptr, i64 } { ptr @fld.str.645, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.650 = private constant [8 x i8] c"counter\00" +@fld.str.651 = private constant [5 x i8] c"user\00" +@field_names.652 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.650, i64 7 }, { ptr, i64 } { ptr @fld.str.651, i64 4 }] +@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 [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 @@ -627,35 +627,35 @@ @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 [5 x i8] c"null\00", align 1 -@str.695 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.696 = private unnamed_addr constant [4 x i8] c"@0x\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 [5 x i8] c"null\00", align 1 -@str.698 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.698 = private unnamed_addr constant [6 x i8] c"*void\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"*GPA\00", align 1 +@str.701 = private unnamed_addr constant [12 x i8] c"*CAllocator\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 [12 x i8] c"*ArenaChunk\00", align 1 +@str.704 = private unnamed_addr constant [5 x i8] c"*GPA\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 [7 x i8] c"*Arena\00", align 1 +@str.707 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\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 [6 x i8] c"[*]u8\00", align 1 +@str.710 = private unnamed_addr constant [7 x i8] c"*Arena\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 [10 x i8] c"*BufAlloc\00", align 1 +@str.713 = private unnamed_addr constant [6 x i8] c"[*]u8\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 [19 x i8] c"*TrackingAllocator\00", align 1 +@str.716 = private unnamed_addr constant [10 x i8] c"*BufAlloc\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 [6 x i8] c"*File\00", align 1 +@str.719 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\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 [4 x i8] c"*u8\00", align 1 +@str.722 = private unnamed_addr constant [6 x i8] c"*File\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 [5 x i8] c"*i32\00", align 1 @@ -718,30 +718,34 @@ @str.782 = private unnamed_addr constant [7 x i8] c"*[]Any\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"*bool\00", align 1 +@str.785 = private unnamed_addr constant [4 x i8] c"*u8\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"*f32\00", align 1 +@str.788 = private unnamed_addr constant [6 x i8] c"*bool\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 [15 x i8] c"*Vector(3,f32)\00", align 1 +@str.791 = private unnamed_addr constant [5 x i8] c"*f32\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"*[5]f32\00", align 1 +@str.794 = private unnamed_addr constant [15 x i8] c"*Vector(3,f32)\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 [5 x i8] c"*Foo\00", align 1 +@str.797 = private unnamed_addr constant [8 x i8] c"*[5]f32\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"*f64\00", align 1 +@str.800 = private unnamed_addr constant [5 x i8] c"*Foo\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"*Sx__f32\00", align 1 +@str.803 = private unnamed_addr constant [5 x i8] c"*f64\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"null\00", align 1 -@str.807 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.806 = private unnamed_addr constant [9 x i8] c"*Sx__f32\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 [5 x i8] c"null\00", align 1 +@str.810 = private unnamed_addr constant [5 x i8] c"null\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"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -758,7 +762,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -809,7 +813,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -899,7 +903,7 @@ if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.66 @@ -1102,7 +1106,7 @@ if.merge.91: ; preds = %if.else.90, %if.the %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1345,7 +1349,7 @@ if.merge.435: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1417,7 +1421,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1448,7 +1452,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1463,6 +1467,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1506,101 +1519,102 @@ entry: i64 1, label %match.arm.41 i64 10, label %match.arm.42 i64 11, label %match.arm.42 - i64 19, label %match.arm.43 i64 20, label %match.arm.43 i64 21, label %match.arm.43 - i64 24, label %match.arm.43 - i64 26, label %match.arm.43 - i64 28, label %match.arm.43 - i64 30, label %match.arm.43 - i64 33, label %match.arm.43 - i64 35, label %match.arm.43 - i64 39, label %match.arm.43 - i64 43, label %match.arm.43 - i64 45, label %match.arm.43 - i64 48, label %match.arm.43 - i64 52, label %match.arm.43 + i64 22, label %match.arm.43 + i64 25, label %match.arm.43 + i64 27, label %match.arm.43 + i64 29, label %match.arm.43 + i64 31, label %match.arm.43 + i64 34, label %match.arm.43 + i64 36, label %match.arm.43 + i64 40, label %match.arm.43 + i64 44, label %match.arm.43 + i64 46, label %match.arm.43 + i64 49, label %match.arm.43 i64 53, label %match.arm.43 - i64 55, label %match.arm.43 - i64 61, label %match.arm.43 - i64 66, label %match.arm.43 - i64 72, label %match.arm.43 - i64 76, label %match.arm.43 - i64 78, label %match.arm.43 + i64 54, label %match.arm.43 + i64 56, label %match.arm.43 + i64 62, label %match.arm.43 + i64 67, label %match.arm.43 + i64 73, label %match.arm.43 + i64 77, label %match.arm.43 i64 79, label %match.arm.43 i64 80, label %match.arm.43 - i64 82, label %match.arm.43 - i64 89, label %match.arm.43 - i64 94, label %match.arm.43 + i64 81, label %match.arm.43 + i64 83, label %match.arm.43 + i64 90, label %match.arm.43 i64 95, label %match.arm.43 - i64 97, label %match.arm.43 + i64 96, label %match.arm.43 i64 98, label %match.arm.43 i64 99, label %match.arm.43 i64 100, label %match.arm.43 - i64 37, label %match.arm.44 + i64 101, label %match.arm.43 i64 38, label %match.arm.44 - i64 54, label %match.arm.44 - i64 70, label %match.arm.44 + i64 39, label %match.arm.44 + i64 55, label %match.arm.44 i64 71, label %match.arm.44 - i64 117, label %match.arm.44 - i64 51, label %match.arm.45 - i64 64, label %match.arm.45 - i64 75, label %match.arm.45 - i64 96, label %match.arm.46 - i64 22, label %match.arm.47 - i64 81, label %match.arm.47 - i64 87, label %match.arm.47 + i64 72, label %match.arm.44 + i64 119, label %match.arm.44 + i64 52, label %match.arm.45 + i64 65, label %match.arm.45 + i64 76, label %match.arm.45 + i64 97, label %match.arm.46 + i64 23, label %match.arm.47 + i64 82, label %match.arm.47 i64 88, label %match.arm.47 - i64 92, label %match.arm.47 + i64 89, label %match.arm.47 i64 93, label %match.arm.47 - i64 107, label %match.arm.47 - i64 113, label %match.arm.47 - i64 23, label %match.arm.48 - i64 60, label %match.arm.48 - i64 77, label %match.arm.48 - i64 85, label %match.arm.48 - i64 105, label %match.arm.48 - i64 18, label %match.arm.49 - i64 25, label %match.arm.49 - i64 27, label %match.arm.49 - i64 29, label %match.arm.49 - i64 31, label %match.arm.49 + i64 94, label %match.arm.47 + i64 108, label %match.arm.47 + i64 115, label %match.arm.47 + i64 24, label %match.arm.48 + i64 61, label %match.arm.48 + i64 78, label %match.arm.48 + i64 86, label %match.arm.48 + i64 106, label %match.arm.48 + i64 19, label %match.arm.49 + i64 26, label %match.arm.49 + i64 28, label %match.arm.49 + i64 30, label %match.arm.49 i64 32, label %match.arm.49 - i64 34, label %match.arm.49 - i64 36, label %match.arm.49 - i64 40, label %match.arm.49 - i64 44, label %match.arm.49 - i64 47, label %match.arm.49 - i64 49, label %match.arm.49 + i64 33, label %match.arm.49 + i64 35, label %match.arm.49 + i64 37, label %match.arm.49 + i64 41, label %match.arm.49 + i64 48, label %match.arm.49 i64 50, label %match.arm.49 - i64 56, label %match.arm.49 + i64 51, label %match.arm.49 i64 57, label %match.arm.49 i64 58, label %match.arm.49 i64 59, label %match.arm.49 - i64 62, label %match.arm.49 - i64 67, label %match.arm.49 - i64 74, label %match.arm.49 - i64 83, label %match.arm.49 - i64 86, label %match.arm.49 - i64 90, label %match.arm.49 - i64 101, label %match.arm.49 + i64 60, label %match.arm.49 + i64 63, label %match.arm.49 + i64 68, label %match.arm.49 + i64 75, label %match.arm.49 + i64 84, label %match.arm.49 + i64 87, label %match.arm.49 + i64 91, label %match.arm.49 i64 102, label %match.arm.49 i64 103, label %match.arm.49 i64 104, label %match.arm.49 - i64 106, label %match.arm.49 - i64 108, label %match.arm.49 + i64 105, label %match.arm.49 + i64 107, label %match.arm.49 i64 109, label %match.arm.49 i64 110, 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 115, label %match.arm.49 i64 116, label %match.arm.49 + i64 117, label %match.arm.49 i64 118, label %match.arm.49 - i64 41, label %match.arm.50 + i64 120, label %match.arm.49 i64 42, label %match.arm.50 - i64 46, label %match.arm.50 - i64 91, label %match.arm.50 + i64 43, label %match.arm.50 + i64 45, label %match.arm.50 + i64 47, label %match.arm.50 + i64 92, label %match.arm.50 i64 13, label %match.arm.51 ] @@ -1618,7 +1632,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 [190 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,37 +1665,37 @@ match.arm.43: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.95 [ - i64 19, label %dispatch.case.96 - i64 20, label %dispatch.case.97 - i64 21, label %dispatch.case.98 - i64 24, label %dispatch.case.99 - i64 26, label %dispatch.case.100 - i64 28, label %dispatch.case.101 - i64 30, label %dispatch.case.102 - i64 33, label %dispatch.case.103 - i64 35, label %dispatch.case.104 - i64 39, label %dispatch.case.105 - i64 43, label %dispatch.case.106 - i64 45, label %dispatch.case.107 - i64 48, label %dispatch.case.108 - i64 52, label %dispatch.case.109 - i64 53, label %dispatch.case.110 - i64 55, label %dispatch.case.111 - i64 61, label %dispatch.case.112 - i64 66, label %dispatch.case.113 - i64 72, label %dispatch.case.114 - i64 76, label %dispatch.case.115 - i64 78, label %dispatch.case.116 - i64 79, label %dispatch.case.117 - i64 80, label %dispatch.case.118 - i64 82, label %dispatch.case.119 - i64 89, label %dispatch.case.120 - i64 94, label %dispatch.case.121 - i64 95, label %dispatch.case.122 - i64 97, label %dispatch.case.123 - i64 98, label %dispatch.case.124 - i64 99, label %dispatch.case.125 - i64 100, label %dispatch.case.126 + i64 20, label %dispatch.case.96 + i64 21, label %dispatch.case.97 + i64 22, label %dispatch.case.98 + i64 25, label %dispatch.case.99 + i64 27, label %dispatch.case.100 + i64 29, label %dispatch.case.101 + i64 31, label %dispatch.case.102 + i64 34, label %dispatch.case.103 + i64 36, label %dispatch.case.104 + i64 40, label %dispatch.case.105 + i64 44, label %dispatch.case.106 + i64 46, label %dispatch.case.107 + i64 49, label %dispatch.case.108 + i64 53, label %dispatch.case.109 + i64 54, label %dispatch.case.110 + i64 56, label %dispatch.case.111 + i64 62, label %dispatch.case.112 + i64 67, label %dispatch.case.113 + i64 73, label %dispatch.case.114 + i64 77, label %dispatch.case.115 + i64 79, label %dispatch.case.116 + i64 80, label %dispatch.case.117 + i64 81, label %dispatch.case.118 + i64 83, label %dispatch.case.119 + i64 90, label %dispatch.case.120 + i64 95, label %dispatch.case.121 + i64 96, label %dispatch.case.122 + i64 98, label %dispatch.case.123 + i64 99, label %dispatch.case.124 + i64 100, label %dispatch.case.125 + i64 101, label %dispatch.case.126 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry, %entry @@ -1689,12 +1703,12 @@ match.arm.44: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.283 [ - i64 37, label %dispatch.case.284 - i64 38, label %dispatch.case.285 - i64 54, label %dispatch.case.286 - i64 70, label %dispatch.case.287 - i64 71, label %dispatch.case.288 - i64 117, label %dispatch.case.289 + i64 38, label %dispatch.case.284 + i64 39, label %dispatch.case.285 + i64 55, label %dispatch.case.286 + i64 71, label %dispatch.case.287 + i64 72, label %dispatch.case.288 + i64 119, label %dispatch.case.289 ] match.arm.45: ; preds = %entry, %entry, %entry @@ -1714,7 +1728,7 @@ match.arm.46: ; preds = %entry %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.303 [ - i64 96, label %dispatch.case.304 + i64 97, label %dispatch.case.304 ] match.arm.47: ; preds = %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry @@ -1722,14 +1736,14 @@ match.arm.47: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.311 [ - i64 22, label %dispatch.case.312 - i64 81, label %dispatch.case.313 - i64 87, label %dispatch.case.314 - i64 88, label %dispatch.case.315 - i64 92, label %dispatch.case.316 - i64 93, label %dispatch.case.317 - i64 107, label %dispatch.case.318 - i64 113, label %dispatch.case.319 + i64 23, label %dispatch.case.312 + i64 82, label %dispatch.case.313 + i64 88, label %dispatch.case.314 + i64 89, label %dispatch.case.315 + i64 93, label %dispatch.case.316 + i64 94, label %dispatch.case.317 + i64 108, label %dispatch.case.318 + i64 115, label %dispatch.case.319 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1737,11 +1751,11 @@ match.arm.48: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.361 [ - i64 23, label %dispatch.case.362 - i64 60, label %dispatch.case.363 - i64 77, label %dispatch.case.364 - i64 85, label %dispatch.case.365 - i64 105, label %dispatch.case.366 + i64 24, label %dispatch.case.362 + i64 61, label %dispatch.case.363 + i64 78, label %dispatch.case.364 + i64 86, label %dispatch.case.365 + i64 106, label %dispatch.case.366 ] 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 @@ -1749,54 +1763,55 @@ match.arm.49: ; preds = %entry, %entry, %ent %ua.raw41 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw41, label %dispatch.default.393 [ - i64 18, label %dispatch.case.394 - i64 25, label %dispatch.case.395 - i64 27, label %dispatch.case.396 - i64 29, label %dispatch.case.397 - i64 31, label %dispatch.case.398 - i64 32, label %dispatch.case.399 - i64 34, label %dispatch.case.400 - i64 36, label %dispatch.case.401 - i64 40, label %dispatch.case.402 - i64 44, label %dispatch.case.403 - i64 47, label %dispatch.case.404 - i64 49, label %dispatch.case.405 - i64 50, label %dispatch.case.406 - i64 56, label %dispatch.case.407 - i64 57, label %dispatch.case.408 - i64 58, label %dispatch.case.409 - i64 59, label %dispatch.case.410 - i64 62, label %dispatch.case.411 - i64 67, label %dispatch.case.412 - i64 74, label %dispatch.case.413 - i64 83, label %dispatch.case.414 - i64 86, label %dispatch.case.415 - i64 90, label %dispatch.case.416 - i64 101, label %dispatch.case.417 - i64 102, label %dispatch.case.418 - i64 103, label %dispatch.case.419 - i64 104, label %dispatch.case.420 - i64 106, label %dispatch.case.421 - i64 108, label %dispatch.case.422 - i64 109, label %dispatch.case.423 - i64 110, label %dispatch.case.424 - i64 111, label %dispatch.case.425 - i64 112, label %dispatch.case.426 - i64 114, label %dispatch.case.427 - i64 115, label %dispatch.case.428 - i64 116, label %dispatch.case.429 - i64 118, label %dispatch.case.430 + i64 19, label %dispatch.case.394 + i64 26, label %dispatch.case.395 + i64 28, label %dispatch.case.396 + i64 30, label %dispatch.case.397 + i64 32, label %dispatch.case.398 + i64 33, label %dispatch.case.399 + i64 35, label %dispatch.case.400 + i64 37, label %dispatch.case.401 + i64 41, label %dispatch.case.402 + i64 48, label %dispatch.case.403 + i64 50, label %dispatch.case.404 + i64 51, label %dispatch.case.405 + i64 57, label %dispatch.case.406 + i64 58, label %dispatch.case.407 + i64 59, label %dispatch.case.408 + i64 60, label %dispatch.case.409 + i64 63, label %dispatch.case.410 + i64 68, label %dispatch.case.411 + i64 75, label %dispatch.case.412 + i64 84, label %dispatch.case.413 + i64 87, label %dispatch.case.414 + i64 91, label %dispatch.case.415 + i64 102, label %dispatch.case.416 + i64 103, label %dispatch.case.417 + i64 104, label %dispatch.case.418 + i64 105, label %dispatch.case.419 + i64 107, label %dispatch.case.420 + i64 109, label %dispatch.case.421 + i64 110, label %dispatch.case.422 + i64 111, label %dispatch.case.423 + i64 112, label %dispatch.case.424 + i64 113, label %dispatch.case.425 + i64 114, label %dispatch.case.426 + i64 116, label %dispatch.case.427 + i64 117, label %dispatch.case.428 + i64 118, label %dispatch.case.429 + i64 120, label %dispatch.case.430 ] -match.arm.50: ; preds = %entry, %entry, %entry, %entry +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.556 [ - i64 41, label %dispatch.case.557 - i64 42, label %dispatch.case.558 - i64 46, label %dispatch.case.559 - i64 91, label %dispatch.case.560 + i64 42, label %dispatch.case.557 + i64 43, label %dispatch.case.558 + i64 45, label %dispatch.case.559 + i64 47, label %dispatch.case.560 + i64 92, label %dispatch.case.561 ] match.arm.51: ; preds = %entry @@ -1805,7 +1820,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 [187 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid52 + %tn.gep = getelementptr inbounds [190 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 @@ -1856,7 +1871,7 @@ dispatch.merge.94: ; preds = %dispatch.case.126, br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.280, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.283, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2113,7 +2128,7 @@ dispatch.merge.282: ; preds = %dispatch.case.289, br label %match.merge.37 dispatch.default.283: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.281, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.284, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.282 dispatch.case.284: ; preds = %match.arm.44 @@ -2162,7 +2177,7 @@ dispatch.merge.302: ; preds = %dispatch.case.304, br label %match.merge.37 dispatch.default.303: ; preds = %match.arm.46 - store { ptr, i64 } { ptr @str.282, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.285, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.302 dispatch.case.304: ; preds = %match.arm.46 @@ -2179,7 +2194,7 @@ dispatch.merge.310: ; preds = %dispatch.case.319, br label %match.merge.37 dispatch.default.311: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.283, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.286, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.310 dispatch.case.312: ; preds = %match.arm.47 @@ -2252,7 +2267,7 @@ dispatch.merge.360: ; preds = %dispatch.case.366, br label %match.merge.37 dispatch.default.361: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.284, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.287, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.360 dispatch.case.362: ; preds = %match.arm.48 @@ -2301,7 +2316,7 @@ dispatch.merge.392: ; preds = %dispatch.case.430, br label %match.merge.37 dispatch.default.393: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.285, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.288, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.394: ; preds = %match.arm.49 @@ -2370,147 +2385,147 @@ dispatch.case.402: ; preds = %match.arm.49 dispatch.case.403: ; 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_u8(ptr %0, ptr %iNp292) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp292) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.404: ; 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) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp295) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.405: ; 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) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp298) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.406: ; 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) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp301) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.407: ; 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) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp304) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.408: ; 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) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp307) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.409: ; 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) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp310) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.410: ; 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) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp313) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.411: ; 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) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp316) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.412: ; 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) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp319) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.413: ; 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) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp322) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.414: ; 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) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp325) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.415: ; 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) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp328) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.416: ; 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) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp331) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.417: ; 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) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp334) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.418: ; 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) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Vec3(ptr %0, ptr %iNp337) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.419: ; 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_Vec3(ptr %0, ptr %iNp340) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp340) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.420: ; 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_string(ptr %0, ptr %iNp343) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp343) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.421: ; 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_Any(ptr %0, ptr %iNp346) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp346) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.422: ; 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_1_Any(ptr %0, ptr %iNp349) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp349) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 dispatch.case.423: ; 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_SL_Any(ptr %0, ptr %iNp352) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp352) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 @@ -2563,13 +2578,13 @@ dispatch.case.430: ; preds = %match.arm.49 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.392 -dispatch.merge.555: ; preds = %dispatch.case.560, %dispatch.case.559, %dispatch.case.558, %dispatch.case.557, %dispatch.default.556 +dispatch.merge.555: ; preds = %dispatch.case.561, %dispatch.case.560, %dispatch.case.559, %dispatch.case.558, %dispatch.case.557, %dispatch.default.556 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.556: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.286, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.289, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.555 dispatch.case.557: ; preds = %match.arm.50 @@ -2590,17 +2605,24 @@ dispatch.case.558: ; preds = %match.arm.50 dispatch.case.559: ; preds = %match.arm.50 %ua.raw384 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr385 = inttoptr i64 %ua.raw384 to ptr - %ua.load386 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr385, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load386) + %iNp385 = inttoptr i64 %ua.raw384 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp385) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.555 dispatch.case.560: ; preds = %match.arm.50 - %ua.raw388 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr389 = inttoptr i64 %ua.raw388 to ptr - %ua.load390 = load { [64 x i8], i1 }, ptr %ua.ptr389, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load390) + %ua.raw387 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr388 = inttoptr i64 %ua.raw387 to ptr + %ua.load389 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr388, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load389) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.555 + +dispatch.case.561: ; preds = %match.arm.50 + %ua.raw391 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr392 = inttoptr i64 %ua.raw391 to ptr + %ua.load393 = load { [64 x i8], i1 }, ptr %ua.ptr392, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load393) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.555 } @@ -2611,7 +2633,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.287, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.290, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2707,7 +2729,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.288, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.291, 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 @@ -2715,7 +2737,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.289, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.292, 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 @@ -2725,13 +2747,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.290, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.293, 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.291, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.294, 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 @@ -2739,7 +2761,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.292, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.295, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2753,7 +2775,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.293, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.296, 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 @@ -2761,7 +2783,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.294, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.297, 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 @@ -2772,7 +2794,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.295, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.298, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2829,7 +2851,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.296, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.299, 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 @@ -2837,7 +2859,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.297, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.300, 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 @@ -2848,7 +2870,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.298, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.301, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2868,7 +2890,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.299, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.302, 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 @@ -2876,7 +2898,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.300, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.303, 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 @@ -2887,7 +2909,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.301, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.304, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3108,9 +3130,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3807,7 +3826,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.302, i64 7 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.305, 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 @@ -3815,7 +3834,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 98, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 99, 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 @@ -3825,7 +3844,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.303, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.306, 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) @@ -3836,7 +3855,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 98, i64 undef }, i64 %ba.p2i13, 1 + %ba.val14 = insertvalue { i64, i64 } { i64 99, 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 @@ -3855,7 +3874,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.304, i64 7 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.307, i64 7 }) ret { ptr, i64 } %call } @@ -3863,7 +3882,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.305, i64 7 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.308, 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 @@ -3871,7 +3890,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 96, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 97, 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 @@ -3881,7 +3900,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.306, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.309, 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) @@ -3892,7 +3911,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 96, i64 undef }, i64 %ba.p2i13, 1 + %ba.val14 = insertvalue { i64, i64 } { i64 97, 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 @@ -3911,7 +3930,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.307, i64 7 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.310, i64 7 }) ret { ptr, i64 } %call } @@ -3919,7 +3938,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.308, i64 9 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.311, 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 @@ -3927,7 +3946,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 113, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 115, 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 @@ -3937,7 +3956,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.309, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.312, 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) @@ -3948,7 +3967,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 113, i64 undef }, i64 %ba.p2i13, 1 + %ba.val14 = insertvalue { i64, i64 } { i64 115, 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 @@ -3967,7 +3986,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.310, i64 9 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.313, i64 9 }) ret { ptr, i64 } %call } @@ -3975,7 +3994,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.311, i64 9 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.314, 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 @@ -3983,7 +4002,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 100, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 101, 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 @@ -3993,7 +4012,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.312, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.315, 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) @@ -4004,7 +4023,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 100, i64 undef }, i64 %ba.p2i13, 1 + %ba.val14 = insertvalue { i64, i64 } { i64 101, 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 @@ -4023,7 +4042,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.313, i64 9 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.316, i64 9 }) ret { ptr, i64 } %call } @@ -4031,7 +4050,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.314, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.317, 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 @@ -4039,7 +4058,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 96, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 97, 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 @@ -4049,7 +4068,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.315, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.318, 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) @@ -4060,7 +4079,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 96, i64 undef }, i64 %ba.p2i13, 1 + %ba.val14 = insertvalue { i64, i64 } { i64 97, 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 @@ -4079,7 +4098,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.316, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.319, i64 8 }) ret { ptr, i64 } %call } @@ -4087,7 +4106,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.317, i64 9 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.320, 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 @@ -4104,7 +4123,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.318, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.321, 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) @@ -4133,7 +4152,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.319, i64 9 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.322, i64 9 }) ret { ptr, i64 } %call } @@ -4141,7 +4160,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.320, i64 10 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.323, 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 @@ -4158,7 +4177,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.321, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.324, 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) @@ -4187,7 +4206,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.322, i64 10 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.325, i64 10 }) ret { ptr, i64 } %call } @@ -4195,7 +4214,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.323, i64 11 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.326, 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 @@ -4203,7 +4222,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 96, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 97, 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 @@ -4213,7 +4232,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.327, 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) @@ -4224,7 +4243,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 96, i64 undef }, i64 %ba.p2i13, 1 + %ba.val14 = insertvalue { i64, i64 } { i64 97, 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 @@ -4243,7 +4262,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.325, i64 11 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.328, i64 11 }) ret { ptr, i64 } %call } @@ -4251,7 +4270,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.326, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.329, 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 @@ -4259,7 +4278,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 96, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 97, 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 @@ -4269,7 +4288,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.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 5) @@ -4280,7 +4299,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 96, i64 undef }, i64 %ba.p2i13, 1 + %ba.val14 = insertvalue { i64, i64 } { i64 97, 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 @@ -4299,7 +4318,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.328, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.331, i64 8 }) ret { ptr, i64 } %call } @@ -4316,7 +4335,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.329, i64 12 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.332, 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 @@ -4332,7 +4351,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.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 9) @@ -4360,7 +4379,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.331, i64 12 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.334, i64 12 }) ret { ptr, i64 } %call } @@ -4368,7 +4387,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.332, i64 3 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.335, 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 @@ -4376,7 +4395,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 117, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 119, 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 @@ -4386,13 +4405,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.333, 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 { 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 117, i64 undef }, i64 %ba.p2i10, 1 + %ba.val11 = insertvalue { i64, i64 } { i64 119, 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 @@ -4411,7 +4430,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.334, i64 3 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.337, i64 3 }) ret { ptr, i64 } %call } @@ -4419,7 +4438,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.335, i64 3 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.338, 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 @@ -4434,7 +4453,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.339, 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 @@ -4456,7 +4475,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.337, i64 3 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.340, i64 3 }) ret { ptr, i64 } %call } @@ -4467,7 +4486,7 @@ 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.338, i64 15 }, { ptr, i64 } { ptr @str.339, 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 @@ -4486,12 +4505,12 @@ while.body.128: ; preds = %while.hdr.127 while.exit.129: ; preds = %while.hdr.127 %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.343, i64 1 }) ret { ptr, i64 } %callN if.then.130: ; preds = %while.body.128 %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.344, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.131 @@ -4503,7 +4522,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.345, 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 @@ -4560,7 +4579,7 @@ 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.346, i64 9 }, { ptr, i64 } { ptr @str.347, 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 @@ -4579,24 +4598,24 @@ while.body.133: ; preds = %while.hdr.132 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.348, 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.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.349, 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.136 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 [3 x { ptr, i64 }], ptr @field_names.353, 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.354, 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 @@ -4623,19 +4642,19 @@ fv.default: ; preds = %if.merge.136 fv.case: ; preds = %if.merge.136 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.136 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge fv.case21: ; preds = %if.merge.136 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -4645,7 +4664,7 @@ 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.355, i64 7 }, { ptr, i64 } { ptr @str.356, 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 @@ -4664,24 +4683,24 @@ while.body.138: ; preds = %while.hdr.137 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.357, 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.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.358, 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.141 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 [2 x { ptr, i64 }], ptr @field_names.361, 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.362, 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 @@ -4708,13 +4727,13 @@ fv.case: ; preds = %if.merge.141 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.141 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 - %fv.val19 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -4723,7 +4742,7 @@ 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.363, i64 10 }, { ptr, i64 } { ptr @str.364, 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 @@ -4742,24 +4761,24 @@ while.body.143: ; preds = %while.hdr.142 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.365, 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.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.366, 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.146 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 [0 x { ptr, i64 }], ptr @field_names.367, 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.368, 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 @@ -4778,7 +4797,7 @@ 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.369, i64 3 }, { ptr, i64 } { ptr @str.370, 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 @@ -4797,24 +4816,24 @@ while.body.148: ; preds = %while.hdr.147 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.371, 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.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.372, 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.151 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 [1 x { ptr, i64 }], ptr @field_names.374, 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.375, 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 @@ -4847,7 +4866,7 @@ 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.376, i64 10 }, { ptr, i64 } { ptr @str.377, 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 @@ -4866,24 +4885,24 @@ while.body.153: ; preds = %while.hdr.152 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.378, 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.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.379, 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.156 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.382, 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.383, 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 @@ -4909,7 +4928,7 @@ fv.default: ; preds = %if.merge.156 fv.case: ; preds = %if.merge.156 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.156 @@ -4924,7 +4943,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.384, i64 5 }, { ptr, i64 } { ptr @str.385, 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 @@ -4943,24 +4962,24 @@ while.body.158: ; preds = %while.hdr.157 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.386, 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.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.387, 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.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.391, 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.392, 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, { ptr, ptr, ptr } }, ptr %alloca, align 8 @@ -4987,7 +5006,7 @@ fv.default: ; preds = %if.merge.161 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 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.161 @@ -4999,7 +5018,7 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -5008,7 +5027,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.393, i64 8 }, { ptr, i64 } { ptr @str.394, i64 1 }) + %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 @@ -5027,24 +5046,24 @@ 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.395, 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.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.396, 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.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.400, i64 0, i64 %loadN + %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.401, 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, i64, i64 }, ptr %alloca, align 8 @@ -5071,7 +5090,7 @@ fv.default: ; preds = %if.merge.166 fv.case: ; preds = %if.merge.166 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.166 @@ -5091,7 +5110,7 @@ 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.402, i64 17 }, { ptr, i64 } { ptr @str.403, 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 @@ -5110,24 +5129,24 @@ 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.404, 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.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.405, 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.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 [4 x { ptr, i64 }], ptr @field_names.410, 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.411, 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 @@ -5156,7 +5175,7 @@ fv.case: ; preds = %if.merge.171 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.171 @@ -5180,7 +5199,7 @@ 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.412, i64 4 }, { ptr, i64 } { ptr @str.413, 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 @@ -5199,24 +5218,24 @@ 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.414, 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.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.415, 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.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 [1 x { ptr, i64 }], ptr @field_names.417, 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.418, 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 @@ -5253,7 +5272,7 @@ 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.419, i64 10 }, { ptr, i64 } { ptr @str.420, 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 @@ -5272,24 +5291,24 @@ 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.421, 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.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.422, 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.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 [5 x { ptr, i64 }], ptr @field_names.428, 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.429, 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 @@ -5355,7 +5374,7 @@ 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.430, i64 13 }, { ptr, i64 } { ptr @str.431, 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 @@ -5374,24 +5393,24 @@ while.body.183: ; preds = %while.hdr.182 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.432, 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.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.433, 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.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 [2 x { ptr, i64 }], ptr @field_names.436, 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.437, 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 @@ -5433,7 +5452,7 @@ 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.438, i64 8 }, { ptr, i64 } { ptr @str.439, 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 @@ -5452,24 +5471,24 @@ while.body.188: ; preds = %while.hdr.187 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.440, 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.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.441, 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.191 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.447, 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.448, 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 @@ -5530,7 +5549,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.449, i64 5 }, { ptr, i64 } { ptr @str.450, 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 @@ -5549,24 +5568,24 @@ while.body.193: ; preds = %while.hdr.192 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.451, 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.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.452, 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.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.456, 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.457, 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 @@ -5593,7 +5612,7 @@ fv.default: ; preds = %if.merge.196 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 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.196 @@ -5612,7 +5631,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.458, i64 6 }, { ptr, i64 } { ptr @str.459, i64 1 }) + %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 @@ -5631,24 +5650,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.460, 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.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.461, 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.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.465, 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.466, 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 @@ -5675,7 +5694,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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.201 @@ -5696,7 +5715,7 @@ entry: %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 }) + %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 @@ -5715,24 +5734,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.469, 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.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.470, 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.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.473, i64 0, i64 %loadN + %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.474, 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, [24 x i8] } }, ptr %alloca, align 8 @@ -5766,7 +5785,7 @@ fv.case17: ; preds = %if.merge.206 %fv.field18 = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 1 store { i64, [24 x i8] } %fv.field18, ptr %ba.tmp19, align 8 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -5776,7 +5795,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.475, i64 4 }, { ptr, i64 } { ptr @str.476, 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 @@ -5795,24 +5814,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.477, 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.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.478, 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.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.482, 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.483, 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 @@ -5840,7 +5859,7 @@ 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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.211 @@ -5851,7 +5870,7 @@ fv.case17: ; preds = %if.merge.211 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 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -5862,7 +5881,7 @@ entry: %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 }) + %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 @@ -5881,24 +5900,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.486, 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.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.487, 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.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.491, i64 0, i64 %loadN + %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.492, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, i64, { ptr, ptr, ptr } }, ptr %alloca, align 8 @@ -5938,7 +5957,7 @@ fv.case20: ; preds = %if.merge.216 %fv.field21 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 2 store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8 %ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -5947,7 +5966,7 @@ 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.493, i64 12 }, { ptr, i64 } { ptr @str.494, 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 @@ -5966,24 +5985,24 @@ 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.495, 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.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.496, 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.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 [0 x { ptr, i64 }], ptr @field_names.497, 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.498, 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 @@ -6003,7 +6022,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.499, i64 8 }, { ptr, i64 } { ptr @str.500, 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 @@ -6022,24 +6041,24 @@ 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.501, 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.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 }) + %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.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.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.507, 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 @@ -6091,7 +6110,7 @@ entry: %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 }) + %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 @@ -6110,24 +6129,24 @@ 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.510, 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.511, 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.515, 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.516, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -6169,7 +6188,7 @@ fv.case22: ; preds = %if.merge.231 %fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2 store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8 %ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -6179,7 +6198,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.517, i64 9 }, { ptr, i64 } { ptr @str.518, 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 @@ -6198,24 +6217,24 @@ 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.519, 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.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.520, 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.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.523, 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.524, 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 { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -6258,7 +6277,7 @@ 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 }) + %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 @@ -6277,24 +6296,24 @@ 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.527, 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.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.528, 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.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.531, i64 0, i64 %loadN + %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.532, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i64, { ptr, i64 } }, ptr %alloca, align 8 @@ -6340,7 +6359,7 @@ 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.533, i64 6 }, { ptr, i64 } { ptr @str.534, 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 @@ -6359,24 +6378,24 @@ 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.535, 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.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.536, 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.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 [7 x { ptr, i64 }], ptr @field_names.544, 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.545, 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 @@ -6433,21 +6452,21 @@ fv.case28: ; preds = %if.merge.246 %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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge fv.case33: ; preds = %if.merge.246 %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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge fv.case38: ; preds = %if.merge.246 %fv.field39 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 6 store [16 x { i1, { ptr, i64 } }] %fv.field39, ptr %ba.tmp40, align 8 %ba.p2i41 = ptrtoint ptr %ba.tmp40 to i64 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -6458,7 +6477,7 @@ 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.546, i64 6 }, { ptr, i64 } { ptr @str.547, 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 @@ -6477,24 +6496,24 @@ 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.548, 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.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.549, 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.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 [4 x { ptr, i64 }], ptr @field_names.554, 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.555, 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 @@ -6523,14 +6542,14 @@ fv.case: ; preds = %if.merge.251 %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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.251 %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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.251 @@ -6550,7 +6569,7 @@ 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.556, i64 4 }, { ptr, i64 } { ptr @str.557, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.559, i64 4 }, { 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 @@ -6569,24 +6588,24 @@ 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.558, 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.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.559, 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.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 [1 x { ptr, i64 }], ptr @field_names.561, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.564, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %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.565, 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 @@ -6612,7 +6631,7 @@ fv.case: ; preds = %if.merge.256 %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 93, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 94, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -6621,7 +6640,7 @@ define internal { ptr, i64 } @struct_to_string__Vec2(ptr %0, { float, float } %1 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.563, i64 4 }, { ptr, i64 } { ptr @str.564, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.566, i64 4 }, { ptr, i64 } { ptr @str.567, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6640,24 +6659,24 @@ 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.565, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.568, 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.566, 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 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.569, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.572, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.573, 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 @@ -6701,7 +6720,7 @@ 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.571, i64 11 }, { ptr, i64 } { ptr @str.572, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.574, i64 11 }, { ptr, i64 } { ptr @str.575, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6720,24 +6739,24 @@ 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.573, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.576, 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.574, 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 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 [1 x { ptr, i64 }], ptr @field_names.576, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.579, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.580, 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 @@ -6763,7 +6782,7 @@ fv.case: ; preds = %if.merge.266 %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 96, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 97, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -6773,7 +6792,7 @@ 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.578, i64 4 }, { ptr, i64 } { ptr @str.579, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.581, i64 4 }, { 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 @@ -6792,24 +6811,24 @@ 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.580, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.583, 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.581, i64 2 }) + %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.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 [1 x { ptr, i64 }], ptr @field_names.583, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.584, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { <3 x float> }, ptr %alloca, align 16 @@ -6835,7 +6854,7 @@ fv.case: ; preds = %if.merge.271 %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 96, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 97, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -6844,7 +6863,7 @@ 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.585, i64 12 }, { ptr, i64 } { ptr @str.586, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.588, i64 12 }, { 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 @@ -6863,24 +6882,24 @@ 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.587, 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.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.588, 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.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.591, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.592, 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, i32 }, ptr %alloca, align 4 @@ -6921,7 +6940,7 @@ 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.593, i64 3 }, { ptr, i64 } { ptr @str.594, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.596, i64 3 }, { 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 @@ -6940,24 +6959,24 @@ while.body.278: ; preds = %while.hdr.277 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.595, 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.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.596, 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.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.599, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.600, 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, i32 }, ptr %alloca, align 4 @@ -7002,9 +7021,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.606, 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 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, 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 @@ -7023,8 +7042,8 @@ entry: if.then.290: ; 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.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.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 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.291 @@ -7043,9 +7062,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.613, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.616, 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.612, 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 @@ -7064,8 +7083,8 @@ entry: if.then.292: ; 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.615, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.614, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.618, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.617, 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 @@ -7095,9 +7114,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.623, i64 0, i64 %loadN + %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 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.616, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, 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 @@ -7114,8 +7133,8 @@ entry: if.then.294: ; 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.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.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 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.295 @@ -7171,7 +7190,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -7180,7 +7199,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -7193,9 +7212,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.634, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.637, 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.629, 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 @@ -7214,8 +7233,8 @@ entry: if.then.296: ; 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.639, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.638, 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 @@ -7234,9 +7253,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.643, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.646, 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.637, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, 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 @@ -7255,8 +7274,8 @@ entry: if.then.298: ; 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.645, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.644, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.647, 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.299 @@ -7280,9 +7299,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.649, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.652, 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.646, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, 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 @@ -7295,8 +7314,8 @@ entry: if.then.300: ; 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.654, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.653, 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.301 @@ -7343,7 +7362,7 @@ 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.652, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.655, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.305 @@ -7360,12 +7379,12 @@ while.body.306: ; preds = %while.hdr.305 while.exit.307: ; preds = %while.hdr.305 %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.656, i64 1 }) ret { ptr, i64 } %call 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.654, 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 br label %if.merge.309 @@ -7394,7 +7413,7 @@ 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.655, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.658, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.320 @@ -7411,12 +7430,12 @@ while.body.321: ; preds = %while.hdr.320 while.exit.322: ; preds = %while.hdr.320 %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.659, i64 1 }) ret { ptr, i64 } %call 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.657, 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.324 @@ -7445,7 +7464,7 @@ 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.658, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.661, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.325 @@ -7462,12 +7481,12 @@ while.body.326: ; preds = %while.hdr.325 while.exit.327: ; preds = %while.hdr.325 %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.662, i64 1 }) ret { ptr, i64 } %call 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.660, i64 2 }) + %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 br label %if.merge.329 @@ -7480,7 +7499,7 @@ if.merge.329: ; preds = %if.then.328, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -7497,7 +7516,7 @@ 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.661, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.664, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.330 @@ -7514,12 +7533,12 @@ while.body.331: ; preds = %while.hdr.330 while.exit.332: ; preds = %while.hdr.330 %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.665, i64 1 }) ret { ptr, i64 } %call if.then.333: ; preds = %while.body.331 %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.666, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.334 @@ -7547,7 +7566,7 @@ 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.664, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.667, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.335 @@ -7564,12 +7583,12 @@ while.body.336: ; preds = %while.hdr.335 while.exit.337: ; preds = %while.hdr.335 %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.668, i64 1 }) ret { ptr, i64 } %call if.then.338: ; preds = %while.body.336 %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.669, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.339 @@ -7598,7 +7617,7 @@ 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.667, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.670, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.340 @@ -7615,12 +7634,12 @@ while.body.341: ; preds = %while.hdr.340 while.exit.342: ; preds = %while.hdr.340 %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.671, i64 1 }) ret { ptr, i64 } %call if.then.343: ; preds = %while.body.341 %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.672, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.344 @@ -7648,7 +7667,7 @@ 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.670, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.673, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.345 @@ -7665,12 +7684,12 @@ while.body.346: ; preds = %while.hdr.345 while.exit.347: ; preds = %while.hdr.345 %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.674, i64 1 }) ret { ptr, i64 } %call if.then.348: ; preds = %while.body.346 %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.675, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.349 @@ -7701,7 +7720,7 @@ 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.673, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.676, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.350 @@ -7718,12 +7737,12 @@ while.body.351: ; preds = %while.hdr.350 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.674, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.677, i64 1 }) ret { ptr, i64 } %call 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.675, i64 2 }) + %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.354 @@ -7753,7 +7772,7 @@ 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.676, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.679, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.355 @@ -7770,12 +7789,12 @@ while.body.356: ; preds = %while.hdr.355 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.677, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.680, i64 1 }) ret { ptr, i64 } %call 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.678, 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 br label %if.merge.359 @@ -7805,7 +7824,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.679, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.682, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.367 @@ -7824,12 +7843,12 @@ while.body.368: ; preds = %while.hdr.367 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.680, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.683, i64 1 }) ret { ptr, i64 } %call 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.681, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.684, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.371 @@ -7858,7 +7877,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.682, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.685, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.372 @@ -7877,12 +7896,12 @@ while.body.373: ; preds = %while.hdr.372 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.683, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.686, i64 1 }) ret { ptr, i64 } %call 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.684, 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 br label %if.merge.376 @@ -7911,7 +7930,7 @@ 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.685, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.688, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.377 @@ -7930,12 +7949,12 @@ while.body.378: ; preds = %while.hdr.377 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.686, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.689, i64 1 }) ret { ptr, i64 } %call 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.687, 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.381 @@ -7948,7 +7967,7 @@ if.merge.381: ; preds = %if.then.380, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -7965,7 +7984,7 @@ 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.688, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.691, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.382 @@ -7984,12 +8003,12 @@ while.body.383: ; preds = %while.hdr.382 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.689, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.692, 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.690, 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.386 @@ -8002,7 +8021,7 @@ if.merge.386: ; preds = %if.then.385, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -8019,7 +8038,7 @@ 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.691, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.694, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.387 @@ -8038,12 +8057,12 @@ while.body.388: ; preds = %while.hdr.387 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.692, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.695, 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.693, 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 br label %if.merge.391 @@ -8085,12 +8104,12 @@ if.then.431: ; preds = %entry 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.696, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.695, i64 5 }, { ptr, i64 } %callN) + %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.433 if.merge.433: ; preds = %if.else.432, %if.then.431 - %bp = phi { ptr, i64 } [ { ptr @str.694, i64 4 }, %if.then.431 ], [ %callN, %if.else.432 ] + %bp = phi { ptr, i64 } [ { ptr @str.697, i64 4 }, %if.then.431 ], [ %callN, %if.else.432 ] ret { ptr, i64 } %bp } @@ -8113,12 +8132,12 @@ if.then.447: ; preds = %entry 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.699, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.698, i64 11 }, { ptr, i64 } %callN) + %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 11 }, { ptr, i64 } %callN) br label %if.merge.449 if.merge.449: ; preds = %if.else.448, %if.then.447 - %bp = phi { ptr, i64 } [ { ptr @str.697, i64 4 }, %if.then.447 ], [ %callN, %if.else.448 ] + %bp = phi { ptr, i64 } [ { ptr @str.700, i64 4 }, %if.then.447 ], [ %callN, %if.else.448 ] ret { ptr, i64 } %bp } @@ -8141,12 +8160,12 @@ 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.702, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.701, i64 4 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.452 if.merge.452: ; preds = %if.else.451, %if.then.450 - %bp = phi { ptr, i64 } [ { ptr @str.700, i64 4 }, %if.then.450 ], [ %callN, %if.else.451 ] + %bp = phi { ptr, i64 } [ { ptr @str.703, i64 4 }, %if.then.450 ], [ %callN, %if.else.451 ] ret { ptr, i64 } %bp } @@ -8169,12 +8188,12 @@ if.then.453: ; preds = %entry if.else.454: ; preds = %entry %loadN = load i64, ptr %allocaN, align 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 11 }, { ptr, i64 } %callN) + %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 11 }, { ptr, i64 } %callN) br label %if.merge.455 if.merge.455: ; preds = %if.else.454, %if.then.453 - %bp = phi { ptr, i64 } [ { ptr @str.703, i64 4 }, %if.then.453 ], [ %callN, %if.else.454 ] + %bp = phi { ptr, i64 } [ { ptr @str.706, i64 4 }, %if.then.453 ], [ %callN, %if.else.454 ] ret { ptr, i64 } %bp } @@ -8197,12 +8216,12 @@ if.then.456: ; preds = %entry 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.708, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.707, i64 6 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.458 if.merge.458: ; preds = %if.else.457, %if.then.456 - %bp = phi { ptr, i64 } [ { ptr @str.706, i64 4 }, %if.then.456 ], [ %callN, %if.else.457 ] + %bp = phi { ptr, i64 } [ { ptr @str.709, i64 4 }, %if.then.456 ], [ %callN, %if.else.457 ] ret { ptr, i64 } %bp } @@ -8224,12 +8243,12 @@ if.then.459: ; preds = %entry 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.711, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.710, i64 5 }, { ptr, i64 } %callN) + %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 5 }, { ptr, i64 } %callN) br label %if.merge.461 if.merge.461: ; preds = %if.else.460, %if.then.459 - %bp = phi { ptr, i64 } [ { ptr @str.709, i64 4 }, %if.then.459 ], [ %callN, %if.else.460 ] + %bp = phi { ptr, i64 } [ { ptr @str.712, i64 4 }, %if.then.459 ], [ %callN, %if.else.460 ] ret { ptr, i64 } %bp } @@ -8252,12 +8271,12 @@ if.then.462: ; preds = %entry 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.714, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.713, i64 9 }, { ptr, i64 } %callN) + %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.464 if.merge.464: ; preds = %if.else.463, %if.then.462 - %bp = phi { ptr, i64 } [ { ptr @str.712, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] + %bp = phi { ptr, i64 } [ { ptr @str.715, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] ret { ptr, i64 } %bp } @@ -8280,12 +8299,12 @@ if.then.465: ; preds = %entry 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.717, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.716, i64 18 }, { ptr, i64 } %callN) + %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 18 }, { ptr, i64 } %callN) br label %if.merge.467 if.merge.467: ; preds = %if.else.466, %if.then.465 - %bp = phi { ptr, i64 } [ { ptr @str.715, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] + %bp = phi { ptr, i64 } [ { ptr @str.718, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] ret { ptr, i64 } %bp } @@ -8308,17 +8327,17 @@ if.then.468: ; preds = %entry 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.720, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.719, i64 5 }, { ptr, i64 } %callN) + %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.470 if.merge.470: ; preds = %if.else.469, %if.then.468 - %bp = phi { ptr, i64 } [ { ptr @str.718, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] + %bp = phi { ptr, i64 } [ { ptr @str.721, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8336,17 +8355,17 @@ if.then.471: ; preds = %entry 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.723, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.722, i64 3 }, { ptr, i64 } %callN) + %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 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.721, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] + %bp = phi { ptr, i64 } [ { ptr @str.724, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8364,17 +8383,17 @@ if.then.474: ; preds = %entry 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.726, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.725, i64 4 }, { ptr, i64 } %callN) + %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 9 }, { ptr, i64 } %callN) br label %if.merge.476 if.merge.476: ; preds = %if.else.475, %if.then.474 - %bp = phi { ptr, i64 } [ { ptr @str.724, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] + %bp = phi { ptr, i64 } [ { ptr @str.727, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8392,40 +8411,12 @@ if.then.477: ; 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.729, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.728, i64 9 }, { ptr, i64 } %callN) + %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.479 if.merge.479: ; preds = %if.else.478, %if.then.477 - %bp = phi { ptr, i64 } [ { ptr @str.727, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.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.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.482 - -if.merge.482: ; preds = %if.else.481, %if.then.480 - %bp = phi { ptr, i64 } [ { ptr @str.730, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] + %bp = phi { ptr, i64 } [ { ptr @str.730, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] ret { ptr, i64 } %bp } @@ -8439,20 +8430,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.483, label %if.else.484 + br i1 %icmp, label %if.then.480, label %if.else.481 -if.then.483: ; preds = %entry - br label %if.merge.485 +if.then.480: ; preds = %entry + br label %if.merge.482 -if.else.484: ; 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.735, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.734, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.485 + br label %if.merge.482 -if.merge.485: ; preds = %if.else.484, %if.then.483 - %bp = phi { ptr, i64 } [ { ptr @str.733, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] +if.merge.482: ; preds = %if.else.481, %if.then.480 + %bp = phi { ptr, i64 } [ { ptr @str.733, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] ret { ptr, i64 } %bp } @@ -8467,20 +8458,20 @@ entry: store i64 %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.483, label %if.else.484 -if.then.486: ; preds = %entry - br label %if.merge.488 +if.then.483: ; preds = %entry + br label %if.merge.485 -if.else.487: ; 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.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.488 + br label %if.merge.485 -if.merge.488: ; preds = %if.else.487, %if.then.486 - %bp = phi { ptr, i64 } [ { ptr @str.736, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] +if.merge.485: ; preds = %if.else.484, %if.then.483 + %bp = phi { ptr, i64 } [ { ptr @str.736, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] ret { ptr, i64 } %bp } @@ -8494,6 +8485,34 @@ 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.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.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.488 + +if.merge.488: ; preds = %if.else.487, %if.then.486 + %bp = phi { ptr, i64 } [ { ptr @str.739, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.489, label %if.else.490 if.then.489: ; preds = %entry @@ -8502,17 +8521,17 @@ if.then.489: ; 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.741, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.740, i64 9 }, { ptr, i64 } %callN) + %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.491 if.merge.491: ; preds = %if.else.490, %if.then.489 - %bp = phi { ptr, i64 } [ { ptr @str.739, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] + %bp = phi { ptr, i64 } [ { ptr @str.742, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8530,17 +8549,17 @@ if.then.492: ; 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.744, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.743, i64 7 }, { ptr, i64 } %callN) + %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.494 if.merge.494: ; preds = %if.else.493, %if.then.492 - %bp = phi { ptr, i64 } [ { ptr @str.742, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] + %bp = phi { ptr, i64 } [ { ptr @str.745, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8558,17 +8577,17 @@ if.then.495: ; 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.747, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.746, i64 5 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.497 if.merge.497: ; preds = %if.else.496, %if.then.495 - %bp = phi { ptr, i64 } [ { ptr @str.745, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] + %bp = phi { ptr, i64 } [ { ptr @str.748, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8586,17 +8605,17 @@ if.then.498: ; 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.750, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.749, i64 7 }, { ptr, i64 } %callN) + %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.500 if.merge.500: ; preds = %if.else.499, %if.then.498 - %bp = phi { ptr, i64 } [ { ptr @str.748, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] + %bp = phi { ptr, i64 } [ { ptr @str.751, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8614,17 +8633,17 @@ if.then.501: ; 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.753, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.752, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.503 if.merge.503: ; preds = %if.else.502, %if.then.501 - %bp = phi { ptr, i64 } [ { ptr @str.751, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] + %bp = phi { ptr, i64 } [ { ptr @str.754, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8642,17 +8661,17 @@ if.then.504: ; 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.756, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.755, i64 7 }, { 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.506 if.merge.506: ; preds = %if.else.505, %if.then.504 - %bp = phi { ptr, i64 } [ { ptr @str.754, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] + %bp = phi { ptr, i64 } [ { ptr @str.757, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8670,17 +8689,17 @@ if.then.507: ; 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.759, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.758, i64 5 }, { ptr, i64 } %callN) + %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.509 if.merge.509: ; preds = %if.else.508, %if.then.507 - %bp = phi { ptr, i64 } [ { ptr @str.757, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] + %bp = phi { ptr, i64 } [ { ptr @str.760, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8698,17 +8717,17 @@ if.then.510: ; 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.762, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.761, i64 7 }, { ptr, i64 } %callN) + %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 12 }, { ptr, i64 } %callN) br label %if.merge.512 if.merge.512: ; preds = %if.else.511, %if.then.510 - %bp = phi { ptr, i64 } [ { ptr @str.760, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] + %bp = phi { ptr, i64 } [ { ptr @str.763, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8726,17 +8745,17 @@ 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.765, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.764, i64 12 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.515 if.merge.515: ; preds = %if.else.514, %if.then.513 - %bp = phi { ptr, i64 } [ { ptr @str.763, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] + %bp = phi { ptr, i64 } [ { ptr @str.766, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Vec3(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8754,17 +8773,17 @@ if.then.516: ; 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.768, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.767, i64 6 }, { ptr, i64 } %callN) + %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.518 if.merge.518: ; preds = %if.else.517, %if.then.516 - %bp = phi { ptr, i64 } [ { ptr @str.766, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] + %bp = phi { ptr, i64 } [ { ptr @str.769, i64 4 }, %if.then.516 ], [ %callN, %if.else.517 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Vec3(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8782,17 +8801,17 @@ if.then.519: ; 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.771, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.770, i64 5 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.521 if.merge.521: ; preds = %if.else.520, %if.then.519 - %bp = phi { ptr, i64 } [ { ptr @str.769, i64 4 }, %if.then.519 ], [ %callN, %if.else.520 ] + %bp = phi { ptr, i64 } [ { ptr @str.772, i64 4 }, %if.then.519 ], [ %callN, %if.else.520 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8810,17 +8829,17 @@ if.then.522: ; 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.774, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.773, i64 7 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.524 if.merge.524: ; preds = %if.else.523, %if.then.522 - %bp = phi { ptr, i64 } [ { ptr @str.772, i64 4 }, %if.then.522 ], [ %callN, %if.else.523 ] + %bp = phi { ptr, i64 } [ { ptr @str.775, i64 4 }, %if.then.522 ], [ %callN, %if.else.523 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8838,17 +8857,17 @@ if.then.525: ; 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.777, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.776, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.527 if.merge.527: ; preds = %if.else.526, %if.then.525 - %bp = phi { ptr, i64 } [ { ptr @str.775, i64 4 }, %if.then.525 ], [ %callN, %if.else.526 ] + %bp = phi { ptr, i64 } [ { ptr @str.778, i64 4 }, %if.then.525 ], [ %callN, %if.else.526 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8866,17 +8885,17 @@ if.then.528: ; 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.780, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.779, i64 7 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.530 if.merge.530: ; preds = %if.else.529, %if.then.528 - %bp = phi { ptr, i64 } [ { ptr @str.778, i64 4 }, %if.then.528 ], [ %callN, %if.else.529 ] + %bp = phi { ptr, i64 } [ { ptr @str.781, i64 4 }, %if.then.528 ], [ %callN, %if.else.529 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8894,12 +8913,12 @@ if.then.531: ; 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.783, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.782, i64 6 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.533 if.merge.533: ; preds = %if.else.532, %if.then.531 - %bp = phi { ptr, i64 } [ { ptr @str.781, i64 4 }, %if.then.531 ], [ %callN, %if.else.532 ] + %bp = phi { ptr, i64 } [ { ptr @str.784, i64 4 }, %if.then.531 ], [ %callN, %if.else.532 ] ret { ptr, i64 } %bp } @@ -8922,12 +8941,12 @@ if.then.534: ; 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.786, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.785, i64 5 }, { ptr, i64 } %callN) + %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 5 }, { ptr, i64 } %callN) br label %if.merge.536 if.merge.536: ; preds = %if.else.535, %if.then.534 - %bp = phi { ptr, i64 } [ { ptr @str.784, i64 4 }, %if.then.534 ], [ %callN, %if.else.535 ] + %bp = phi { ptr, i64 } [ { ptr @str.787, i64 4 }, %if.then.534 ], [ %callN, %if.else.535 ] ret { ptr, i64 } %bp } @@ -8950,12 +8969,12 @@ if.then.537: ; 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.789, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.788, i64 4 }, { ptr, i64 } %callN) + %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.539 if.merge.539: ; preds = %if.else.538, %if.then.537 - %bp = phi { ptr, i64 } [ { ptr @str.787, i64 4 }, %if.then.537 ], [ %callN, %if.else.538 ] + %bp = phi { ptr, i64 } [ { ptr @str.790, i64 4 }, %if.then.537 ], [ %callN, %if.else.538 ] ret { ptr, i64 } %bp } @@ -8978,12 +8997,12 @@ if.then.540: ; 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.792, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.791, i64 14 }, { ptr, i64 } %callN) + %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 14 }, { ptr, i64 } %callN) br label %if.merge.542 if.merge.542: ; preds = %if.else.541, %if.then.540 - %bp = phi { ptr, i64 } [ { ptr @str.790, i64 4 }, %if.then.540 ], [ %callN, %if.else.541 ] + %bp = phi { ptr, i64 } [ { ptr @str.793, i64 4 }, %if.then.540 ], [ %callN, %if.else.541 ] ret { ptr, i64 } %bp } @@ -9006,12 +9025,12 @@ if.then.543: ; 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.795, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.794, i64 7 }, { ptr, i64 } %callN) + %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.545 if.merge.545: ; preds = %if.else.544, %if.then.543 - %bp = phi { ptr, i64 } [ { ptr @str.793, i64 4 }, %if.then.543 ], [ %callN, %if.else.544 ] + %bp = phi { ptr, i64 } [ { ptr @str.796, i64 4 }, %if.then.543 ], [ %callN, %if.else.544 ] ret { ptr, i64 } %bp } @@ -9034,12 +9053,12 @@ if.then.546: ; 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.798, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.797, i64 4 }, { ptr, i64 } %callN) + %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.548 if.merge.548: ; preds = %if.else.547, %if.then.546 - %bp = phi { ptr, i64 } [ { ptr @str.796, i64 4 }, %if.then.546 ], [ %callN, %if.else.547 ] + %bp = phi { ptr, i64 } [ { ptr @str.799, i64 4 }, %if.then.546 ], [ %callN, %if.else.547 ] ret { ptr, i64 } %bp } @@ -9062,12 +9081,12 @@ if.then.549: ; 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.801, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.800, i64 4 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.551 if.merge.551: ; preds = %if.else.550, %if.then.549 - %bp = phi { ptr, i64 } [ { ptr @str.799, i64 4 }, %if.then.549 ], [ %callN, %if.else.550 ] + %bp = phi { ptr, i64 } [ { ptr @str.802, i64 4 }, %if.then.549 ], [ %callN, %if.else.550 ] ret { ptr, i64 } %bp } @@ -9090,12 +9109,12 @@ if.then.552: ; 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.804, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.803, i64 8 }, { ptr, i64 } %callN) + %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.554 if.merge.554: ; preds = %if.else.553, %if.then.552 - %bp = phi { ptr, i64 } [ { ptr @str.802, i64 4 }, %if.then.552 ], [ %callN, %if.else.553 ] + %bp = phi { ptr, i64 } [ { ptr @str.805, i64 4 }, %if.then.552 ], [ %callN, %if.else.553 ] ret { ptr, i64 } %bp } @@ -9108,17 +9127,17 @@ 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.562, label %if.merge.563 -if.then.561: ; preds = %entry - ret { ptr, i64 } { ptr @str.805, i64 4 } +if.then.562: ; preds = %entry + ret { ptr, i64 } { ptr @str.808, i64 4 } -if.merge.562: ; preds = %entry +if.merge.563: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -9132,12 +9151,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.564, label %if.merge.565 -if.then.563: ; preds = %entry - ret { ptr, i64 } { ptr @str.806, i64 4 } +if.then.564: ; preds = %entry + ret { ptr, i64 } { ptr @str.809, i64 4 } -if.merge.564: ; preds = %entry +if.merge.565: ; 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 @@ -9147,6 +9166,27 @@ if.merge.564: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.566, label %if.merge.567 + +if.then.566: ; preds = %entry + ret { ptr, i64 } { ptr @str.810, i64 4 } + +if.merge.567: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -9156,17 +9196,17 @@ 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.565, label %if.merge.566 + br i1 %lnot, label %if.then.568, label %if.merge.569 -if.then.565: ; preds = %entry - ret { ptr, i64 } { ptr @str.807, i64 4 } +if.then.568: ; preds = %entry + ret { ptr, i64 } { ptr @str.811, i64 4 } -if.merge.566: ; preds = %entry +if.merge.569: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -9180,17 +9220,17 @@ 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.567, label %if.merge.568 + br i1 %lnot, label %if.then.570, label %if.merge.571 -if.then.567: ; preds = %entry - ret { ptr, i64 } { ptr @str.808, i64 4 } +if.then.570: ; preds = %entry + ret { ptr, i64 } { ptr @str.812, i64 4 } -if.merge.568: ; preds = %entry +if.merge.571: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } diff --git a/examples/expected/0301-closures-fn-pointers.ir b/examples/expected/0301-closures-fn-pointers.ir index 95a967d..ff23797 100644 --- a/examples/expected/0301-closures-fn-pointers.ir +++ b/examples/expected/0301-closures-fn-pointers.ir @@ -7,7 +7,7 @@ @str.78 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.79 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.80 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [162 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] +@__sx_type_is_unsigned = private constant [165 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.81 = private constant [9 x i8] c"Overflow\00" @tag.str.82 = private constant [3 x i8] c"Io\00" @@ -41,449 +41,449 @@ @tn.str.108 = private constant [6 x i8] c"isize\00" @tn.str.109 = private constant [6 x i8] c"usize\00" @tn.str.110 = private constant [5 x i8] c"void\00" -@tn.str.111 = private constant [6 x i8] c"*void\00" -@tn.str.112 = private constant [16 x i8] c"Source_Location\00" -@tn.str.113 = private constant [10 x i8] c"Allocator\00" -@tn.str.114 = private constant [8 x i8] c"Context\00" -@tn.str.115 = private constant [7 x i8] c"[4]i64\00" -@tn.str.116 = private constant [9 x i8] c"[]string\00" -@tn.str.117 = private constant [11 x i8] c"CAllocator\00" -@tn.str.118 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.119 = private constant [4 x i8] c"GPA\00" -@tn.str.120 = private constant [5 x i8] c"*GPA\00" -@tn.str.121 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.122 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.123 = private constant [6 x i8] c"Arena\00" -@tn.str.124 = private constant [7 x i8] c"*Arena\00" -@tn.str.125 = private constant [6 x i8] c"[*]u8\00" -@tn.str.126 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.127 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.128 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.129 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.130 = private constant [9 x i8] c"OpenMode\00" -@tn.str.131 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.132 = private constant [5 x i8] c"File\00" -@tn.str.133 = private constant [6 x i8] c"*File\00" -@tn.str.134 = private constant [6 x i8] c"?File\00" -@tn.str.135 = private constant [8 x i8] c"?string\00" -@tn.str.136 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.137 = private constant [4 x i8] c"*u8\00" -@tn.str.138 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.139 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.140 = private constant [5 x i8] c"*i32\00" -@tn.str.141 = private constant [9 x i8] c"SockAddr\00" -@tn.str.142 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.143 = private constant [5 x i8] c"*u32\00" -@tn.str.144 = private constant [10 x i8] c"JsonError\00" -@tn.str.145 = private constant [6 x i8] c"Array\00" -@tn.str.146 = private constant [7 x i8] c"Object\00" -@tn.str.147 = private constant [6 x i8] c"Value\00" -@tn.str.148 = private constant [7 x i8] c"Member\00" -@tn.str.149 = private constant [9 x i8] c"[*]Value\00" -@tn.str.150 = private constant [7 x i8] c"*Array\00" -@tn.str.151 = private constant [10 x i8] c"[*]Member\00" -@tn.str.152 = private constant [8 x i8] c"*Object\00" -@tn.str.153 = private constant [5 x i8] c"[]u8\00" -@tn.str.154 = private constant [5 x i8] c"Sink\00" -@tn.str.155 = private constant [6 x i8] c"*Sink\00" -@tn.str.156 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.157 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.158 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.159 = private constant [7 x i8] c"Parser\00" -@tn.str.160 = private constant [8 x i8] c"*Parser\00" -@tn.str.161 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.162 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.163 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.164 = private constant [13 x i8] c"Architecture\00" -@tn.str.165 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.166 = private constant [11 x i8] c"() -> bool\00" -@tn.str.167 = private constant [5 x i8] c"*i64\00" -@tn.str.168 = private constant [9 x i8] c"CliError\00" -@tn.str.169 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.170 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.171 = private constant [8 x i8] c"Command\00" -@tn.str.172 = private constant [10 x i8] c"FlagValue\00" -@tn.str.173 = private constant [5 x i8] c"Diag\00" -@tn.str.174 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.175 = private constant [7 x i8] c"Parsed\00" -@tn.str.176 = private constant [8 x i8] c"*Parsed\00" -@tn.str.177 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.178 = private constant [10 x i8] c"[]Command\00" -@tn.str.179 = private constant [6 x i8] c"*Diag\00" -@tn.str.180 = private constant [7 x i8] c"[8]i64\00" -@tn.str.181 = private constant [7 x i8] c"[64]u8\00" -@tn.str.182 = private constant [7 x i8] c"Sha256\00" -@tn.str.183 = private constant [8 x i8] c"*Sha256\00" -@tn.str.184 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.185 = private constant [8 x i8] c"[64]i64\00" -@tn.str.186 = private constant [18 x i8] c"(i32, i32) -> i32\00" -@tn.str.187 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.188 = private constant [7 x i8] c"**void\00" -@tn.str.189 = private constant [19 x i8] c"*(i32, i32) -> i32\00" -@tn.str.190 = private constant [8 x i8] c"*string\00" -@tn.str.191 = private constant [6 x i8] c"[]Any\00" -@tn.str.192 = private constant [5 x i8] c"*Any\00" -@tn.str.193 = private constant [7 x i8] c"[1]Any\00" -@tn.str.194 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.195 = private constant [7 x i8] c"*[]Any\00" -@tn.str.196 = private constant [6 x i8] c"*bool\00" -@tn.str.197 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.198 = private constant [5 x i8] c"*f64\00" -@tn.str.199 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.200 = private constant [11 x i8] c"*Allocator\00" -@tn.str.201 = private constant [9 x i8] c"*Context\00" -@tn.str.202 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.203 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.204 = private constant [8 x i8] c"*Member\00" -@tn.str.205 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.206 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.207 = private constant [9 x i8] c"*Command\00" -@tn.str.208 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.209 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.210 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.211 = private constant [7 x i8] c"*Value\00" -@tn.str.212 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.213 = private constant [14 x i8] c"*Architecture\00" -@tn.str.214 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.215 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.216 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.217 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.218 = private constant [10 x i8] c"*[]string\00" -@tn.str.219 = private constant [6 x i8] c"*[]u8\00" -@tn.str.220 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.221 = private constant [11 x i8] c"*[]Command\00" -@tn.str.222 = private constant [6 x i8] c"**GPA\00" -@tn.str.223 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.224 = private constant [8 x i8] c"**Arena\00" -@tn.str.225 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.226 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.227 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.228 = private constant [7 x i8] c"**File\00" -@tn.str.229 = private constant [5 x i8] c"**u8\00" -@tn.str.230 = private constant [6 x i8] c"**i32\00" -@tn.str.231 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.232 = private constant [6 x i8] c"**u32\00" -@tn.str.233 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.234 = private constant [8 x i8] c"**Array\00" -@tn.str.235 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.236 = private constant [9 x i8] c"**Object\00" -@tn.str.237 = private constant [7 x i8] c"**Sink\00" -@tn.str.238 = private constant [9 x i8] c"**Parser\00" -@tn.str.239 = private constant [6 x i8] c"**i64\00" -@tn.str.240 = private constant [9 x i8] c"**Parsed\00" -@tn.str.241 = private constant [7 x i8] c"**Diag\00" -@tn.str.242 = private constant [9 x i8] c"**Sha256\00" -@tn.str.243 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.244 = private constant [8 x i8] c"***void\00" -@tn.str.245 = private constant [20 x i8] c"**(i32, i32) -> i32\00" -@tn.str.246 = private constant [9 x i8] c"**string\00" -@tn.str.247 = private constant [6 x i8] c"**Any\00" -@tn.str.248 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.249 = private constant [8 x i8] c"**[]Any\00" -@tn.str.250 = private constant [7 x i8] c"**bool\00" -@tn.str.251 = private constant [7 x i8] c"*?File\00" -@tn.str.252 = private constant [9 x i8] c"*?string\00" -@tn.str.253 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.254 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [162 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 15 }, { ptr, i64 } { ptr @tn.str.113, i64 9 }, { ptr, i64 } { ptr @tn.str.114, i64 7 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 8 }, { ptr, i64 } { ptr @tn.str.117, i64 10 }, { ptr, i64 } { ptr @tn.str.118, i64 11 }, { ptr, i64 } { ptr @tn.str.119, i64 3 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 10 }, { ptr, i64 } { ptr @tn.str.122, i64 11 }, { ptr, i64 } { ptr @tn.str.123, i64 5 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 5 }, { ptr, i64 } { ptr @tn.str.126, i64 8 }, { ptr, i64 } { ptr @tn.str.127, i64 9 }, { ptr, i64 } { ptr @tn.str.128, i64 17 }, { ptr, i64 } { ptr @tn.str.129, i64 18 }, { ptr, i64 } { ptr @tn.str.130, i64 8 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 4 }, { ptr, i64 } { ptr @tn.str.133, i64 5 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 7 }, { ptr, i64 } { ptr @tn.str.136, i64 10 }, { ptr, i64 } { ptr @tn.str.137, i64 3 }, { ptr, i64 } { ptr @tn.str.138, i64 13 }, { ptr, i64 } { ptr @tn.str.139, i64 14 }, { ptr, i64 } { ptr @tn.str.140, i64 4 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 9 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 9 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 6 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 6 }, { ptr, i64 } { ptr @tn.str.149, i64 8 }, { ptr, i64 } { ptr @tn.str.150, i64 6 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 7 }, { ptr, i64 } { ptr @tn.str.153, i64 4 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 5 }, { ptr, i64 } { ptr @tn.str.156, i64 16 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 21 }, { ptr, i64 } { ptr @tn.str.159, i64 6 }, { ptr, i64 } { ptr @tn.str.160, i64 7 }, { ptr, i64 } { ptr @tn.str.161, i64 24 }, { ptr, i64 } { ptr @tn.str.162, i64 23 }, { ptr, i64 } { ptr @tn.str.163, i64 15 }, { ptr, i64 } { ptr @tn.str.164, i64 12 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 10 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 8 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 10 }, { ptr, i64 } { ptr @tn.str.171, i64 7 }, { ptr, i64 } { ptr @tn.str.172, i64 9 }, { ptr, i64 } { ptr @tn.str.173, i64 4 }, { ptr, i64 } { ptr @tn.str.174, i64 13 }, { ptr, i64 } { ptr @tn.str.175, i64 6 }, { ptr, i64 } { ptr @tn.str.176, i64 7 }, { ptr, i64 } { ptr @tn.str.177, i64 18 }, { ptr, i64 } { ptr @tn.str.178, i64 9 }, { ptr, i64 } { ptr @tn.str.179, i64 5 }, { ptr, i64 } { ptr @tn.str.180, i64 6 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 17 }, { ptr, i64 } { ptr @tn.str.187, i64 12 }, { ptr, i64 } { ptr @tn.str.188, i64 6 }, { ptr, i64 } { ptr @tn.str.189, i64 18 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 5 }, { ptr, i64 } { ptr @tn.str.192, i64 4 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 7 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 5 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 4 }, { ptr, i64 } { ptr @tn.str.199, i64 16 }, { ptr, i64 } { ptr @tn.str.200, i64 10 }, { ptr, i64 } { ptr @tn.str.201, i64 8 }, { ptr, i64 } { ptr @tn.str.202, i64 11 }, { ptr, i64 } { ptr @tn.str.203, i64 14 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 13 }, { ptr, i64 } { ptr @tn.str.206, i64 9 }, { ptr, i64 } { ptr @tn.str.207, i64 8 }, { ptr, i64 } { ptr @tn.str.208, i64 10 }, { ptr, i64 } { ptr @tn.str.209, i64 9 }, { ptr, i64 } { ptr @tn.str.210, i64 9 }, { ptr, i64 } { ptr @tn.str.211, i64 6 }, { ptr, i64 } { ptr @tn.str.212, i64 16 }, { ptr, i64 } { ptr @tn.str.213, i64 13 }, { ptr, i64 } { ptr @tn.str.214, i64 14 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 7 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 9 }, { ptr, i64 } { ptr @tn.str.219, i64 5 }, { ptr, i64 } { ptr @tn.str.220, i64 11 }, { ptr, i64 } { ptr @tn.str.221, i64 10 }, { ptr, i64 } { ptr @tn.str.222, i64 5 }, { ptr, i64 } { ptr @tn.str.223, i64 12 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 6 }, { ptr, i64 } { ptr @tn.str.226, i64 10 }, { ptr, i64 } { ptr @tn.str.227, i64 19 }, { ptr, i64 } { ptr @tn.str.228, i64 6 }, { ptr, i64 } { ptr @tn.str.229, i64 4 }, { ptr, i64 } { ptr @tn.str.230, i64 5 }, { ptr, i64 } { ptr @tn.str.231, i64 10 }, { ptr, i64 } { ptr @tn.str.232, i64 5 }, { ptr, i64 } { ptr @tn.str.233, i64 9 }, { ptr, i64 } { ptr @tn.str.234, i64 7 }, { ptr, i64 } { ptr @tn.str.235, i64 10 }, { ptr, i64 } { ptr @tn.str.236, i64 8 }, { ptr, i64 } { ptr @tn.str.237, i64 6 }, { ptr, i64 } { ptr @tn.str.238, i64 8 }, { ptr, i64 } { ptr @tn.str.239, i64 5 }, { ptr, i64 } { ptr @tn.str.240, i64 8 }, { ptr, i64 } { ptr @tn.str.241, i64 6 }, { ptr, i64 } { ptr @tn.str.242, i64 8 }, { ptr, i64 } { ptr @tn.str.243, i64 13 }, { ptr, i64 } { ptr @tn.str.244, i64 7 }, { ptr, i64 } { ptr @tn.str.245, i64 19 }, { ptr, i64 } { ptr @tn.str.246, i64 8 }, { ptr, i64 } { ptr @tn.str.247, i64 5 }, { ptr, i64 } { ptr @tn.str.248, i64 8 }, { ptr, i64 } { ptr @tn.str.249, i64 7 }, { ptr, i64 } { ptr @tn.str.250, i64 6 }, { ptr, i64 } { ptr @tn.str.251, i64 6 }, { ptr, i64 } { ptr @tn.str.252, i64 8 }, { ptr, i64 } { ptr @tn.str.253, i64 15 }, { ptr, i64 } { ptr @tn.str.254, i64 8 }] -@str.255 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.256 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.257 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@tn.str.111 = private constant [8 x i8] c"cstring\00" +@tn.str.112 = private constant [6 x i8] c"*void\00" +@tn.str.113 = private constant [16 x i8] c"Source_Location\00" +@tn.str.114 = private constant [10 x i8] c"Allocator\00" +@tn.str.115 = private constant [8 x i8] c"Context\00" +@tn.str.116 = private constant [7 x i8] c"[4]i64\00" +@tn.str.117 = private constant [9 x i8] c"[]string\00" +@tn.str.118 = private constant [11 x i8] c"CAllocator\00" +@tn.str.119 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.120 = private constant [4 x i8] c"GPA\00" +@tn.str.121 = private constant [5 x i8] c"*GPA\00" +@tn.str.122 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.123 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.124 = private constant [6 x i8] c"Arena\00" +@tn.str.125 = private constant [7 x i8] c"*Arena\00" +@tn.str.126 = private constant [6 x i8] c"[*]u8\00" +@tn.str.127 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.128 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.129 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.130 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.131 = private constant [9 x i8] c"OpenMode\00" +@tn.str.132 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.133 = private constant [5 x i8] c"File\00" +@tn.str.134 = private constant [6 x i8] c"*File\00" +@tn.str.135 = private constant [6 x i8] c"?File\00" +@tn.str.136 = private constant [8 x i8] c"?string\00" +@tn.str.137 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.138 = private constant [9 x i8] c"?cstring\00" +@tn.str.139 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.140 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.141 = private constant [5 x i8] c"*i32\00" +@tn.str.142 = private constant [9 x i8] c"SockAddr\00" +@tn.str.143 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.144 = private constant [5 x i8] c"*u32\00" +@tn.str.145 = private constant [10 x i8] c"JsonError\00" +@tn.str.146 = private constant [6 x i8] c"Array\00" +@tn.str.147 = private constant [7 x i8] c"Object\00" +@tn.str.148 = private constant [6 x i8] c"Value\00" +@tn.str.149 = private constant [7 x i8] c"Member\00" +@tn.str.150 = private constant [9 x i8] c"[*]Value\00" +@tn.str.151 = private constant [7 x i8] c"*Array\00" +@tn.str.152 = private constant [10 x i8] c"[*]Member\00" +@tn.str.153 = private constant [8 x i8] c"*Object\00" +@tn.str.154 = private constant [5 x i8] c"[]u8\00" +@tn.str.155 = private constant [5 x i8] c"Sink\00" +@tn.str.156 = private constant [6 x i8] c"*Sink\00" +@tn.str.157 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.158 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.159 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.160 = private constant [7 x i8] c"Parser\00" +@tn.str.161 = private constant [8 x i8] c"*Parser\00" +@tn.str.162 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.163 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.164 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.165 = private constant [13 x i8] c"Architecture\00" +@tn.str.166 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.167 = private constant [11 x i8] c"() -> bool\00" +@tn.str.168 = private constant [5 x i8] c"*i64\00" +@tn.str.169 = private constant [9 x i8] c"CliError\00" +@tn.str.170 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.171 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.172 = private constant [8 x i8] c"Command\00" +@tn.str.173 = private constant [10 x i8] c"FlagValue\00" +@tn.str.174 = private constant [5 x i8] c"Diag\00" +@tn.str.175 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.176 = private constant [7 x i8] c"Parsed\00" +@tn.str.177 = private constant [8 x i8] c"*Parsed\00" +@tn.str.178 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.179 = private constant [10 x i8] c"[]Command\00" +@tn.str.180 = private constant [6 x i8] c"*Diag\00" +@tn.str.181 = private constant [7 x i8] c"[8]i64\00" +@tn.str.182 = private constant [7 x i8] c"[64]u8\00" +@tn.str.183 = private constant [7 x i8] c"Sha256\00" +@tn.str.184 = private constant [8 x i8] c"*Sha256\00" +@tn.str.185 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.186 = private constant [8 x i8] c"[64]i64\00" +@tn.str.187 = private constant [18 x i8] c"(i32, i32) -> i32\00" +@tn.str.188 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.189 = private constant [7 x i8] c"**void\00" +@tn.str.190 = private constant [19 x i8] c"*(i32, i32) -> i32\00" +@tn.str.191 = private constant [8 x i8] c"*string\00" +@tn.str.192 = private constant [6 x i8] c"[]Any\00" +@tn.str.193 = private constant [5 x i8] c"*Any\00" +@tn.str.194 = private constant [7 x i8] c"[1]Any\00" +@tn.str.195 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.196 = private constant [7 x i8] c"*[]Any\00" +@tn.str.197 = private constant [4 x i8] c"*u8\00" +@tn.str.198 = private constant [6 x i8] c"*bool\00" +@tn.str.199 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.200 = private constant [5 x i8] c"*f64\00" +@tn.str.201 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.202 = private constant [11 x i8] c"*Allocator\00" +@tn.str.203 = private constant [9 x i8] c"*Context\00" +@tn.str.204 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.205 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.206 = private constant [8 x i8] c"*Member\00" +@tn.str.207 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.208 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.209 = private constant [9 x i8] c"*Command\00" +@tn.str.210 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.211 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.212 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.213 = private constant [7 x i8] c"*Value\00" +@tn.str.214 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.215 = private constant [14 x i8] c"*Architecture\00" +@tn.str.216 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.217 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.218 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.219 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.220 = private constant [10 x i8] c"*[]string\00" +@tn.str.221 = private constant [6 x i8] c"*[]u8\00" +@tn.str.222 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.223 = private constant [11 x i8] c"*[]Command\00" +@tn.str.224 = private constant [6 x i8] c"**GPA\00" +@tn.str.225 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.226 = private constant [8 x i8] c"**Arena\00" +@tn.str.227 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.228 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.229 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.230 = private constant [7 x i8] c"**File\00" +@tn.str.231 = private constant [6 x i8] c"**i32\00" +@tn.str.232 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.233 = private constant [6 x i8] c"**u32\00" +@tn.str.234 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.235 = private constant [8 x i8] c"**Array\00" +@tn.str.236 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.237 = private constant [9 x i8] c"**Object\00" +@tn.str.238 = private constant [7 x i8] c"**Sink\00" +@tn.str.239 = private constant [9 x i8] c"**Parser\00" +@tn.str.240 = private constant [6 x i8] c"**i64\00" +@tn.str.241 = private constant [9 x i8] c"**Parsed\00" +@tn.str.242 = private constant [7 x i8] c"**Diag\00" +@tn.str.243 = private constant [9 x i8] c"**Sha256\00" +@tn.str.244 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.245 = private constant [8 x i8] c"***void\00" +@tn.str.246 = private constant [20 x i8] c"**(i32, i32) -> i32\00" +@tn.str.247 = private constant [9 x i8] c"**string\00" +@tn.str.248 = private constant [6 x i8] c"**Any\00" +@tn.str.249 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.250 = private constant [8 x i8] c"**[]Any\00" +@tn.str.251 = private constant [5 x i8] c"**u8\00" +@tn.str.252 = private constant [7 x i8] c"**bool\00" +@tn.str.253 = private constant [7 x i8] c"*?File\00" +@tn.str.254 = private constant [9 x i8] c"*?string\00" +@tn.str.255 = private constant [10 x i8] c"*?cstring\00" +@tn.str.256 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.257 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [165 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 7 }, { ptr, i64 } { ptr @tn.str.112, i64 5 }, { ptr, i64 } { ptr @tn.str.113, i64 15 }, { ptr, i64 } { ptr @tn.str.114, i64 9 }, { ptr, i64 } { ptr @tn.str.115, i64 7 }, { ptr, i64 } { ptr @tn.str.116, i64 6 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 10 }, { ptr, i64 } { ptr @tn.str.119, i64 11 }, { ptr, i64 } { ptr @tn.str.120, i64 3 }, { ptr, i64 } { ptr @tn.str.121, i64 4 }, { ptr, i64 } { ptr @tn.str.122, i64 10 }, { ptr, i64 } { ptr @tn.str.123, i64 11 }, { ptr, i64 } { ptr @tn.str.124, i64 5 }, { ptr, i64 } { ptr @tn.str.125, i64 6 }, { ptr, i64 } { ptr @tn.str.126, i64 5 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 9 }, { ptr, i64 } { ptr @tn.str.129, i64 17 }, { ptr, i64 } { ptr @tn.str.130, i64 18 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 8 }, { ptr, i64 } { ptr @tn.str.133, i64 4 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 7 }, { ptr, i64 } { ptr @tn.str.137, i64 10 }, { ptr, i64 } { ptr @tn.str.138, i64 8 }, { ptr, i64 } { ptr @tn.str.139, i64 13 }, { ptr, i64 } { ptr @tn.str.140, i64 14 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 9 }, { ptr, i64 } { ptr @tn.str.144, i64 4 }, { ptr, i64 } { ptr @tn.str.145, i64 9 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 6 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 6 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 6 }, { ptr, i64 } { ptr @tn.str.152, i64 9 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 5 }, { ptr, i64 } { ptr @tn.str.157, i64 16 }, { ptr, i64 } { ptr @tn.str.158, i64 14 }, { ptr, i64 } { ptr @tn.str.159, i64 21 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 7 }, { ptr, i64 } { ptr @tn.str.162, i64 24 }, { ptr, i64 } { ptr @tn.str.163, i64 23 }, { ptr, i64 } { ptr @tn.str.164, i64 15 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 12 }, { ptr, i64 } { ptr @tn.str.167, i64 10 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 8 }, { ptr, i64 } { ptr @tn.str.171, i64 10 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 9 }, { ptr, i64 } { ptr @tn.str.174, i64 4 }, { ptr, i64 } { ptr @tn.str.175, i64 13 }, { ptr, i64 } { ptr @tn.str.176, i64 6 }, { ptr, i64 } { ptr @tn.str.177, i64 7 }, { ptr, i64 } { ptr @tn.str.178, i64 18 }, { ptr, i64 } { ptr @tn.str.179, i64 9 }, { ptr, i64 } { ptr @tn.str.180, i64 5 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 17 }, { ptr, i64 } { ptr @tn.str.188, i64 12 }, { ptr, i64 } { ptr @tn.str.189, i64 6 }, { ptr, i64 } { ptr @tn.str.190, i64 18 }, { ptr, i64 } { ptr @tn.str.191, i64 7 }, { ptr, i64 } { ptr @tn.str.192, i64 5 }, { ptr, i64 } { ptr @tn.str.193, i64 4 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 3 }, { ptr, i64 } { ptr @tn.str.198, i64 5 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 4 }, { ptr, i64 } { ptr @tn.str.201, i64 16 }, { ptr, i64 } { ptr @tn.str.202, i64 10 }, { ptr, i64 } { ptr @tn.str.203, i64 8 }, { ptr, i64 } { ptr @tn.str.204, i64 11 }, { ptr, i64 } { ptr @tn.str.205, i64 14 }, { ptr, i64 } { ptr @tn.str.206, i64 7 }, { ptr, i64 } { ptr @tn.str.207, i64 13 }, { ptr, i64 } { ptr @tn.str.208, i64 9 }, { ptr, i64 } { ptr @tn.str.209, i64 8 }, { ptr, i64 } { ptr @tn.str.210, i64 10 }, { ptr, i64 } { ptr @tn.str.211, i64 9 }, { ptr, i64 } { ptr @tn.str.212, i64 9 }, { ptr, i64 } { ptr @tn.str.213, i64 6 }, { ptr, i64 } { ptr @tn.str.214, i64 16 }, { ptr, i64 } { ptr @tn.str.215, i64 13 }, { ptr, i64 } { ptr @tn.str.216, i64 14 }, { ptr, i64 } { ptr @tn.str.217, i64 7 }, { ptr, i64 } { ptr @tn.str.218, i64 7 }, { ptr, i64 } { ptr @tn.str.219, i64 8 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 5 }, { ptr, i64 } { ptr @tn.str.222, i64 11 }, { ptr, i64 } { ptr @tn.str.223, i64 10 }, { ptr, i64 } { ptr @tn.str.224, i64 5 }, { ptr, i64 } { ptr @tn.str.225, i64 12 }, { ptr, i64 } { ptr @tn.str.226, i64 7 }, { ptr, i64 } { ptr @tn.str.227, i64 6 }, { ptr, i64 } { ptr @tn.str.228, i64 10 }, { ptr, i64 } { ptr @tn.str.229, i64 19 }, { ptr, i64 } { ptr @tn.str.230, i64 6 }, { ptr, i64 } { ptr @tn.str.231, i64 5 }, { ptr, i64 } { ptr @tn.str.232, i64 10 }, { ptr, i64 } { ptr @tn.str.233, i64 5 }, { ptr, i64 } { ptr @tn.str.234, i64 9 }, { ptr, i64 } { ptr @tn.str.235, i64 7 }, { ptr, i64 } { ptr @tn.str.236, i64 10 }, { ptr, i64 } { ptr @tn.str.237, i64 8 }, { ptr, i64 } { ptr @tn.str.238, i64 6 }, { ptr, i64 } { ptr @tn.str.239, i64 8 }, { ptr, i64 } { ptr @tn.str.240, i64 5 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 6 }, { ptr, i64 } { ptr @tn.str.243, i64 8 }, { ptr, i64 } { ptr @tn.str.244, i64 13 }, { ptr, i64 } { ptr @tn.str.245, i64 7 }, { ptr, i64 } { ptr @tn.str.246, i64 19 }, { ptr, i64 } { ptr @tn.str.247, i64 8 }, { ptr, i64 } { ptr @tn.str.248, i64 5 }, { ptr, i64 } { ptr @tn.str.249, i64 8 }, { ptr, i64 } { ptr @tn.str.250, i64 7 }, { ptr, i64 } { ptr @tn.str.251, i64 4 }, { ptr, i64 } { ptr @tn.str.252, i64 6 }, { ptr, i64 } { ptr @tn.str.253, i64 6 }, { ptr, i64 } { ptr @tn.str.254, i64 8 }, { ptr, i64 } { ptr @tn.str.255, i64 9 }, { ptr, i64 } { ptr @tn.str.256, i64 15 }, { ptr, i64 } { ptr @tn.str.257, i64 8 }] @str.258 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.259 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.260 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.261 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.262 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.263 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.264 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.265 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.266 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.267 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.268 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.269 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.261 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.262 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.263 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.264 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.265 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.266 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.267 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.268 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.269 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.270 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.271 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.272 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @str.273 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.274 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.275 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.276 = private unnamed_addr constant [14 x i8] c"fp(3,4) = {}\0A\00", align 1 -@str.277 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.278 = private unnamed_addr constant [14 x i8] c"fp(3,4) = {}\0A\00", align 1 -@str.279 = private unnamed_addr constant [21 x i8] c"apply(add,5,6) = {}\0A\00", align 1 +@str.276 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.277 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.278 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.279 = private unnamed_addr constant [14 x i8] c"fp(3,4) = {}\0A\00", align 1 @str.280 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.281 = private unnamed_addr constant [21 x i8] c"apply(add,5,6) = {}\0A\00", align 1 -@str.282 = private unnamed_addr constant [21 x i8] c"apply(mul,5,6) = {}\0A\00", align 1 +@str.281 = private unnamed_addr constant [14 x i8] c"fp(3,4) = {}\0A\00", align 1 +@str.282 = private unnamed_addr constant [21 x i8] c"apply(add,5,6) = {}\0A\00", align 1 @str.283 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.284 = private unnamed_addr constant [21 x i8] c"apply(mul,5,6) = {}\0A\00", align 1 -@str.285 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.286 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.287 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.288 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.284 = private unnamed_addr constant [21 x i8] c"apply(add,5,6) = {}\0A\00", align 1 +@str.285 = private unnamed_addr constant [21 x i8] c"apply(mul,5,6) = {}\0A\00", align 1 +@str.286 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.287 = private unnamed_addr constant [21 x i8] c"apply(mul,5,6) = {}\0A\00", align 1 +@str.288 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.289 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.290 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.291 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.289 = private constant [5 x i8] c"line\00" -@fld.str.290 = private constant [4 x i8] c"col\00" -@fld.str.291 = 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.289, i64 4 }, { ptr, i64 } { ptr @fld.str.290, i64 3 }, { ptr, i64 } { ptr @fld.str.291, i64 4 }] -@str.292 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.293 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.294 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.295 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.296 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.297 = private constant [4 x i8] c"ctx\00" -@fld.str.298 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.299 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.300 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.297, i64 3 }, { ptr, i64 } { ptr @fld.str.298, i64 11 }, { ptr, i64 } { ptr @fld.str.299, i64 13 }] -@str.301 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.302 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.303 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.304 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.305 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.306 = private constant [10 x i8] c"allocator\00" -@fld.str.307 = private constant [5 x i8] c"data\00" -@field_names.308 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.306, i64 9 }, { ptr, i64 } { ptr @fld.str.307, i64 4 }] -@str.309 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.310 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.311 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.312 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.313 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.314 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.315 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.316 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.317 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.318 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.319 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.320 = private constant [12 x i8] c"alloc_count\00" -@field_names.321 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.320, i64 11 }] -@str.322 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.323 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.324 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.325 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.326 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.327 = private constant [5 x i8] c"next\00" -@fld.str.328 = private constant [4 x i8] c"cap\00" -@field_names.329 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.327, i64 4 }, { ptr, i64 } { ptr @fld.str.328, i64 3 }] -@str.330 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.331 = private unnamed_addr constant [6 x i8] c"Arena\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"}\00", align 1 -@str.334 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.335 = private constant [6 x i8] c"first\00" -@fld.str.336 = private constant [10 x i8] c"end_index\00" -@fld.str.337 = private constant [7 x i8] c"parent\00" -@field_names.338 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.335, i64 5 }, { ptr, i64 } { ptr @fld.str.336, i64 9 }, { ptr, i64 } { ptr @fld.str.337, i64 6 }] -@str.339 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.340 = private unnamed_addr constant [9 x i8] c"BufAlloc\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"buf\00" -@fld.str.345 = private constant [4 x i8] c"len\00" -@fld.str.346 = private constant [4 x i8] c"pos\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 3 }, { ptr, i64 } { ptr @fld.str.346, i64 3 }] -@str.348 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.349 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" -@fld.str.354 = private constant [12 x i8] c"alloc_count\00" -@fld.str.355 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.356 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.357 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.353, i64 6 }, { ptr, i64 } { ptr @fld.str.354, i64 11 }, { ptr, i64 } { ptr @fld.str.355, i64 13 }, { ptr, i64 } { ptr @fld.str.356, i64 17 }] -@str.358 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.359 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" -@field_names.364 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.363, i64 2 }] -@str.365 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.366 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 -@fld.str.370 = private constant [5 x i8] c"file\00" -@fld.str.371 = private constant [5 x i8] c"line\00" -@fld.str.372 = private constant [4 x i8] c"col\00" -@fld.str.373 = private constant [5 x i8] c"func\00" -@fld.str.374 = private constant [10 x i8] c"line_text\00" -@field_names.375 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.370, i64 4 }, { ptr, i64 } { ptr @fld.str.371, i64 4 }, { ptr, i64 } { ptr @fld.str.372, i64 3 }, { ptr, i64 } { ptr @fld.str.373, i64 4 }, { ptr, i64 } { ptr @fld.str.374, i64 9 }] -@str.376 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.377 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" -@fld.str.382 = private constant [7 x i8] c"stdout\00" -@field_names.383 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.381, i64 9 }, { ptr, i64 } { ptr @fld.str.382, i64 6 }] -@str.384 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.385 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.390 = private constant [11 x i8] c"sin_family\00" -@fld.str.391 = private constant [9 x i8] c"sin_port\00" -@fld.str.392 = private constant [9 x i8] c"sin_addr\00" -@fld.str.393 = private constant [9 x i8] c"sin_zero\00" -@field_names.394 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.389, i64 7 }, { ptr, i64 } { ptr @fld.str.390, i64 10 }, { ptr, i64 } { ptr @fld.str.391, i64 8 }, { ptr, i64 } { ptr @fld.str.392, i64 8 }, { ptr, i64 } { ptr @fld.str.393, i64 8 }] -@str.395 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.396 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" -@fld.str.401 = private constant [4 x i8] c"len\00" -@fld.str.402 = private constant [4 x i8] c"cap\00" -@field_names.403 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.400, i64 5 }, { 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 [7 x i8] c"Object\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 [6 x i8] c"items\00" -@fld.str.410 = private constant [4 x i8] c"len\00" -@fld.str.411 = private constant [4 x i8] c"cap\00" -@field_names.412 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.409, i64 5 }, { ptr, i64 } { ptr @fld.str.410, i64 3 }, { ptr, i64 } { ptr @fld.str.411, i64 3 }] -@str.413 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.414 = private unnamed_addr constant [7 x i8] c"Member\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 [4 x i8] c"key\00" -@fld.str.419 = private constant [4 x i8] c"val\00" -@field_names.420 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.418, i64 3 }, { ptr, i64 } { ptr @fld.str.419, i64 3 }] -@str.421 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.422 = private unnamed_addr constant [5 x i8] c"Sink\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 [4 x i8] c"dst\00" -@fld.str.427 = private constant [4 x i8] c"pos\00" -@fld.str.428 = private constant [5 x i8] c"file\00" -@field_names.429 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.426, i64 3 }, { ptr, i64 } { ptr @fld.str.427, i64 3 }, { ptr, i64 } { ptr @fld.str.428, i64 4 }] -@str.430 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.431 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" -@fld.str.436 = private constant [4 x i8] c"pos\00" -@fld.str.437 = private constant [6 x i8] c"alloc\00" -@field_names.438 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.435, i64 3 }, { ptr, i64 } { ptr @fld.str.436, i64 3 }, { ptr, i64 } { ptr @fld.str.437, i64 5 }] -@str.439 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.440 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 -@str.441 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.442 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.443 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.444 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.445 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.446 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" -@fld.str.451 = private constant [12 x i8] c"takes_value\00" -@fld.str.452 = private constant [9 x i8] c"required\00" -@field_names.453 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.450, i64 4 }, { ptr, i64 } { ptr @fld.str.451, i64 11 }, { 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 [8 x i8] c"Command\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"group\00" -@fld.str.460 = private constant [8 x i8] c"command\00" -@fld.str.461 = private constant [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.461, i64 5 }] -@str.463 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.464 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" -@fld.str.469 = private constant [6 x i8] c"value\00" -@field_names.470 = private constant [2 x { ptr, i64 }] [{ 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 [5 x i8] c"Diag\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"index\00" -@fld.str.477 = private constant [6 x i8] c"token\00" -@field_names.478 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.476, i64 5 }, { ptr, i64 } { ptr @fld.str.477, i64 5 }] -@str.479 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.480 = private unnamed_addr constant [7 x i8] c"Parsed\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 [6 x i8] c"group\00" -@fld.str.485 = private constant [8 x i8] c"command\00" -@fld.str.486 = private constant [10 x i8] c"cmd_index\00" -@fld.str.487 = private constant [5 x i8] c"json\00" -@fld.str.488 = private constant [5 x i8] c"rest\00" -@fld.str.489 = private constant [5 x i8] c"spec\00" -@fld.str.490 = private constant [7 x i8] c"values\00" -@field_names.491 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.484, i64 5 }, { ptr, i64 } { ptr @fld.str.485, i64 7 }, { ptr, i64 } { ptr @fld.str.486, i64 9 }, { ptr, i64 } { ptr @fld.str.487, i64 4 }, { ptr, i64 } { ptr @fld.str.488, i64 4 }, { ptr, i64 } { ptr @fld.str.489, i64 4 }, { 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"Sha256\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 [2 x i8] c"h\00" -@fld.str.498 = private constant [4 x i8] c"buf\00" -@fld.str.499 = private constant [8 x i8] c"buf_len\00" -@fld.str.500 = private constant [10 x i8] c"total_len\00" -@field_names.501 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.497, i64 1 }, { ptr, i64 } { ptr @fld.str.498, i64 3 }, { ptr, i64 } { ptr @fld.str.499, i64 7 }, { ptr, i64 } { ptr @fld.str.500, i64 9 }] -@str.502 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.503 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.504 = private constant [5 x i8] c"read\00" -@fld.str.505 = private constant [6 x i8] c"write\00" -@fld.str.506 = private constant [7 x i8] c"append\00" -@fld.str.507 = private constant [11 x i8] c"read_write\00" -@field_names.508 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.504, i64 4 }, { ptr, i64 } { ptr @fld.str.505, i64 5 }, { ptr, i64 } { ptr @fld.str.506, i64 6 }, { ptr, i64 } { ptr @fld.str.507, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.512 = private constant [4 x i8] c"set\00" -@fld.str.513 = private constant [8 x i8] c"current\00" -@fld.str.514 = private constant [4 x i8] c"end\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 7 }, { ptr, i64 } { ptr @fld.str.514, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.519 = private constant [6 x i8] c"null_\00" -@fld.str.520 = private constant [6 x i8] c"bool_\00" -@fld.str.521 = private constant [5 x i8] c"int_\00" -@fld.str.522 = private constant [4 x i8] c"str\00" -@fld.str.523 = private constant [6 x i8] c"array\00" -@fld.str.524 = private constant [7 x i8] c"object\00" -@field_names.525 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.519, i64 5 }, { ptr, i64 } { ptr @fld.str.520, i64 5 }, { ptr, i64 } { ptr @fld.str.521, i64 4 }, { ptr, i64 } { ptr @fld.str.522, i64 3 }, { ptr, i64 } { ptr @fld.str.523, i64 5 }, { ptr, i64 } { ptr @fld.str.524, i64 6 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.529 = private constant [6 x i8] c"macos\00" -@fld.str.530 = private constant [6 x i8] c"linux\00" -@fld.str.531 = private constant [8 x i8] c"windows\00" -@fld.str.532 = private constant [5 x i8] c"wasm\00" -@fld.str.533 = private constant [4 x i8] c"ios\00" -@fld.str.534 = private constant [8 x i8] c"android\00" -@fld.str.535 = private constant [8 x i8] c"unknown\00" -@field_names.536 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.529, i64 5 }, { ptr, i64 } { ptr @fld.str.530, i64 5 }, { ptr, i64 } { ptr @fld.str.531, i64 7 }, { ptr, i64 } { ptr @fld.str.532, i64 4 }, { ptr, i64 } { ptr @fld.str.533, i64 3 }, { ptr, i64 } { ptr @fld.str.534, i64 7 }, { ptr, i64 } { ptr @fld.str.535, i64 7 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.540 = private constant [8 x i8] c"aarch64\00" -@fld.str.541 = private constant [7 x i8] c"x86_64\00" -@fld.str.542 = private constant [7 x i8] c"wasm32\00" -@fld.str.543 = private constant [7 x i8] c"wasm64\00" -@fld.str.544 = private constant [8 x i8] c"unknown\00" -@field_names.545 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.540, i64 7 }, { ptr, i64 } { ptr @fld.str.541, i64 6 }, { ptr, i64 } { ptr @fld.str.542, i64 6 }, { ptr, i64 } { ptr @fld.str.543, i64 6 }, { ptr, i64 } { ptr @fld.str.544, i64 7 }] -@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 [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.292 = private constant [5 x i8] c"line\00" +@fld.str.293 = private constant [4 x i8] c"col\00" +@fld.str.294 = 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.292, i64 4 }, { ptr, i64 } { ptr @fld.str.293, i64 3 }, { ptr, i64 } { ptr @fld.str.294, i64 4 }] +@str.295 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.296 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.297 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.298 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.299 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.300 = private constant [4 x i8] c"ctx\00" +@fld.str.301 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.302 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.303 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.300, i64 3 }, { ptr, i64 } { ptr @fld.str.301, i64 11 }, { ptr, i64 } { ptr @fld.str.302, i64 13 }] +@str.304 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.305 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.306 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.307 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.308 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.309 = private constant [10 x i8] c"allocator\00" +@fld.str.310 = private constant [5 x i8] c"data\00" +@field_names.311 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.309, i64 9 }, { ptr, i64 } { ptr @fld.str.310, i64 4 }] +@str.312 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.313 = private unnamed_addr constant [11 x i8] c"CAllocator\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 +@field_names.317 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.318 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.319 = private unnamed_addr constant [4 x i8] c"GPA\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 +@fld.str.323 = private constant [12 x i8] c"alloc_count\00" +@field_names.324 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.323, i64 11 }] +@str.325 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.326 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" +@fld.str.331 = private constant [4 x i8] c"cap\00" +@field_names.332 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.330, i64 4 }, { ptr, i64 } { ptr @fld.str.331, i64 3 }] +@str.333 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.334 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" +@fld.str.339 = private constant [10 x i8] c"end_index\00" +@fld.str.340 = private constant [7 x i8] c"parent\00" +@field_names.341 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.338, i64 5 }, { ptr, i64 } { ptr @fld.str.339, i64 9 }, { ptr, i64 } { ptr @fld.str.340, i64 6 }] +@str.342 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.343 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" +@fld.str.348 = private constant [4 x i8] c"len\00" +@fld.str.349 = private constant [4 x i8] c"pos\00" +@field_names.350 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.347, i64 3 }, { ptr, i64 } { ptr @fld.str.348, i64 3 }, { ptr, i64 } { ptr @fld.str.349, i64 3 }] +@str.351 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.352 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" +@fld.str.357 = private constant [12 x i8] c"alloc_count\00" +@fld.str.358 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.359 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.360 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.356, i64 6 }, { ptr, i64 } { ptr @fld.str.357, i64 11 }, { ptr, i64 } { ptr @fld.str.358, i64 13 }, { ptr, i64 } { ptr @fld.str.359, i64 17 }] +@str.361 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.362 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" +@field_names.367 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.366, i64 2 }] +@str.368 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.369 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" +@fld.str.374 = private constant [5 x i8] c"line\00" +@fld.str.375 = private constant [4 x i8] c"col\00" +@fld.str.376 = private constant [5 x i8] c"func\00" +@fld.str.377 = private constant [10 x i8] c"line_text\00" +@field_names.378 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.373, i64 4 }, { ptr, i64 } { ptr @fld.str.374, i64 4 }, { ptr, i64 } { ptr @fld.str.375, i64 3 }, { ptr, i64 } { ptr @fld.str.376, i64 4 }, { ptr, i64 } { ptr @fld.str.377, i64 9 }] +@str.379 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.380 = private unnamed_addr constant [14 x i8] c"ProcessResult\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"exit_code\00" +@fld.str.385 = private constant [7 x i8] c"stdout\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 6 }] +@str.387 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.388 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" +@fld.str.393 = private constant [11 x i8] c"sin_family\00" +@fld.str.394 = private constant [9 x i8] c"sin_port\00" +@fld.str.395 = private constant [9 x i8] c"sin_addr\00" +@fld.str.396 = private constant [9 x i8] c"sin_zero\00" +@field_names.397 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.392, i64 7 }, { ptr, i64 } { ptr @fld.str.393, i64 10 }, { ptr, i64 } { ptr @fld.str.394, i64 8 }, { ptr, i64 } { ptr @fld.str.395, i64 8 }, { ptr, i64 } { ptr @fld.str.396, i64 8 }] +@str.398 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.399 = private unnamed_addr constant [6 x i8] c"Array\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"items\00" +@fld.str.404 = private constant [4 x i8] c"len\00" +@fld.str.405 = private constant [4 x i8] c"cap\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 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 [7 x i8] c"Object\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 [6 x i8] c"items\00" +@fld.str.413 = private constant [4 x i8] c"len\00" +@fld.str.414 = private constant [4 x i8] c"cap\00" +@field_names.415 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.412, i64 5 }, { 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 [7 x i8] c"Member\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 [4 x i8] c"key\00" +@fld.str.422 = private constant [4 x i8] c"val\00" +@field_names.423 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.421, i64 3 }, { ptr, i64 } { ptr @fld.str.422, i64 3 }] +@str.424 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.425 = private unnamed_addr constant [5 x i8] c"Sink\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 [4 x i8] c"dst\00" +@fld.str.430 = private constant [4 x i8] c"pos\00" +@fld.str.431 = private constant [5 x i8] c"file\00" +@field_names.432 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.429, i64 3 }, { ptr, i64 } { ptr @fld.str.430, i64 3 }, { ptr, i64 } { ptr @fld.str.431, i64 4 }] +@str.433 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.434 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" +@fld.str.439 = private constant [4 x i8] c"pos\00" +@fld.str.440 = private constant [6 x i8] c"alloc\00" +@field_names.441 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.438, i64 3 }, { ptr, i64 } { ptr @fld.str.439, i64 3 }, { ptr, i64 } { ptr @fld.str.440, i64 5 }] +@str.442 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.443 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 +@field_names.447 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.448 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.449 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" +@fld.str.454 = private constant [12 x i8] c"takes_value\00" +@fld.str.455 = private constant [9 x i8] c"required\00" +@field_names.456 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.453, i64 4 }, { ptr, i64 } { ptr @fld.str.454, i64 11 }, { ptr, i64 } { ptr @fld.str.455, i64 8 }] +@str.457 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.458 = private unnamed_addr constant [8 x i8] c"Command\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"group\00" +@fld.str.463 = private constant [8 x i8] c"command\00" +@fld.str.464 = private constant [6 x i8] c"flags\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 7 }, { 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 [10 x i8] c"FlagValue\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"set\00" +@fld.str.472 = private constant [6 x i8] c"value\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 5 }] +@str.474 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.475 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" +@fld.str.480 = private constant [6 x i8] c"token\00" +@field_names.481 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.479, i64 5 }, { ptr, i64 } { ptr @fld.str.480, i64 5 }] +@str.482 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.483 = private unnamed_addr constant [7 x i8] c"Parsed\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 [10 x i8] c"cmd_index\00" +@fld.str.490 = private constant [5 x i8] c"json\00" +@fld.str.491 = private constant [5 x i8] c"rest\00" +@fld.str.492 = private constant [5 x i8] c"spec\00" +@fld.str.493 = private constant [7 x i8] c"values\00" +@field_names.494 = private constant [7 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 9 }, { ptr, i64 } { ptr @fld.str.490, i64 4 }, { ptr, i64 } { ptr @fld.str.491, i64 4 }, { ptr, i64 } { ptr @fld.str.492, i64 4 }, { ptr, i64 } { ptr @fld.str.493, i64 6 }] +@str.495 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.496 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" +@fld.str.501 = private constant [4 x i8] c"buf\00" +@fld.str.502 = private constant [8 x i8] c"buf_len\00" +@fld.str.503 = private constant [10 x i8] c"total_len\00" +@field_names.504 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.500, i64 1 }, { ptr, i64 } { ptr @fld.str.501, i64 3 }, { ptr, i64 } { ptr @fld.str.502, i64 7 }, { ptr, i64 } { ptr @fld.str.503, i64 9 }] +@str.505 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.506 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.507 = private constant [5 x i8] c"read\00" +@fld.str.508 = private constant [6 x i8] c"write\00" +@fld.str.509 = private constant [7 x i8] c"append\00" +@fld.str.510 = private constant [11 x i8] c"read_write\00" +@field_names.511 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.507, i64 4 }, { ptr, i64 } { ptr @fld.str.508, i64 5 }, { ptr, i64 } { ptr @fld.str.509, i64 6 }, { ptr, i64 } { ptr @fld.str.510, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.515 = private constant [4 x i8] c"set\00" +@fld.str.516 = private constant [8 x i8] c"current\00" +@fld.str.517 = private constant [4 x i8] c"end\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 7 }, { ptr, i64 } { ptr @fld.str.517, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.522 = private constant [6 x i8] c"null_\00" +@fld.str.523 = private constant [6 x i8] c"bool_\00" +@fld.str.524 = private constant [5 x i8] c"int_\00" +@fld.str.525 = private constant [4 x i8] c"str\00" +@fld.str.526 = private constant [6 x i8] c"array\00" +@fld.str.527 = private constant [7 x i8] c"object\00" +@field_names.528 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.522, i64 5 }, { ptr, i64 } { ptr @fld.str.523, i64 5 }, { ptr, i64 } { ptr @fld.str.524, i64 4 }, { ptr, i64 } { ptr @fld.str.525, i64 3 }, { ptr, i64 } { ptr @fld.str.526, i64 5 }, { ptr, i64 } { ptr @fld.str.527, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.532 = private constant [6 x i8] c"macos\00" +@fld.str.533 = private constant [6 x i8] c"linux\00" +@fld.str.534 = private constant [8 x i8] c"windows\00" +@fld.str.535 = private constant [5 x i8] c"wasm\00" +@fld.str.536 = private constant [4 x i8] c"ios\00" +@fld.str.537 = private constant [8 x i8] c"android\00" +@fld.str.538 = private constant [8 x i8] c"unknown\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 5 }, { ptr, i64 } { ptr @fld.str.534, i64 7 }, { ptr, i64 } { ptr @fld.str.535, i64 4 }, { ptr, i64 } { ptr @fld.str.536, i64 3 }, { ptr, i64 } { ptr @fld.str.537, i64 7 }, { ptr, i64 } { ptr @fld.str.538, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.543 = private constant [8 x i8] c"aarch64\00" +@fld.str.544 = private constant [7 x i8] c"x86_64\00" +@fld.str.545 = private constant [7 x i8] c"wasm32\00" +@fld.str.546 = private constant [7 x i8] c"wasm64\00" +@fld.str.547 = private constant [8 x i8] c"unknown\00" +@field_names.548 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.543, i64 7 }, { ptr, i64 } { ptr @fld.str.544, i64 6 }, { ptr, i64 } { ptr @fld.str.545, i64 6 }, { ptr, i64 } { ptr @fld.str.546, i64 6 }, { ptr, i64 } { ptr @fld.str.547, i64 7 }] +@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 [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 @@ -514,35 +514,35 @@ @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 -@str.581 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.582 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.583 = private unnamed_addr constant [4 x i8] c"@0x\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 @str.584 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.585 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.585 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.586 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.587 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.588 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.588 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.589 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.590 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.591 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.591 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.592 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.593 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.594 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.594 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.595 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.596 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.597 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 +@str.597 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.598 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.599 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.600 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 +@str.600 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.601 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.602 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.603 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.603 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.604 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.605 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.606 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.606 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.607 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.608 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.609 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.609 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.610 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.611 = private unnamed_addr constant [5 x i8] c"null\00", align 1 @str.612 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @@ -605,12 +605,16 @@ @str.669 = private unnamed_addr constant [7 x i8] c"*[]Any\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 [6 x i8] c"*bool\00", align 1 +@str.672 = private unnamed_addr constant [4 x i8] c"*u8\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"null\00", align 1 -@str.676 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.675 = private unnamed_addr constant [6 x i8] c"*bool\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 [5 x i8] c"null\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"null\00", align 1 +@str.681 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -627,7 +631,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -678,7 +682,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -768,7 +772,7 @@ if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.66 @@ -971,7 +975,7 @@ if.merge.91: ; preds = %if.else.90, %if.the %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1214,7 +1218,7 @@ if.merge.370: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1286,7 +1290,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1317,7 +1321,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1332,6 +1336,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1374,85 +1387,86 @@ entry: i64 1, label %match.arm.41 i64 10, label %match.arm.42 i64 11, label %match.arm.42 - i64 19, label %match.arm.43 i64 20, label %match.arm.43 i64 21, label %match.arm.43 - i64 24, label %match.arm.43 - i64 26, label %match.arm.43 - i64 28, label %match.arm.43 - i64 30, label %match.arm.43 - i64 33, label %match.arm.43 - i64 35, label %match.arm.43 - i64 39, label %match.arm.43 - i64 43, label %match.arm.43 - i64 45, label %match.arm.43 - i64 48, label %match.arm.43 - i64 52, label %match.arm.43 + i64 22, label %match.arm.43 + i64 25, label %match.arm.43 + i64 27, label %match.arm.43 + i64 29, label %match.arm.43 + i64 31, label %match.arm.43 + i64 34, label %match.arm.43 + i64 36, label %match.arm.43 + i64 40, label %match.arm.43 + i64 44, label %match.arm.43 + i64 46, label %match.arm.43 + i64 49, label %match.arm.43 i64 53, label %match.arm.43 - i64 55, label %match.arm.43 - i64 61, label %match.arm.43 - i64 66, label %match.arm.43 - i64 72, label %match.arm.43 - i64 76, label %match.arm.43 - i64 78, label %match.arm.43 + i64 54, label %match.arm.43 + i64 56, label %match.arm.43 + i64 62, label %match.arm.43 + i64 67, label %match.arm.43 + i64 73, label %match.arm.43 + i64 77, label %match.arm.43 i64 79, label %match.arm.43 i64 80, label %match.arm.43 - i64 82, label %match.arm.43 - i64 89, label %match.arm.43 - i64 37, label %match.arm.44 + i64 81, label %match.arm.43 + i64 83, label %match.arm.43 + i64 90, label %match.arm.43 i64 38, label %match.arm.44 - i64 54, label %match.arm.44 - i64 70, label %match.arm.44 + i64 39, label %match.arm.44 + i64 55, label %match.arm.44 i64 71, label %match.arm.44 - i64 51, label %match.arm.45 - i64 64, label %match.arm.45 - i64 75, label %match.arm.45 - i64 22, label %match.arm.47 - i64 81, label %match.arm.47 - i64 87, label %match.arm.47 + i64 72, label %match.arm.44 + i64 52, label %match.arm.45 + i64 65, label %match.arm.45 + i64 76, label %match.arm.45 + i64 23, label %match.arm.47 + i64 82, label %match.arm.47 i64 88, label %match.arm.47 - i64 92, label %match.arm.47 - i64 100, label %match.arm.47 - i64 23, label %match.arm.48 - i64 60, label %match.arm.48 - i64 77, label %match.arm.48 - i64 85, label %match.arm.48 - i64 98, label %match.arm.48 - i64 18, label %match.arm.49 - i64 25, label %match.arm.49 - i64 27, label %match.arm.49 - i64 29, label %match.arm.49 - i64 31, label %match.arm.49 + i64 89, label %match.arm.47 + i64 93, label %match.arm.47 + i64 101, label %match.arm.47 + i64 24, label %match.arm.48 + i64 61, label %match.arm.48 + i64 78, label %match.arm.48 + i64 86, label %match.arm.48 + i64 99, label %match.arm.48 + i64 19, label %match.arm.49 + i64 26, label %match.arm.49 + i64 28, label %match.arm.49 + i64 30, label %match.arm.49 i64 32, label %match.arm.49 - i64 34, label %match.arm.49 - i64 36, label %match.arm.49 - i64 40, label %match.arm.49 - i64 44, label %match.arm.49 - i64 47, label %match.arm.49 - i64 49, label %match.arm.49 + i64 33, label %match.arm.49 + i64 35, label %match.arm.49 + i64 37, label %match.arm.49 + i64 41, label %match.arm.49 + i64 48, label %match.arm.49 i64 50, label %match.arm.49 - i64 56, label %match.arm.49 + i64 51, label %match.arm.49 i64 57, label %match.arm.49 i64 58, label %match.arm.49 i64 59, label %match.arm.49 - i64 62, label %match.arm.49 - i64 67, label %match.arm.49 - i64 74, label %match.arm.49 - i64 83, label %match.arm.49 - i64 86, label %match.arm.49 - i64 90, label %match.arm.49 - i64 94, label %match.arm.49 + i64 60, label %match.arm.49 + i64 63, label %match.arm.49 + i64 68, label %match.arm.49 + i64 75, label %match.arm.49 + i64 84, label %match.arm.49 + i64 87, label %match.arm.49 + i64 91, label %match.arm.49 i64 95, label %match.arm.49 i64 96, label %match.arm.49 i64 97, label %match.arm.49 - i64 99, label %match.arm.49 - i64 101, label %match.arm.49 + i64 98, label %match.arm.49 + i64 100, label %match.arm.49 i64 102, label %match.arm.49 i64 103, label %match.arm.49 - i64 41, label %match.arm.50 + i64 104, label %match.arm.49 + i64 105, label %match.arm.49 i64 42, label %match.arm.50 - i64 46, label %match.arm.50 - i64 91, label %match.arm.50 + i64 43, label %match.arm.50 + i64 45, label %match.arm.50 + i64 47, label %match.arm.50 + i64 92, label %match.arm.50 i64 13, label %match.arm.51 ] @@ -1470,7 +1484,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 [162 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [165 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 @@ -1503,31 +1517,31 @@ match.arm.43: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.95 [ - i64 19, label %dispatch.case.96 - i64 20, label %dispatch.case.97 - i64 21, label %dispatch.case.98 - i64 24, label %dispatch.case.99 - i64 26, label %dispatch.case.100 - i64 28, label %dispatch.case.101 - i64 30, label %dispatch.case.102 - i64 33, label %dispatch.case.103 - i64 35, label %dispatch.case.104 - i64 39, label %dispatch.case.105 - i64 43, label %dispatch.case.106 - i64 45, label %dispatch.case.107 - i64 48, label %dispatch.case.108 - i64 52, label %dispatch.case.109 - i64 53, label %dispatch.case.110 - i64 55, label %dispatch.case.111 - i64 61, label %dispatch.case.112 - i64 66, label %dispatch.case.113 - i64 72, label %dispatch.case.114 - i64 76, label %dispatch.case.115 - i64 78, label %dispatch.case.116 - i64 79, label %dispatch.case.117 - i64 80, label %dispatch.case.118 - i64 82, label %dispatch.case.119 - i64 89, label %dispatch.case.120 + i64 20, label %dispatch.case.96 + i64 21, label %dispatch.case.97 + i64 22, label %dispatch.case.98 + i64 25, label %dispatch.case.99 + i64 27, label %dispatch.case.100 + i64 29, label %dispatch.case.101 + i64 31, label %dispatch.case.102 + i64 34, label %dispatch.case.103 + i64 36, label %dispatch.case.104 + i64 40, label %dispatch.case.105 + i64 44, label %dispatch.case.106 + i64 46, label %dispatch.case.107 + i64 49, label %dispatch.case.108 + i64 53, label %dispatch.case.109 + i64 54, label %dispatch.case.110 + i64 56, label %dispatch.case.111 + i64 62, label %dispatch.case.112 + i64 67, label %dispatch.case.113 + i64 73, label %dispatch.case.114 + i64 77, label %dispatch.case.115 + i64 79, label %dispatch.case.116 + i64 80, label %dispatch.case.117 + i64 81, label %dispatch.case.118 + i64 83, label %dispatch.case.119 + i64 90, label %dispatch.case.120 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1535,11 +1549,11 @@ match.arm.44: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.247 [ - i64 37, label %dispatch.case.248 - i64 38, label %dispatch.case.249 - i64 54, label %dispatch.case.250 - i64 70, label %dispatch.case.251 - i64 71, label %dispatch.case.252 + i64 38, label %dispatch.case.248 + i64 39, label %dispatch.case.249 + i64 55, label %dispatch.case.250 + i64 71, label %dispatch.case.251 + i64 72, label %dispatch.case.252 ] match.arm.45: ; preds = %entry, %entry, %entry @@ -1562,12 +1576,12 @@ match.arm.47: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.264 [ - i64 22, label %dispatch.case.265 - i64 81, label %dispatch.case.266 - i64 87, label %dispatch.case.267 - i64 88, label %dispatch.case.268 - i64 92, label %dispatch.case.269 - i64 100, label %dispatch.case.270 + i64 23, label %dispatch.case.265 + i64 82, label %dispatch.case.266 + i64 88, label %dispatch.case.267 + i64 89, label %dispatch.case.268 + i64 93, label %dispatch.case.269 + i64 101, label %dispatch.case.270 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1575,11 +1589,11 @@ match.arm.48: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.302 [ - i64 23, label %dispatch.case.303 - i64 60, label %dispatch.case.304 - i64 77, label %dispatch.case.305 - i64 85, label %dispatch.case.306 - i64 98, label %dispatch.case.307 + i64 24, label %dispatch.case.303 + i64 61, label %dispatch.case.304 + i64 78, label %dispatch.case.305 + i64 86, label %dispatch.case.306 + i64 99, label %dispatch.case.307 ] 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 @@ -1587,48 +1601,49 @@ match.arm.49: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.334 [ - i64 18, label %dispatch.case.335 - i64 25, label %dispatch.case.336 - i64 27, label %dispatch.case.337 - i64 29, label %dispatch.case.338 - i64 31, label %dispatch.case.339 - i64 32, label %dispatch.case.340 - i64 34, label %dispatch.case.341 - i64 36, label %dispatch.case.342 - i64 40, label %dispatch.case.343 - i64 44, label %dispatch.case.344 - i64 47, label %dispatch.case.345 - i64 49, label %dispatch.case.346 - i64 50, label %dispatch.case.347 - i64 56, label %dispatch.case.348 - i64 57, label %dispatch.case.349 - i64 58, label %dispatch.case.350 - i64 59, label %dispatch.case.351 - i64 62, label %dispatch.case.352 - i64 67, label %dispatch.case.353 - i64 74, label %dispatch.case.354 - i64 83, label %dispatch.case.355 - i64 86, label %dispatch.case.356 - i64 90, label %dispatch.case.357 - i64 94, label %dispatch.case.358 - i64 95, label %dispatch.case.359 - i64 96, label %dispatch.case.360 - i64 97, label %dispatch.case.361 - i64 99, label %dispatch.case.362 - i64 101, label %dispatch.case.363 - i64 102, label %dispatch.case.364 - i64 103, label %dispatch.case.365 + i64 19, label %dispatch.case.335 + i64 26, label %dispatch.case.336 + i64 28, label %dispatch.case.337 + i64 30, label %dispatch.case.338 + i64 32, label %dispatch.case.339 + i64 33, label %dispatch.case.340 + i64 35, label %dispatch.case.341 + i64 37, label %dispatch.case.342 + i64 41, label %dispatch.case.343 + i64 48, label %dispatch.case.344 + i64 50, label %dispatch.case.345 + i64 51, label %dispatch.case.346 + i64 57, label %dispatch.case.347 + i64 58, label %dispatch.case.348 + i64 59, label %dispatch.case.349 + i64 60, label %dispatch.case.350 + i64 63, label %dispatch.case.351 + i64 68, label %dispatch.case.352 + i64 75, label %dispatch.case.353 + i64 84, label %dispatch.case.354 + i64 87, label %dispatch.case.355 + i64 91, label %dispatch.case.356 + i64 95, label %dispatch.case.357 + i64 96, label %dispatch.case.358 + i64 97, label %dispatch.case.359 + i64 98, label %dispatch.case.360 + i64 100, label %dispatch.case.361 + i64 102, label %dispatch.case.362 + i64 103, label %dispatch.case.363 + i64 104, label %dispatch.case.364 + i64 105, label %dispatch.case.365 ] -match.arm.50: ; preds = %entry, %entry, %entry, %entry +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.473 [ - i64 41, label %dispatch.case.474 - i64 42, label %dispatch.case.475 - i64 46, label %dispatch.case.476 - i64 91, label %dispatch.case.477 + i64 42, label %dispatch.case.474 + i64 43, label %dispatch.case.475 + i64 45, label %dispatch.case.476 + i64 47, label %dispatch.case.477 + i64 92, label %dispatch.case.478 ] match.arm.51: ; preds = %entry @@ -1637,7 +1652,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 [162 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [165 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 @@ -1688,7 +1703,7 @@ dispatch.merge.94: ; preds = %dispatch.case.120, br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.255, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.258, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -1897,7 +1912,7 @@ dispatch.merge.246: ; preds = %dispatch.case.252, br label %match.merge.37 dispatch.default.247: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.256, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.259, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.246 dispatch.case.248: ; preds = %match.arm.44 @@ -1938,7 +1953,7 @@ dispatch.merge.263: ; preds = %dispatch.case.270, br label %match.merge.37 dispatch.default.264: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.257, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.260, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.263 dispatch.case.265: ; preds = %match.arm.47 @@ -1995,7 +2010,7 @@ dispatch.merge.301: ; preds = %dispatch.case.307, br label %match.merge.37 dispatch.default.302: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.258, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.261, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.301 dispatch.case.303: ; preds = %match.arm.48 @@ -2044,7 +2059,7 @@ dispatch.merge.333: ; preds = %dispatch.case.365, br label %match.merge.37 dispatch.default.334: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.259, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.262, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.335: ; preds = %match.arm.49 @@ -2113,147 +2128,147 @@ dispatch.case.343: ; preds = %match.arm.49 dispatch.case.344: ; 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_u8(ptr %0, ptr %iNp247) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp247) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.345: ; 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_i32(ptr %0, ptr %iNp250) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp250) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.346: ; 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_SockAddr(ptr %0, ptr %iNp253) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp253) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.347: ; 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_u32(ptr %0, ptr %iNp256) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp256) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.348: ; 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_Value(ptr %0, ptr %iNp259) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp259) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.349: ; 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_Array(ptr %0, ptr %iNp262) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp262) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.350: ; 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__mptr_Member(ptr %0, ptr %iNp265) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp265) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.351: ; 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_Object(ptr %0, ptr %iNp268) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp268) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.352: ; 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_Sink(ptr %0, ptr %iNp271) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp271) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.353: ; 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_Parser(ptr %0, ptr %iNp274) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp274) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.354: ; 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_i64(ptr %0, ptr %iNp277) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp277) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.355: ; 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_Parsed(ptr %0, ptr %iNp280) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp280) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.356: ; 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_Diag(ptr %0, ptr %iNp283) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp283) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.357: ; 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_Sha256(ptr %0, ptr %iNp286) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp286) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.358: ; 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_ptr_CAllocator(ptr %0, ptr %iNp289) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp289) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.359: ; 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_ptr_void(ptr %0, ptr %iNp292) + %callN = call { ptr, i64 } @pointer_to_string__ptr_fn_i32_i32__i32(ptr %0, ptr %iNp292) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.360: ; 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_fn_i32_i32__i32(ptr %0, ptr %iNp295) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp295) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.361: ; 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_string(ptr %0, ptr %iNp298) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp298) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.362: ; 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_Any(ptr %0, ptr %iNp301) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp301) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.363: ; 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_AR_1_Any(ptr %0, ptr %iNp304) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp304) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.364: ; 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_SL_Any(ptr %0, ptr %iNp307) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp307) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 @@ -2264,13 +2279,13 @@ dispatch.case.365: ; preds = %match.arm.49 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 -dispatch.merge.472: ; preds = %dispatch.case.477, %dispatch.case.476, %dispatch.case.475, %dispatch.case.474, %dispatch.default.473 +dispatch.merge.472: ; preds = %dispatch.case.478, %dispatch.case.477, %dispatch.case.476, %dispatch.case.475, %dispatch.case.474, %dispatch.default.473 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.473: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.260, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.263, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.472 dispatch.case.474: ; preds = %match.arm.50 @@ -2291,17 +2306,24 @@ dispatch.case.475: ; preds = %match.arm.50 dispatch.case.476: ; preds = %match.arm.50 %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr322 = inttoptr i64 %ua.raw321 to ptr - %ua.load323 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr322, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load323) + %iNp322 = inttoptr i64 %ua.raw321 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp322) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.472 dispatch.case.477: ; preds = %match.arm.50 - %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr326 = inttoptr i64 %ua.raw325 to ptr - %ua.load327 = load { [64 x i8], i1 }, ptr %ua.ptr326, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load327) + %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr325 = inttoptr i64 %ua.raw324 to ptr + %ua.load326 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr325, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load326) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.472 + +dispatch.case.478: ; preds = %match.arm.50 + %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr329 = inttoptr i64 %ua.raw328 to ptr + %ua.load330 = load { [64 x i8], i1 }, ptr %ua.ptr329, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load330) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.472 } @@ -2312,7 +2334,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.261, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.264, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2408,7 +2430,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.262, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.265, 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 @@ -2416,7 +2438,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.263, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.266, 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 @@ -2426,13 +2448,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.264, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.267, 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.265, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.268, 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 @@ -2440,7 +2462,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.266, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.269, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2454,7 +2476,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.267, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.270, 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 @@ -2462,7 +2484,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.268, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.271, 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 @@ -2473,7 +2495,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.269, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.272, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2530,7 +2552,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.270, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.273, 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 @@ -2538,7 +2560,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.271, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.274, 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 @@ -2549,7 +2571,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.272, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.275, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2569,7 +2591,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.273, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.276, 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 @@ -2577,7 +2599,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.274, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.277, 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 @@ -2588,7 +2610,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.275, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.278, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -2809,9 +2831,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3410,7 +3429,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.276, i64 13 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.279, 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 @@ -3426,7 +3445,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.277, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.280, 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) @@ -3454,64 +3473,12 @@ 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.278, i64 13 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.281, i64 13 }) ret { ptr, i64 } %call } ; Function Attrs: nounwind 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.279, 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 - %load = load i32, ptr %allocaN, align 4 - %iN = sext i32 %load to i64 - %ba.val = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1 - %igp.ptr = getelementptr { i64, i64 }, ptr %allocaN, i64 0 - store { i64, i64 } %ba.val, ptr %igp.ptr, align 8 - %allocaN = alloca { ptr, i64 }, align 8 - %igp.ptr4 = getelementptr { i64, i64 }, ptr %allocaN, i64 0 - %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 - store ptr %igp.ptr4, ptr %gep, align 8 - %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.280, 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) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load i32, ptr %allocaN, align 4 - %iN = sext i32 %loadN to i64 - %ba.val13 = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1 - %callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val13) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %alloca, align 8 - %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 19, i64 1) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %str.ptr = extractvalue { ptr, i64 } %loadN, 0 - %str.len = extractvalue { ptr, i64 } %loadN, 1 - %2 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len) - ret void -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @__insert_1(ptr %0) #0 { -entry: - %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.281, i64 20 }) - ret { ptr, i64 } %call -} - -; Function Attrs: nounwind -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.282, i64 20 }, ptr %alloca, align 8 @@ -3556,12 +3523,64 @@ entry: } ; Function Attrs: nounwind -define internal { ptr, i64 } @__insert_2(ptr %0) #0 { +define internal { ptr, i64 } @__insert_1(ptr %0) #0 { entry: %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.284, i64 20 }) ret { ptr, i64 } %call } +; Function Attrs: nounwind +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.285, 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 + %load = load i32, ptr %allocaN, align 4 + %iN = sext i32 %load to i64 + %ba.val = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1 + %igp.ptr = getelementptr { i64, i64 }, ptr %allocaN, i64 0 + store { i64, i64 } %ba.val, ptr %igp.ptr, align 8 + %allocaN = alloca { ptr, i64 }, align 8 + %igp.ptr4 = getelementptr { i64, i64 }, ptr %allocaN, i64 0 + %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 + store ptr %igp.ptr4, ptr %gep, align 8 + %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.286, 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) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i32, ptr %allocaN, align 4 + %iN = sext i32 %loadN to i64 + %ba.val13 = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1 + %callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val13) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %alloca, align 8 + %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 19, i64 1) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %str.ptr = extractvalue { ptr, i64 } %loadN, 0 + %str.len = extractvalue { ptr, i64 } %loadN, 1 + %2 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len) + ret void +} + +; 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.287, i64 20 }) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @struct_to_string__Source_Location(ptr %0, { { ptr, i64 }, i32, i32, { ptr, i64 } } %1) #0 { entry: @@ -3569,7 +3588,7 @@ 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.285, i64 15 }, { ptr, i64 } { ptr @str.286, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.288, i64 15 }, { ptr, i64 } { ptr @str.289, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3588,12 +3607,12 @@ while.body.122: ; preds = %while.hdr.121 while.exit.123: ; preds = %while.hdr.121 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.287, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.290, i64 1 }) ret { ptr, i64 } %callN if.then.124: ; preds = %while.body.122 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.288, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.291, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.125 @@ -3605,7 +3624,7 @@ if.merge.125: ; preds = %if.then.124, %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.292, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.295, 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 @@ -3662,7 +3681,7 @@ 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.293, i64 9 }, { ptr, i64 } { ptr @str.294, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.296, i64 9 }, { ptr, i64 } { ptr @str.297, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3681,24 +3700,24 @@ while.body.127: ; preds = %while.hdr.126 while.exit.128: ; preds = %while.hdr.126 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.295, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.298, i64 1 }) ret { ptr, i64 } %callN if.then.129: ; preds = %while.body.127 %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.299, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.130 if.merge.130: ; preds = %if.then.129, %while.body.127 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.300, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.303, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.304, 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 @@ -3725,19 +3744,19 @@ fv.default: ; preds = %if.merge.130 fv.case: ; preds = %if.merge.130 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.130 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge fv.case21: ; preds = %if.merge.130 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -3747,7 +3766,7 @@ 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.302, i64 7 }, { ptr, i64 } { ptr @str.303, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.305, i64 7 }, { ptr, i64 } { ptr @str.306, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3766,24 +3785,24 @@ while.body.132: ; preds = %while.hdr.131 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.304, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.307, i64 1 }) ret { ptr, i64 } %callN 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.305, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.308, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.135 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 [2 x { ptr, i64 }], ptr @field_names.308, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.311, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.312, 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 @@ -3810,13 +3829,13 @@ fv.case: ; preds = %if.merge.135 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.135 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 - %fv.val19 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -3825,7 +3844,7 @@ 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.310, i64 10 }, { ptr, i64 } { ptr @str.311, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.313, i64 10 }, { ptr, i64 } { ptr @str.314, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3844,24 +3863,24 @@ while.body.137: ; preds = %while.hdr.136 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.312, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.315, i64 1 }) ret { ptr, i64 } %callN 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.313, 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 br label %if.merge.140 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 [0 x { ptr, i64 }], ptr @field_names.314, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.317, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.318, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -3880,7 +3899,7 @@ 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.316, i64 3 }, { ptr, i64 } { ptr @str.317, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.319, i64 3 }, { ptr, i64 } { ptr @str.320, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3899,24 +3918,24 @@ while.body.142: ; preds = %while.hdr.141 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.318, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, i64 1 }) ret { ptr, i64 } %callN 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.319, 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 br label %if.merge.145 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 [1 x { ptr, i64 }], ptr @field_names.321, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.324, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.325, 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 @@ -3949,7 +3968,7 @@ 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.323, i64 10 }, { ptr, i64 } { ptr @str.324, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.326, i64 10 }, { ptr, i64 } { ptr @str.327, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3968,24 +3987,24 @@ while.body.147: ; preds = %while.hdr.146 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.325, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.328, i64 1 }) ret { ptr, i64 } %callN 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.326, 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 br label %if.merge.150 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.329, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.332, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.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 @@ -4011,7 +4030,7 @@ fv.default: ; preds = %if.merge.150 fv.case: ; preds = %if.merge.150 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.150 @@ -4026,7 +4045,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.331, i64 5 }, { ptr, i64 } { ptr @str.332, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.334, i64 5 }, { ptr, i64 } { ptr @str.335, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4045,24 +4064,24 @@ while.body.152: ; preds = %while.hdr.151 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.333, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.336, i64 1 }) ret { ptr, i64 } %callN 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.334, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.337, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.155 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 [3 x { ptr, i64 }], ptr @field_names.338, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.341, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.342, 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 @@ -4089,7 +4108,7 @@ fv.default: ; preds = %if.merge.155 fv.case: ; preds = %if.merge.155 %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.155 @@ -4101,7 +4120,7 @@ fv.case20: ; preds = %if.merge.155 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -4110,7 +4129,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.340, i64 8 }, { ptr, i64 } { ptr @str.341, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.343, i64 8 }, { ptr, i64 } { ptr @str.344, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4129,24 +4148,24 @@ while.body.157: ; preds = %while.hdr.156 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.342, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.345, 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.343, 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 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.347, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.350, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.351, 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 @@ -4173,7 +4192,7 @@ fv.default: ; preds = %if.merge.160 fv.case: ; preds = %if.merge.160 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.160 @@ -4193,7 +4212,7 @@ 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.349, i64 17 }, { ptr, i64 } { ptr @str.350, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.352, i64 17 }, { 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 @@ -4212,24 +4231,24 @@ 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.351, 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.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.352, 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.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 [4 x { ptr, i64 }], ptr @field_names.357, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.358, 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 }, i64, i64, i64 }, ptr %alloca, align 8 @@ -4258,7 +4277,7 @@ fv.case: ; preds = %if.merge.165 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.165 @@ -4282,7 +4301,7 @@ 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.359, i64 4 }, { ptr, i64 } { ptr @str.360, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.362, i64 4 }, { 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 @@ -4301,24 +4320,24 @@ 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.361, 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.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.362, 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.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 [1 x { ptr, i64 }], ptr @field_names.364, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.365, 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 { i32 }, ptr %alloca, align 4 @@ -4355,7 +4374,7 @@ 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.366, i64 10 }, { ptr, i64 } { ptr @str.367, 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 @@ -4374,24 +4393,24 @@ 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.368, 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.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.369, 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.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 [5 x { ptr, i64 }], ptr @field_names.375, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.378, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.379, 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 @@ -4457,7 +4476,7 @@ 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.377, i64 13 }, { ptr, i64 } { ptr @str.378, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.380, i64 13 }, { 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 @@ -4476,24 +4495,24 @@ while.body.177: ; preds = %while.hdr.176 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.379, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.382, 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.380, 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 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 [2 x { ptr, i64 }], ptr @field_names.383, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.384, 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 { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4535,7 +4554,7 @@ 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.385, i64 8 }, { ptr, i64 } { ptr @str.386, i64 1 }) + %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 @@ -4554,24 +4573,24 @@ while.body.182: ; preds = %while.hdr.181 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.387, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.390, i64 1 }) ret { ptr, i64 } %callN 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.388, 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 br label %if.merge.185 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.394, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.395, 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 { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -4632,7 +4651,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.396, i64 5 }, { ptr, i64 } { ptr @str.397, 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 @@ -4651,24 +4670,24 @@ while.body.187: ; preds = %while.hdr.186 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.398, 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.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.399, 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.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.403, 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.404, 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 @@ -4695,7 +4714,7 @@ fv.default: ; preds = %if.merge.190 fv.case: ; preds = %if.merge.190 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.190 @@ -4714,7 +4733,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.405, i64 6 }, { ptr, i64 } { ptr @str.406, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.408, i64 6 }, { 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 @@ -4733,24 +4752,24 @@ 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.407, 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.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.408, 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.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.412, i64 0, i64 %loadN + %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.413, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64, i64 }, ptr %alloca, align 8 @@ -4777,7 +4796,7 @@ fv.default: ; preds = %if.merge.195 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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.195 @@ -4798,7 +4817,7 @@ entry: %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.414, i64 6 }, { ptr, i64 } { ptr @str.415, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.417, i64 6 }, { 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 @@ -4817,24 +4836,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.416, 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.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.417, 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.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 [2 x { ptr, i64 }], ptr @field_names.420, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.421, 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 }, { i64, [24 x i8] } }, ptr %alloca, align 8 @@ -4868,7 +4887,7 @@ fv.case17: ; preds = %if.merge.200 %fv.field18 = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 1 store { i64, [24 x i8] } %fv.field18, ptr %ba.tmp19, align 8 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -4878,7 +4897,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.422, i64 4 }, { ptr, i64 } { ptr @str.423, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.425, i64 4 }, { 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 @@ -4897,24 +4916,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.424, 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.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.425, 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.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.429, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.430, 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 { { ptr, i64 }, i64, ptr }, ptr %alloca, align 8 @@ -4942,7 +4961,7 @@ fv.case: ; preds = %if.merge.205 %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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.205 @@ -4953,7 +4972,7 @@ fv.case17: ; preds = %if.merge.205 fv.case20: ; preds = %if.merge.205 %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -4964,7 +4983,7 @@ entry: %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.431, i64 6 }, { ptr, i64 } { ptr @str.432, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.434, i64 6 }, { 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 @@ -4983,24 +5002,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.433, 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.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.434, 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.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.438, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.439, 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 { { ptr, i64 }, i64, { ptr, ptr, ptr } }, ptr %alloca, align 8 @@ -5040,7 +5059,7 @@ fv.case20: ; preds = %if.merge.210 %fv.field21 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 2 store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8 %ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -5049,7 +5068,7 @@ 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.440, i64 12 }, { ptr, i64 } { ptr @str.441, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.443, i64 12 }, { 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 @@ -5068,24 +5087,24 @@ 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.442, 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.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.443, 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.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 [0 x { ptr, i64 }], ptr @field_names.444, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.445, 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 {}, ptr %alloca, align 1 @@ -5105,7 +5124,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.446, i64 8 }, { ptr, i64 } { ptr @str.447, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.449, i64 8 }, { 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 @@ -5124,24 +5143,24 @@ 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.448, 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.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.449, 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.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.453, 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.454, 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 }, i1, i1 }, ptr %alloca, align 8 @@ -5193,7 +5212,7 @@ entry: %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.455, i64 7 }, { ptr, i64 } { ptr @str.456, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.458, i64 7 }, { 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 @@ -5212,24 +5231,24 @@ 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.457, 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.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.458, 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.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.462, 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.463, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5271,7 +5290,7 @@ fv.case22: ; preds = %if.merge.225 %fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2 store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8 %ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5281,7 +5300,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.464, i64 9 }, { ptr, i64 } { ptr @str.465, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.467, i64 9 }, { 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 @@ -5300,24 +5319,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.466, 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.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.467, 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.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 [2 x { ptr, i64 }], ptr @field_names.470, i64 0, i64 %loadN + %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.471, 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 { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -5360,7 +5379,7 @@ 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.472, i64 4 }, { ptr, i64 } { ptr @str.473, 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 @@ -5379,24 +5398,24 @@ 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.474, 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.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.475, 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.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.478, 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.479, 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 { i64, { ptr, i64 } }, ptr %alloca, align 8 @@ -5442,7 +5461,7 @@ 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.480, i64 6 }, { ptr, i64 } { ptr @str.481, i64 1 }) + %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 @@ -5461,24 +5480,24 @@ 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.482, 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.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.483, 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.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 [7 x { ptr, i64 }], ptr @field_names.491, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 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.492, 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 %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 @@ -5535,21 +5554,21 @@ fv.case28: ; preds = %if.merge.240 %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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge fv.case33: ; preds = %if.merge.240 %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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge fv.case38: ; preds = %if.merge.240 %fv.field39 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 6 store [16 x { i1, { ptr, i64 } }] %fv.field39, ptr %ba.tmp40, align 8 %ba.p2i41 = ptrtoint ptr %ba.tmp40 to i64 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -5560,7 +5579,7 @@ 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.493, i64 6 }, { ptr, i64 } { ptr @str.494, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.496, i64 6 }, { 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 @@ -5579,24 +5598,24 @@ 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.495, 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.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.496, 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.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 [4 x { ptr, i64 }], ptr @field_names.501, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.502, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -5625,14 +5644,14 @@ fv.case: ; preds = %if.merge.245 %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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.245 %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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.245 @@ -5655,9 +5674,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.508, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.511, 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.503, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.506, 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 @@ -5676,8 +5695,8 @@ entry: if.then.253: ; 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.510, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.509, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.512, 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.254 @@ -5696,9 +5715,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.515, 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 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.511, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.514, 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 @@ -5717,8 +5736,8 @@ entry: if.then.255: ; 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.517, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.516, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.519, 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.256 @@ -5748,9 +5767,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.525, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.528, 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.518, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.521, 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 @@ -5767,8 +5786,8 @@ entry: if.then.257: ; 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.527, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.526, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.529, 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.258 @@ -5824,7 +5843,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -5833,7 +5852,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -5846,9 +5865,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.536, 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 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.528, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.531, 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 @@ -5867,8 +5886,8 @@ entry: if.then.259: ; 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.538, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.537, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.540, 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.260 @@ -5887,9 +5906,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.545, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.548, 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.539, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.542, 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 @@ -5908,8 +5927,8 @@ entry: if.then.261: ; 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.547, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.546, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.550, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.549, 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.262 @@ -5926,7 +5945,7 @@ 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.548, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.551, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.271 @@ -5943,12 +5962,12 @@ while.body.272: ; preds = %while.hdr.271 while.exit.273: ; preds = %while.hdr.271 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.549, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 1 }) ret { ptr, i64 } %call 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.550, 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.275 @@ -5977,7 +5996,7 @@ 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.551, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.554, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.276 @@ -5994,12 +6013,12 @@ while.body.277: ; preds = %while.hdr.276 while.exit.278: ; preds = %while.hdr.276 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 1 }) ret { ptr, i64 } %call 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.553, 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.280 @@ -6012,7 +6031,7 @@ if.merge.280: ; preds = %if.then.279, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -6029,7 +6048,7 @@ 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.554, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.557, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.281 @@ -6046,12 +6065,12 @@ while.body.282: ; preds = %while.hdr.281 while.exit.283: ; preds = %while.hdr.281 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, i64 1 }) ret { ptr, i64 } %call 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.556, 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.285 @@ -6079,7 +6098,7 @@ 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.557, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.560, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.286 @@ -6096,12 +6115,12 @@ while.body.287: ; preds = %while.hdr.286 while.exit.288: ; preds = %while.hdr.286 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 1 }) ret { ptr, i64 } %call 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.559, 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 @@ -6130,7 +6149,7 @@ 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.560, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.563, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.291 @@ -6147,12 +6166,12 @@ while.body.292: ; preds = %while.hdr.291 while.exit.293: ; preds = %while.hdr.291 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, i64 1 }) ret { ptr, i64 } %call 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 }) + %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.295 @@ -6181,7 +6200,7 @@ 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.563, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.566, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.296 @@ -6198,12 +6217,12 @@ while.body.297: ; preds = %while.hdr.296 while.exit.298: ; preds = %while.hdr.296 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 1 }) ret { ptr, i64 } %call 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.565, i64 2 }) + %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.300 @@ -6233,7 +6252,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.566, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.569, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.308 @@ -6252,12 +6271,12 @@ while.body.309: ; preds = %while.hdr.308 while.exit.310: ; preds = %while.hdr.308 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.570, i64 1 }) ret { ptr, i64 } %call 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.568, 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 br label %if.merge.312 @@ -6286,7 +6305,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.569, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.572, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.313 @@ -6305,12 +6324,12 @@ while.body.314: ; preds = %while.hdr.313 while.exit.315: ; preds = %while.hdr.313 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.570, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 1 }) ret { ptr, i64 } %call 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.571, 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.317 @@ -6339,7 +6358,7 @@ 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.572, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.575, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.318 @@ -6358,12 +6377,12 @@ while.body.319: ; preds = %while.hdr.318 while.exit.320: ; preds = %while.hdr.318 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.576, i64 1 }) ret { ptr, i64 } %call 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.574, 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 br label %if.merge.322 @@ -6376,7 +6395,7 @@ if.merge.322: ; preds = %if.then.321, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -6393,7 +6412,7 @@ 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.575, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.578, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.323 @@ -6412,12 +6431,12 @@ while.body.324: ; preds = %while.hdr.323 while.exit.325: ; preds = %while.hdr.323 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.576, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.579, i64 1 }) ret { ptr, i64 } %call 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.577, i64 2 }) + %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.327 @@ -6430,7 +6449,7 @@ if.merge.327: ; preds = %if.then.326, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -6447,7 +6466,7 @@ 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.578, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.581, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.328 @@ -6466,12 +6485,12 @@ while.body.329: ; preds = %while.hdr.328 while.exit.330: ; preds = %while.hdr.328 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.579, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.582, i64 1 }) ret { ptr, i64 } %call 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.580, i64 2 }) + %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.332 @@ -6513,12 +6532,12 @@ if.then.366: ; preds = %entry if.else.367: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.583, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.582, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.586, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.585, i64 5 }, { ptr, i64 } %callN) br label %if.merge.368 if.merge.368: ; preds = %if.else.367, %if.then.366 - %bp = phi { ptr, i64 } [ { ptr @str.581, i64 4 }, %if.then.366 ], [ %callN, %if.else.367 ] + %bp = phi { ptr, i64 } [ { ptr @str.584, i64 4 }, %if.then.366 ], [ %callN, %if.else.367 ] ret { ptr, i64 } %bp } @@ -6541,12 +6560,12 @@ if.then.382: ; preds = %entry if.else.383: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.586, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.585, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.589, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.588, i64 11 }, { ptr, i64 } %callN) br label %if.merge.384 if.merge.384: ; preds = %if.else.383, %if.then.382 - %bp = phi { ptr, i64 } [ { ptr @str.584, i64 4 }, %if.then.382 ], [ %callN, %if.else.383 ] + %bp = phi { ptr, i64 } [ { ptr @str.587, i64 4 }, %if.then.382 ], [ %callN, %if.else.383 ] ret { ptr, i64 } %bp } @@ -6569,12 +6588,12 @@ if.then.385: ; preds = %entry if.else.386: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.589, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.588, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 4 }, { ptr, i64 } %callN) br label %if.merge.387 if.merge.387: ; preds = %if.else.386, %if.then.385 - %bp = phi { ptr, i64 } [ { ptr @str.587, i64 4 }, %if.then.385 ], [ %callN, %if.else.386 ] + %bp = phi { ptr, i64 } [ { ptr @str.590, i64 4 }, %if.then.385 ], [ %callN, %if.else.386 ] ret { ptr, i64 } %bp } @@ -6597,12 +6616,12 @@ if.then.388: ; preds = %entry if.else.389: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.595, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.594, i64 11 }, { ptr, i64 } %callN) br label %if.merge.390 if.merge.390: ; preds = %if.else.389, %if.then.388 - %bp = phi { ptr, i64 } [ { ptr @str.590, i64 4 }, %if.then.388 ], [ %callN, %if.else.389 ] + %bp = phi { ptr, i64 } [ { ptr @str.593, i64 4 }, %if.then.388 ], [ %callN, %if.else.389 ] ret { ptr, i64 } %bp } @@ -6625,12 +6644,12 @@ if.then.391: ; preds = %entry if.else.392: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.595, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.594, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.597, i64 6 }, { ptr, i64 } %callN) br label %if.merge.393 if.merge.393: ; preds = %if.else.392, %if.then.391 - %bp = phi { ptr, i64 } [ { ptr @str.593, i64 4 }, %if.then.391 ], [ %callN, %if.else.392 ] + %bp = phi { ptr, i64 } [ { ptr @str.596, i64 4 }, %if.then.391 ], [ %callN, %if.else.392 ] ret { ptr, i64 } %bp } @@ -6652,12 +6671,12 @@ if.then.394: ; preds = %entry if.else.395: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.597, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 5 }, { ptr, i64 } %callN) br label %if.merge.396 if.merge.396: ; preds = %if.else.395, %if.then.394 - %bp = phi { ptr, i64 } [ { ptr @str.596, i64 4 }, %if.then.394 ], [ %callN, %if.else.395 ] + %bp = phi { ptr, i64 } [ { ptr @str.599, i64 4 }, %if.then.394 ], [ %callN, %if.else.395 ] ret { ptr, i64 } %bp } @@ -6680,12 +6699,12 @@ if.then.397: ; preds = %entry if.else.398: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 9 }, { ptr, i64 } %callN) br label %if.merge.399 if.merge.399: ; preds = %if.else.398, %if.then.397 - %bp = phi { ptr, i64 } [ { ptr @str.599, i64 4 }, %if.then.397 ], [ %callN, %if.else.398 ] + %bp = phi { ptr, i64 } [ { ptr @str.602, i64 4 }, %if.then.397 ], [ %callN, %if.else.398 ] ret { ptr, i64 } %bp } @@ -6708,12 +6727,12 @@ if.then.400: ; preds = %entry if.else.401: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.607, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 18 }, { ptr, i64 } %callN) br label %if.merge.402 if.merge.402: ; preds = %if.else.401, %if.then.400 - %bp = phi { ptr, i64 } [ { ptr @str.602, i64 4 }, %if.then.400 ], [ %callN, %if.else.401 ] + %bp = phi { ptr, i64 } [ { ptr @str.605, i64 4 }, %if.then.400 ], [ %callN, %if.else.401 ] ret { ptr, i64 } %bp } @@ -6736,17 +6755,17 @@ if.then.403: ; preds = %entry if.else.404: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.607, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.610, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, i64 5 }, { ptr, i64 } %callN) br label %if.merge.405 if.merge.405: ; preds = %if.else.404, %if.then.403 - %bp = phi { ptr, i64 } [ { ptr @str.605, i64 4 }, %if.then.403 ], [ %callN, %if.else.404 ] + %bp = phi { ptr, i64 } [ { ptr @str.608, i64 4 }, %if.then.403 ], [ %callN, %if.else.404 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6764,17 +6783,17 @@ if.then.406: ; preds = %entry 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.610, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, i64 3 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 4 }, { ptr, i64 } %callN) br label %if.merge.408 if.merge.408: ; preds = %if.else.407, %if.then.406 - %bp = phi { ptr, i64 } [ { ptr @str.608, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] + %bp = phi { ptr, i64 } [ { ptr @str.611, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6792,17 +6811,17 @@ if.then.409: ; preds = %entry if.else.410: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.616, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.615, i64 9 }, { ptr, i64 } %callN) br label %if.merge.411 if.merge.411: ; preds = %if.else.410, %if.then.409 - %bp = phi { ptr, i64 } [ { ptr @str.611, i64 4 }, %if.then.409 ], [ %callN, %if.else.410 ] + %bp = phi { ptr, i64 } [ { ptr @str.614, i64 4 }, %if.then.409 ], [ %callN, %if.else.410 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6820,40 +6839,12 @@ if.then.412: ; preds = %entry 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.616, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.615, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.618, i64 4 }, { ptr, i64 } %callN) br label %if.merge.414 if.merge.414: ; preds = %if.else.413, %if.then.412 - %bp = phi { ptr, i64 } [ { ptr @str.614, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.415, label %if.else.416 - -if.then.415: ; preds = %entry - br label %if.merge.417 - -if.else.416: ; preds = %entry - %loadN = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.618, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.417 - -if.merge.417: ; preds = %if.else.416, %if.then.415 - %bp = phi { ptr, i64 } [ { ptr @str.617, i64 4 }, %if.then.415 ], [ %callN, %if.else.416 ] + %bp = phi { ptr, i64 } [ { ptr @str.617, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] ret { ptr, i64 } %bp } @@ -6867,20 +6858,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.418, label %if.else.419 + br i1 %icmp, label %if.then.415, label %if.else.416 -if.then.418: ; preds = %entry - br label %if.merge.420 +if.then.415: ; preds = %entry + br label %if.merge.417 -if.else.419: ; preds = %entry +if.else.416: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.622, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.621, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.420 + br label %if.merge.417 -if.merge.420: ; preds = %if.else.419, %if.then.418 - %bp = phi { ptr, i64 } [ { ptr @str.620, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] +if.merge.417: ; preds = %if.else.416, %if.then.415 + %bp = phi { ptr, i64 } [ { ptr @str.620, i64 4 }, %if.then.415 ], [ %callN, %if.else.416 ] ret { ptr, i64 } %bp } @@ -6895,20 +6886,20 @@ entry: store i64 %pti, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.421, label %if.else.422 + br i1 %icmp, label %if.then.418, label %if.else.419 -if.then.421: ; preds = %entry - br label %if.merge.423 +if.then.418: ; preds = %entry + br label %if.merge.420 -if.else.422: ; preds = %entry +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.625, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.624, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.423 + br label %if.merge.420 -if.merge.423: ; preds = %if.else.422, %if.then.421 - %bp = phi { ptr, i64 } [ { ptr @str.623, i64 4 }, %if.then.421 ], [ %callN, %if.else.422 ] +if.merge.420: ; preds = %if.else.419, %if.then.418 + %bp = phi { ptr, i64 } [ { ptr @str.623, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] ret { ptr, i64 } %bp } @@ -6922,6 +6913,34 @@ 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.421, label %if.else.422 + +if.then.421: ; preds = %entry + br label %if.merge.423 + +if.else.422: ; preds = %entry + %loadN = load i64, ptr %allocaN, align 8 + %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.627, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.423 + +if.merge.423: ; preds = %if.else.422, %if.then.421 + %bp = phi { ptr, i64 } [ { ptr @str.626, i64 4 }, %if.then.421 ], [ %callN, %if.else.422 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.424, label %if.else.425 if.then.424: ; preds = %entry @@ -6930,17 +6949,17 @@ if.then.424: ; preds = %entry if.else.425: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.627, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.631, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.630, i64 7 }, { ptr, i64 } %callN) br label %if.merge.426 if.merge.426: ; preds = %if.else.425, %if.then.424 - %bp = phi { ptr, i64 } [ { ptr @str.626, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] + %bp = phi { ptr, i64 } [ { ptr @str.629, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6958,17 +6977,17 @@ if.then.427: ; preds = %entry 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.631, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.630, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.634, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.633, i64 5 }, { ptr, i64 } %callN) br label %if.merge.429 if.merge.429: ; preds = %if.else.428, %if.then.427 - %bp = phi { ptr, i64 } [ { ptr @str.629, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] + %bp = phi { ptr, i64 } [ { ptr @str.632, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6986,17 +7005,17 @@ if.then.430: ; preds = %entry 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.634, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.633, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.637, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.636, i64 7 }, { ptr, i64 } %callN) br label %if.merge.432 if.merge.432: ; preds = %if.else.431, %if.then.430 - %bp = phi { ptr, i64 } [ { ptr @str.632, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] + %bp = phi { ptr, i64 } [ { ptr @str.635, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7014,17 +7033,17 @@ if.then.433: ; preds = %entry 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.637, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.636, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.639, 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.635, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] + %bp = phi { ptr, i64 } [ { ptr @str.638, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7042,17 +7061,17 @@ if.then.436: ; preds = %entry 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.640, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.639, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.643, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.642, i64 7 }, { ptr, i64 } %callN) br label %if.merge.438 if.merge.438: ; preds = %if.else.437, %if.then.436 - %bp = phi { ptr, i64 } [ { ptr @str.638, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] + %bp = phi { ptr, i64 } [ { ptr @str.641, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7070,17 +7089,17 @@ if.then.439: ; preds = %entry 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.643, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.642, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.646, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.645, 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.641, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] + %bp = phi { ptr, i64 } [ { ptr @str.644, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7098,17 +7117,17 @@ if.then.442: ; preds = %entry 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.646, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.645, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.648, i64 7 }, { ptr, i64 } %callN) br label %if.merge.444 if.merge.444: ; preds = %if.else.443, %if.then.442 - %bp = phi { ptr, i64 } [ { ptr @str.644, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] + %bp = phi { ptr, i64 } [ { ptr @str.647, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7126,17 +7145,17 @@ 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.649, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.648, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 12 }, { ptr, i64 } %callN) br label %if.merge.447 if.merge.447: ; preds = %if.else.446, %if.then.445 - %bp = phi { ptr, i64 } [ { ptr @str.647, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] + %bp = phi { ptr, i64 } [ { ptr @str.650, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7154,17 +7173,17 @@ 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.652, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 12 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, i64 6 }, { ptr, i64 } %callN) br label %if.merge.450 if.merge.450: ; preds = %if.else.449, %if.then.448 - %bp = phi { ptr, i64 } [ { ptr @str.650, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] + %bp = phi { ptr, i64 } [ { ptr @str.653, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_fn_i32_i32__i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7182,17 +7201,17 @@ if.then.451: ; preds = %entry 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.655, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.658, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 9 }, { ptr, i64 } %callN) br label %if.merge.453 if.merge.453: ; preds = %if.else.452, %if.then.451 - %bp = phi { ptr, i64 } [ { ptr @str.653, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] + %bp = phi { ptr, i64 } [ { ptr @str.656, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_fn_i32_i32__i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7210,17 +7229,17 @@ if.then.454: ; preds = %entry 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.658, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 9 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.456 if.merge.456: ; preds = %if.else.455, %if.then.454 - %bp = phi { ptr, i64 } [ { ptr @str.656, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] + %bp = phi { ptr, i64 } [ { ptr @str.659, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7238,17 +7257,17 @@ if.then.457: ; preds = %entry 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.661, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.660, i64 7 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.459 if.merge.459: ; preds = %if.else.458, %if.then.457 - %bp = phi { ptr, i64 } [ { ptr @str.659, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] + %bp = phi { ptr, i64 } [ { ptr @str.662, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7266,17 +7285,17 @@ 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.664, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.663, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.462 if.merge.462: ; preds = %if.else.461, %if.then.460 - %bp = phi { ptr, i64 } [ { ptr @str.662, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] + %bp = phi { ptr, i64 } [ { ptr @str.665, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7294,17 +7313,17 @@ if.then.463: ; preds = %entry 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.667, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.666, i64 7 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.465 if.merge.465: ; preds = %if.else.464, %if.then.463 - %bp = phi { ptr, i64 } [ { ptr @str.665, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] + %bp = phi { ptr, i64 } [ { ptr @str.668, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7322,12 +7341,12 @@ if.then.466: ; preds = %entry 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.670, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, i64 6 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.468 if.merge.468: ; preds = %if.else.467, %if.then.466 - %bp = phi { ptr, i64 } [ { ptr @str.668, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] + %bp = phi { ptr, i64 } [ { ptr @str.671, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] ret { ptr, i64 } %bp } @@ -7350,12 +7369,12 @@ if.then.469: ; preds = %entry 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.673, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 5 }, { ptr, i64 } %callN) + %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.471 if.merge.471: ; preds = %if.else.470, %if.then.469 - %bp = phi { ptr, i64 } [ { ptr @str.671, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] + %bp = phi { ptr, i64 } [ { ptr @str.674, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] ret { ptr, i64 } %bp } @@ -7368,17 +7387,17 @@ 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.478, label %if.merge.479 + br i1 %lnot, label %if.then.479, label %if.merge.480 -if.then.478: ; preds = %entry - ret { ptr, i64 } { ptr @str.674, i64 4 } +if.then.479: ; preds = %entry + ret { ptr, i64 } { ptr @str.677, i64 4 } -if.merge.479: ; preds = %entry +if.merge.480: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7392,12 +7411,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.480, label %if.merge.481 + br i1 %lnot, label %if.then.481, label %if.merge.482 -if.then.480: ; preds = %entry - ret { ptr, i64 } { ptr @str.675, i64 4 } +if.then.481: ; preds = %entry + ret { ptr, i64 } { ptr @str.678, i64 4 } -if.merge.481: ; preds = %entry +if.merge.482: ; 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 @@ -7407,6 +7426,27 @@ if.merge.481: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.483, label %if.merge.484 + +if.then.483: ; preds = %entry + ret { ptr, i64 } { ptr @str.679, i64 4 } + +if.merge.484: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -7416,17 +7456,17 @@ 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.482, label %if.merge.483 + br i1 %lnot, label %if.then.485, label %if.merge.486 -if.then.482: ; preds = %entry - ret { ptr, i64 } { ptr @str.676, i64 4 } +if.then.485: ; preds = %entry + ret { ptr, i64 } { ptr @str.680, i64 4 } -if.merge.483: ; preds = %entry +if.merge.486: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7440,17 +7480,17 @@ 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.484, label %if.merge.485 + br i1 %lnot, label %if.then.487, label %if.merge.488 -if.then.484: ; preds = %entry - ret { ptr, i64 } { ptr @str.677, i64 4 } +if.then.487: ; preds = %entry + ret { ptr, i64 } { ptr @str.681, i64 4 } -if.merge.485: ; preds = %entry +if.merge.488: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } diff --git a/examples/expected/0400-protocols-impl-for-builtin.ir b/examples/expected/0400-protocols-impl-for-builtin.ir index 2d4bb11..8864dc2 100644 --- a/examples/expected/0400-protocols-impl-for-builtin.ir +++ b/examples/expected/0400-protocols-impl-for-builtin.ir @@ -7,7 +7,7 @@ @str.78 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.79 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.80 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [165 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] +@__sx_type_is_unsigned = private constant [168 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.81 = private constant [9 x i8] c"Overflow\00" @tag.str.82 = private constant [3 x i8] c"Io\00" @@ -41,457 +41,457 @@ @tn.str.108 = private constant [6 x i8] c"isize\00" @tn.str.109 = private constant [6 x i8] c"usize\00" @tn.str.110 = private constant [5 x i8] c"void\00" -@tn.str.111 = private constant [6 x i8] c"*void\00" -@tn.str.112 = private constant [9 x i8] c"Lerpable\00" -@tn.str.113 = private constant [16 x i8] c"Source_Location\00" -@tn.str.114 = private constant [10 x i8] c"Allocator\00" -@tn.str.115 = private constant [8 x i8] c"Context\00" -@tn.str.116 = private constant [7 x i8] c"[4]i64\00" -@tn.str.117 = private constant [9 x i8] c"[]string\00" -@tn.str.118 = private constant [11 x i8] c"CAllocator\00" -@tn.str.119 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.120 = private constant [4 x i8] c"GPA\00" -@tn.str.121 = private constant [5 x i8] c"*GPA\00" -@tn.str.122 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.123 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.124 = private constant [6 x i8] c"Arena\00" -@tn.str.125 = private constant [7 x i8] c"*Arena\00" -@tn.str.126 = private constant [6 x i8] c"[*]u8\00" -@tn.str.127 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.128 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.129 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.130 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.131 = private constant [9 x i8] c"OpenMode\00" -@tn.str.132 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.133 = private constant [5 x i8] c"File\00" -@tn.str.134 = private constant [6 x i8] c"*File\00" -@tn.str.135 = private constant [6 x i8] c"?File\00" -@tn.str.136 = private constant [8 x i8] c"?string\00" -@tn.str.137 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.138 = private constant [4 x i8] c"*u8\00" -@tn.str.139 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.140 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.141 = private constant [5 x i8] c"*i32\00" -@tn.str.142 = private constant [9 x i8] c"SockAddr\00" -@tn.str.143 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.144 = private constant [5 x i8] c"*u32\00" -@tn.str.145 = private constant [10 x i8] c"JsonError\00" -@tn.str.146 = private constant [6 x i8] c"Array\00" -@tn.str.147 = private constant [7 x i8] c"Object\00" -@tn.str.148 = private constant [6 x i8] c"Value\00" -@tn.str.149 = private constant [7 x i8] c"Member\00" -@tn.str.150 = private constant [9 x i8] c"[*]Value\00" -@tn.str.151 = private constant [7 x i8] c"*Array\00" -@tn.str.152 = private constant [10 x i8] c"[*]Member\00" -@tn.str.153 = private constant [8 x i8] c"*Object\00" -@tn.str.154 = private constant [5 x i8] c"[]u8\00" -@tn.str.155 = private constant [5 x i8] c"Sink\00" -@tn.str.156 = private constant [6 x i8] c"*Sink\00" -@tn.str.157 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.158 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.159 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.160 = private constant [7 x i8] c"Parser\00" -@tn.str.161 = private constant [8 x i8] c"*Parser\00" -@tn.str.162 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.163 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.164 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.165 = private constant [13 x i8] c"Architecture\00" -@tn.str.166 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.167 = private constant [11 x i8] c"() -> bool\00" -@tn.str.168 = private constant [5 x i8] c"*i64\00" -@tn.str.169 = private constant [9 x i8] c"CliError\00" -@tn.str.170 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.171 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.172 = private constant [8 x i8] c"Command\00" -@tn.str.173 = private constant [10 x i8] c"FlagValue\00" -@tn.str.174 = private constant [5 x i8] c"Diag\00" -@tn.str.175 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.176 = private constant [7 x i8] c"Parsed\00" -@tn.str.177 = private constant [8 x i8] c"*Parsed\00" -@tn.str.178 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.179 = private constant [10 x i8] c"[]Command\00" -@tn.str.180 = private constant [6 x i8] c"*Diag\00" -@tn.str.181 = private constant [7 x i8] c"[8]i64\00" -@tn.str.182 = private constant [7 x i8] c"[64]u8\00" -@tn.str.183 = private constant [7 x i8] c"Sha256\00" -@tn.str.184 = private constant [8 x i8] c"*Sha256\00" -@tn.str.185 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.186 = private constant [8 x i8] c"[64]i64\00" -@tn.str.187 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.188 = private constant [7 x i8] c"**void\00" -@tn.str.189 = private constant [5 x i8] c"*f32\00" -@tn.str.190 = private constant [8 x i8] c"*string\00" -@tn.str.191 = private constant [6 x i8] c"[]Any\00" -@tn.str.192 = private constant [5 x i8] c"*Any\00" -@tn.str.193 = private constant [7 x i8] c"[1]Any\00" -@tn.str.194 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.195 = private constant [7 x i8] c"*[]Any\00" -@tn.str.196 = private constant [6 x i8] c"*bool\00" -@tn.str.197 = private constant [6 x i8] c"**f32\00" -@tn.str.198 = private constant [10 x i8] c"*Lerpable\00" -@tn.str.199 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.200 = private constant [5 x i8] c"*f64\00" -@tn.str.201 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.202 = private constant [11 x i8] c"*Allocator\00" -@tn.str.203 = private constant [9 x i8] c"*Context\00" -@tn.str.204 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.205 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.206 = private constant [8 x i8] c"*Member\00" -@tn.str.207 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.208 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.209 = private constant [9 x i8] c"*Command\00" -@tn.str.210 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.211 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.212 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.213 = private constant [7 x i8] c"*Value\00" -@tn.str.214 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.215 = private constant [14 x i8] c"*Architecture\00" -@tn.str.216 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.217 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.218 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.219 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.220 = private constant [10 x i8] c"*[]string\00" -@tn.str.221 = private constant [6 x i8] c"*[]u8\00" -@tn.str.222 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.223 = private constant [11 x i8] c"*[]Command\00" -@tn.str.224 = private constant [6 x i8] c"**GPA\00" -@tn.str.225 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.226 = private constant [8 x i8] c"**Arena\00" -@tn.str.227 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.228 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.229 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.230 = private constant [7 x i8] c"**File\00" -@tn.str.231 = private constant [5 x i8] c"**u8\00" -@tn.str.232 = private constant [6 x i8] c"**i32\00" -@tn.str.233 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.234 = private constant [6 x i8] c"**u32\00" -@tn.str.235 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.236 = private constant [8 x i8] c"**Array\00" -@tn.str.237 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.238 = private constant [9 x i8] c"**Object\00" -@tn.str.239 = private constant [7 x i8] c"**Sink\00" -@tn.str.240 = private constant [9 x i8] c"**Parser\00" -@tn.str.241 = private constant [6 x i8] c"**i64\00" -@tn.str.242 = private constant [9 x i8] c"**Parsed\00" -@tn.str.243 = private constant [7 x i8] c"**Diag\00" -@tn.str.244 = private constant [9 x i8] c"**Sha256\00" -@tn.str.245 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.246 = private constant [8 x i8] c"***void\00" -@tn.str.247 = private constant [9 x i8] c"**string\00" -@tn.str.248 = private constant [6 x i8] c"**Any\00" -@tn.str.249 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.250 = private constant [8 x i8] c"**[]Any\00" -@tn.str.251 = private constant [7 x i8] c"**bool\00" -@tn.str.252 = private constant [7 x i8] c"***f32\00" -@tn.str.253 = private constant [11 x i8] c"**Lerpable\00" -@tn.str.254 = private constant [7 x i8] c"*?File\00" -@tn.str.255 = private constant [9 x i8] c"*?string\00" -@tn.str.256 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.257 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [165 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 8 }, { ptr, i64 } { ptr @tn.str.113, i64 15 }, { ptr, i64 } { ptr @tn.str.114, i64 9 }, { ptr, i64 } { ptr @tn.str.115, i64 7 }, { ptr, i64 } { ptr @tn.str.116, i64 6 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 10 }, { ptr, i64 } { ptr @tn.str.119, i64 11 }, { ptr, i64 } { ptr @tn.str.120, i64 3 }, { ptr, i64 } { ptr @tn.str.121, i64 4 }, { ptr, i64 } { ptr @tn.str.122, i64 10 }, { ptr, i64 } { ptr @tn.str.123, i64 11 }, { ptr, i64 } { ptr @tn.str.124, i64 5 }, { ptr, i64 } { ptr @tn.str.125, i64 6 }, { ptr, i64 } { ptr @tn.str.126, i64 5 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 9 }, { ptr, i64 } { ptr @tn.str.129, i64 17 }, { ptr, i64 } { ptr @tn.str.130, i64 18 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 8 }, { ptr, i64 } { ptr @tn.str.133, i64 4 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 7 }, { ptr, i64 } { ptr @tn.str.137, i64 10 }, { ptr, i64 } { ptr @tn.str.138, i64 3 }, { ptr, i64 } { ptr @tn.str.139, i64 13 }, { ptr, i64 } { ptr @tn.str.140, i64 14 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 9 }, { ptr, i64 } { ptr @tn.str.144, i64 4 }, { ptr, i64 } { ptr @tn.str.145, i64 9 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 6 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 6 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 6 }, { ptr, i64 } { ptr @tn.str.152, i64 9 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 5 }, { ptr, i64 } { ptr @tn.str.157, i64 16 }, { ptr, i64 } { ptr @tn.str.158, i64 14 }, { ptr, i64 } { ptr @tn.str.159, i64 21 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 7 }, { ptr, i64 } { ptr @tn.str.162, i64 24 }, { ptr, i64 } { ptr @tn.str.163, i64 23 }, { ptr, i64 } { ptr @tn.str.164, i64 15 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 12 }, { ptr, i64 } { ptr @tn.str.167, i64 10 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 8 }, { ptr, i64 } { ptr @tn.str.171, i64 10 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 9 }, { ptr, i64 } { ptr @tn.str.174, i64 4 }, { ptr, i64 } { ptr @tn.str.175, i64 13 }, { ptr, i64 } { ptr @tn.str.176, i64 6 }, { ptr, i64 } { ptr @tn.str.177, i64 7 }, { ptr, i64 } { ptr @tn.str.178, i64 18 }, { ptr, i64 } { ptr @tn.str.179, i64 9 }, { ptr, i64 } { ptr @tn.str.180, i64 5 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 12 }, { ptr, i64 } { ptr @tn.str.188, i64 6 }, { ptr, i64 } { ptr @tn.str.189, i64 4 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 5 }, { ptr, i64 } { ptr @tn.str.192, i64 4 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 7 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 5 }, { ptr, i64 } { ptr @tn.str.197, i64 5 }, { ptr, i64 } { ptr @tn.str.198, i64 9 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 4 }, { ptr, i64 } { ptr @tn.str.201, i64 16 }, { ptr, i64 } { ptr @tn.str.202, i64 10 }, { ptr, i64 } { ptr @tn.str.203, i64 8 }, { ptr, i64 } { ptr @tn.str.204, i64 11 }, { ptr, i64 } { ptr @tn.str.205, i64 14 }, { ptr, i64 } { ptr @tn.str.206, i64 7 }, { ptr, i64 } { ptr @tn.str.207, i64 13 }, { ptr, i64 } { ptr @tn.str.208, i64 9 }, { ptr, i64 } { ptr @tn.str.209, i64 8 }, { ptr, i64 } { ptr @tn.str.210, i64 10 }, { ptr, i64 } { ptr @tn.str.211, i64 9 }, { ptr, i64 } { ptr @tn.str.212, i64 9 }, { ptr, i64 } { ptr @tn.str.213, i64 6 }, { ptr, i64 } { ptr @tn.str.214, i64 16 }, { ptr, i64 } { ptr @tn.str.215, i64 13 }, { ptr, i64 } { ptr @tn.str.216, i64 14 }, { ptr, i64 } { ptr @tn.str.217, i64 7 }, { ptr, i64 } { ptr @tn.str.218, i64 7 }, { ptr, i64 } { ptr @tn.str.219, i64 8 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 5 }, { ptr, i64 } { ptr @tn.str.222, i64 11 }, { ptr, i64 } { ptr @tn.str.223, i64 10 }, { ptr, i64 } { ptr @tn.str.224, i64 5 }, { ptr, i64 } { ptr @tn.str.225, i64 12 }, { ptr, i64 } { ptr @tn.str.226, i64 7 }, { ptr, i64 } { ptr @tn.str.227, i64 6 }, { ptr, i64 } { ptr @tn.str.228, i64 10 }, { ptr, i64 } { ptr @tn.str.229, i64 19 }, { ptr, i64 } { ptr @tn.str.230, i64 6 }, { ptr, i64 } { ptr @tn.str.231, i64 4 }, { ptr, i64 } { ptr @tn.str.232, i64 5 }, { ptr, i64 } { ptr @tn.str.233, i64 10 }, { ptr, i64 } { ptr @tn.str.234, i64 5 }, { ptr, i64 } { ptr @tn.str.235, i64 9 }, { ptr, i64 } { ptr @tn.str.236, i64 7 }, { ptr, i64 } { ptr @tn.str.237, i64 10 }, { ptr, i64 } { ptr @tn.str.238, i64 8 }, { ptr, i64 } { ptr @tn.str.239, i64 6 }, { ptr, i64 } { ptr @tn.str.240, i64 8 }, { ptr, i64 } { ptr @tn.str.241, i64 5 }, { ptr, i64 } { ptr @tn.str.242, i64 8 }, { ptr, i64 } { ptr @tn.str.243, i64 6 }, { ptr, i64 } { ptr @tn.str.244, i64 8 }, { ptr, i64 } { ptr @tn.str.245, i64 13 }, { ptr, i64 } { ptr @tn.str.246, i64 7 }, { ptr, i64 } { ptr @tn.str.247, i64 8 }, { ptr, i64 } { ptr @tn.str.248, i64 5 }, { ptr, i64 } { ptr @tn.str.249, i64 8 }, { ptr, i64 } { ptr @tn.str.250, i64 7 }, { ptr, i64 } { ptr @tn.str.251, i64 6 }, { ptr, i64 } { ptr @tn.str.252, i64 6 }, { ptr, i64 } { ptr @tn.str.253, i64 10 }, { ptr, i64 } { ptr @tn.str.254, i64 6 }, { ptr, i64 } { ptr @tn.str.255, i64 8 }, { ptr, i64 } { ptr @tn.str.256, i64 15 }, { ptr, i64 } { ptr @tn.str.257, i64 8 }] -@str.258 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.259 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.260 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@tn.str.111 = private constant [8 x i8] c"cstring\00" +@tn.str.112 = private constant [6 x i8] c"*void\00" +@tn.str.113 = private constant [9 x i8] c"Lerpable\00" +@tn.str.114 = private constant [16 x i8] c"Source_Location\00" +@tn.str.115 = private constant [10 x i8] c"Allocator\00" +@tn.str.116 = private constant [8 x i8] c"Context\00" +@tn.str.117 = private constant [7 x i8] c"[4]i64\00" +@tn.str.118 = private constant [9 x i8] c"[]string\00" +@tn.str.119 = private constant [11 x i8] c"CAllocator\00" +@tn.str.120 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.121 = private constant [4 x i8] c"GPA\00" +@tn.str.122 = private constant [5 x i8] c"*GPA\00" +@tn.str.123 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.124 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.125 = private constant [6 x i8] c"Arena\00" +@tn.str.126 = private constant [7 x i8] c"*Arena\00" +@tn.str.127 = private constant [6 x i8] c"[*]u8\00" +@tn.str.128 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.129 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.130 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.131 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.132 = private constant [9 x i8] c"OpenMode\00" +@tn.str.133 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.134 = private constant [5 x i8] c"File\00" +@tn.str.135 = private constant [6 x i8] c"*File\00" +@tn.str.136 = private constant [6 x i8] c"?File\00" +@tn.str.137 = private constant [8 x i8] c"?string\00" +@tn.str.138 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.139 = private constant [9 x i8] c"?cstring\00" +@tn.str.140 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.141 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.142 = private constant [5 x i8] c"*i32\00" +@tn.str.143 = private constant [9 x i8] c"SockAddr\00" +@tn.str.144 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.145 = private constant [5 x i8] c"*u32\00" +@tn.str.146 = private constant [10 x i8] c"JsonError\00" +@tn.str.147 = private constant [6 x i8] c"Array\00" +@tn.str.148 = private constant [7 x i8] c"Object\00" +@tn.str.149 = private constant [6 x i8] c"Value\00" +@tn.str.150 = private constant [7 x i8] c"Member\00" +@tn.str.151 = private constant [9 x i8] c"[*]Value\00" +@tn.str.152 = private constant [7 x i8] c"*Array\00" +@tn.str.153 = private constant [10 x i8] c"[*]Member\00" +@tn.str.154 = private constant [8 x i8] c"*Object\00" +@tn.str.155 = private constant [5 x i8] c"[]u8\00" +@tn.str.156 = private constant [5 x i8] c"Sink\00" +@tn.str.157 = private constant [6 x i8] c"*Sink\00" +@tn.str.158 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.159 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.160 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.161 = private constant [7 x i8] c"Parser\00" +@tn.str.162 = private constant [8 x i8] c"*Parser\00" +@tn.str.163 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.164 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.165 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.166 = private constant [13 x i8] c"Architecture\00" +@tn.str.167 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.168 = private constant [11 x i8] c"() -> bool\00" +@tn.str.169 = private constant [5 x i8] c"*i64\00" +@tn.str.170 = private constant [9 x i8] c"CliError\00" +@tn.str.171 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.172 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.173 = private constant [8 x i8] c"Command\00" +@tn.str.174 = private constant [10 x i8] c"FlagValue\00" +@tn.str.175 = private constant [5 x i8] c"Diag\00" +@tn.str.176 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.177 = private constant [7 x i8] c"Parsed\00" +@tn.str.178 = private constant [8 x i8] c"*Parsed\00" +@tn.str.179 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.180 = private constant [10 x i8] c"[]Command\00" +@tn.str.181 = private constant [6 x i8] c"*Diag\00" +@tn.str.182 = private constant [7 x i8] c"[8]i64\00" +@tn.str.183 = private constant [7 x i8] c"[64]u8\00" +@tn.str.184 = private constant [7 x i8] c"Sha256\00" +@tn.str.185 = private constant [8 x i8] c"*Sha256\00" +@tn.str.186 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.187 = private constant [8 x i8] c"[64]i64\00" +@tn.str.188 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.189 = private constant [7 x i8] c"**void\00" +@tn.str.190 = private constant [5 x i8] c"*f32\00" +@tn.str.191 = private constant [8 x i8] c"*string\00" +@tn.str.192 = private constant [6 x i8] c"[]Any\00" +@tn.str.193 = private constant [5 x i8] c"*Any\00" +@tn.str.194 = private constant [7 x i8] c"[1]Any\00" +@tn.str.195 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.196 = private constant [7 x i8] c"*[]Any\00" +@tn.str.197 = private constant [4 x i8] c"*u8\00" +@tn.str.198 = private constant [6 x i8] c"*bool\00" +@tn.str.199 = private constant [6 x i8] c"**f32\00" +@tn.str.200 = private constant [10 x i8] c"*Lerpable\00" +@tn.str.201 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.202 = private constant [5 x i8] c"*f64\00" +@tn.str.203 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.204 = private constant [11 x i8] c"*Allocator\00" +@tn.str.205 = private constant [9 x i8] c"*Context\00" +@tn.str.206 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.207 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.208 = private constant [8 x i8] c"*Member\00" +@tn.str.209 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.210 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.211 = private constant [9 x i8] c"*Command\00" +@tn.str.212 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.213 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.214 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.215 = private constant [7 x i8] c"*Value\00" +@tn.str.216 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.217 = private constant [14 x i8] c"*Architecture\00" +@tn.str.218 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.219 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.220 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.221 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.222 = private constant [10 x i8] c"*[]string\00" +@tn.str.223 = private constant [6 x i8] c"*[]u8\00" +@tn.str.224 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.225 = private constant [11 x i8] c"*[]Command\00" +@tn.str.226 = private constant [6 x i8] c"**GPA\00" +@tn.str.227 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.228 = private constant [8 x i8] c"**Arena\00" +@tn.str.229 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.230 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.231 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.232 = private constant [7 x i8] c"**File\00" +@tn.str.233 = private constant [6 x i8] c"**i32\00" +@tn.str.234 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.235 = private constant [6 x i8] c"**u32\00" +@tn.str.236 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.237 = private constant [8 x i8] c"**Array\00" +@tn.str.238 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.239 = private constant [9 x i8] c"**Object\00" +@tn.str.240 = private constant [7 x i8] c"**Sink\00" +@tn.str.241 = private constant [9 x i8] c"**Parser\00" +@tn.str.242 = private constant [6 x i8] c"**i64\00" +@tn.str.243 = private constant [9 x i8] c"**Parsed\00" +@tn.str.244 = private constant [7 x i8] c"**Diag\00" +@tn.str.245 = private constant [9 x i8] c"**Sha256\00" +@tn.str.246 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.247 = private constant [8 x i8] c"***void\00" +@tn.str.248 = private constant [9 x i8] c"**string\00" +@tn.str.249 = private constant [6 x i8] c"**Any\00" +@tn.str.250 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.251 = private constant [8 x i8] c"**[]Any\00" +@tn.str.252 = private constant [5 x i8] c"**u8\00" +@tn.str.253 = private constant [7 x i8] c"**bool\00" +@tn.str.254 = private constant [7 x i8] c"***f32\00" +@tn.str.255 = private constant [11 x i8] c"**Lerpable\00" +@tn.str.256 = private constant [7 x i8] c"*?File\00" +@tn.str.257 = private constant [9 x i8] c"*?string\00" +@tn.str.258 = private constant [10 x i8] c"*?cstring\00" +@tn.str.259 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.260 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [168 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 7 }, { ptr, i64 } { ptr @tn.str.112, i64 5 }, { ptr, i64 } { ptr @tn.str.113, i64 8 }, { ptr, i64 } { ptr @tn.str.114, i64 15 }, { ptr, i64 } { ptr @tn.str.115, i64 9 }, { ptr, i64 } { ptr @tn.str.116, i64 7 }, { ptr, i64 } { ptr @tn.str.117, i64 6 }, { ptr, i64 } { ptr @tn.str.118, i64 8 }, { ptr, i64 } { ptr @tn.str.119, i64 10 }, { ptr, i64 } { ptr @tn.str.120, i64 11 }, { ptr, i64 } { ptr @tn.str.121, i64 3 }, { ptr, i64 } { ptr @tn.str.122, i64 4 }, { ptr, i64 } { ptr @tn.str.123, i64 10 }, { ptr, i64 } { ptr @tn.str.124, i64 11 }, { ptr, i64 } { ptr @tn.str.125, i64 5 }, { ptr, i64 } { ptr @tn.str.126, i64 6 }, { ptr, i64 } { ptr @tn.str.127, i64 5 }, { ptr, i64 } { ptr @tn.str.128, i64 8 }, { ptr, i64 } { ptr @tn.str.129, i64 9 }, { ptr, i64 } { ptr @tn.str.130, i64 17 }, { ptr, i64 } { ptr @tn.str.131, i64 18 }, { ptr, i64 } { ptr @tn.str.132, i64 8 }, { ptr, i64 } { ptr @tn.str.133, i64 8 }, { ptr, i64 } { ptr @tn.str.134, i64 4 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 7 }, { ptr, i64 } { ptr @tn.str.138, i64 10 }, { ptr, i64 } { ptr @tn.str.139, i64 8 }, { ptr, i64 } { ptr @tn.str.140, i64 13 }, { ptr, i64 } { ptr @tn.str.141, i64 14 }, { ptr, i64 } { ptr @tn.str.142, i64 4 }, { ptr, i64 } { ptr @tn.str.143, i64 8 }, { ptr, i64 } { ptr @tn.str.144, i64 9 }, { ptr, i64 } { ptr @tn.str.145, i64 4 }, { ptr, i64 } { ptr @tn.str.146, i64 9 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 6 }, { ptr, i64 } { ptr @tn.str.149, i64 5 }, { ptr, i64 } { ptr @tn.str.150, i64 6 }, { ptr, i64 } { ptr @tn.str.151, i64 8 }, { ptr, i64 } { ptr @tn.str.152, i64 6 }, { ptr, i64 } { ptr @tn.str.153, i64 9 }, { ptr, i64 } { ptr @tn.str.154, i64 7 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 4 }, { ptr, i64 } { ptr @tn.str.157, i64 5 }, { ptr, i64 } { ptr @tn.str.158, i64 16 }, { ptr, i64 } { ptr @tn.str.159, i64 14 }, { ptr, i64 } { ptr @tn.str.160, i64 21 }, { ptr, i64 } { ptr @tn.str.161, i64 6 }, { ptr, i64 } { ptr @tn.str.162, i64 7 }, { ptr, i64 } { ptr @tn.str.163, i64 24 }, { ptr, i64 } { ptr @tn.str.164, i64 23 }, { ptr, i64 } { ptr @tn.str.165, i64 15 }, { ptr, i64 } { ptr @tn.str.166, i64 12 }, { ptr, i64 } { ptr @tn.str.167, i64 12 }, { ptr, i64 } { ptr @tn.str.168, i64 10 }, { ptr, i64 } { ptr @tn.str.169, i64 4 }, { ptr, i64 } { ptr @tn.str.170, i64 8 }, { ptr, i64 } { ptr @tn.str.171, i64 8 }, { ptr, i64 } { ptr @tn.str.172, i64 10 }, { ptr, i64 } { ptr @tn.str.173, i64 7 }, { ptr, i64 } { ptr @tn.str.174, i64 9 }, { ptr, i64 } { ptr @tn.str.175, i64 4 }, { ptr, i64 } { ptr @tn.str.176, i64 13 }, { ptr, i64 } { ptr @tn.str.177, i64 6 }, { ptr, i64 } { ptr @tn.str.178, i64 7 }, { ptr, i64 } { ptr @tn.str.179, i64 18 }, { ptr, i64 } { ptr @tn.str.180, i64 9 }, { ptr, i64 } { ptr @tn.str.181, i64 5 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 6 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 7 }, { ptr, i64 } { ptr @tn.str.188, i64 12 }, { ptr, i64 } { ptr @tn.str.189, i64 6 }, { ptr, i64 } { ptr @tn.str.190, i64 4 }, { ptr, i64 } { ptr @tn.str.191, i64 7 }, { ptr, i64 } { ptr @tn.str.192, i64 5 }, { ptr, i64 } { ptr @tn.str.193, i64 4 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 3 }, { ptr, i64 } { ptr @tn.str.198, i64 5 }, { ptr, i64 } { ptr @tn.str.199, i64 5 }, { 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 16 }, { ptr, i64 } { ptr @tn.str.204, i64 10 }, { ptr, i64 } { ptr @tn.str.205, i64 8 }, { ptr, i64 } { ptr @tn.str.206, i64 11 }, { ptr, i64 } { ptr @tn.str.207, i64 14 }, { ptr, i64 } { ptr @tn.str.208, i64 7 }, { ptr, i64 } { ptr @tn.str.209, i64 13 }, { ptr, i64 } { ptr @tn.str.210, i64 9 }, { ptr, i64 } { ptr @tn.str.211, i64 8 }, { ptr, i64 } { ptr @tn.str.212, i64 10 }, { ptr, i64 } { ptr @tn.str.213, i64 9 }, { ptr, i64 } { ptr @tn.str.214, i64 9 }, { ptr, i64 } { ptr @tn.str.215, i64 6 }, { ptr, i64 } { ptr @tn.str.216, i64 16 }, { ptr, i64 } { ptr @tn.str.217, i64 13 }, { ptr, i64 } { ptr @tn.str.218, i64 14 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 7 }, { ptr, i64 } { ptr @tn.str.221, i64 8 }, { ptr, i64 } { ptr @tn.str.222, i64 9 }, { ptr, i64 } { ptr @tn.str.223, i64 5 }, { ptr, i64 } { ptr @tn.str.224, i64 11 }, { ptr, i64 } { ptr @tn.str.225, i64 10 }, { ptr, i64 } { ptr @tn.str.226, i64 5 }, { ptr, i64 } { ptr @tn.str.227, i64 12 }, { ptr, i64 } { ptr @tn.str.228, i64 7 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 10 }, { ptr, i64 } { ptr @tn.str.231, i64 19 }, { ptr, i64 } { ptr @tn.str.232, i64 6 }, { ptr, i64 } { ptr @tn.str.233, i64 5 }, { ptr, i64 } { ptr @tn.str.234, i64 10 }, { ptr, i64 } { ptr @tn.str.235, i64 5 }, { ptr, i64 } { ptr @tn.str.236, i64 9 }, { ptr, i64 } { ptr @tn.str.237, i64 7 }, { ptr, i64 } { ptr @tn.str.238, i64 10 }, { ptr, i64 } { ptr @tn.str.239, i64 8 }, { ptr, i64 } { ptr @tn.str.240, i64 6 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 5 }, { ptr, i64 } { ptr @tn.str.243, i64 8 }, { ptr, i64 } { ptr @tn.str.244, i64 6 }, { ptr, i64 } { ptr @tn.str.245, i64 8 }, { ptr, i64 } { ptr @tn.str.246, i64 13 }, { ptr, i64 } { ptr @tn.str.247, i64 7 }, { ptr, i64 } { ptr @tn.str.248, i64 8 }, { ptr, i64 } { ptr @tn.str.249, i64 5 }, { ptr, i64 } { ptr @tn.str.250, i64 8 }, { ptr, i64 } { ptr @tn.str.251, i64 7 }, { ptr, i64 } { ptr @tn.str.252, i64 4 }, { ptr, i64 } { ptr @tn.str.253, i64 6 }, { ptr, i64 } { ptr @tn.str.254, i64 6 }, { ptr, i64 } { ptr @tn.str.255, i64 10 }, { ptr, i64 } { ptr @tn.str.256, i64 6 }, { ptr, i64 } { ptr @tn.str.257, i64 8 }, { ptr, i64 } { ptr @tn.str.258, i64 9 }, { ptr, i64 } { ptr @tn.str.259, i64 15 }, { ptr, i64 } { ptr @tn.str.260, i64 8 }] @str.261 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.262 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.263 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.264 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.265 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.266 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.267 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.268 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.269 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.270 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.271 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.272 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.264 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.265 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.266 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.267 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.268 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.269 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.270 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.271 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.272 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.273 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.274 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.275 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @str.276 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.277 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.278 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.279 = private unnamed_addr constant [23 x i8] c"lerp(0, 10, 0.5) = {}\0A\00", align 1 -@str.280 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.281 = private unnamed_addr constant [23 x i8] c"lerp(0, 10, 0.5) = {}\0A\00", align 1 -@str.282 = private unnamed_addr constant [24 x i8] c"lerp(0, 10, 0.25) = {}\0A\00", align 1 +@str.279 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.280 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.281 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.282 = private unnamed_addr constant [23 x i8] c"lerp(0, 10, 0.5) = {}\0A\00", align 1 @str.283 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.284 = private unnamed_addr constant [24 x i8] c"lerp(0, 10, 0.25) = {}\0A\00", align 1 -@str.285 = private unnamed_addr constant [9 x i8] c"Lerpable\00", align 1 -@str.286 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.287 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.288 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.284 = private unnamed_addr constant [23 x i8] c"lerp(0, 10, 0.5) = {}\0A\00", align 1 +@str.285 = private unnamed_addr constant [24 x i8] c"lerp(0, 10, 0.25) = {}\0A\00", align 1 +@str.286 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.287 = private unnamed_addr constant [24 x i8] c"lerp(0, 10, 0.25) = {}\0A\00", align 1 +@str.288 = private unnamed_addr constant [9 x i8] c"Lerpable\00", align 1 +@str.289 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.290 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.291 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [4 x i8] c"ctx\00" -@fld.str.289 = 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.289, i64 4 }] -@str.290 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.291 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.292 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.293 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.294 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.295 = private constant [5 x i8] c"file\00" -@fld.str.296 = private constant [5 x i8] c"line\00" -@fld.str.297 = private constant [4 x i8] c"col\00" -@fld.str.298 = private constant [5 x i8] c"func\00" -@field_names.299 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.295, i64 4 }, { ptr, i64 } { ptr @fld.str.296, i64 4 }, { ptr, i64 } { ptr @fld.str.297, i64 3 }, { ptr, i64 } { ptr @fld.str.298, i64 4 }] -@str.300 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.301 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.302 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.303 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.304 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.305 = private constant [4 x i8] c"ctx\00" -@fld.str.306 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.307 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.308 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.305, i64 3 }, { ptr, i64 } { ptr @fld.str.306, i64 11 }, { ptr, i64 } { ptr @fld.str.307, i64 13 }] -@str.309 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.310 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.311 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.312 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.313 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.314 = private constant [10 x i8] c"allocator\00" -@fld.str.315 = private constant [5 x i8] c"data\00" -@field_names.316 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.314, i64 9 }, { ptr, i64 } { ptr @fld.str.315, i64 4 }] -@str.317 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.318 = private unnamed_addr constant [11 x i8] c"CAllocator\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 -@field_names.322 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.323 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.324 = private unnamed_addr constant [4 x i8] c"GPA\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.327 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.328 = private constant [12 x i8] c"alloc_count\00" -@field_names.329 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.328, i64 11 }] -@str.330 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.331 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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"}\00", align 1 -@str.334 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.335 = private constant [5 x i8] c"next\00" -@fld.str.336 = private constant [4 x i8] c"cap\00" -@field_names.337 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.335, i64 4 }, { ptr, i64 } { ptr @fld.str.336, i64 3 }] -@str.338 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.339 = private unnamed_addr constant [6 x i8] c"Arena\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.343 = private constant [6 x i8] c"first\00" -@fld.str.344 = private constant [10 x i8] c"end_index\00" -@fld.str.345 = private constant [7 x i8] c"parent\00" -@field_names.346 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.343, i64 5 }, { ptr, i64 } { ptr @fld.str.344, i64 9 }, { ptr, i64 } { ptr @fld.str.345, i64 6 }] -@str.347 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.348 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" -@fld.str.353 = private constant [4 x i8] c"len\00" -@fld.str.354 = private constant [4 x i8] c"pos\00" -@field_names.355 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.352, i64 3 }, { ptr, i64 } { ptr @fld.str.353, i64 3 }, { ptr, i64 } { ptr @fld.str.354, i64 3 }] -@str.356 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.357 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" -@fld.str.362 = private constant [12 x i8] c"alloc_count\00" -@fld.str.363 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.364 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.365 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.361, i64 6 }, { ptr, i64 } { ptr @fld.str.362, i64 11 }, { ptr, i64 } { ptr @fld.str.363, i64 13 }, { ptr, i64 } { ptr @fld.str.364, i64 17 }] -@str.366 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.367 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" -@field_names.372 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.371, i64 2 }] -@str.373 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.374 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" -@fld.str.379 = private constant [5 x i8] c"line\00" -@fld.str.380 = private constant [4 x i8] c"col\00" -@fld.str.381 = private constant [5 x i8] c"func\00" -@fld.str.382 = private constant [10 x i8] c"line_text\00" -@field_names.383 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.378, i64 4 }, { ptr, i64 } { ptr @fld.str.379, i64 4 }, { ptr, i64 } { ptr @fld.str.380, i64 3 }, { ptr, i64 } { ptr @fld.str.381, i64 4 }, { ptr, i64 } { ptr @fld.str.382, i64 9 }] -@str.384 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.385 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" -@fld.str.390 = private constant [7 x i8] c"stdout\00" -@field_names.391 = private constant [2 x { ptr, i64 }] [{ 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"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.398 = private constant [11 x i8] c"sin_family\00" -@fld.str.399 = private constant [9 x i8] c"sin_port\00" -@fld.str.400 = private constant [9 x i8] c"sin_addr\00" -@fld.str.401 = private constant [9 x i8] c"sin_zero\00" -@field_names.402 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.397, i64 7 }, { ptr, i64 } { ptr @fld.str.398, i64 10 }, { ptr, i64 } { ptr @fld.str.399, i64 8 }, { ptr, i64 } { ptr @fld.str.400, i64 8 }, { ptr, i64 } { ptr @fld.str.401, i64 8 }] -@str.403 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.404 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" -@fld.str.409 = private constant [4 x i8] c"len\00" -@fld.str.410 = private constant [4 x i8] c"cap\00" -@field_names.411 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.408, i64 5 }, { ptr, i64 } { ptr @fld.str.409, i64 3 }, { ptr, i64 } { ptr @fld.str.410, i64 3 }] -@str.412 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.413 = private unnamed_addr constant [7 x i8] c"Object\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 [6 x i8] c"items\00" -@fld.str.418 = private constant [4 x i8] c"len\00" -@fld.str.419 = private constant [4 x i8] c"cap\00" -@field_names.420 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.417, i64 5 }, { ptr, i64 } { ptr @fld.str.418, i64 3 }, { ptr, i64 } { ptr @fld.str.419, i64 3 }] -@str.421 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.422 = private unnamed_addr constant [7 x i8] c"Member\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 [4 x i8] c"key\00" -@fld.str.427 = private constant [4 x i8] c"val\00" -@field_names.428 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.426, i64 3 }, { ptr, i64 } { ptr @fld.str.427, i64 3 }] -@str.429 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.430 = private unnamed_addr constant [5 x i8] c"Sink\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 [4 x i8] c"dst\00" -@fld.str.435 = private constant [4 x i8] c"pos\00" -@fld.str.436 = private constant [5 x i8] c"file\00" -@field_names.437 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.434, i64 3 }, { ptr, i64 } { ptr @fld.str.435, i64 3 }, { ptr, i64 } { ptr @fld.str.436, i64 4 }] -@str.438 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.439 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" -@fld.str.444 = private constant [4 x i8] c"pos\00" -@fld.str.445 = private constant [6 x i8] c"alloc\00" -@field_names.446 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.443, i64 3 }, { ptr, i64 } { ptr @fld.str.444, i64 3 }, { ptr, i64 } { ptr @fld.str.445, i64 5 }] -@str.447 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.448 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.452 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.453 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.454 = private unnamed_addr constant [9 x i8] c"FlagSpec\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"name\00" -@fld.str.459 = private constant [12 x i8] c"takes_value\00" -@fld.str.460 = private constant [9 x i8] c"required\00" -@field_names.461 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.458, i64 4 }, { ptr, i64 } { ptr @fld.str.459, i64 11 }, { 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 [8 x i8] c"Command\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"group\00" -@fld.str.468 = private constant [8 x i8] c"command\00" -@fld.str.469 = private constant [6 x i8] c"flags\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 7 }, { 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 [10 x i8] c"FlagValue\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"set\00" -@fld.str.477 = private constant [6 x i8] c"value\00" -@field_names.478 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.476, i64 3 }, { ptr, i64 } { ptr @fld.str.477, i64 5 }] -@str.479 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.480 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" -@fld.str.485 = private constant [6 x i8] c"token\00" -@field_names.486 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.484, i64 5 }, { 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 [7 x i8] c"Parsed\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 [10 x i8] c"cmd_index\00" -@fld.str.495 = private constant [5 x i8] c"json\00" -@fld.str.496 = private constant [5 x i8] c"rest\00" -@fld.str.497 = private constant [5 x i8] c"spec\00" -@fld.str.498 = private constant [7 x i8] c"values\00" -@field_names.499 = private constant [7 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 9 }, { ptr, i64 } { ptr @fld.str.495, i64 4 }, { ptr, i64 } { ptr @fld.str.496, i64 4 }, { ptr, i64 } { ptr @fld.str.497, i64 4 }, { ptr, i64 } { ptr @fld.str.498, i64 6 }] -@str.500 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.501 = private unnamed_addr constant [7 x i8] c"Sha256\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 -@fld.str.505 = private constant [2 x i8] c"h\00" -@fld.str.506 = private constant [4 x i8] c"buf\00" -@fld.str.507 = private constant [8 x i8] c"buf_len\00" -@fld.str.508 = private constant [10 x i8] c"total_len\00" -@field_names.509 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.505, i64 1 }, { ptr, i64 } { ptr @fld.str.506, i64 3 }, { ptr, i64 } { ptr @fld.str.507, i64 7 }, { ptr, i64 } { ptr @fld.str.508, i64 9 }] -@str.510 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.511 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.512 = private constant [5 x i8] c"read\00" -@fld.str.513 = private constant [6 x i8] c"write\00" -@fld.str.514 = private constant [7 x i8] c"append\00" -@fld.str.515 = private constant [11 x i8] c"read_write\00" -@field_names.516 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.512, i64 4 }, { ptr, i64 } { ptr @fld.str.513, i64 5 }, { ptr, i64 } { ptr @fld.str.514, i64 6 }, { ptr, i64 } { ptr @fld.str.515, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.520 = private constant [4 x i8] c"set\00" -@fld.str.521 = private constant [8 x i8] c"current\00" -@fld.str.522 = private constant [4 x i8] c"end\00" -@field_names.523 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.520, i64 3 }, { ptr, i64 } { ptr @fld.str.521, i64 7 }, { ptr, i64 } { ptr @fld.str.522, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.527 = private constant [6 x i8] c"null_\00" -@fld.str.528 = private constant [6 x i8] c"bool_\00" -@fld.str.529 = private constant [5 x i8] c"int_\00" -@fld.str.530 = private constant [4 x i8] c"str\00" -@fld.str.531 = private constant [6 x i8] c"array\00" -@fld.str.532 = private constant [7 x i8] c"object\00" -@field_names.533 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.527, i64 5 }, { ptr, i64 } { ptr @fld.str.528, i64 5 }, { ptr, i64 } { ptr @fld.str.529, i64 4 }, { ptr, i64 } { ptr @fld.str.530, i64 3 }, { ptr, i64 } { ptr @fld.str.531, i64 5 }, { ptr, i64 } { ptr @fld.str.532, i64 6 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.537 = private constant [6 x i8] c"macos\00" -@fld.str.538 = private constant [6 x i8] c"linux\00" -@fld.str.539 = private constant [8 x i8] c"windows\00" -@fld.str.540 = private constant [5 x i8] c"wasm\00" -@fld.str.541 = private constant [4 x i8] c"ios\00" -@fld.str.542 = private constant [8 x i8] c"android\00" -@fld.str.543 = private constant [8 x i8] c"unknown\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 5 }, { ptr, i64 } { ptr @fld.str.539, i64 7 }, { ptr, i64 } { ptr @fld.str.540, i64 4 }, { ptr, i64 } { ptr @fld.str.541, i64 3 }, { ptr, i64 } { ptr @fld.str.542, i64 7 }, { ptr, i64 } { ptr @fld.str.543, i64 7 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.548 = private constant [8 x i8] c"aarch64\00" -@fld.str.549 = private constant [7 x i8] c"x86_64\00" -@fld.str.550 = private constant [7 x i8] c"wasm32\00" -@fld.str.551 = private constant [7 x i8] c"wasm64\00" -@fld.str.552 = private constant [8 x i8] c"unknown\00" -@field_names.553 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.548, i64 7 }, { ptr, i64 } { ptr @fld.str.549, i64 6 }, { ptr, i64 } { ptr @fld.str.550, i64 6 }, { ptr, i64 } { ptr @fld.str.551, i64 6 }, { ptr, i64 } { ptr @fld.str.552, i64 7 }] -@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 [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 +@fld.str.292 = 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.292, i64 4 }] +@str.293 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.294 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.295 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.296 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.297 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.298 = private constant [5 x i8] c"file\00" +@fld.str.299 = private constant [5 x i8] c"line\00" +@fld.str.300 = private constant [4 x i8] c"col\00" +@fld.str.301 = private constant [5 x i8] c"func\00" +@field_names.302 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.298, i64 4 }, { ptr, i64 } { ptr @fld.str.299, i64 4 }, { ptr, i64 } { ptr @fld.str.300, i64 3 }, { ptr, i64 } { ptr @fld.str.301, i64 4 }] +@str.303 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.304 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.305 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.306 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.307 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.308 = private constant [4 x i8] c"ctx\00" +@fld.str.309 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.310 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.311 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.308, i64 3 }, { ptr, i64 } { ptr @fld.str.309, i64 11 }, { ptr, i64 } { ptr @fld.str.310, i64 13 }] +@str.312 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.313 = private unnamed_addr constant [8 x i8] c"Context\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 +@fld.str.317 = private constant [10 x i8] c"allocator\00" +@fld.str.318 = private constant [5 x i8] c"data\00" +@field_names.319 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.317, i64 9 }, { ptr, i64 } { ptr @fld.str.318, i64 4 }] +@str.320 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.321 = private unnamed_addr constant [11 x i8] c"CAllocator\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 +@field_names.325 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.326 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.327 = private unnamed_addr constant [4 x i8] c"GPA\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 [12 x i8] c"alloc_count\00" +@field_names.332 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.331, i64 11 }] +@str.333 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.334 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" +@fld.str.339 = private constant [4 x i8] c"cap\00" +@field_names.340 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.338, i64 4 }, { ptr, i64 } { ptr @fld.str.339, i64 3 }] +@str.341 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.342 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" +@fld.str.347 = private constant [10 x i8] c"end_index\00" +@fld.str.348 = private constant [7 x i8] c"parent\00" +@field_names.349 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.346, i64 5 }, { ptr, i64 } { ptr @fld.str.347, i64 9 }, { ptr, i64 } { ptr @fld.str.348, i64 6 }] +@str.350 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.351 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" +@fld.str.356 = private constant [4 x i8] c"len\00" +@fld.str.357 = private constant [4 x i8] c"pos\00" +@field_names.358 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.355, i64 3 }, { ptr, i64 } { ptr @fld.str.356, i64 3 }, { ptr, i64 } { ptr @fld.str.357, i64 3 }] +@str.359 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.360 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" +@fld.str.365 = private constant [12 x i8] c"alloc_count\00" +@fld.str.366 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.367 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.368 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.364, i64 6 }, { ptr, i64 } { ptr @fld.str.365, i64 11 }, { ptr, i64 } { ptr @fld.str.366, i64 13 }, { ptr, i64 } { ptr @fld.str.367, i64 17 }] +@str.369 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.370 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" +@field_names.375 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.374, i64 2 }] +@str.376 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.377 = private unnamed_addr constant [11 x i8] c"TraceFrame\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"file\00" +@fld.str.382 = private constant [5 x i8] c"line\00" +@fld.str.383 = private constant [4 x i8] c"col\00" +@fld.str.384 = private constant [5 x i8] c"func\00" +@fld.str.385 = private constant [10 x i8] c"line_text\00" +@field_names.386 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.381, i64 4 }, { ptr, i64 } { ptr @fld.str.382, i64 4 }, { ptr, i64 } { ptr @fld.str.383, i64 3 }, { ptr, i64 } { ptr @fld.str.384, i64 4 }, { ptr, i64 } { ptr @fld.str.385, i64 9 }] +@str.387 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.388 = private unnamed_addr constant [14 x i8] c"ProcessResult\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"exit_code\00" +@fld.str.393 = private constant [7 x i8] c"stdout\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 6 }] +@str.395 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.396 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" +@fld.str.401 = private constant [11 x i8] c"sin_family\00" +@fld.str.402 = private constant [9 x i8] c"sin_port\00" +@fld.str.403 = private constant [9 x i8] c"sin_addr\00" +@fld.str.404 = private constant [9 x i8] c"sin_zero\00" +@field_names.405 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.400, i64 7 }, { ptr, i64 } { ptr @fld.str.401, i64 10 }, { ptr, i64 } { ptr @fld.str.402, i64 8 }, { ptr, i64 } { ptr @fld.str.403, i64 8 }, { ptr, i64 } { ptr @fld.str.404, i64 8 }] +@str.406 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.407 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" +@fld.str.412 = private constant [4 x i8] c"len\00" +@fld.str.413 = private constant [4 x i8] c"cap\00" +@field_names.414 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.411, i64 5 }, { 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 [7 x i8] c"Object\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 [6 x i8] c"items\00" +@fld.str.421 = private constant [4 x i8] c"len\00" +@fld.str.422 = private constant [4 x i8] c"cap\00" +@field_names.423 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.420, i64 5 }, { ptr, i64 } { ptr @fld.str.421, i64 3 }, { ptr, i64 } { ptr @fld.str.422, i64 3 }] +@str.424 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.425 = private unnamed_addr constant [7 x i8] c"Member\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 [4 x i8] c"key\00" +@fld.str.430 = private constant [4 x i8] c"val\00" +@field_names.431 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.429, i64 3 }, { ptr, i64 } { ptr @fld.str.430, i64 3 }] +@str.432 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.433 = private unnamed_addr constant [5 x i8] c"Sink\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 [4 x i8] c"dst\00" +@fld.str.438 = private constant [4 x i8] c"pos\00" +@fld.str.439 = private constant [5 x i8] c"file\00" +@field_names.440 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.437, i64 3 }, { ptr, i64 } { ptr @fld.str.438, i64 3 }, { ptr, i64 } { ptr @fld.str.439, i64 4 }] +@str.441 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.442 = private unnamed_addr constant [7 x i8] c"Parser\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"src\00" +@fld.str.447 = private constant [4 x i8] c"pos\00" +@fld.str.448 = private constant [6 x i8] c"alloc\00" +@field_names.449 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.446, i64 3 }, { ptr, i64 } { ptr @fld.str.447, i64 3 }, { ptr, i64 } { ptr @fld.str.448, i64 5 }] +@str.450 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.451 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.452 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.453 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.454 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.455 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.456 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.457 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" +@fld.str.462 = private constant [12 x i8] c"takes_value\00" +@fld.str.463 = private constant [9 x i8] c"required\00" +@field_names.464 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.461, i64 4 }, { ptr, i64 } { ptr @fld.str.462, i64 11 }, { ptr, i64 } { ptr @fld.str.463, i64 8 }] +@str.465 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.466 = private unnamed_addr constant [8 x i8] c"Command\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"group\00" +@fld.str.471 = private constant [8 x i8] c"command\00" +@fld.str.472 = private constant [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.472, i64 5 }] +@str.474 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.475 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" +@fld.str.480 = private constant [6 x i8] c"value\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 5 }] +@str.482 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.483 = private unnamed_addr constant [5 x i8] c"Diag\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"index\00" +@fld.str.488 = private constant [6 x i8] c"token\00" +@field_names.489 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.487, i64 5 }, { 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 [7 x i8] c"Parsed\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 [10 x i8] c"cmd_index\00" +@fld.str.498 = private constant [5 x i8] c"json\00" +@fld.str.499 = private constant [5 x i8] c"rest\00" +@fld.str.500 = private constant [5 x i8] c"spec\00" +@fld.str.501 = private constant [7 x i8] c"values\00" +@field_names.502 = private constant [7 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 9 }, { ptr, i64 } { ptr @fld.str.498, i64 4 }, { ptr, i64 } { ptr @fld.str.499, i64 4 }, { ptr, i64 } { ptr @fld.str.500, i64 4 }, { ptr, i64 } { ptr @fld.str.501, i64 6 }] +@str.503 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.504 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" +@fld.str.509 = private constant [4 x i8] c"buf\00" +@fld.str.510 = private constant [8 x i8] c"buf_len\00" +@fld.str.511 = private constant [10 x i8] c"total_len\00" +@field_names.512 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.508, i64 1 }, { ptr, i64 } { ptr @fld.str.509, i64 3 }, { ptr, i64 } { ptr @fld.str.510, i64 7 }, { ptr, i64 } { ptr @fld.str.511, i64 9 }] +@str.513 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.514 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.515 = private constant [5 x i8] c"read\00" +@fld.str.516 = private constant [6 x i8] c"write\00" +@fld.str.517 = private constant [7 x i8] c"append\00" +@fld.str.518 = private constant [11 x i8] c"read_write\00" +@field_names.519 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.515, i64 4 }, { ptr, i64 } { ptr @fld.str.516, i64 5 }, { ptr, i64 } { ptr @fld.str.517, i64 6 }, { ptr, i64 } { ptr @fld.str.518, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.523 = private constant [4 x i8] c"set\00" +@fld.str.524 = private constant [8 x i8] c"current\00" +@fld.str.525 = private constant [4 x i8] c"end\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 7 }, { ptr, i64 } { ptr @fld.str.525, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.530 = private constant [6 x i8] c"null_\00" +@fld.str.531 = private constant [6 x i8] c"bool_\00" +@fld.str.532 = private constant [5 x i8] c"int_\00" +@fld.str.533 = private constant [4 x i8] c"str\00" +@fld.str.534 = private constant [6 x i8] c"array\00" +@fld.str.535 = private constant [7 x i8] c"object\00" +@field_names.536 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.530, i64 5 }, { ptr, i64 } { ptr @fld.str.531, i64 5 }, { ptr, i64 } { ptr @fld.str.532, i64 4 }, { ptr, i64 } { ptr @fld.str.533, i64 3 }, { ptr, i64 } { ptr @fld.str.534, i64 5 }, { ptr, i64 } { ptr @fld.str.535, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.540 = private constant [6 x i8] c"macos\00" +@fld.str.541 = private constant [6 x i8] c"linux\00" +@fld.str.542 = private constant [8 x i8] c"windows\00" +@fld.str.543 = private constant [5 x i8] c"wasm\00" +@fld.str.544 = private constant [4 x i8] c"ios\00" +@fld.str.545 = private constant [8 x i8] c"android\00" +@fld.str.546 = private constant [8 x i8] c"unknown\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 5 }, { ptr, i64 } { ptr @fld.str.542, i64 7 }, { ptr, i64 } { ptr @fld.str.543, i64 4 }, { ptr, i64 } { ptr @fld.str.544, i64 3 }, { ptr, i64 } { ptr @fld.str.545, i64 7 }, { ptr, i64 } { ptr @fld.str.546, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.551 = private constant [8 x i8] c"aarch64\00" +@fld.str.552 = private constant [7 x i8] c"x86_64\00" +@fld.str.553 = private constant [7 x i8] c"wasm32\00" +@fld.str.554 = private constant [7 x i8] c"wasm64\00" +@fld.str.555 = private constant [8 x i8] c"unknown\00" +@field_names.556 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.551, i64 7 }, { ptr, i64 } { ptr @fld.str.552, i64 6 }, { ptr, i64 } { ptr @fld.str.553, i64 6 }, { ptr, i64 } { ptr @fld.str.554, i64 6 }, { ptr, i64 } { ptr @fld.str.555, i64 7 }] +@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 [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 @@ -522,35 +522,35 @@ @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 -@str.589 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.590 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.591 = private unnamed_addr constant [4 x i8] c"@0x\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 @str.592 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.593 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.593 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.594 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.595 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.596 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.596 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.597 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.598 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.599 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.599 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.600 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.601 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.602 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.602 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.603 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.604 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.605 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 +@str.605 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.606 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.607 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.608 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 +@str.608 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.609 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.610 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.611 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.611 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.612 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.613 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.614 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.614 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.615 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.616 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.617 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.617 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.618 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.619 = private unnamed_addr constant [5 x i8] c"null\00", align 1 @str.620 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @@ -613,18 +613,22 @@ @str.677 = private unnamed_addr constant [7 x i8] c"*[]Any\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 [6 x i8] c"*bool\00", align 1 +@str.680 = private unnamed_addr constant [4 x i8] c"*u8\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 [6 x i8] c"**f32\00", align 1 +@str.683 = private unnamed_addr constant [6 x i8] c"*bool\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 [10 x i8] c"*Lerpable\00", align 1 +@str.686 = private unnamed_addr constant [6 x i8] c"**f32\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 [5 x i8] c"null\00", align 1 -@str.690 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.689 = private unnamed_addr constant [10 x i8] c"*Lerpable\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 [5 x i8] c"null\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"null\00", align 1 +@str.695 = 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 { @@ -707,7 +711,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -758,7 +762,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -848,7 +852,7 @@ if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.66 @@ -1051,7 +1055,7 @@ if.merge.91: ; preds = %if.else.90, %if.the %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1294,7 +1298,7 @@ if.merge.378: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1366,7 +1370,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1397,7 +1401,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1412,6 +1416,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1454,88 +1467,89 @@ entry: i64 1, label %match.arm.41 i64 10, label %match.arm.42 i64 11, label %match.arm.42 - i64 19, label %match.arm.43 i64 20, label %match.arm.43 i64 21, label %match.arm.43 i64 22, label %match.arm.43 - i64 25, label %match.arm.43 - i64 27, label %match.arm.43 - i64 29, label %match.arm.43 - i64 31, label %match.arm.43 - i64 34, label %match.arm.43 - i64 36, label %match.arm.43 - i64 40, label %match.arm.43 - i64 44, label %match.arm.43 - i64 46, label %match.arm.43 - i64 49, label %match.arm.43 - i64 53, label %match.arm.43 + i64 23, label %match.arm.43 + i64 26, label %match.arm.43 + i64 28, label %match.arm.43 + i64 30, label %match.arm.43 + i64 32, label %match.arm.43 + i64 35, label %match.arm.43 + i64 37, label %match.arm.43 + i64 41, label %match.arm.43 + i64 45, label %match.arm.43 + i64 47, label %match.arm.43 + i64 50, label %match.arm.43 i64 54, label %match.arm.43 - i64 56, label %match.arm.43 - i64 62, label %match.arm.43 - i64 67, label %match.arm.43 - i64 73, label %match.arm.43 - i64 77, label %match.arm.43 - i64 79, label %match.arm.43 + i64 55, label %match.arm.43 + i64 57, label %match.arm.43 + i64 63, label %match.arm.43 + i64 68, label %match.arm.43 + i64 74, label %match.arm.43 + i64 78, label %match.arm.43 i64 80, label %match.arm.43 i64 81, label %match.arm.43 - i64 83, label %match.arm.43 - i64 90, label %match.arm.43 - i64 38, label %match.arm.44 + i64 82, label %match.arm.43 + i64 84, label %match.arm.43 + i64 91, label %match.arm.43 i64 39, label %match.arm.44 - i64 55, label %match.arm.44 - i64 71, label %match.arm.44 + i64 40, label %match.arm.44 + i64 56, label %match.arm.44 i64 72, label %match.arm.44 - i64 52, label %match.arm.45 - i64 65, label %match.arm.45 - i64 76, label %match.arm.45 - i64 23, label %match.arm.47 - i64 82, label %match.arm.47 - i64 88, label %match.arm.47 + i64 73, label %match.arm.44 + i64 53, label %match.arm.45 + i64 66, label %match.arm.45 + i64 77, label %match.arm.45 + i64 24, label %match.arm.47 + i64 83, label %match.arm.47 i64 89, label %match.arm.47 - i64 93, label %match.arm.47 - i64 100, label %match.arm.47 - i64 24, label %match.arm.48 - i64 61, label %match.arm.48 - i64 78, label %match.arm.48 - i64 86, label %match.arm.48 - i64 98, label %match.arm.48 - i64 18, label %match.arm.49 - i64 26, label %match.arm.49 - i64 28, label %match.arm.49 - i64 30, label %match.arm.49 - i64 32, label %match.arm.49 + i64 90, label %match.arm.47 + i64 94, label %match.arm.47 + i64 101, label %match.arm.47 + i64 25, label %match.arm.48 + i64 62, label %match.arm.48 + i64 79, label %match.arm.48 + i64 87, label %match.arm.48 + i64 99, label %match.arm.48 + i64 19, label %match.arm.49 + i64 27, label %match.arm.49 + i64 29, label %match.arm.49 + i64 31, label %match.arm.49 i64 33, label %match.arm.49 - i64 35, label %match.arm.49 - i64 37, label %match.arm.49 - i64 41, label %match.arm.49 - i64 45, label %match.arm.49 - i64 48, label %match.arm.49 - i64 50, label %match.arm.49 + i64 34, label %match.arm.49 + i64 36, label %match.arm.49 + i64 38, label %match.arm.49 + i64 42, label %match.arm.49 + i64 49, label %match.arm.49 i64 51, label %match.arm.49 - i64 57, label %match.arm.49 + i64 52, label %match.arm.49 i64 58, label %match.arm.49 i64 59, label %match.arm.49 i64 60, label %match.arm.49 - i64 63, label %match.arm.49 - i64 68, label %match.arm.49 - i64 75, label %match.arm.49 - i64 84, label %match.arm.49 - i64 87, label %match.arm.49 - i64 91, label %match.arm.49 - i64 94, label %match.arm.49 + i64 61, label %match.arm.49 + i64 64, label %match.arm.49 + i64 69, label %match.arm.49 + i64 76, label %match.arm.49 + i64 85, label %match.arm.49 + i64 88, label %match.arm.49 + i64 92, label %match.arm.49 i64 95, label %match.arm.49 i64 96, label %match.arm.49 i64 97, label %match.arm.49 - i64 99, label %match.arm.49 - i64 101, label %match.arm.49 + i64 98, label %match.arm.49 + i64 100, label %match.arm.49 i64 102, label %match.arm.49 i64 103, label %match.arm.49 i64 104, label %match.arm.49 i64 105, label %match.arm.49 - i64 42, label %match.arm.50 + i64 106, label %match.arm.49 + i64 107, label %match.arm.49 i64 43, label %match.arm.50 - i64 47, label %match.arm.50 - i64 92, label %match.arm.50 + i64 44, label %match.arm.50 + i64 46, label %match.arm.50 + i64 48, label %match.arm.50 + i64 93, label %match.arm.50 i64 13, label %match.arm.51 ] @@ -1553,7 +1567,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 [165 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [168 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 @@ -1586,32 +1600,32 @@ match.arm.43: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.95 [ - i64 19, label %dispatch.case.96 - i64 20, label %dispatch.case.97 - i64 21, label %dispatch.case.98 - i64 22, label %dispatch.case.99 - i64 25, label %dispatch.case.100 - i64 27, label %dispatch.case.101 - i64 29, label %dispatch.case.102 - i64 31, label %dispatch.case.103 - i64 34, label %dispatch.case.104 - i64 36, label %dispatch.case.105 - i64 40, label %dispatch.case.106 - i64 44, label %dispatch.case.107 - i64 46, label %dispatch.case.108 - i64 49, label %dispatch.case.109 - i64 53, label %dispatch.case.110 - i64 54, label %dispatch.case.111 - i64 56, label %dispatch.case.112 - i64 62, label %dispatch.case.113 - i64 67, label %dispatch.case.114 - i64 73, label %dispatch.case.115 - i64 77, label %dispatch.case.116 - i64 79, label %dispatch.case.117 - i64 80, label %dispatch.case.118 - i64 81, label %dispatch.case.119 - i64 83, label %dispatch.case.120 - i64 90, label %dispatch.case.121 + i64 20, label %dispatch.case.96 + i64 21, label %dispatch.case.97 + i64 22, label %dispatch.case.98 + i64 23, label %dispatch.case.99 + i64 26, label %dispatch.case.100 + i64 28, label %dispatch.case.101 + i64 30, label %dispatch.case.102 + i64 32, label %dispatch.case.103 + i64 35, label %dispatch.case.104 + i64 37, label %dispatch.case.105 + i64 41, label %dispatch.case.106 + i64 45, label %dispatch.case.107 + i64 47, label %dispatch.case.108 + i64 50, label %dispatch.case.109 + i64 54, label %dispatch.case.110 + i64 55, label %dispatch.case.111 + i64 57, label %dispatch.case.112 + i64 63, label %dispatch.case.113 + i64 68, label %dispatch.case.114 + i64 74, label %dispatch.case.115 + i64 78, label %dispatch.case.116 + i64 80, label %dispatch.case.117 + i64 81, label %dispatch.case.118 + i64 82, label %dispatch.case.119 + i64 84, label %dispatch.case.120 + i64 91, label %dispatch.case.121 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1619,11 +1633,11 @@ match.arm.44: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.253 [ - i64 38, label %dispatch.case.254 - i64 39, label %dispatch.case.255 - i64 55, label %dispatch.case.256 - i64 71, label %dispatch.case.257 - i64 72, label %dispatch.case.258 + i64 39, label %dispatch.case.254 + i64 40, label %dispatch.case.255 + i64 56, label %dispatch.case.256 + i64 72, label %dispatch.case.257 + i64 73, label %dispatch.case.258 ] match.arm.45: ; preds = %entry, %entry, %entry @@ -1646,12 +1660,12 @@ match.arm.47: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.270 [ - i64 23, label %dispatch.case.271 - i64 82, label %dispatch.case.272 - i64 88, label %dispatch.case.273 - i64 89, label %dispatch.case.274 - i64 93, label %dispatch.case.275 - i64 100, label %dispatch.case.276 + i64 24, label %dispatch.case.271 + i64 83, label %dispatch.case.272 + i64 89, label %dispatch.case.273 + i64 90, label %dispatch.case.274 + i64 94, label %dispatch.case.275 + i64 101, label %dispatch.case.276 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1659,11 +1673,11 @@ match.arm.48: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.308 [ - i64 24, label %dispatch.case.309 - i64 61, label %dispatch.case.310 - i64 78, label %dispatch.case.311 - i64 86, label %dispatch.case.312 - i64 98, label %dispatch.case.313 + i64 25, label %dispatch.case.309 + i64 62, label %dispatch.case.310 + i64 79, label %dispatch.case.311 + i64 87, label %dispatch.case.312 + i64 99, label %dispatch.case.313 ] 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 @@ -1671,50 +1685,51 @@ match.arm.49: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.340 [ - i64 18, label %dispatch.case.341 - i64 26, label %dispatch.case.342 - i64 28, label %dispatch.case.343 - i64 30, label %dispatch.case.344 - i64 32, label %dispatch.case.345 - i64 33, label %dispatch.case.346 - i64 35, label %dispatch.case.347 - i64 37, label %dispatch.case.348 - i64 41, label %dispatch.case.349 - i64 45, label %dispatch.case.350 - i64 48, label %dispatch.case.351 - i64 50, label %dispatch.case.352 - i64 51, label %dispatch.case.353 - i64 57, label %dispatch.case.354 - i64 58, label %dispatch.case.355 - i64 59, label %dispatch.case.356 - i64 60, label %dispatch.case.357 - i64 63, label %dispatch.case.358 - i64 68, label %dispatch.case.359 - i64 75, label %dispatch.case.360 - i64 84, label %dispatch.case.361 - i64 87, label %dispatch.case.362 - i64 91, label %dispatch.case.363 - i64 94, label %dispatch.case.364 - i64 95, label %dispatch.case.365 - i64 96, label %dispatch.case.366 - i64 97, label %dispatch.case.367 - i64 99, label %dispatch.case.368 - i64 101, label %dispatch.case.369 - i64 102, label %dispatch.case.370 - i64 103, label %dispatch.case.371 - i64 104, label %dispatch.case.372 - i64 105, label %dispatch.case.373 + i64 19, label %dispatch.case.341 + i64 27, label %dispatch.case.342 + i64 29, label %dispatch.case.343 + i64 31, label %dispatch.case.344 + i64 33, label %dispatch.case.345 + i64 34, label %dispatch.case.346 + i64 36, label %dispatch.case.347 + i64 38, label %dispatch.case.348 + i64 42, label %dispatch.case.349 + i64 49, label %dispatch.case.350 + i64 51, label %dispatch.case.351 + i64 52, label %dispatch.case.352 + i64 58, label %dispatch.case.353 + i64 59, label %dispatch.case.354 + i64 60, label %dispatch.case.355 + i64 61, label %dispatch.case.356 + i64 64, label %dispatch.case.357 + i64 69, label %dispatch.case.358 + i64 76, label %dispatch.case.359 + i64 85, label %dispatch.case.360 + i64 88, label %dispatch.case.361 + i64 92, label %dispatch.case.362 + i64 95, label %dispatch.case.363 + i64 96, label %dispatch.case.364 + i64 97, label %dispatch.case.365 + i64 98, label %dispatch.case.366 + i64 100, label %dispatch.case.367 + i64 102, label %dispatch.case.368 + i64 103, label %dispatch.case.369 + i64 104, label %dispatch.case.370 + i64 105, label %dispatch.case.371 + i64 106, label %dispatch.case.372 + i64 107, label %dispatch.case.373 ] -match.arm.50: ; preds = %entry, %entry, %entry, %entry +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.487 [ - i64 42, label %dispatch.case.488 - i64 43, label %dispatch.case.489 - i64 47, label %dispatch.case.490 - i64 92, label %dispatch.case.491 + i64 43, label %dispatch.case.488 + i64 44, label %dispatch.case.489 + i64 46, label %dispatch.case.490 + i64 48, label %dispatch.case.491 + i64 93, label %dispatch.case.492 ] match.arm.51: ; preds = %entry @@ -1723,7 +1738,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 [165 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [168 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 @@ -1774,7 +1789,7 @@ dispatch.merge.94: ; preds = %dispatch.case.121, br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.258, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.261, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -1991,7 +2006,7 @@ dispatch.merge.252: ; preds = %dispatch.case.258, br label %match.merge.37 dispatch.default.253: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.259, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.262, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.252 dispatch.case.254: ; preds = %match.arm.44 @@ -2032,7 +2047,7 @@ dispatch.merge.269: ; preds = %dispatch.case.276, br label %match.merge.37 dispatch.default.270: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.260, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.263, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.269 dispatch.case.271: ; preds = %match.arm.47 @@ -2089,7 +2104,7 @@ dispatch.merge.307: ; preds = %dispatch.case.313, br label %match.merge.37 dispatch.default.308: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.261, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.264, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.307 dispatch.case.309: ; preds = %match.arm.48 @@ -2138,7 +2153,7 @@ dispatch.merge.339: ; preds = %dispatch.case.373, br label %match.merge.37 dispatch.default.340: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.262, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.265, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.341: ; preds = %match.arm.49 @@ -2207,147 +2222,147 @@ dispatch.case.349: ; preds = %match.arm.49 dispatch.case.350: ; 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_u8(ptr %0, ptr %iNp251) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp251) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.351: ; 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_i32(ptr %0, ptr %iNp254) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp254) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.352: ; 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_SockAddr(ptr %0, ptr %iNp257) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp257) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.353: ; 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_u32(ptr %0, ptr %iNp260) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp260) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.354: ; 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_Value(ptr %0, ptr %iNp263) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp263) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.355: ; 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_Array(ptr %0, ptr %iNp266) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp266) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.356: ; 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__mptr_Member(ptr %0, ptr %iNp269) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp269) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.357: ; 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_Object(ptr %0, ptr %iNp272) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp272) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.358: ; 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_Sink(ptr %0, ptr %iNp275) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp275) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.359: ; 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_Parser(ptr %0, ptr %iNp278) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp278) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.360: ; 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_i64(ptr %0, ptr %iNp281) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp281) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.361: ; 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_Parsed(ptr %0, ptr %iNp284) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp284) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.362: ; 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_Diag(ptr %0, ptr %iNp287) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp287) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.363: ; 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_Sha256(ptr %0, ptr %iNp290) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp290) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.364: ; 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_ptr_CAllocator(ptr %0, ptr %iNp293) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp293) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.365: ; 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_ptr_void(ptr %0, ptr %iNp296) + %callN = call { ptr, i64 } @pointer_to_string__ptr_f32(ptr %0, ptr %iNp296) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.366: ; 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_f32(ptr %0, ptr %iNp299) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp299) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.367: ; 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_string(ptr %0, ptr %iNp302) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp302) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.368: ; 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_Any(ptr %0, ptr %iNp305) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp305) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.369: ; 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_AR_1_Any(ptr %0, ptr %iNp308) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp308) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.370: ; 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_SL_Any(ptr %0, ptr %iNp311) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp311) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 @@ -2372,13 +2387,13 @@ dispatch.case.373: ; preds = %match.arm.49 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 -dispatch.merge.486: ; preds = %dispatch.case.491, %dispatch.case.490, %dispatch.case.489, %dispatch.case.488, %dispatch.default.487 +dispatch.merge.486: ; preds = %dispatch.case.492, %dispatch.case.491, %dispatch.case.490, %dispatch.case.489, %dispatch.case.488, %dispatch.default.487 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.487: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.263, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.266, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.486 dispatch.case.488: ; preds = %match.arm.50 @@ -2399,17 +2414,24 @@ dispatch.case.489: ; preds = %match.arm.50 dispatch.case.490: ; preds = %match.arm.50 %ua.raw331 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr332 = inttoptr i64 %ua.raw331 to ptr - %ua.load333 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr332, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load333) + %iNp332 = inttoptr i64 %ua.raw331 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp332) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.486 dispatch.case.491: ; preds = %match.arm.50 - %ua.raw335 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr336 = inttoptr i64 %ua.raw335 to ptr - %ua.load337 = load { [64 x i8], i1 }, ptr %ua.ptr336, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load337) + %ua.raw334 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr335 = inttoptr i64 %ua.raw334 to ptr + %ua.load336 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr335, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load336) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.486 + +dispatch.case.492: ; preds = %match.arm.50 + %ua.raw338 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr339 = inttoptr i64 %ua.raw338 to ptr + %ua.load340 = load { [64 x i8], i1 }, ptr %ua.ptr339, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load340) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.486 } @@ -2420,7 +2442,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.264, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.267, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2516,7 +2538,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.265, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.268, 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 @@ -2524,7 +2546,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.266, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.269, 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 @@ -2534,13 +2556,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.267, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.270, 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.268, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.271, 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 @@ -2548,7 +2570,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.269, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.272, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2562,7 +2584,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.270, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.273, 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 @@ -2570,7 +2592,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.271, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.274, 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 @@ -2581,7 +2603,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.272, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.275, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2638,7 +2660,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.273, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.276, 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 @@ -2646,7 +2668,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.274, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.277, 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 @@ -2657,7 +2679,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.275, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.278, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2677,7 +2699,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.276, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.279, 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 @@ -2685,7 +2707,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.277, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.280, 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 @@ -2696,7 +2718,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.278, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.281, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -2917,9 +2939,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3457,7 +3476,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.279, i64 22 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.282, 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 @@ -3474,7 +3493,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.280, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.283, 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) @@ -3503,7 +3522,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.281, i64 22 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.284, i64 22 }) ret { ptr, i64 } %call } @@ -3522,7 +3541,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.282, i64 23 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.285, 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 @@ -3539,7 +3558,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.283, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.286, 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) @@ -3568,7 +3587,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.284, i64 23 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.287, i64 23 }) ret { ptr, i64 } %call } @@ -3577,7 +3596,7 @@ 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.285, i64 8 }, { ptr, i64 } { ptr @str.286, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.288, i64 8 }, { ptr, i64 } { ptr @str.289, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3596,12 +3615,12 @@ while.body.123: ; preds = %while.hdr.122 while.exit.124: ; preds = %while.hdr.122 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.287, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.290, i64 1 }) ret { ptr, i64 } %callN if.then.125: ; preds = %while.body.123 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.288, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.291, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.126 @@ -3613,7 +3632,7 @@ if.merge.126: ; preds = %if.then.125, %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.290, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.293, 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 @@ -3639,13 +3658,13 @@ fv.default: ; preds = %if.merge.126 fv.case: ; preds = %if.merge.126 %fv.field = extractvalue { ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.126 %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge } @@ -3656,7 +3675,7 @@ 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.291, i64 15 }, { ptr, i64 } { ptr @str.292, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.294, i64 15 }, { ptr, i64 } { ptr @str.295, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3675,24 +3694,24 @@ while.body.128: ; preds = %while.hdr.127 while.exit.129: ; preds = %while.hdr.127 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.293, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.296, i64 1 }) ret { ptr, i64 } %callN if.then.130: ; preds = %while.body.128 %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.297, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.131 if.merge.131: ; preds = %if.then.130, %while.body.128 %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.299, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.302, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.303, 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 @@ -3749,7 +3768,7 @@ 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.301, i64 9 }, { ptr, i64 } { ptr @str.302, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.304, i64 9 }, { ptr, i64 } { ptr @str.305, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3768,24 +3787,24 @@ while.body.133: ; preds = %while.hdr.132 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.303, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.306, i64 1 }) ret { ptr, i64 } %callN 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.304, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.307, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.136 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 [3 x { ptr, i64 }], ptr @field_names.308, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.311, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.312, 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 @@ -3812,19 +3831,19 @@ fv.default: ; preds = %if.merge.136 fv.case: ; preds = %if.merge.136 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.136 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge fv.case21: ; preds = %if.merge.136 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -3834,7 +3853,7 @@ 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.310, i64 7 }, { ptr, i64 } { ptr @str.311, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.313, i64 7 }, { ptr, i64 } { ptr @str.314, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3853,24 +3872,24 @@ while.body.138: ; preds = %while.hdr.137 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.312, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.315, i64 1 }) ret { ptr, i64 } %callN 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.313, 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 br label %if.merge.141 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 [2 x { ptr, i64 }], ptr @field_names.316, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.319, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 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 { { ptr, ptr, ptr }, ptr }, ptr %alloca, align 8 @@ -3897,13 +3916,13 @@ fv.case: ; preds = %if.merge.141 %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 + %fv.val = insertvalue { i64, i64 } { i64 22, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.141 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 - %fv.val19 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -3912,7 +3931,7 @@ 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.318, i64 10 }, { ptr, i64 } { ptr @str.319, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.321, i64 10 }, { ptr, i64 } { ptr @str.322, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3931,24 +3950,24 @@ while.body.143: ; preds = %while.hdr.142 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.320, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, i64 1 }) ret { ptr, i64 } %callN 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.321, 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 br label %if.merge.146 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 [0 x { ptr, i64 }], ptr @field_names.322, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.325, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.326, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -3967,7 +3986,7 @@ 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.324, i64 3 }, { ptr, i64 } { ptr @str.325, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.327, i64 3 }, { ptr, i64 } { ptr @str.328, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3986,24 +4005,24 @@ while.body.148: ; preds = %while.hdr.147 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.326, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, i64 1 }) ret { ptr, i64 } %callN 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.327, 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 br label %if.merge.151 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 [1 x { ptr, i64 }], ptr @field_names.329, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.332, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.333, 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 @@ -4036,7 +4055,7 @@ 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.331, i64 10 }, { ptr, i64 } { ptr @str.332, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.334, i64 10 }, { ptr, i64 } { ptr @str.335, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4055,24 +4074,24 @@ while.body.153: ; preds = %while.hdr.152 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.333, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.336, i64 1 }) ret { ptr, i64 } %callN 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.334, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.337, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.156 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.337, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.340, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %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.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 @@ -4098,7 +4117,7 @@ fv.default: ; preds = %if.merge.156 fv.case: ; preds = %if.merge.156 %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 + %fv.val = insertvalue { i64, i64 } { i64 31, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.156 @@ -4113,7 +4132,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.339, i64 5 }, { ptr, i64 } { ptr @str.340, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.342, i64 5 }, { ptr, i64 } { ptr @str.343, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4132,24 +4151,24 @@ while.body.158: ; preds = %while.hdr.157 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.341, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.344, 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.342, 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 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.346, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.349, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.350, 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 @@ -4176,7 +4195,7 @@ fv.default: ; preds = %if.merge.161 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 + %fv.val = insertvalue { i64, i64 } { i64 31, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.161 @@ -4188,7 +4207,7 @@ 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 + %fv.val22 = insertvalue { i64, i64 } { i64 22, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -4197,7 +4216,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.348, i64 8 }, { ptr, i64 } { ptr @str.349, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.351, i64 8 }, { ptr, i64 } { ptr @str.352, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4216,24 +4235,24 @@ 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.350, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, 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.351, 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 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.355, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.358, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.359, 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 @@ -4260,7 +4279,7 @@ fv.default: ; preds = %if.merge.166 fv.case: ; preds = %if.merge.166 %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 + %fv.val = insertvalue { i64, i64 } { i64 34, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.166 @@ -4280,7 +4299,7 @@ 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.357, i64 17 }, { ptr, i64 } { ptr @str.358, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.360, i64 17 }, { 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 @@ -4299,24 +4318,24 @@ 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.359, 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.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.360, 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.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 [4 x { ptr, i64 }], ptr @field_names.365, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.366, 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 }, i64, i64, i64 }, ptr %alloca, align 8 @@ -4345,7 +4364,7 @@ fv.case: ; preds = %if.merge.171 %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 + %fv.val = insertvalue { i64, i64 } { i64 22, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.171 @@ -4369,7 +4388,7 @@ 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.367, i64 4 }, { ptr, i64 } { ptr @str.368, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.370, i64 4 }, { 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 @@ -4388,24 +4407,24 @@ 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.369, 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.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.370, 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.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 [1 x { ptr, i64 }], ptr @field_names.372, 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.373, 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 { i32 }, ptr %alloca, align 4 @@ -4442,7 +4461,7 @@ 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.374, i64 10 }, { ptr, i64 } { ptr @str.375, 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 @@ -4461,24 +4480,24 @@ 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.376, 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.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.377, 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.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 [5 x { ptr, i64 }], ptr @field_names.383, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.384, 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 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -4544,7 +4563,7 @@ 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.385, i64 13 }, { ptr, i64 } { ptr @str.386, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.388, i64 13 }, { 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 @@ -4563,24 +4582,24 @@ while.body.183: ; preds = %while.hdr.182 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.387, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.390, 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.388, 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 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 [2 x { ptr, i64 }], ptr @field_names.391, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.392, 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 { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4622,7 +4641,7 @@ 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.393, i64 8 }, { ptr, i64 } { ptr @str.394, i64 1 }) + %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 @@ -4641,24 +4660,24 @@ while.body.188: ; preds = %while.hdr.187 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.395, 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.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.396, 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.191 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.402, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.403, 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 { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -4719,7 +4738,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.404, i64 5 }, { ptr, i64 } { ptr @str.405, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.407, i64 5 }, { 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 @@ -4738,24 +4757,24 @@ while.body.193: ; preds = %while.hdr.192 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.406, 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.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.407, 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.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.411, i64 0, i64 %loadN + %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.412, 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, i64, i64 }, ptr %alloca, align 8 @@ -4782,7 +4801,7 @@ fv.default: ; preds = %if.merge.196 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 57, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 58, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.196 @@ -4801,7 +4820,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.413, i64 6 }, { ptr, i64 } { ptr @str.414, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.416, i64 6 }, { 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 @@ -4820,24 +4839,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.415, 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.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.416, 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.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.420, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.421, 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, i64 }, ptr %alloca, align 8 @@ -4864,7 +4883,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 59, 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 @@ -4885,7 +4904,7 @@ entry: %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.422, i64 6 }, { ptr, i64 } { ptr @str.423, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.425, i64 6 }, { 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 @@ -4904,24 +4923,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.424, 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.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.425, 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.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.428, 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.429, 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 }, { i64, [24 x i8] } }, ptr %alloca, align 8 @@ -4955,7 +4974,7 @@ fv.case17: ; preds = %if.merge.206 %fv.field18 = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 1 store { i64, [24 x i8] } %fv.field18, ptr %ba.tmp19, align 8 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 56, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -4965,7 +4984,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.430, i64 4 }, { ptr, i64 } { ptr @str.431, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.433, i64 4 }, { 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 @@ -4984,24 +5003,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.432, 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.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.433, 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.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.437, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.440, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, i64, ptr }, ptr %alloca, align 8 @@ -5029,7 +5048,7 @@ 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 61, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 62, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.211 @@ -5040,7 +5059,7 @@ fv.case17: ; preds = %if.merge.211 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 + %fv.val22 = insertvalue { i64, i64 } { i64 42, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -5051,7 +5070,7 @@ entry: %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.439, i64 6 }, { ptr, i64 } { ptr @str.440, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.442, i64 6 }, { ptr, i64 } { ptr @str.443, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5070,24 +5089,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.441, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.444, 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.442, 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 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.446, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.449, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.450, 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 @@ -5127,7 +5146,7 @@ fv.case20: ; preds = %if.merge.216 %fv.field21 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 2 store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8 %ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 22, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -5136,7 +5155,7 @@ 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.448, i64 12 }, { ptr, i64 } { ptr @str.449, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.451, i64 12 }, { ptr, i64 } { ptr @str.452, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5155,24 +5174,24 @@ 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.450, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.453, 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.451, 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 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 [0 x { ptr, i64 }], ptr @field_names.452, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.453, 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 %alloca, align 1 @@ -5192,7 +5211,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.454, i64 8 }, { ptr, i64 } { ptr @str.455, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.457, i64 8 }, { 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 @@ -5211,24 +5230,24 @@ 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.456, 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.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.457, 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.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.461, 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.462, 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 }, i1, i1 }, ptr %alloca, align 8 @@ -5280,7 +5299,7 @@ entry: %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.463, i64 7 }, { ptr, i64 } { ptr @str.464, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.466, i64 7 }, { 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 @@ -5299,24 +5318,24 @@ 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.465, 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.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.466, 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.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.470, 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.471, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5358,7 +5377,7 @@ fv.case22: ; preds = %if.merge.231 %fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2 store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8 %ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64 - %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5368,7 +5387,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.472, i64 9 }, { ptr, i64 } { ptr @str.473, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.475, i64 9 }, { 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 @@ -5387,24 +5406,24 @@ 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.474, 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.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.475, 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.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.478, 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.479, 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 { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -5447,7 +5466,7 @@ 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.480, i64 4 }, { ptr, i64 } { ptr @str.481, 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 @@ -5466,24 +5485,24 @@ 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.482, 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.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.483, 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.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.486, 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.487, 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 { i64, { ptr, i64 } }, ptr %alloca, align 8 @@ -5529,7 +5548,7 @@ 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.488, i64 6 }, { ptr, i64 } { ptr @str.489, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.491, i64 6 }, { 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 @@ -5548,24 +5567,24 @@ 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.490, 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.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.491, 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.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 [7 x { ptr, i64 }], ptr @field_names.499, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 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.500, 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 { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, ptr %alloca, align 8 @@ -5622,21 +5641,21 @@ fv.case28: ; preds = %if.merge.246 %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 + %fv.val32 = insertvalue { i64, i64 } { i64 25, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge fv.case33: ; preds = %if.merge.246 %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 78, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge fv.case38: ; preds = %if.merge.246 %fv.field39 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 6 store [16 x { i1, { ptr, i64 } }] %fv.field39, ptr %ba.tmp40, align 8 %ba.p2i41 = ptrtoint ptr %ba.tmp40 to i64 - %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 83, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -5647,7 +5666,7 @@ 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.501, i64 6 }, { ptr, i64 } { ptr @str.502, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.504, i64 6 }, { 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 @@ -5666,24 +5685,24 @@ 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.503, 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.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.504, 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.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 [4 x { ptr, i64 }], ptr @field_names.509, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.510, 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 { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -5712,14 +5731,14 @@ fv.case: ; preds = %if.merge.251 %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 88, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.251 %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 89, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 90, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.251 @@ -5742,9 +5761,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.516, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.519, 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.511, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.514, 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 @@ -5763,8 +5782,8 @@ entry: if.then.259: ; 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.518, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.517, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.520, 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.260 @@ -5783,9 +5802,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.523, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.526, 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.519, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.522, 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 @@ -5804,8 +5823,8 @@ entry: if.then.261: ; 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.525, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.524, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.527, 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.262 @@ -5835,9 +5854,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.533, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.536, 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.526, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.529, 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 @@ -5854,8 +5873,8 @@ entry: if.then.263: ; 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.535, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.534, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.538, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.537, 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.264 @@ -5911,7 +5930,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -5920,7 +5939,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -5933,9 +5952,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.544, 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 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.536, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.539, 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 @@ -5954,8 +5973,8 @@ entry: if.then.265: ; 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.546, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.545, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.548, 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.266 @@ -5974,9 +5993,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.553, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.556, 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.547, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.550, 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 @@ -5995,8 +6014,8 @@ entry: if.then.267: ; 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.555, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.554, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.557, 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.268 @@ -6013,7 +6032,7 @@ 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.556, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.559, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.277 @@ -6030,12 +6049,12 @@ while.body.278: ; preds = %while.hdr.277 while.exit.279: ; preds = %while.hdr.277 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.557, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 1 }) ret { ptr, i64 } %call 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.558, 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 br label %if.merge.281 @@ -6064,7 +6083,7 @@ 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.559, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.562, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.282 @@ -6081,12 +6100,12 @@ while.body.283: ; preds = %while.hdr.282 while.exit.284: ; preds = %while.hdr.282 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.563, i64 1 }) ret { ptr, i64 } %call 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.561, 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.286 @@ -6099,7 +6118,7 @@ if.merge.286: ; preds = %if.then.285, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 80, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 81, 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 @@ -6116,7 +6135,7 @@ 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.562, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.565, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.287 @@ -6133,12 +6152,12 @@ while.body.288: ; preds = %while.hdr.287 while.exit.289: ; preds = %while.hdr.287 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.563, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.566, i64 1 }) ret { ptr, i64 } %call 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.564, 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.291 @@ -6166,7 +6185,7 @@ 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.565, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.568, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.292 @@ -6183,12 +6202,12 @@ while.body.293: ; preds = %while.hdr.292 while.exit.294: ; preds = %while.hdr.292 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.566, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.569, i64 1 }) ret { ptr, i64 } %call 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.567, 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 br label %if.merge.296 @@ -6217,7 +6236,7 @@ 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.568, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.571, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.297 @@ -6234,12 +6253,12 @@ while.body.298: ; preds = %while.hdr.297 while.exit.299: ; preds = %while.hdr.297 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.569, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.572, i64 1 }) ret { ptr, i64 } %call 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.570, 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.301 @@ -6268,7 +6287,7 @@ 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.571, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.574, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.302 @@ -6285,12 +6304,12 @@ while.body.303: ; preds = %while.hdr.302 while.exit.304: ; preds = %while.hdr.302 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.572, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.575, i64 1 }) ret { ptr, i64 } %call 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.573, i64 2 }) + %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 br label %if.merge.306 @@ -6320,7 +6339,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.574, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.577, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.314 @@ -6339,12 +6358,12 @@ while.body.315: ; preds = %while.hdr.314 while.exit.316: ; preds = %while.hdr.314 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.575, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.578, i64 1 }) ret { ptr, i64 } %call 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.576, 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 br label %if.merge.318 @@ -6373,7 +6392,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.577, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.580, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.319 @@ -6392,12 +6411,12 @@ while.body.320: ; preds = %while.hdr.319 while.exit.321: ; preds = %while.hdr.319 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.578, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 1 }) ret { ptr, i64 } %call 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.579, 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.323 @@ -6426,7 +6445,7 @@ 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.580, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.583, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.324 @@ -6445,12 +6464,12 @@ while.body.325: ; preds = %while.hdr.324 while.exit.326: ; preds = %while.hdr.324 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.584, i64 1 }) ret { ptr, i64 } %call if.then.327: ; preds = %while.body.325 %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.585, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.328 @@ -6463,7 +6482,7 @@ if.merge.328: ; preds = %if.then.327, %while %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 77, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 78, 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 @@ -6480,7 +6499,7 @@ 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.583, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.586, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.329 @@ -6499,12 +6518,12 @@ while.body.330: ; preds = %while.hdr.329 while.exit.331: ; preds = %while.hdr.329 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.584, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.587, i64 1 }) ret { ptr, i64 } %call if.then.332: ; preds = %while.body.330 %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 }) + %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.333 @@ -6517,7 +6536,7 @@ if.merge.333: ; preds = %if.then.332, %while %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 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -6534,7 +6553,7 @@ 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.586, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.589, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.334 @@ -6553,12 +6572,12 @@ while.body.335: ; preds = %while.hdr.334 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.587, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.590, i64 1 }) ret { ptr, i64 } %call 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.588, 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.338 @@ -6600,12 +6619,12 @@ if.then.374: ; preds = %entry if.else.375: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.590, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.594, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.593, i64 5 }, { ptr, i64 } %callN) br label %if.merge.376 if.merge.376: ; preds = %if.else.375, %if.then.374 - %bp = phi { ptr, i64 } [ { ptr @str.589, i64 4 }, %if.then.374 ], [ %callN, %if.else.375 ] + %bp = phi { ptr, i64 } [ { ptr @str.592, i64 4 }, %if.then.374 ], [ %callN, %if.else.375 ] ret { ptr, i64 } %bp } @@ -6628,12 +6647,12 @@ if.then.390: ; preds = %entry if.else.391: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.594, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.593, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.597, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.596, i64 11 }, { ptr, i64 } %callN) br label %if.merge.392 if.merge.392: ; preds = %if.else.391, %if.then.390 - %bp = phi { ptr, i64 } [ { ptr @str.592, i64 4 }, %if.then.390 ], [ %callN, %if.else.391 ] + %bp = phi { ptr, i64 } [ { ptr @str.595, i64 4 }, %if.then.390 ], [ %callN, %if.else.391 ] ret { ptr, i64 } %bp } @@ -6656,12 +6675,12 @@ if.then.393: ; preds = %entry if.else.394: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.597, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.596, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 4 }, { ptr, i64 } %callN) br label %if.merge.395 if.merge.395: ; preds = %if.else.394, %if.then.393 - %bp = phi { ptr, i64 } [ { ptr @str.595, i64 4 }, %if.then.393 ], [ %callN, %if.else.394 ] + %bp = phi { ptr, i64 } [ { ptr @str.598, i64 4 }, %if.then.393 ], [ %callN, %if.else.394 ] ret { ptr, i64 } %bp } @@ -6684,12 +6703,12 @@ if.then.396: ; preds = %entry if.else.397: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.602, i64 11 }, { ptr, i64 } %callN) br label %if.merge.398 if.merge.398: ; preds = %if.else.397, %if.then.396 - %bp = phi { ptr, i64 } [ { ptr @str.598, i64 4 }, %if.then.396 ], [ %callN, %if.else.397 ] + %bp = phi { ptr, i64 } [ { ptr @str.601, i64 4 }, %if.then.396 ], [ %callN, %if.else.397 ] ret { ptr, i64 } %bp } @@ -6712,12 +6731,12 @@ if.then.399: ; preds = %entry if.else.400: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.602, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 6 }, { ptr, i64 } %callN) br label %if.merge.401 if.merge.401: ; preds = %if.else.400, %if.then.399 - %bp = phi { ptr, i64 } [ { ptr @str.601, i64 4 }, %if.then.399 ], [ %callN, %if.else.400 ] + %bp = phi { ptr, i64 } [ { ptr @str.604, i64 4 }, %if.then.399 ], [ %callN, %if.else.400 ] ret { ptr, i64 } %bp } @@ -6739,12 +6758,12 @@ if.then.402: ; preds = %entry if.else.403: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.608, i64 5 }, { ptr, i64 } %callN) br label %if.merge.404 if.merge.404: ; preds = %if.else.403, %if.then.402 - %bp = phi { ptr, i64 } [ { ptr @str.604, i64 4 }, %if.then.402 ], [ %callN, %if.else.403 ] + %bp = phi { ptr, i64 } [ { ptr @str.607, i64 4 }, %if.then.402 ], [ %callN, %if.else.403 ] ret { ptr, i64 } %bp } @@ -6767,12 +6786,12 @@ if.then.405: ; preds = %entry if.else.406: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.608, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.611, i64 9 }, { ptr, i64 } %callN) br label %if.merge.407 if.merge.407: ; preds = %if.else.406, %if.then.405 - %bp = phi { ptr, i64 } [ { ptr @str.607, i64 4 }, %if.then.405 ], [ %callN, %if.else.406 ] + %bp = phi { ptr, i64 } [ { ptr @str.610, i64 4 }, %if.then.405 ], [ %callN, %if.else.406 ] ret { ptr, i64 } %bp } @@ -6795,12 +6814,12 @@ if.then.408: ; preds = %entry if.else.409: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.611, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.615, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.614, i64 18 }, { ptr, i64 } %callN) br label %if.merge.410 if.merge.410: ; preds = %if.else.409, %if.then.408 - %bp = phi { ptr, i64 } [ { ptr @str.610, i64 4 }, %if.then.408 ], [ %callN, %if.else.409 ] + %bp = phi { ptr, i64 } [ { ptr @str.613, i64 4 }, %if.then.408 ], [ %callN, %if.else.409 ] ret { ptr, i64 } %bp } @@ -6823,17 +6842,17 @@ if.then.411: ; preds = %entry 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.615, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.614, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.618, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.617, 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.613, i64 4 }, %if.then.411 ], [ %callN, %if.else.412 ] + %bp = phi { ptr, i64 } [ { ptr @str.616, i64 4 }, %if.then.411 ], [ %callN, %if.else.412 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6851,17 +6870,17 @@ if.then.414: ; preds = %entry 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.618, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.617, i64 3 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.621, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.620, i64 4 }, { ptr, i64 } %callN) br label %if.merge.416 if.merge.416: ; preds = %if.else.415, %if.then.414 - %bp = phi { ptr, i64 } [ { ptr @str.616, i64 4 }, %if.then.414 ], [ %callN, %if.else.415 ] + %bp = phi { ptr, i64 } [ { ptr @str.619, i64 4 }, %if.then.414 ], [ %callN, %if.else.415 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6879,17 +6898,17 @@ if.then.417: ; preds = %entry if.else.418: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.621, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.620, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.624, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.623, i64 9 }, { ptr, i64 } %callN) br label %if.merge.419 if.merge.419: ; preds = %if.else.418, %if.then.417 - %bp = phi { ptr, i64 } [ { ptr @str.619, i64 4 }, %if.then.417 ], [ %callN, %if.else.418 ] + %bp = phi { ptr, i64 } [ { ptr @str.622, i64 4 }, %if.then.417 ], [ %callN, %if.else.418 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6907,40 +6926,12 @@ if.then.420: ; preds = %entry if.else.421: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.624, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.623, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.627, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.626, i64 4 }, { ptr, i64 } %callN) br label %if.merge.422 if.merge.422: ; preds = %if.else.421, %if.then.420 - %bp = phi { ptr, i64 } [ { ptr @str.622, i64 4 }, %if.then.420 ], [ %callN, %if.else.421 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.423, label %if.else.424 - -if.then.423: ; preds = %entry - br label %if.merge.425 - -if.else.424: ; preds = %entry - %loadN = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.627, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.626, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.425 - -if.merge.425: ; preds = %if.else.424, %if.then.423 - %bp = phi { ptr, i64 } [ { ptr @str.625, i64 4 }, %if.then.423 ], [ %callN, %if.else.424 ] + %bp = phi { ptr, i64 } [ { ptr @str.625, i64 4 }, %if.then.420 ], [ %callN, %if.else.421 ] ret { ptr, i64 } %bp } @@ -6954,20 +6945,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.426, label %if.else.427 + br i1 %icmp, label %if.then.423, label %if.else.424 -if.then.426: ; preds = %entry - br label %if.merge.428 +if.then.423: ; preds = %entry + br label %if.merge.425 -if.else.427: ; preds = %entry +if.else.424: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.630, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.629, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.428 + br label %if.merge.425 -if.merge.428: ; preds = %if.else.427, %if.then.426 - %bp = phi { ptr, i64 } [ { ptr @str.628, i64 4 }, %if.then.426 ], [ %callN, %if.else.427 ] +if.merge.425: ; preds = %if.else.424, %if.then.423 + %bp = phi { ptr, i64 } [ { ptr @str.628, i64 4 }, %if.then.423 ], [ %callN, %if.else.424 ] ret { ptr, i64 } %bp } @@ -6982,20 +6973,20 @@ entry: store i64 %pti, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.429, label %if.else.430 + br i1 %icmp, label %if.then.426, label %if.else.427 -if.then.429: ; preds = %entry - br label %if.merge.431 +if.then.426: ; preds = %entry + br label %if.merge.428 -if.else.430: ; preds = %entry +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.633, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.632, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.431 + br label %if.merge.428 -if.merge.431: ; preds = %if.else.430, %if.then.429 - %bp = phi { ptr, i64 } [ { ptr @str.631, i64 4 }, %if.then.429 ], [ %callN, %if.else.430 ] +if.merge.428: ; preds = %if.else.427, %if.then.426 + %bp = phi { ptr, i64 } [ { ptr @str.631, i64 4 }, %if.then.426 ], [ %callN, %if.else.427 ] ret { ptr, i64 } %bp } @@ -7009,6 +7000,34 @@ 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.429, label %if.else.430 + +if.then.429: ; preds = %entry + br label %if.merge.431 + +if.else.430: ; preds = %entry + %loadN = load i64, ptr %allocaN, align 8 + %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.636, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.635, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.431 + +if.merge.431: ; preds = %if.else.430, %if.then.429 + %bp = phi { ptr, i64 } [ { ptr @str.634, i64 4 }, %if.then.429 ], [ %callN, %if.else.430 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.432, label %if.else.433 if.then.432: ; preds = %entry @@ -7017,17 +7036,17 @@ if.then.432: ; preds = %entry 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.636, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.635, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.639, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.638, i64 7 }, { ptr, i64 } %callN) br label %if.merge.434 if.merge.434: ; preds = %if.else.433, %if.then.432 - %bp = phi { ptr, i64 } [ { ptr @str.634, i64 4 }, %if.then.432 ], [ %callN, %if.else.433 ] + %bp = phi { ptr, i64 } [ { ptr @str.637, i64 4 }, %if.then.432 ], [ %callN, %if.else.433 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7045,17 +7064,17 @@ if.then.435: ; preds = %entry 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.639, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.638, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.642, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.641, i64 5 }, { ptr, i64 } %callN) br label %if.merge.437 if.merge.437: ; preds = %if.else.436, %if.then.435 - %bp = phi { ptr, i64 } [ { ptr @str.637, i64 4 }, %if.then.435 ], [ %callN, %if.else.436 ] + %bp = phi { ptr, i64 } [ { ptr @str.640, i64 4 }, %if.then.435 ], [ %callN, %if.else.436 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7073,17 +7092,17 @@ if.then.438: ; preds = %entry 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.642, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.641, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.645, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.644, i64 7 }, { ptr, i64 } %callN) br label %if.merge.440 if.merge.440: ; preds = %if.else.439, %if.then.438 - %bp = phi { ptr, i64 } [ { ptr @str.640, i64 4 }, %if.then.438 ], [ %callN, %if.else.439 ] + %bp = phi { ptr, i64 } [ { ptr @str.643, i64 4 }, %if.then.438 ], [ %callN, %if.else.439 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7101,17 +7120,17 @@ if.then.441: ; preds = %entry 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.645, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.644, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.648, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.647, i64 4 }, { ptr, i64 } %callN) br label %if.merge.443 if.merge.443: ; preds = %if.else.442, %if.then.441 - %bp = phi { ptr, i64 } [ { ptr @str.643, i64 4 }, %if.then.441 ], [ %callN, %if.else.442 ] + %bp = phi { ptr, i64 } [ { ptr @str.646, i64 4 }, %if.then.441 ], [ %callN, %if.else.442 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7129,17 +7148,17 @@ if.then.444: ; preds = %entry 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.648, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.647, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 7 }, { ptr, i64 } %callN) br label %if.merge.446 if.merge.446: ; preds = %if.else.445, %if.then.444 - %bp = phi { ptr, i64 } [ { ptr @str.646, i64 4 }, %if.then.444 ], [ %callN, %if.else.445 ] + %bp = phi { ptr, i64 } [ { ptr @str.649, i64 4 }, %if.then.444 ], [ %callN, %if.else.445 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7157,17 +7176,17 @@ if.then.447: ; preds = %entry 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.651, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.653, 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.649, i64 4 }, %if.then.447 ], [ %callN, %if.else.448 ] + %bp = phi { ptr, i64 } [ { ptr @str.652, i64 4 }, %if.then.447 ], [ %callN, %if.else.448 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7185,17 +7204,17 @@ 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.654, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.653, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.656, i64 7 }, { ptr, i64 } %callN) br label %if.merge.452 if.merge.452: ; preds = %if.else.451, %if.then.450 - %bp = phi { ptr, i64 } [ { ptr @str.652, i64 4 }, %if.then.450 ], [ %callN, %if.else.451 ] + %bp = phi { ptr, i64 } [ { ptr @str.655, i64 4 }, %if.then.450 ], [ %callN, %if.else.451 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7213,17 +7232,17 @@ if.then.453: ; preds = %entry if.else.454: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.656, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.660, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, i64 12 }, { ptr, i64 } %callN) br label %if.merge.455 if.merge.455: ; preds = %if.else.454, %if.then.453 - %bp = phi { ptr, i64 } [ { ptr @str.655, i64 4 }, %if.then.453 ], [ %callN, %if.else.454 ] + %bp = phi { ptr, i64 } [ { ptr @str.658, i64 4 }, %if.then.453 ], [ %callN, %if.else.454 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7241,17 +7260,17 @@ if.then.456: ; preds = %entry 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.660, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, i64 12 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.663, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.662, i64 6 }, { ptr, i64 } %callN) br label %if.merge.458 if.merge.458: ; preds = %if.else.457, %if.then.456 - %bp = phi { ptr, i64 } [ { ptr @str.658, i64 4 }, %if.then.456 ], [ %callN, %if.else.457 ] + %bp = phi { ptr, i64 } [ { ptr @str.661, i64 4 }, %if.then.456 ], [ %callN, %if.else.457 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_f32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7269,17 +7288,17 @@ if.then.459: ; preds = %entry 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.663, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.662, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.666, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.665, 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.661, i64 4 }, %if.then.459 ], [ %callN, %if.else.460 ] + %bp = phi { ptr, i64 } [ { ptr @str.664, i64 4 }, %if.then.459 ], [ %callN, %if.else.460 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_f32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7297,17 +7316,17 @@ if.then.462: ; preds = %entry 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.666, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.665, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.668, i64 7 }, { ptr, i64 } %callN) br label %if.merge.464 if.merge.464: ; preds = %if.else.463, %if.then.462 - %bp = phi { ptr, i64 } [ { ptr @str.664, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] + %bp = phi { ptr, i64 } [ { ptr @str.667, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7325,17 +7344,17 @@ if.then.465: ; preds = %entry 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.669, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.668, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.671, 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.667, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] + %bp = phi { ptr, i64 } [ { ptr @str.670, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7353,17 +7372,17 @@ if.then.468: ; preds = %entry 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.672, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.671, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.470 if.merge.470: ; preds = %if.else.469, %if.then.468 - %bp = phi { ptr, i64 } [ { ptr @str.670, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] + %bp = phi { ptr, i64 } [ { ptr @str.673, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7381,17 +7400,17 @@ if.then.471: ; preds = %entry 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.675, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.674, i64 7 }, { ptr, i64 } %callN) + %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 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.673, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] + %bp = phi { ptr, i64 } [ { ptr @str.676, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7409,12 +7428,12 @@ if.then.474: ; preds = %entry 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.678, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.677, i64 6 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.476 if.merge.476: ; preds = %if.else.475, %if.then.474 - %bp = phi { ptr, i64 } [ { ptr @str.676, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] + %bp = phi { ptr, i64 } [ { ptr @str.679, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] ret { ptr, i64 } %bp } @@ -7437,12 +7456,12 @@ if.then.477: ; 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.681, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.680, i64 5 }, { ptr, i64 } %callN) + %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 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.679, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] + %bp = phi { ptr, i64 } [ { ptr @str.682, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] ret { ptr, i64 } %bp } @@ -7465,12 +7484,12 @@ 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.684, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.683, i64 5 }, { ptr, i64 } %callN) + %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 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.682, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] + %bp = phi { ptr, i64 } [ { ptr @str.685, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] ret { ptr, i64 } %bp } @@ -7493,12 +7512,12 @@ 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.687, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.686, i64 9 }, { ptr, i64 } %callN) + %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 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.685, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] + %bp = phi { ptr, i64 } [ { ptr @str.688, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] ret { ptr, i64 } %bp } @@ -7511,17 +7530,17 @@ 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.492, label %if.merge.493 + br i1 %lnot, label %if.then.493, label %if.merge.494 -if.then.492: ; preds = %entry - ret { ptr, i64 } { ptr @str.688, i64 4 } +if.then.493: ; preds = %entry + ret { ptr, i64 } { ptr @str.691, i64 4 } -if.merge.493: ; preds = %entry +if.merge.494: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7535,12 +7554,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.494, label %if.merge.495 + br i1 %lnot, label %if.then.495, label %if.merge.496 -if.then.494: ; preds = %entry - ret { ptr, i64 } { ptr @str.689, i64 4 } +if.then.495: ; preds = %entry + ret { ptr, i64 } { ptr @str.692, i64 4 } -if.merge.495: ; preds = %entry +if.merge.496: ; 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 @@ -7550,6 +7569,27 @@ if.merge.495: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.497, label %if.merge.498 + +if.then.497: ; preds = %entry + ret { ptr, i64 } { ptr @str.693, i64 4 } + +if.merge.498: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -7559,17 +7599,17 @@ 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.496, label %if.merge.497 + br i1 %lnot, label %if.then.499, label %if.merge.500 -if.then.496: ; preds = %entry - ret { ptr, i64 } { ptr @str.690, i64 4 } +if.then.499: ; preds = %entry + ret { ptr, i64 } { ptr @str.694, i64 4 } -if.merge.497: ; preds = %entry +if.merge.500: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 47, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7583,17 +7623,17 @@ 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.498, label %if.merge.499 + br i1 %lnot, label %if.then.501, label %if.merge.502 -if.then.498: ; preds = %entry - ret { ptr, i64 } { ptr @str.691, i64 4 } +if.then.501: ; preds = %entry + ret { ptr, i64 } { ptr @str.695, i64 4 } -if.merge.499: ; preds = %entry +if.merge.502: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 90, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } diff --git a/examples/expected/0413-protocols-parameterized-protocol-value.ir b/examples/expected/0413-protocols-parameterized-protocol-value.ir index 3ba7216..04afbd9 100644 --- a/examples/expected/0413-protocols-parameterized-protocol-value.ir +++ b/examples/expected/0413-protocols-parameterized-protocol-value.ir @@ -9,7 +9,7 @@ @str.78 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.79 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.80 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [179 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] +@__sx_type_is_unsigned = private constant [182 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.81 = private constant [9 x i8] c"Overflow\00" @tag.str.82 = private constant [3 x i8] c"Io\00" @@ -43,508 +43,508 @@ @tn.str.108 = private constant [6 x i8] c"isize\00" @tn.str.109 = private constant [6 x i8] c"usize\00" @tn.str.110 = private constant [5 x i8] c"void\00" -@tn.str.111 = private constant [6 x i8] c"*void\00" -@tn.str.112 = private constant [16 x i8] c"Source_Location\00" -@tn.str.113 = private constant [10 x i8] c"Allocator\00" -@tn.str.114 = private constant [8 x i8] c"Context\00" -@tn.str.115 = private constant [7 x i8] c"[4]i64\00" -@tn.str.116 = private constant [9 x i8] c"[]string\00" -@tn.str.117 = private constant [11 x i8] c"CAllocator\00" -@tn.str.118 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.119 = private constant [4 x i8] c"GPA\00" -@tn.str.120 = private constant [5 x i8] c"*GPA\00" -@tn.str.121 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.122 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.123 = private constant [6 x i8] c"Arena\00" -@tn.str.124 = private constant [7 x i8] c"*Arena\00" -@tn.str.125 = private constant [6 x i8] c"[*]u8\00" -@tn.str.126 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.127 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.128 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.129 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.130 = private constant [9 x i8] c"OpenMode\00" -@tn.str.131 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.132 = private constant [5 x i8] c"File\00" -@tn.str.133 = private constant [6 x i8] c"*File\00" -@tn.str.134 = private constant [6 x i8] c"?File\00" -@tn.str.135 = private constant [8 x i8] c"?string\00" -@tn.str.136 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.137 = private constant [4 x i8] c"*u8\00" -@tn.str.138 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.139 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.140 = private constant [5 x i8] c"*i32\00" -@tn.str.141 = private constant [9 x i8] c"SockAddr\00" -@tn.str.142 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.143 = private constant [5 x i8] c"*u32\00" -@tn.str.144 = private constant [10 x i8] c"JsonError\00" -@tn.str.145 = private constant [6 x i8] c"Array\00" -@tn.str.146 = private constant [7 x i8] c"Object\00" -@tn.str.147 = private constant [6 x i8] c"Value\00" -@tn.str.148 = private constant [7 x i8] c"Member\00" -@tn.str.149 = private constant [9 x i8] c"[*]Value\00" -@tn.str.150 = private constant [7 x i8] c"*Array\00" -@tn.str.151 = private constant [10 x i8] c"[*]Member\00" -@tn.str.152 = private constant [8 x i8] c"*Object\00" -@tn.str.153 = private constant [5 x i8] c"[]u8\00" -@tn.str.154 = private constant [5 x i8] c"Sink\00" -@tn.str.155 = private constant [6 x i8] c"*Sink\00" -@tn.str.156 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.157 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.158 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.159 = private constant [7 x i8] c"Parser\00" -@tn.str.160 = private constant [8 x i8] c"*Parser\00" -@tn.str.161 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.162 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.163 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.164 = private constant [13 x i8] c"Architecture\00" -@tn.str.165 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.166 = private constant [11 x i8] c"() -> bool\00" -@tn.str.167 = private constant [5 x i8] c"*i64\00" -@tn.str.168 = private constant [9 x i8] c"CliError\00" -@tn.str.169 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.170 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.171 = private constant [8 x i8] c"Command\00" -@tn.str.172 = private constant [10 x i8] c"FlagValue\00" -@tn.str.173 = private constant [5 x i8] c"Diag\00" -@tn.str.174 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.175 = private constant [7 x i8] c"Parsed\00" -@tn.str.176 = private constant [8 x i8] c"*Parsed\00" -@tn.str.177 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.178 = private constant [10 x i8] c"[]Command\00" -@tn.str.179 = private constant [6 x i8] c"*Diag\00" -@tn.str.180 = private constant [7 x i8] c"[8]i64\00" -@tn.str.181 = private constant [7 x i8] c"[64]u8\00" -@tn.str.182 = private constant [7 x i8] c"Sha256\00" -@tn.str.183 = private constant [8 x i8] c"*Sha256\00" -@tn.str.184 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.185 = private constant [8 x i8] c"[64]i64\00" -@tn.str.186 = private constant [8 x i8] c"IntCell\00" -@tn.str.187 = private constant [8 x i8] c"StrCell\00" -@tn.str.188 = private constant [9 x i8] c"*IntCell\00" -@tn.str.189 = private constant [9 x i8] c"*StrCell\00" -@tn.str.190 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.191 = private constant [7 x i8] c"**void\00" -@tn.str.192 = private constant [8 x i8] c"VL__i64\00" -@tn.str.193 = private constant [18 x i8] c"__VL__i64__Vtable\00" -@tn.str.194 = private constant [9 x i8] c"*VL__i64\00" -@tn.str.195 = private constant [10 x i8] c"**IntCell\00" -@tn.str.196 = private constant [19 x i8] c"*__VL__i64__Vtable\00" -@tn.str.197 = private constant [8 x i8] c"*string\00" -@tn.str.198 = private constant [6 x i8] c"[]Any\00" -@tn.str.199 = private constant [5 x i8] c"*Any\00" -@tn.str.200 = private constant [7 x i8] c"[1]Any\00" -@tn.str.201 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.202 = private constant [7 x i8] c"*[]Any\00" -@tn.str.203 = private constant [6 x i8] c"*bool\00" -@tn.str.204 = private constant [11 x i8] c"VL__string\00" -@tn.str.205 = private constant [21 x i8] c"__VL__string__Vtable\00" -@tn.str.206 = private constant [12 x i8] c"*VL__string\00" -@tn.str.207 = private constant [10 x i8] c"**StrCell\00" -@tn.str.208 = private constant [22 x i8] c"*__VL__string__Vtable\00" -@tn.str.209 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.210 = private constant [5 x i8] c"*f64\00" -@tn.str.211 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.212 = private constant [11 x i8] c"*Allocator\00" -@tn.str.213 = private constant [9 x i8] c"*Context\00" -@tn.str.214 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.215 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.216 = private constant [8 x i8] c"*Member\00" -@tn.str.217 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.218 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.219 = private constant [9 x i8] c"*Command\00" -@tn.str.220 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.221 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.222 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.223 = private constant [7 x i8] c"*Value\00" -@tn.str.224 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.225 = private constant [14 x i8] c"*Architecture\00" -@tn.str.226 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.227 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.228 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.229 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.230 = private constant [10 x i8] c"*[]string\00" -@tn.str.231 = private constant [6 x i8] c"*[]u8\00" -@tn.str.232 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.233 = private constant [11 x i8] c"*[]Command\00" -@tn.str.234 = private constant [6 x i8] c"**GPA\00" -@tn.str.235 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.236 = private constant [8 x i8] c"**Arena\00" -@tn.str.237 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.238 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.239 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.240 = private constant [7 x i8] c"**File\00" -@tn.str.241 = private constant [5 x i8] c"**u8\00" -@tn.str.242 = private constant [6 x i8] c"**i32\00" -@tn.str.243 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.244 = private constant [6 x i8] c"**u32\00" -@tn.str.245 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.246 = private constant [8 x i8] c"**Array\00" -@tn.str.247 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.248 = private constant [9 x i8] c"**Object\00" -@tn.str.249 = private constant [7 x i8] c"**Sink\00" -@tn.str.250 = private constant [9 x i8] c"**Parser\00" -@tn.str.251 = private constant [6 x i8] c"**i64\00" -@tn.str.252 = private constant [9 x i8] c"**Parsed\00" -@tn.str.253 = private constant [7 x i8] c"**Diag\00" -@tn.str.254 = private constant [9 x i8] c"**Sha256\00" -@tn.str.255 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.256 = private constant [8 x i8] c"***void\00" -@tn.str.257 = private constant [10 x i8] c"**VL__i64\00" -@tn.str.258 = private constant [11 x i8] c"***IntCell\00" -@tn.str.259 = private constant [20 x i8] c"**__VL__i64__Vtable\00" -@tn.str.260 = private constant [9 x i8] c"**string\00" -@tn.str.261 = private constant [6 x i8] c"**Any\00" -@tn.str.262 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.263 = private constant [8 x i8] c"**[]Any\00" -@tn.str.264 = private constant [7 x i8] c"**bool\00" -@tn.str.265 = private constant [13 x i8] c"**VL__string\00" -@tn.str.266 = private constant [11 x i8] c"***StrCell\00" -@tn.str.267 = private constant [23 x i8] c"**__VL__string__Vtable\00" -@tn.str.268 = private constant [7 x i8] c"*?File\00" -@tn.str.269 = private constant [9 x i8] c"*?string\00" -@tn.str.270 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.271 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [179 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 15 }, { ptr, i64 } { ptr @tn.str.113, i64 9 }, { ptr, i64 } { ptr @tn.str.114, i64 7 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 8 }, { ptr, i64 } { ptr @tn.str.117, i64 10 }, { ptr, i64 } { ptr @tn.str.118, i64 11 }, { ptr, i64 } { ptr @tn.str.119, i64 3 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 10 }, { ptr, i64 } { ptr @tn.str.122, i64 11 }, { ptr, i64 } { ptr @tn.str.123, i64 5 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 5 }, { ptr, i64 } { ptr @tn.str.126, i64 8 }, { ptr, i64 } { ptr @tn.str.127, i64 9 }, { ptr, i64 } { ptr @tn.str.128, i64 17 }, { ptr, i64 } { ptr @tn.str.129, i64 18 }, { ptr, i64 } { ptr @tn.str.130, i64 8 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 4 }, { ptr, i64 } { ptr @tn.str.133, i64 5 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 7 }, { ptr, i64 } { ptr @tn.str.136, i64 10 }, { ptr, i64 } { ptr @tn.str.137, i64 3 }, { ptr, i64 } { ptr @tn.str.138, i64 13 }, { ptr, i64 } { ptr @tn.str.139, i64 14 }, { ptr, i64 } { ptr @tn.str.140, i64 4 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 9 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 9 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 6 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 6 }, { ptr, i64 } { ptr @tn.str.149, i64 8 }, { ptr, i64 } { ptr @tn.str.150, i64 6 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 7 }, { ptr, i64 } { ptr @tn.str.153, i64 4 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 5 }, { ptr, i64 } { ptr @tn.str.156, i64 16 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 21 }, { ptr, i64 } { ptr @tn.str.159, i64 6 }, { ptr, i64 } { ptr @tn.str.160, i64 7 }, { ptr, i64 } { ptr @tn.str.161, i64 24 }, { ptr, i64 } { ptr @tn.str.162, i64 23 }, { ptr, i64 } { ptr @tn.str.163, i64 15 }, { ptr, i64 } { ptr @tn.str.164, i64 12 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 10 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 8 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 10 }, { ptr, i64 } { ptr @tn.str.171, i64 7 }, { ptr, i64 } { ptr @tn.str.172, i64 9 }, { ptr, i64 } { ptr @tn.str.173, i64 4 }, { ptr, i64 } { ptr @tn.str.174, i64 13 }, { ptr, i64 } { ptr @tn.str.175, i64 6 }, { ptr, i64 } { ptr @tn.str.176, i64 7 }, { ptr, i64 } { ptr @tn.str.177, i64 18 }, { ptr, i64 } { ptr @tn.str.178, i64 9 }, { ptr, i64 } { ptr @tn.str.179, i64 5 }, { ptr, i64 } { ptr @tn.str.180, i64 6 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 7 }, { ptr, i64 } { ptr @tn.str.188, i64 8 }, { ptr, i64 } { ptr @tn.str.189, i64 8 }, { ptr, i64 } { ptr @tn.str.190, i64 12 }, { ptr, i64 } { ptr @tn.str.191, i64 6 }, { ptr, i64 } { ptr @tn.str.192, i64 7 }, { ptr, i64 } { ptr @tn.str.193, i64 17 }, { ptr, i64 } { ptr @tn.str.194, i64 8 }, { ptr, i64 } { ptr @tn.str.195, i64 9 }, { ptr, i64 } { ptr @tn.str.196, i64 18 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 5 }, { ptr, i64 } { ptr @tn.str.199, i64 4 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 7 }, { ptr, i64 } { ptr @tn.str.202, i64 6 }, { ptr, i64 } { ptr @tn.str.203, i64 5 }, { ptr, i64 } { ptr @tn.str.204, i64 10 }, { ptr, i64 } { ptr @tn.str.205, i64 20 }, { ptr, i64 } { ptr @tn.str.206, i64 11 }, { ptr, i64 } { ptr @tn.str.207, i64 9 }, { ptr, i64 } { ptr @tn.str.208, i64 21 }, { ptr, i64 } { ptr @tn.str.209, i64 7 }, { ptr, i64 } { ptr @tn.str.210, i64 4 }, { ptr, i64 } { ptr @tn.str.211, i64 16 }, { ptr, i64 } { ptr @tn.str.212, i64 10 }, { ptr, i64 } { ptr @tn.str.213, i64 8 }, { ptr, i64 } { ptr @tn.str.214, i64 11 }, { ptr, i64 } { ptr @tn.str.215, i64 14 }, { ptr, i64 } { ptr @tn.str.216, i64 7 }, { ptr, i64 } { ptr @tn.str.217, i64 13 }, { ptr, i64 } { ptr @tn.str.218, i64 9 }, { ptr, i64 } { ptr @tn.str.219, i64 8 }, { ptr, i64 } { ptr @tn.str.220, i64 10 }, { ptr, i64 } { ptr @tn.str.221, i64 9 }, { ptr, i64 } { ptr @tn.str.222, i64 9 }, { ptr, i64 } { ptr @tn.str.223, i64 6 }, { ptr, i64 } { ptr @tn.str.224, i64 16 }, { ptr, i64 } { ptr @tn.str.225, i64 13 }, { ptr, i64 } { ptr @tn.str.226, i64 14 }, { ptr, i64 } { ptr @tn.str.227, i64 7 }, { ptr, i64 } { ptr @tn.str.228, i64 7 }, { ptr, i64 } { ptr @tn.str.229, i64 8 }, { ptr, i64 } { ptr @tn.str.230, i64 9 }, { ptr, i64 } { ptr @tn.str.231, i64 5 }, { ptr, i64 } { ptr @tn.str.232, i64 11 }, { ptr, i64 } { ptr @tn.str.233, i64 10 }, { ptr, i64 } { ptr @tn.str.234, i64 5 }, { ptr, i64 } { ptr @tn.str.235, i64 12 }, { ptr, i64 } { ptr @tn.str.236, i64 7 }, { ptr, i64 } { ptr @tn.str.237, i64 6 }, { ptr, i64 } { ptr @tn.str.238, i64 10 }, { ptr, i64 } { ptr @tn.str.239, i64 19 }, { ptr, i64 } { ptr @tn.str.240, i64 6 }, { ptr, i64 } { ptr @tn.str.241, i64 4 }, { ptr, i64 } { ptr @tn.str.242, i64 5 }, { ptr, i64 } { ptr @tn.str.243, i64 10 }, { ptr, i64 } { ptr @tn.str.244, i64 5 }, { ptr, i64 } { ptr @tn.str.245, i64 9 }, { ptr, i64 } { ptr @tn.str.246, i64 7 }, { ptr, i64 } { ptr @tn.str.247, i64 10 }, { ptr, i64 } { ptr @tn.str.248, i64 8 }, { ptr, i64 } { ptr @tn.str.249, i64 6 }, { ptr, i64 } { ptr @tn.str.250, i64 8 }, { ptr, i64 } { ptr @tn.str.251, i64 5 }, { ptr, i64 } { ptr @tn.str.252, i64 8 }, { ptr, i64 } { ptr @tn.str.253, i64 6 }, { ptr, i64 } { ptr @tn.str.254, i64 8 }, { ptr, i64 } { ptr @tn.str.255, i64 13 }, { ptr, i64 } { ptr @tn.str.256, i64 7 }, { ptr, i64 } { ptr @tn.str.257, i64 9 }, { ptr, i64 } { ptr @tn.str.258, i64 10 }, { ptr, i64 } { ptr @tn.str.259, i64 19 }, { ptr, i64 } { ptr @tn.str.260, i64 8 }, { ptr, i64 } { ptr @tn.str.261, i64 5 }, { ptr, i64 } { ptr @tn.str.262, i64 8 }, { ptr, i64 } { ptr @tn.str.263, i64 7 }, { ptr, i64 } { ptr @tn.str.264, i64 6 }, { ptr, i64 } { ptr @tn.str.265, i64 12 }, { ptr, i64 } { ptr @tn.str.266, i64 10 }, { ptr, i64 } { ptr @tn.str.267, i64 22 }, { ptr, i64 } { ptr @tn.str.268, i64 6 }, { ptr, i64 } { ptr @tn.str.269, i64 8 }, { ptr, i64 } { ptr @tn.str.270, i64 15 }, { ptr, i64 } { ptr @tn.str.271, i64 8 }] -@str.272 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.273 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.274 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@tn.str.111 = private constant [8 x i8] c"cstring\00" +@tn.str.112 = private constant [6 x i8] c"*void\00" +@tn.str.113 = private constant [16 x i8] c"Source_Location\00" +@tn.str.114 = private constant [10 x i8] c"Allocator\00" +@tn.str.115 = private constant [8 x i8] c"Context\00" +@tn.str.116 = private constant [7 x i8] c"[4]i64\00" +@tn.str.117 = private constant [9 x i8] c"[]string\00" +@tn.str.118 = private constant [11 x i8] c"CAllocator\00" +@tn.str.119 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.120 = private constant [4 x i8] c"GPA\00" +@tn.str.121 = private constant [5 x i8] c"*GPA\00" +@tn.str.122 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.123 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.124 = private constant [6 x i8] c"Arena\00" +@tn.str.125 = private constant [7 x i8] c"*Arena\00" +@tn.str.126 = private constant [6 x i8] c"[*]u8\00" +@tn.str.127 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.128 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.129 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.130 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.131 = private constant [9 x i8] c"OpenMode\00" +@tn.str.132 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.133 = private constant [5 x i8] c"File\00" +@tn.str.134 = private constant [6 x i8] c"*File\00" +@tn.str.135 = private constant [6 x i8] c"?File\00" +@tn.str.136 = private constant [8 x i8] c"?string\00" +@tn.str.137 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.138 = private constant [9 x i8] c"?cstring\00" +@tn.str.139 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.140 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.141 = private constant [5 x i8] c"*i32\00" +@tn.str.142 = private constant [9 x i8] c"SockAddr\00" +@tn.str.143 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.144 = private constant [5 x i8] c"*u32\00" +@tn.str.145 = private constant [10 x i8] c"JsonError\00" +@tn.str.146 = private constant [6 x i8] c"Array\00" +@tn.str.147 = private constant [7 x i8] c"Object\00" +@tn.str.148 = private constant [6 x i8] c"Value\00" +@tn.str.149 = private constant [7 x i8] c"Member\00" +@tn.str.150 = private constant [9 x i8] c"[*]Value\00" +@tn.str.151 = private constant [7 x i8] c"*Array\00" +@tn.str.152 = private constant [10 x i8] c"[*]Member\00" +@tn.str.153 = private constant [8 x i8] c"*Object\00" +@tn.str.154 = private constant [5 x i8] c"[]u8\00" +@tn.str.155 = private constant [5 x i8] c"Sink\00" +@tn.str.156 = private constant [6 x i8] c"*Sink\00" +@tn.str.157 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.158 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.159 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.160 = private constant [7 x i8] c"Parser\00" +@tn.str.161 = private constant [8 x i8] c"*Parser\00" +@tn.str.162 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.163 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.164 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.165 = private constant [13 x i8] c"Architecture\00" +@tn.str.166 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.167 = private constant [11 x i8] c"() -> bool\00" +@tn.str.168 = private constant [5 x i8] c"*i64\00" +@tn.str.169 = private constant [9 x i8] c"CliError\00" +@tn.str.170 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.171 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.172 = private constant [8 x i8] c"Command\00" +@tn.str.173 = private constant [10 x i8] c"FlagValue\00" +@tn.str.174 = private constant [5 x i8] c"Diag\00" +@tn.str.175 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.176 = private constant [7 x i8] c"Parsed\00" +@tn.str.177 = private constant [8 x i8] c"*Parsed\00" +@tn.str.178 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.179 = private constant [10 x i8] c"[]Command\00" +@tn.str.180 = private constant [6 x i8] c"*Diag\00" +@tn.str.181 = private constant [7 x i8] c"[8]i64\00" +@tn.str.182 = private constant [7 x i8] c"[64]u8\00" +@tn.str.183 = private constant [7 x i8] c"Sha256\00" +@tn.str.184 = private constant [8 x i8] c"*Sha256\00" +@tn.str.185 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.186 = private constant [8 x i8] c"[64]i64\00" +@tn.str.187 = private constant [8 x i8] c"IntCell\00" +@tn.str.188 = private constant [8 x i8] c"StrCell\00" +@tn.str.189 = private constant [9 x i8] c"*IntCell\00" +@tn.str.190 = private constant [9 x i8] c"*StrCell\00" +@tn.str.191 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.192 = private constant [7 x i8] c"**void\00" +@tn.str.193 = private constant [8 x i8] c"VL__i64\00" +@tn.str.194 = private constant [18 x i8] c"__VL__i64__Vtable\00" +@tn.str.195 = private constant [9 x i8] c"*VL__i64\00" +@tn.str.196 = private constant [10 x i8] c"**IntCell\00" +@tn.str.197 = private constant [19 x i8] c"*__VL__i64__Vtable\00" +@tn.str.198 = private constant [8 x i8] c"*string\00" +@tn.str.199 = private constant [6 x i8] c"[]Any\00" +@tn.str.200 = private constant [5 x i8] c"*Any\00" +@tn.str.201 = private constant [7 x i8] c"[1]Any\00" +@tn.str.202 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.203 = private constant [7 x i8] c"*[]Any\00" +@tn.str.204 = private constant [4 x i8] c"*u8\00" +@tn.str.205 = private constant [6 x i8] c"*bool\00" +@tn.str.206 = private constant [11 x i8] c"VL__string\00" +@tn.str.207 = private constant [21 x i8] c"__VL__string__Vtable\00" +@tn.str.208 = private constant [12 x i8] c"*VL__string\00" +@tn.str.209 = private constant [10 x i8] c"**StrCell\00" +@tn.str.210 = private constant [22 x i8] c"*__VL__string__Vtable\00" +@tn.str.211 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.212 = private constant [5 x i8] c"*f64\00" +@tn.str.213 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.214 = private constant [11 x i8] c"*Allocator\00" +@tn.str.215 = private constant [9 x i8] c"*Context\00" +@tn.str.216 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.217 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.218 = private constant [8 x i8] c"*Member\00" +@tn.str.219 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.220 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.221 = private constant [9 x i8] c"*Command\00" +@tn.str.222 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.223 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.224 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.225 = private constant [7 x i8] c"*Value\00" +@tn.str.226 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.227 = private constant [14 x i8] c"*Architecture\00" +@tn.str.228 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.229 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.230 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.231 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.232 = private constant [10 x i8] c"*[]string\00" +@tn.str.233 = private constant [6 x i8] c"*[]u8\00" +@tn.str.234 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.235 = private constant [11 x i8] c"*[]Command\00" +@tn.str.236 = private constant [6 x i8] c"**GPA\00" +@tn.str.237 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.238 = private constant [8 x i8] c"**Arena\00" +@tn.str.239 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.240 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.241 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.242 = private constant [7 x i8] c"**File\00" +@tn.str.243 = private constant [6 x i8] c"**i32\00" +@tn.str.244 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.245 = private constant [6 x i8] c"**u32\00" +@tn.str.246 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.247 = private constant [8 x i8] c"**Array\00" +@tn.str.248 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.249 = private constant [9 x i8] c"**Object\00" +@tn.str.250 = private constant [7 x i8] c"**Sink\00" +@tn.str.251 = private constant [9 x i8] c"**Parser\00" +@tn.str.252 = private constant [6 x i8] c"**i64\00" +@tn.str.253 = private constant [9 x i8] c"**Parsed\00" +@tn.str.254 = private constant [7 x i8] c"**Diag\00" +@tn.str.255 = private constant [9 x i8] c"**Sha256\00" +@tn.str.256 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.257 = private constant [8 x i8] c"***void\00" +@tn.str.258 = private constant [10 x i8] c"**VL__i64\00" +@tn.str.259 = private constant [11 x i8] c"***IntCell\00" +@tn.str.260 = private constant [20 x i8] c"**__VL__i64__Vtable\00" +@tn.str.261 = private constant [9 x i8] c"**string\00" +@tn.str.262 = private constant [6 x i8] c"**Any\00" +@tn.str.263 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.264 = private constant [8 x i8] c"**[]Any\00" +@tn.str.265 = private constant [5 x i8] c"**u8\00" +@tn.str.266 = private constant [7 x i8] c"**bool\00" +@tn.str.267 = private constant [13 x i8] c"**VL__string\00" +@tn.str.268 = private constant [11 x i8] c"***StrCell\00" +@tn.str.269 = private constant [23 x i8] c"**__VL__string__Vtable\00" +@tn.str.270 = private constant [7 x i8] c"*?File\00" +@tn.str.271 = private constant [9 x i8] c"*?string\00" +@tn.str.272 = private constant [10 x i8] c"*?cstring\00" +@tn.str.273 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.274 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [182 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 7 }, { ptr, i64 } { ptr @tn.str.112, i64 5 }, { ptr, i64 } { ptr @tn.str.113, i64 15 }, { ptr, i64 } { ptr @tn.str.114, i64 9 }, { ptr, i64 } { ptr @tn.str.115, i64 7 }, { ptr, i64 } { ptr @tn.str.116, i64 6 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 10 }, { ptr, i64 } { ptr @tn.str.119, i64 11 }, { ptr, i64 } { ptr @tn.str.120, i64 3 }, { ptr, i64 } { ptr @tn.str.121, i64 4 }, { ptr, i64 } { ptr @tn.str.122, i64 10 }, { ptr, i64 } { ptr @tn.str.123, i64 11 }, { ptr, i64 } { ptr @tn.str.124, i64 5 }, { ptr, i64 } { ptr @tn.str.125, i64 6 }, { ptr, i64 } { ptr @tn.str.126, i64 5 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 9 }, { ptr, i64 } { ptr @tn.str.129, i64 17 }, { ptr, i64 } { ptr @tn.str.130, i64 18 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 8 }, { ptr, i64 } { ptr @tn.str.133, i64 4 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 7 }, { ptr, i64 } { ptr @tn.str.137, i64 10 }, { ptr, i64 } { ptr @tn.str.138, i64 8 }, { ptr, i64 } { ptr @tn.str.139, i64 13 }, { ptr, i64 } { ptr @tn.str.140, i64 14 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 9 }, { ptr, i64 } { ptr @tn.str.144, i64 4 }, { ptr, i64 } { ptr @tn.str.145, i64 9 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 6 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 6 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 6 }, { ptr, i64 } { ptr @tn.str.152, i64 9 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 5 }, { ptr, i64 } { ptr @tn.str.157, i64 16 }, { ptr, i64 } { ptr @tn.str.158, i64 14 }, { ptr, i64 } { ptr @tn.str.159, i64 21 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 7 }, { ptr, i64 } { ptr @tn.str.162, i64 24 }, { ptr, i64 } { ptr @tn.str.163, i64 23 }, { ptr, i64 } { ptr @tn.str.164, i64 15 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 12 }, { ptr, i64 } { ptr @tn.str.167, i64 10 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 8 }, { ptr, i64 } { ptr @tn.str.171, i64 10 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 9 }, { ptr, i64 } { ptr @tn.str.174, i64 4 }, { ptr, i64 } { ptr @tn.str.175, i64 13 }, { ptr, i64 } { ptr @tn.str.176, i64 6 }, { ptr, i64 } { ptr @tn.str.177, i64 7 }, { ptr, i64 } { ptr @tn.str.178, i64 18 }, { ptr, i64 } { ptr @tn.str.179, i64 9 }, { ptr, i64 } { ptr @tn.str.180, i64 5 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 7 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 8 }, { ptr, i64 } { ptr @tn.str.190, i64 8 }, { ptr, i64 } { ptr @tn.str.191, i64 12 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 7 }, { ptr, i64 } { ptr @tn.str.194, i64 17 }, { ptr, i64 } { ptr @tn.str.195, i64 8 }, { ptr, i64 } { ptr @tn.str.196, i64 9 }, { ptr, i64 } { ptr @tn.str.197, i64 18 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 5 }, { ptr, i64 } { ptr @tn.str.200, i64 4 }, { ptr, i64 } { ptr @tn.str.201, i64 6 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 6 }, { ptr, i64 } { ptr @tn.str.204, i64 3 }, { ptr, i64 } { ptr @tn.str.205, i64 5 }, { ptr, i64 } { ptr @tn.str.206, i64 10 }, { ptr, i64 } { ptr @tn.str.207, i64 20 }, { ptr, i64 } { ptr @tn.str.208, i64 11 }, { ptr, i64 } { ptr @tn.str.209, i64 9 }, { ptr, i64 } { ptr @tn.str.210, i64 21 }, { ptr, i64 } { ptr @tn.str.211, i64 7 }, { ptr, i64 } { ptr @tn.str.212, i64 4 }, { ptr, i64 } { ptr @tn.str.213, i64 16 }, { ptr, i64 } { ptr @tn.str.214, i64 10 }, { ptr, i64 } { ptr @tn.str.215, i64 8 }, { ptr, i64 } { ptr @tn.str.216, i64 11 }, { ptr, i64 } { ptr @tn.str.217, i64 14 }, { ptr, i64 } { ptr @tn.str.218, i64 7 }, { ptr, i64 } { ptr @tn.str.219, i64 13 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 8 }, { ptr, i64 } { ptr @tn.str.222, i64 10 }, { ptr, i64 } { ptr @tn.str.223, i64 9 }, { ptr, i64 } { ptr @tn.str.224, i64 9 }, { ptr, i64 } { ptr @tn.str.225, i64 6 }, { ptr, i64 } { ptr @tn.str.226, i64 16 }, { ptr, i64 } { ptr @tn.str.227, i64 13 }, { ptr, i64 } { ptr @tn.str.228, i64 14 }, { ptr, i64 } { ptr @tn.str.229, i64 7 }, { ptr, i64 } { ptr @tn.str.230, i64 7 }, { ptr, i64 } { ptr @tn.str.231, i64 8 }, { ptr, i64 } { ptr @tn.str.232, i64 9 }, { ptr, i64 } { ptr @tn.str.233, i64 5 }, { ptr, i64 } { ptr @tn.str.234, i64 11 }, { ptr, i64 } { ptr @tn.str.235, i64 10 }, { ptr, i64 } { ptr @tn.str.236, i64 5 }, { ptr, i64 } { ptr @tn.str.237, i64 12 }, { ptr, i64 } { ptr @tn.str.238, i64 7 }, { ptr, i64 } { ptr @tn.str.239, i64 6 }, { ptr, i64 } { ptr @tn.str.240, i64 10 }, { ptr, i64 } { ptr @tn.str.241, i64 19 }, { ptr, i64 } { ptr @tn.str.242, i64 6 }, { ptr, i64 } { ptr @tn.str.243, i64 5 }, { ptr, i64 } { ptr @tn.str.244, i64 10 }, { ptr, i64 } { ptr @tn.str.245, i64 5 }, { ptr, i64 } { ptr @tn.str.246, i64 9 }, { ptr, i64 } { ptr @tn.str.247, i64 7 }, { ptr, i64 } { ptr @tn.str.248, i64 10 }, { ptr, i64 } { ptr @tn.str.249, i64 8 }, { ptr, i64 } { ptr @tn.str.250, i64 6 }, { ptr, i64 } { ptr @tn.str.251, i64 8 }, { ptr, i64 } { ptr @tn.str.252, i64 5 }, { ptr, i64 } { ptr @tn.str.253, i64 8 }, { ptr, i64 } { ptr @tn.str.254, i64 6 }, { ptr, i64 } { ptr @tn.str.255, i64 8 }, { ptr, i64 } { ptr @tn.str.256, i64 13 }, { ptr, i64 } { ptr @tn.str.257, i64 7 }, { ptr, i64 } { ptr @tn.str.258, i64 9 }, { ptr, i64 } { ptr @tn.str.259, i64 10 }, { ptr, i64 } { ptr @tn.str.260, i64 19 }, { ptr, i64 } { ptr @tn.str.261, i64 8 }, { ptr, i64 } { ptr @tn.str.262, i64 5 }, { ptr, i64 } { ptr @tn.str.263, i64 8 }, { ptr, i64 } { ptr @tn.str.264, i64 7 }, { ptr, i64 } { ptr @tn.str.265, i64 4 }, { ptr, i64 } { ptr @tn.str.266, i64 6 }, { ptr, i64 } { ptr @tn.str.267, i64 12 }, { ptr, i64 } { ptr @tn.str.268, i64 10 }, { ptr, i64 } { ptr @tn.str.269, i64 22 }, { ptr, i64 } { ptr @tn.str.270, i64 6 }, { ptr, i64 } { ptr @tn.str.271, i64 8 }, { ptr, i64 } { ptr @tn.str.272, i64 9 }, { ptr, i64 } { ptr @tn.str.273, i64 15 }, { ptr, i64 } { ptr @tn.str.274, i64 8 }] @str.275 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.276 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.277 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.278 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.279 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.280 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.281 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.282 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.283 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.284 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.285 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.286 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.278 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.279 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.280 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.281 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.282 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.283 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.284 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.285 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.286 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.287 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.288 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.289 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @str.290 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.291 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.292 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.293 = private unnamed_addr constant [3 x i8] c"hi\00", align 1 -@str.294 = private unnamed_addr constant [10 x i8] c"a.get={}\0A\00", align 1 -@str.295 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.296 = private unnamed_addr constant [10 x i8] c"a.get={}\0A\00", align 1 -@str.297 = private unnamed_addr constant [10 x i8] c"b.get={}\0A\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 [3 x i8] c"hi\00", align 1 +@str.297 = private unnamed_addr constant [10 x i8] c"a.get={}\0A\00", align 1 @str.298 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.299 = private unnamed_addr constant [10 x i8] c"b.get={}\0A\00", align 1 -@str.300 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.301 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.302 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.303 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.299 = private unnamed_addr constant [10 x i8] c"a.get={}\0A\00", align 1 +@str.300 = private unnamed_addr constant [10 x i8] c"b.get={}\0A\00", align 1 +@str.301 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.302 = private unnamed_addr constant [10 x i8] c"b.get={}\0A\00", align 1 +@str.303 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.304 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.305 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.306 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.304 = private constant [5 x i8] c"line\00" -@fld.str.305 = private constant [4 x i8] c"col\00" -@fld.str.306 = 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.304, i64 4 }, { ptr, i64 } { ptr @fld.str.305, i64 3 }, { ptr, i64 } { ptr @fld.str.306, i64 4 }] -@str.307 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.308 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.309 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.310 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.311 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.312 = private constant [4 x i8] c"ctx\00" -@fld.str.313 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.314 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.315 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.312, i64 3 }, { ptr, i64 } { ptr @fld.str.313, i64 11 }, { ptr, i64 } { ptr @fld.str.314, i64 13 }] -@str.316 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.317 = private unnamed_addr constant [8 x i8] c"Context\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.320 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.321 = private constant [10 x i8] c"allocator\00" -@fld.str.322 = private constant [5 x i8] c"data\00" -@field_names.323 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.321, i64 9 }, { ptr, i64 } { ptr @fld.str.322, i64 4 }] -@str.324 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.325 = private unnamed_addr constant [11 x i8] c"CAllocator\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.328 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.329 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.330 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.331 = private unnamed_addr constant [4 x i8] c"GPA\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"}\00", align 1 -@str.334 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.335 = private constant [12 x i8] c"alloc_count\00" -@field_names.336 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.335, i64 11 }] -@str.337 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.338 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" -@fld.str.343 = private constant [4 x i8] c"cap\00" -@field_names.344 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.342, i64 4 }, { ptr, i64 } { ptr @fld.str.343, i64 3 }] -@str.345 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.346 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" -@fld.str.351 = private constant [10 x i8] c"end_index\00" -@fld.str.352 = private constant [7 x i8] c"parent\00" -@field_names.353 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.350, i64 5 }, { ptr, i64 } { ptr @fld.str.351, i64 9 }, { ptr, i64 } { ptr @fld.str.352, i64 6 }] -@str.354 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.355 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" -@fld.str.360 = private constant [4 x i8] c"len\00" -@fld.str.361 = private constant [4 x i8] c"pos\00" -@field_names.362 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.359, i64 3 }, { ptr, i64 } { ptr @fld.str.360, i64 3 }, { 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 [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" -@fld.str.369 = private constant [12 x i8] c"alloc_count\00" -@fld.str.370 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.371 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.372 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.368, i64 6 }, { ptr, i64 } { ptr @fld.str.369, i64 11 }, { ptr, i64 } { ptr @fld.str.370, i64 13 }, { ptr, i64 } { ptr @fld.str.371, i64 17 }] -@str.373 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.374 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" -@field_names.379 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.378, i64 2 }] -@str.380 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.381 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" -@fld.str.386 = private constant [5 x i8] c"line\00" -@fld.str.387 = private constant [4 x i8] c"col\00" -@fld.str.388 = private constant [5 x i8] c"func\00" -@fld.str.389 = private constant [10 x i8] c"line_text\00" -@field_names.390 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.385, i64 4 }, { ptr, i64 } { ptr @fld.str.386, i64 4 }, { ptr, i64 } { ptr @fld.str.387, i64 3 }, { ptr, i64 } { ptr @fld.str.388, i64 4 }, { ptr, i64 } { ptr @fld.str.389, i64 9 }] -@str.391 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.392 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" -@fld.str.397 = private constant [7 x i8] c"stdout\00" -@field_names.398 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.396, i64 9 }, { ptr, i64 } { ptr @fld.str.397, i64 6 }] -@str.399 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.400 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.405 = private constant [11 x i8] c"sin_family\00" -@fld.str.406 = private constant [9 x i8] c"sin_port\00" -@fld.str.407 = private constant [9 x i8] c"sin_addr\00" -@fld.str.408 = private constant [9 x i8] c"sin_zero\00" -@field_names.409 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.404, i64 7 }, { ptr, i64 } { ptr @fld.str.405, i64 10 }, { ptr, i64 } { ptr @fld.str.406, i64 8 }, { ptr, i64 } { ptr @fld.str.407, i64 8 }, { ptr, i64 } { ptr @fld.str.408, i64 8 }] -@str.410 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.411 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" -@fld.str.416 = private constant [4 x i8] c"len\00" -@fld.str.417 = private constant [4 x i8] c"cap\00" -@field_names.418 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.415, i64 5 }, { ptr, i64 } { ptr @fld.str.416, i64 3 }, { 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 [7 x i8] c"Object\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"items\00" -@fld.str.425 = private constant [4 x i8] c"len\00" -@fld.str.426 = private constant [4 x i8] c"cap\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 3 }, { 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 [7 x i8] c"Member\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"key\00" -@fld.str.434 = private constant [4 x i8] c"val\00" -@field_names.435 = private constant [2 x { ptr, i64 }] [{ 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 [5 x i8] c"Sink\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 [4 x i8] c"dst\00" -@fld.str.442 = private constant [4 x i8] c"pos\00" -@fld.str.443 = private constant [5 x i8] c"file\00" -@field_names.444 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.441, i64 3 }, { ptr, i64 } { ptr @fld.str.442, i64 3 }, { ptr, i64 } { ptr @fld.str.443, i64 4 }] -@str.445 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.446 = private unnamed_addr constant [7 x i8] c"Parser\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"src\00" -@fld.str.451 = private constant [4 x i8] c"pos\00" -@fld.str.452 = private constant [6 x i8] c"alloc\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 5 }] -@str.454 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.455 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.459 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.460 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.461 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" -@fld.str.466 = private constant [12 x i8] c"takes_value\00" -@fld.str.467 = private constant [9 x i8] c"required\00" -@field_names.468 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.465, i64 4 }, { ptr, i64 } { ptr @fld.str.466, i64 11 }, { ptr, i64 } { ptr @fld.str.467, i64 8 }] -@str.469 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.470 = private unnamed_addr constant [8 x i8] c"Command\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 [6 x i8] c"group\00" -@fld.str.475 = private constant [8 x i8] c"command\00" -@fld.str.476 = private constant [6 x i8] c"flags\00" -@field_names.477 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.474, i64 5 }, { ptr, i64 } { ptr @fld.str.475, i64 7 }, { 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 [10 x i8] c"FlagValue\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"set\00" -@fld.str.484 = private constant [6 x i8] c"value\00" -@field_names.485 = private constant [2 x { ptr, i64 }] [{ 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 [5 x i8] c"Diag\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"index\00" -@fld.str.492 = private constant [6 x i8] c"token\00" -@field_names.493 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.491, i64 5 }, { ptr, i64 } { ptr @fld.str.492, i64 5 }] -@str.494 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.495 = private unnamed_addr constant [7 x i8] c"Parsed\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 [6 x i8] c"group\00" -@fld.str.500 = private constant [8 x i8] c"command\00" -@fld.str.501 = private constant [10 x i8] c"cmd_index\00" -@fld.str.502 = private constant [5 x i8] c"json\00" -@fld.str.503 = private constant [5 x i8] c"rest\00" -@fld.str.504 = private constant [5 x i8] c"spec\00" -@fld.str.505 = private constant [7 x i8] c"values\00" -@field_names.506 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.499, i64 5 }, { ptr, i64 } { ptr @fld.str.500, i64 7 }, { ptr, i64 } { ptr @fld.str.501, i64 9 }, { ptr, i64 } { ptr @fld.str.502, i64 4 }, { ptr, i64 } { ptr @fld.str.503, i64 4 }, { ptr, i64 } { ptr @fld.str.504, i64 4 }, { ptr, i64 } { ptr @fld.str.505, i64 6 }] -@str.507 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.508 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" -@fld.str.513 = private constant [4 x i8] c"buf\00" -@fld.str.514 = private constant [8 x i8] c"buf_len\00" -@fld.str.515 = private constant [10 x i8] c"total_len\00" -@field_names.516 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.512, i64 1 }, { ptr, i64 } { ptr @fld.str.513, i64 3 }, { ptr, i64 } { ptr @fld.str.514, i64 7 }, { ptr, i64 } { ptr @fld.str.515, i64 9 }] -@str.517 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.518 = private unnamed_addr constant [8 x i8] c"IntCell\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 [2 x i8] c"v\00" -@field_names.523 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.522, i64 1 }] -@str.524 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.525 = private unnamed_addr constant [8 x i8] c"StrCell\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"s\00" -@field_names.530 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.529, i64 1 }] -@str.531 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.532 = private unnamed_addr constant [8 x i8] c"VL__i64\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"ctx\00" -@fld.str.537 = private constant [9 x i8] c"__vtable\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 8 }] -@str.539 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.540 = private unnamed_addr constant [18 x i8] c"__VL__i64__Vtable\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 [4 x i8] c"get\00" -@field_names.545 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.544, i64 3 }] -@str.546 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.547 = private unnamed_addr constant [11 x i8] c"VL__string\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 [4 x i8] c"ctx\00" -@fld.str.552 = private constant [9 x i8] c"__vtable\00" -@field_names.553 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.551, i64 3 }, { ptr, i64 } { ptr @fld.str.552, i64 8 }] -@str.554 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.555 = private unnamed_addr constant [21 x i8] c"__VL__string__Vtable\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 -@fld.str.559 = private constant [4 x i8] c"get\00" -@field_names.560 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.559, i64 3 }] -@str.561 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.562 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.563 = private constant [5 x i8] c"read\00" -@fld.str.564 = private constant [6 x i8] c"write\00" -@fld.str.565 = private constant [7 x i8] c"append\00" -@fld.str.566 = private constant [11 x i8] c"read_write\00" -@field_names.567 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.563, i64 4 }, { ptr, i64 } { ptr @fld.str.564, i64 5 }, { ptr, i64 } { ptr @fld.str.565, i64 6 }, { ptr, i64 } { ptr @fld.str.566, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.571 = private constant [4 x i8] c"set\00" -@fld.str.572 = private constant [8 x i8] c"current\00" -@fld.str.573 = private constant [4 x i8] c"end\00" -@field_names.574 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.571, i64 3 }, { ptr, i64 } { ptr @fld.str.572, i64 7 }, { ptr, i64 } { ptr @fld.str.573, i64 3 }] -@str.575 = private unnamed_addr constant [2 x i8] c"(\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 -@fld.str.578 = private constant [6 x i8] c"null_\00" -@fld.str.579 = private constant [6 x i8] c"bool_\00" -@fld.str.580 = private constant [5 x i8] c"int_\00" -@fld.str.581 = private constant [4 x i8] c"str\00" -@fld.str.582 = private constant [6 x i8] c"array\00" -@fld.str.583 = private constant [7 x i8] c"object\00" -@field_names.584 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.578, i64 5 }, { ptr, i64 } { ptr @fld.str.579, i64 5 }, { ptr, i64 } { ptr @fld.str.580, i64 4 }, { ptr, i64 } { ptr @fld.str.581, i64 3 }, { ptr, i64 } { ptr @fld.str.582, i64 5 }, { ptr, i64 } { ptr @fld.str.583, i64 6 }] -@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 [6 x i8] c"macos\00" -@fld.str.589 = private constant [6 x i8] c"linux\00" -@fld.str.590 = private constant [8 x i8] c"windows\00" -@fld.str.591 = private constant [5 x i8] c"wasm\00" -@fld.str.592 = private constant [4 x i8] c"ios\00" -@fld.str.593 = private constant [8 x i8] c"android\00" -@fld.str.594 = private constant [8 x i8] c"unknown\00" -@field_names.595 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.588, i64 5 }, { ptr, i64 } { ptr @fld.str.589, i64 5 }, { ptr, i64 } { ptr @fld.str.590, i64 7 }, { ptr, i64 } { ptr @fld.str.591, i64 4 }, { ptr, i64 } { ptr @fld.str.592, i64 3 }, { ptr, i64 } { ptr @fld.str.593, i64 7 }, { ptr, i64 } { ptr @fld.str.594, i64 7 }] -@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 [8 x i8] c"aarch64\00" -@fld.str.600 = private constant [7 x i8] c"x86_64\00" -@fld.str.601 = private constant [7 x i8] c"wasm32\00" -@fld.str.602 = private constant [7 x i8] c"wasm64\00" -@fld.str.603 = private constant [8 x i8] c"unknown\00" -@field_names.604 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.599, i64 7 }, { ptr, i64 } { ptr @fld.str.600, i64 6 }, { ptr, i64 } { ptr @fld.str.601, i64 6 }, { ptr, i64 } { ptr @fld.str.602, i64 6 }, { ptr, i64 } { ptr @fld.str.603, i64 7 }] -@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 -@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.307 = private constant [5 x i8] c"line\00" +@fld.str.308 = private constant [4 x i8] c"col\00" +@fld.str.309 = 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.307, i64 4 }, { ptr, i64 } { ptr @fld.str.308, i64 3 }, { ptr, i64 } { ptr @fld.str.309, i64 4 }] +@str.310 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.311 = private unnamed_addr constant [10 x i8] c"Allocator\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"}\00", align 1 +@str.314 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.315 = private constant [4 x i8] c"ctx\00" +@fld.str.316 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.317 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.318 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.315, i64 3 }, { ptr, i64 } { ptr @fld.str.316, i64 11 }, { ptr, i64 } { ptr @fld.str.317, i64 13 }] +@str.319 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.320 = private unnamed_addr constant [8 x i8] c"Context\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 [10 x i8] c"allocator\00" +@fld.str.325 = private constant [5 x i8] c"data\00" +@field_names.326 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.324, i64 9 }, { ptr, i64 } { ptr @fld.str.325, i64 4 }] +@str.327 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.328 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.329 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.330 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.331 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.332 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.333 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.334 = private unnamed_addr constant [4 x i8] c"GPA\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 [12 x i8] c"alloc_count\00" +@field_names.339 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.338, i64 11 }] +@str.340 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.341 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" +@fld.str.346 = private constant [4 x i8] c"cap\00" +@field_names.347 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.345, i64 4 }, { ptr, i64 } { ptr @fld.str.346, i64 3 }] +@str.348 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.349 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" +@fld.str.354 = private constant [10 x i8] c"end_index\00" +@fld.str.355 = private constant [7 x i8] c"parent\00" +@field_names.356 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.353, i64 5 }, { ptr, i64 } { ptr @fld.str.354, i64 9 }, { ptr, i64 } { ptr @fld.str.355, i64 6 }] +@str.357 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.358 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" +@fld.str.363 = private constant [4 x i8] c"len\00" +@fld.str.364 = private constant [4 x i8] c"pos\00" +@field_names.365 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.362, i64 3 }, { ptr, i64 } { ptr @fld.str.363, i64 3 }, { 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 [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" +@fld.str.372 = private constant [12 x i8] c"alloc_count\00" +@fld.str.373 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.374 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.375 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.371, i64 6 }, { ptr, i64 } { ptr @fld.str.372, i64 11 }, { ptr, i64 } { ptr @fld.str.373, i64 13 }, { ptr, i64 } { ptr @fld.str.374, i64 17 }] +@str.376 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.377 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" +@field_names.382 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.381, i64 2 }] +@str.383 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.384 = private unnamed_addr constant [11 x i8] c"TraceFrame\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"file\00" +@fld.str.389 = private constant [5 x i8] c"line\00" +@fld.str.390 = private constant [4 x i8] c"col\00" +@fld.str.391 = private constant [5 x i8] c"func\00" +@fld.str.392 = private constant [10 x i8] c"line_text\00" +@field_names.393 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.388, i64 4 }, { ptr, i64 } { ptr @fld.str.389, i64 4 }, { ptr, i64 } { ptr @fld.str.390, i64 3 }, { ptr, i64 } { ptr @fld.str.391, i64 4 }, { ptr, i64 } { ptr @fld.str.392, i64 9 }] +@str.394 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.395 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" +@fld.str.400 = private constant [7 x i8] c"stdout\00" +@field_names.401 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.399, i64 9 }, { ptr, i64 } { ptr @fld.str.400, i64 6 }] +@str.402 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.403 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" +@fld.str.408 = private constant [11 x i8] c"sin_family\00" +@fld.str.409 = private constant [9 x i8] c"sin_port\00" +@fld.str.410 = private constant [9 x i8] c"sin_addr\00" +@fld.str.411 = private constant [9 x i8] c"sin_zero\00" +@field_names.412 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.407, i64 7 }, { ptr, i64 } { ptr @fld.str.408, i64 10 }, { ptr, i64 } { ptr @fld.str.409, i64 8 }, { ptr, i64 } { ptr @fld.str.410, i64 8 }, { ptr, i64 } { ptr @fld.str.411, i64 8 }] +@str.413 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.414 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" +@fld.str.419 = private constant [4 x i8] c"len\00" +@fld.str.420 = private constant [4 x i8] c"cap\00" +@field_names.421 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.418, i64 5 }, { ptr, i64 } { ptr @fld.str.419, i64 3 }, { ptr, i64 } { ptr @fld.str.420, i64 3 }] +@str.422 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.423 = private unnamed_addr constant [7 x i8] c"Object\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.431 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.432 = private unnamed_addr constant [7 x i8] c"Member\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 [4 x i8] c"key\00" +@fld.str.437 = private constant [4 x i8] c"val\00" +@field_names.438 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.436, i64 3 }, { ptr, i64 } { ptr @fld.str.437, i64 3 }] +@str.439 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.440 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 +@str.441 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.442 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.443 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.444 = private constant [4 x i8] c"dst\00" +@fld.str.445 = private constant [4 x i8] c"pos\00" +@fld.str.446 = private constant [5 x i8] c"file\00" +@field_names.447 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.444, i64 3 }, { ptr, i64 } { ptr @fld.str.445, i64 3 }, { ptr, i64 } { ptr @fld.str.446, i64 4 }] +@str.448 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.449 = private unnamed_addr constant [7 x i8] c"Parser\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"src\00" +@fld.str.454 = private constant [4 x i8] c"pos\00" +@fld.str.455 = private constant [6 x i8] c"alloc\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 5 }] +@str.457 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.458 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 +@field_names.462 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.463 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.464 = private unnamed_addr constant [9 x i8] c"FlagSpec\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"name\00" +@fld.str.469 = private constant [12 x i8] c"takes_value\00" +@fld.str.470 = private constant [9 x i8] c"required\00" +@field_names.471 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.468, i64 4 }, { ptr, i64 } { ptr @fld.str.469, i64 11 }, { ptr, i64 } { ptr @fld.str.470, i64 8 }] +@str.472 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.473 = private unnamed_addr constant [8 x i8] c"Command\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"group\00" +@fld.str.478 = private constant [8 x i8] c"command\00" +@fld.str.479 = private constant [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.479, i64 5 }] +@str.481 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.482 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" +@fld.str.487 = private constant [6 x i8] c"value\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 5 }] +@str.489 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.490 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" +@fld.str.495 = private constant [6 x i8] c"token\00" +@field_names.496 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.494, i64 5 }, { 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 [7 x i8] c"Parsed\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 [6 x i8] c"group\00" +@fld.str.503 = private constant [8 x i8] c"command\00" +@fld.str.504 = private constant [10 x i8] c"cmd_index\00" +@fld.str.505 = private constant [5 x i8] c"json\00" +@fld.str.506 = private constant [5 x i8] c"rest\00" +@fld.str.507 = private constant [5 x i8] c"spec\00" +@fld.str.508 = private constant [7 x i8] c"values\00" +@field_names.509 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.502, i64 5 }, { ptr, i64 } { ptr @fld.str.503, i64 7 }, { ptr, i64 } { ptr @fld.str.504, i64 9 }, { ptr, i64 } { ptr @fld.str.505, i64 4 }, { ptr, i64 } { ptr @fld.str.506, i64 4 }, { ptr, i64 } { ptr @fld.str.507, i64 4 }, { ptr, i64 } { ptr @fld.str.508, i64 6 }] +@str.510 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.511 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" +@fld.str.516 = private constant [4 x i8] c"buf\00" +@fld.str.517 = private constant [8 x i8] c"buf_len\00" +@fld.str.518 = private constant [10 x i8] c"total_len\00" +@field_names.519 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.515, i64 1 }, { ptr, i64 } { ptr @fld.str.516, i64 3 }, { ptr, i64 } { ptr @fld.str.517, i64 7 }, { ptr, i64 } { ptr @fld.str.518, i64 9 }] +@str.520 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.521 = private unnamed_addr constant [8 x i8] c"IntCell\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"v\00" +@field_names.526 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.525, i64 1 }] +@str.527 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.528 = private unnamed_addr constant [8 x i8] c"StrCell\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 [2 x i8] c"s\00" +@field_names.533 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.532, i64 1 }] +@str.534 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.535 = private unnamed_addr constant [8 x i8] c"VL__i64\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"ctx\00" +@fld.str.540 = private constant [9 x i8] c"__vtable\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 8 }] +@str.542 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.543 = private unnamed_addr constant [18 x i8] c"__VL__i64__Vtable\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 [4 x i8] c"get\00" +@field_names.548 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.547, i64 3 }] +@str.549 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.550 = private unnamed_addr constant [11 x i8] c"VL__string\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"ctx\00" +@fld.str.555 = private constant [9 x i8] c"__vtable\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 8 }] +@str.557 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.558 = private unnamed_addr constant [21 x i8] c"__VL__string__Vtable\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 [4 x i8] c"get\00" +@field_names.563 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.562, i64 3 }] +@str.564 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.565 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.566 = private constant [5 x i8] c"read\00" +@fld.str.567 = private constant [6 x i8] c"write\00" +@fld.str.568 = private constant [7 x i8] c"append\00" +@fld.str.569 = private constant [11 x i8] c"read_write\00" +@field_names.570 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.566, i64 4 }, { ptr, i64 } { ptr @fld.str.567, i64 5 }, { ptr, i64 } { ptr @fld.str.568, i64 6 }, { ptr, i64 } { ptr @fld.str.569, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.574 = private constant [4 x i8] c"set\00" +@fld.str.575 = private constant [8 x i8] c"current\00" +@fld.str.576 = private constant [4 x i8] c"end\00" +@field_names.577 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.574, i64 3 }, { ptr, i64 } { ptr @fld.str.575, i64 7 }, { ptr, i64 } { ptr @fld.str.576, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.581 = private constant [6 x i8] c"null_\00" +@fld.str.582 = private constant [6 x i8] c"bool_\00" +@fld.str.583 = private constant [5 x i8] c"int_\00" +@fld.str.584 = private constant [4 x i8] c"str\00" +@fld.str.585 = private constant [6 x i8] c"array\00" +@fld.str.586 = private constant [7 x i8] c"object\00" +@field_names.587 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.581, i64 5 }, { ptr, i64 } { ptr @fld.str.582, i64 5 }, { ptr, i64 } { ptr @fld.str.583, i64 4 }, { ptr, i64 } { ptr @fld.str.584, i64 3 }, { ptr, i64 } { ptr @fld.str.585, i64 5 }, { ptr, i64 } { ptr @fld.str.586, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.591 = private constant [6 x i8] c"macos\00" +@fld.str.592 = private constant [6 x i8] c"linux\00" +@fld.str.593 = private constant [8 x i8] c"windows\00" +@fld.str.594 = private constant [5 x i8] c"wasm\00" +@fld.str.595 = private constant [4 x i8] c"ios\00" +@fld.str.596 = private constant [8 x i8] c"android\00" +@fld.str.597 = private constant [8 x i8] c"unknown\00" +@field_names.598 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.591, i64 5 }, { ptr, i64 } { ptr @fld.str.592, i64 5 }, { ptr, i64 } { ptr @fld.str.593, i64 7 }, { ptr, i64 } { ptr @fld.str.594, i64 4 }, { ptr, i64 } { ptr @fld.str.595, i64 3 }, { ptr, i64 } { ptr @fld.str.596, i64 7 }, { ptr, i64 } { ptr @fld.str.597, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.602 = private constant [8 x i8] c"aarch64\00" +@fld.str.603 = private constant [7 x i8] c"x86_64\00" +@fld.str.604 = private constant [7 x i8] c"wasm32\00" +@fld.str.605 = private constant [7 x i8] c"wasm64\00" +@fld.str.606 = private constant [8 x i8] c"unknown\00" +@field_names.607 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.602, i64 7 }, { ptr, i64 } { ptr @fld.str.603, i64 6 }, { ptr, i64 } { ptr @fld.str.604, i64 6 }, { ptr, i64 } { ptr @fld.str.605, i64 6 }, { ptr, i64 } { ptr @fld.str.606, i64 7 }] +@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 @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 @@ -575,35 +575,35 @@ @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 [5 x i8] c"null\00", align 1 -@str.641 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.642 = private unnamed_addr constant [4 x i8] c"@0x\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 [5 x i8] c"null\00", align 1 -@str.644 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.644 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.645 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.646 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.647 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.647 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.648 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.649 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.650 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.650 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.651 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.652 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.653 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.653 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.654 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.655 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.656 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 +@str.656 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.657 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.658 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.659 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 +@str.659 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.660 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.661 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.662 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.662 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.663 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.664 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.665 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.665 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.666 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.667 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.668 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.668 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.669 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.670 = private unnamed_addr constant [5 x i8] c"null\00", align 1 @str.671 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @@ -678,21 +678,25 @@ @str.740 = private unnamed_addr constant [7 x i8] c"*[]Any\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 [6 x i8] c"*bool\00", align 1 +@str.743 = private unnamed_addr constant [4 x i8] c"*u8\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"*VL__string\00", align 1 +@str.746 = private unnamed_addr constant [6 x i8] c"*bool\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"**StrCell\00", align 1 +@str.749 = private unnamed_addr constant [12 x i8] c"*VL__string\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 [22 x i8] c"*__VL__string__Vtable\00", align 1 +@str.752 = private unnamed_addr constant [10 x i8] c"**StrCell\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 [5 x i8] c"null\00", align 1 -@str.756 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.755 = private unnamed_addr constant [22 x i8] c"*__VL__string__Vtable\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"null\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"null\00", align 1 +@str.761 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -709,7 +713,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -760,7 +764,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -850,7 +854,7 @@ if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.66 @@ -1053,7 +1057,7 @@ if.merge.91: ; preds = %if.else.90, %if.the %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1296,7 +1300,7 @@ if.merge.413: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1368,7 +1372,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1399,7 +1403,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1414,6 +1418,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1456,98 +1469,99 @@ entry: i64 1, label %match.arm.41 i64 10, label %match.arm.42 i64 11, label %match.arm.42 - i64 19, label %match.arm.43 i64 20, label %match.arm.43 i64 21, label %match.arm.43 - i64 24, label %match.arm.43 - i64 26, label %match.arm.43 - i64 28, label %match.arm.43 - i64 30, label %match.arm.43 - i64 33, label %match.arm.43 - i64 35, label %match.arm.43 - i64 39, label %match.arm.43 - i64 43, label %match.arm.43 - i64 45, label %match.arm.43 - i64 48, label %match.arm.43 - i64 52, label %match.arm.43 + i64 22, label %match.arm.43 + i64 25, label %match.arm.43 + i64 27, label %match.arm.43 + i64 29, label %match.arm.43 + i64 31, label %match.arm.43 + i64 34, label %match.arm.43 + i64 36, label %match.arm.43 + i64 40, label %match.arm.43 + i64 44, label %match.arm.43 + i64 46, label %match.arm.43 + i64 49, label %match.arm.43 i64 53, label %match.arm.43 - i64 55, label %match.arm.43 - i64 61, label %match.arm.43 - i64 66, label %match.arm.43 - i64 72, label %match.arm.43 - i64 76, label %match.arm.43 - i64 78, label %match.arm.43 + i64 54, label %match.arm.43 + i64 56, label %match.arm.43 + i64 62, label %match.arm.43 + i64 67, label %match.arm.43 + i64 73, label %match.arm.43 + i64 77, label %match.arm.43 i64 79, label %match.arm.43 i64 80, label %match.arm.43 - i64 82, label %match.arm.43 - i64 89, label %match.arm.43 - i64 93, label %match.arm.43 + i64 81, label %match.arm.43 + i64 83, label %match.arm.43 + i64 90, label %match.arm.43 i64 94, label %match.arm.43 - i64 99, label %match.arm.43 + i64 95, label %match.arm.43 i64 100, label %match.arm.43 - i64 111, label %match.arm.43 - i64 112, label %match.arm.43 - i64 37, label %match.arm.44 + i64 101, label %match.arm.43 + i64 113, label %match.arm.43 + i64 114, label %match.arm.43 i64 38, label %match.arm.44 - i64 54, label %match.arm.44 - i64 70, label %match.arm.44 + i64 39, label %match.arm.44 + i64 55, label %match.arm.44 i64 71, label %match.arm.44 - i64 51, label %match.arm.45 - i64 64, label %match.arm.45 - i64 75, label %match.arm.45 - i64 22, label %match.arm.47 - i64 81, label %match.arm.47 - i64 87, label %match.arm.47 + i64 72, label %match.arm.44 + i64 52, label %match.arm.45 + i64 65, label %match.arm.45 + i64 76, label %match.arm.45 + i64 23, label %match.arm.47 + i64 82, label %match.arm.47 i64 88, label %match.arm.47 - i64 92, label %match.arm.47 - i64 107, label %match.arm.47 - i64 23, label %match.arm.48 - i64 60, label %match.arm.48 - i64 77, label %match.arm.48 - i64 85, label %match.arm.48 - i64 105, label %match.arm.48 - i64 18, label %match.arm.49 - i64 25, label %match.arm.49 - i64 27, label %match.arm.49 - i64 29, label %match.arm.49 - i64 31, label %match.arm.49 + i64 89, label %match.arm.47 + i64 93, label %match.arm.47 + i64 108, label %match.arm.47 + i64 24, label %match.arm.48 + i64 61, label %match.arm.48 + i64 78, label %match.arm.48 + i64 86, label %match.arm.48 + i64 106, label %match.arm.48 + i64 19, label %match.arm.49 + i64 26, label %match.arm.49 + i64 28, label %match.arm.49 + i64 30, label %match.arm.49 i64 32, label %match.arm.49 - i64 34, label %match.arm.49 - i64 36, label %match.arm.49 - i64 40, label %match.arm.49 - i64 44, label %match.arm.49 - i64 47, label %match.arm.49 - i64 49, label %match.arm.49 + i64 33, label %match.arm.49 + i64 35, label %match.arm.49 + i64 37, label %match.arm.49 + i64 41, label %match.arm.49 + i64 48, label %match.arm.49 i64 50, label %match.arm.49 - i64 56, label %match.arm.49 + i64 51, label %match.arm.49 i64 57, label %match.arm.49 i64 58, label %match.arm.49 i64 59, label %match.arm.49 - i64 62, label %match.arm.49 - i64 67, label %match.arm.49 - i64 74, label %match.arm.49 - i64 83, label %match.arm.49 - i64 86, label %match.arm.49 - i64 90, label %match.arm.49 - i64 95, label %match.arm.49 + i64 60, label %match.arm.49 + i64 63, label %match.arm.49 + i64 68, label %match.arm.49 + i64 75, label %match.arm.49 + i64 84, label %match.arm.49 + i64 87, label %match.arm.49 + i64 91, label %match.arm.49 i64 96, label %match.arm.49 i64 97, label %match.arm.49 i64 98, label %match.arm.49 - i64 101, label %match.arm.49 + i64 99, label %match.arm.49 i64 102, label %match.arm.49 i64 103, label %match.arm.49 i64 104, label %match.arm.49 - i64 106, label %match.arm.49 - i64 108, label %match.arm.49 + i64 105, label %match.arm.49 + i64 107, label %match.arm.49 i64 109, label %match.arm.49 i64 110, label %match.arm.49 - i64 113, label %match.arm.49 - i64 114, label %match.arm.49 + i64 111, label %match.arm.49 + i64 112, label %match.arm.49 i64 115, label %match.arm.49 - i64 41, label %match.arm.50 + i64 116, label %match.arm.49 + i64 117, label %match.arm.49 i64 42, label %match.arm.50 - i64 46, label %match.arm.50 - i64 91, label %match.arm.50 + i64 43, label %match.arm.50 + i64 45, label %match.arm.50 + i64 47, label %match.arm.50 + i64 92, label %match.arm.50 i64 13, label %match.arm.51 ] @@ -1565,7 +1579,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 [179 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [182 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 @@ -1598,37 +1612,37 @@ match.arm.43: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.95 [ - i64 19, label %dispatch.case.96 - i64 20, label %dispatch.case.97 - i64 21, label %dispatch.case.98 - i64 24, label %dispatch.case.99 - i64 26, label %dispatch.case.100 - i64 28, label %dispatch.case.101 - i64 30, label %dispatch.case.102 - i64 33, label %dispatch.case.103 - i64 35, label %dispatch.case.104 - i64 39, label %dispatch.case.105 - i64 43, label %dispatch.case.106 - i64 45, label %dispatch.case.107 - i64 48, label %dispatch.case.108 - i64 52, label %dispatch.case.109 - i64 53, label %dispatch.case.110 - i64 55, label %dispatch.case.111 - i64 61, label %dispatch.case.112 - i64 66, label %dispatch.case.113 - i64 72, label %dispatch.case.114 - i64 76, label %dispatch.case.115 - i64 78, label %dispatch.case.116 - i64 79, label %dispatch.case.117 - i64 80, label %dispatch.case.118 - i64 82, label %dispatch.case.119 - i64 89, label %dispatch.case.120 - i64 93, label %dispatch.case.121 - i64 94, label %dispatch.case.122 - i64 99, label %dispatch.case.123 - i64 100, label %dispatch.case.124 - i64 111, label %dispatch.case.125 - i64 112, label %dispatch.case.126 + i64 20, label %dispatch.case.96 + i64 21, label %dispatch.case.97 + i64 22, label %dispatch.case.98 + i64 25, label %dispatch.case.99 + i64 27, label %dispatch.case.100 + i64 29, label %dispatch.case.101 + i64 31, label %dispatch.case.102 + i64 34, label %dispatch.case.103 + i64 36, label %dispatch.case.104 + i64 40, label %dispatch.case.105 + i64 44, label %dispatch.case.106 + i64 46, label %dispatch.case.107 + i64 49, label %dispatch.case.108 + i64 53, label %dispatch.case.109 + i64 54, label %dispatch.case.110 + i64 56, label %dispatch.case.111 + i64 62, label %dispatch.case.112 + i64 67, label %dispatch.case.113 + i64 73, label %dispatch.case.114 + i64 77, label %dispatch.case.115 + i64 79, label %dispatch.case.116 + i64 80, label %dispatch.case.117 + i64 81, label %dispatch.case.118 + i64 83, label %dispatch.case.119 + i64 90, label %dispatch.case.120 + i64 94, label %dispatch.case.121 + i64 95, label %dispatch.case.122 + i64 100, label %dispatch.case.123 + i64 101, label %dispatch.case.124 + i64 113, label %dispatch.case.125 + i64 114, label %dispatch.case.126 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1636,11 +1650,11 @@ match.arm.44: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.283 [ - i64 37, label %dispatch.case.284 - i64 38, label %dispatch.case.285 - i64 54, label %dispatch.case.286 - i64 70, label %dispatch.case.287 - i64 71, label %dispatch.case.288 + i64 38, label %dispatch.case.284 + i64 39, label %dispatch.case.285 + i64 55, label %dispatch.case.286 + i64 71, label %dispatch.case.287 + i64 72, label %dispatch.case.288 ] match.arm.45: ; preds = %entry, %entry, %entry @@ -1663,12 +1677,12 @@ match.arm.47: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.300 [ - i64 22, label %dispatch.case.301 - i64 81, label %dispatch.case.302 - i64 87, label %dispatch.case.303 - i64 88, label %dispatch.case.304 - i64 92, label %dispatch.case.305 - i64 107, label %dispatch.case.306 + i64 23, label %dispatch.case.301 + i64 82, label %dispatch.case.302 + i64 88, label %dispatch.case.303 + i64 89, label %dispatch.case.304 + i64 93, label %dispatch.case.305 + i64 108, label %dispatch.case.306 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1676,11 +1690,11 @@ match.arm.48: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.338 [ - i64 23, label %dispatch.case.339 - i64 60, label %dispatch.case.340 - i64 77, label %dispatch.case.341 - i64 85, label %dispatch.case.342 - i64 105, label %dispatch.case.343 + i64 24, label %dispatch.case.339 + i64 61, label %dispatch.case.340 + i64 78, label %dispatch.case.341 + i64 86, label %dispatch.case.342 + i64 106, label %dispatch.case.343 ] 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 @@ -1688,55 +1702,56 @@ match.arm.49: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.370 [ - i64 18, label %dispatch.case.371 - i64 25, label %dispatch.case.372 - i64 27, label %dispatch.case.373 - i64 29, label %dispatch.case.374 - i64 31, label %dispatch.case.375 - i64 32, label %dispatch.case.376 - i64 34, label %dispatch.case.377 - i64 36, label %dispatch.case.378 - i64 40, label %dispatch.case.379 - i64 44, label %dispatch.case.380 - i64 47, label %dispatch.case.381 - i64 49, label %dispatch.case.382 - i64 50, label %dispatch.case.383 - i64 56, label %dispatch.case.384 - i64 57, label %dispatch.case.385 - i64 58, label %dispatch.case.386 - i64 59, label %dispatch.case.387 - i64 62, label %dispatch.case.388 - i64 67, label %dispatch.case.389 - i64 74, label %dispatch.case.390 - i64 83, label %dispatch.case.391 - i64 86, label %dispatch.case.392 - i64 90, label %dispatch.case.393 - i64 95, label %dispatch.case.394 - i64 96, label %dispatch.case.395 - i64 97, label %dispatch.case.396 - i64 98, label %dispatch.case.397 - i64 101, label %dispatch.case.398 - i64 102, label %dispatch.case.399 - i64 103, label %dispatch.case.400 - i64 104, label %dispatch.case.401 - i64 106, label %dispatch.case.402 - i64 108, label %dispatch.case.403 - i64 109, label %dispatch.case.404 - i64 110, label %dispatch.case.405 - i64 113, label %dispatch.case.406 - i64 114, label %dispatch.case.407 - i64 115, label %dispatch.case.408 + 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 57, label %dispatch.case.383 + i64 58, label %dispatch.case.384 + i64 59, label %dispatch.case.385 + i64 60, label %dispatch.case.386 + i64 63, label %dispatch.case.387 + i64 68, label %dispatch.case.388 + i64 75, label %dispatch.case.389 + i64 84, label %dispatch.case.390 + i64 87, label %dispatch.case.391 + i64 91, label %dispatch.case.392 + i64 96, label %dispatch.case.393 + i64 97, label %dispatch.case.394 + i64 98, label %dispatch.case.395 + i64 99, label %dispatch.case.396 + i64 102, label %dispatch.case.397 + i64 103, label %dispatch.case.398 + i64 104, label %dispatch.case.399 + i64 105, label %dispatch.case.400 + i64 107, label %dispatch.case.401 + i64 109, label %dispatch.case.402 + i64 110, label %dispatch.case.403 + i64 111, label %dispatch.case.404 + i64 112, label %dispatch.case.405 + i64 115, label %dispatch.case.406 + i64 116, label %dispatch.case.407 + i64 117, label %dispatch.case.408 ] -match.arm.50: ; preds = %entry, %entry, %entry, %entry +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.537 [ - i64 41, label %dispatch.case.538 - i64 42, label %dispatch.case.539 - i64 46, label %dispatch.case.540 - i64 91, label %dispatch.case.541 + 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 92, label %dispatch.case.542 ] match.arm.51: ; preds = %entry @@ -1745,7 +1760,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 [179 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [182 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 @@ -1796,7 +1811,7 @@ dispatch.merge.94: ; preds = %dispatch.case.126, br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.272, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.275, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2053,7 +2068,7 @@ dispatch.merge.282: ; preds = %dispatch.case.288, br label %match.merge.37 dispatch.default.283: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.273, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.276, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.282 dispatch.case.284: ; preds = %match.arm.44 @@ -2094,7 +2109,7 @@ dispatch.merge.299: ; preds = %dispatch.case.306, br label %match.merge.37 dispatch.default.300: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.274, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.277, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.299 dispatch.case.301: ; preds = %match.arm.47 @@ -2151,7 +2166,7 @@ dispatch.merge.337: ; preds = %dispatch.case.343, br label %match.merge.37 dispatch.default.338: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.275, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.278, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.337 dispatch.case.339: ; preds = %match.arm.48 @@ -2200,7 +2215,7 @@ dispatch.merge.369: ; preds = %dispatch.case.408, br label %match.merge.37 dispatch.default.370: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.276, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.279, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.371: ; preds = %match.arm.49 @@ -2269,175 +2284,175 @@ dispatch.case.379: ; preds = %match.arm.49 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_u8(ptr %0, ptr %iNp271) + %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_i32(ptr %0, ptr %iNp274) + %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_SockAddr(ptr %0, ptr %iNp277) + %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__ptr_u32(ptr %0, ptr %iNp280) + %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__mptr_Value(ptr %0, ptr %iNp283) + %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__ptr_Array(ptr %0, ptr %iNp286) + %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__mptr_Member(ptr %0, ptr %iNp289) + %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_Object(ptr %0, ptr %iNp292) + %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_Sink(ptr %0, ptr %iNp295) + %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_Parser(ptr %0, ptr %iNp298) + %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_i64(ptr %0, ptr %iNp301) + %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_Parsed(ptr %0, ptr %iNp304) + %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_Diag(ptr %0, ptr %iNp307) + %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_Sha256(ptr %0, ptr %iNp310) + %callN = call { ptr, i64 } @pointer_to_string__ptr_IntCell(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_IntCell(ptr %0, ptr %iNp313) + %callN = call { ptr, i64 } @pointer_to_string__ptr_StrCell(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_StrCell(ptr %0, ptr %iNp316) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(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_ptr_CAllocator(ptr %0, ptr %iNp319) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(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_void(ptr %0, ptr %iNp322) + %callN = call { ptr, i64 } @pointer_to_string__ptr_VL__i64(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_VL__i64(ptr %0, ptr %iNp325) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_IntCell(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_ptr_IntCell(ptr %0, ptr %iNp328) + %callN = call { ptr, i64 } @pointer_to_string__ptr___VL__i64__Vtable(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___VL__i64__Vtable(ptr %0, ptr %iNp331) + %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.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_string(ptr %0, ptr %iNp334) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp334) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 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_Any(ptr %0, ptr %iNp337) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp337) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 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_AR_1_Any(ptr %0, ptr %iNp340) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp340) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 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_SL_Any(ptr %0, ptr %iNp343) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp343) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 @@ -2469,13 +2484,13 @@ dispatch.case.408: ; preds = %match.arm.49 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 -dispatch.merge.536: ; preds = %dispatch.case.541, %dispatch.case.540, %dispatch.case.539, %dispatch.case.538, %dispatch.default.537 +dispatch.merge.536: ; preds = %dispatch.case.542, %dispatch.case.541, %dispatch.case.540, %dispatch.case.539, %dispatch.case.538, %dispatch.default.537 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.537: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.277, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.280, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.536 dispatch.case.538: ; preds = %match.arm.50 @@ -2496,17 +2511,24 @@ dispatch.case.539: ; preds = %match.arm.50 dispatch.case.540: ; preds = %match.arm.50 %ua.raw366 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr367 = inttoptr i64 %ua.raw366 to ptr - %ua.load368 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr367, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load368) + %iNp367 = inttoptr i64 %ua.raw366 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp367) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.536 dispatch.case.541: ; preds = %match.arm.50 - %ua.raw370 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr371 = inttoptr i64 %ua.raw370 to ptr - %ua.load372 = load { [64 x i8], i1 }, ptr %ua.ptr371, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load372) + %ua.raw369 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr370 = inttoptr i64 %ua.raw369 to ptr + %ua.load371 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr370, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load371) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.536 + +dispatch.case.542: ; preds = %match.arm.50 + %ua.raw373 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr374 = inttoptr i64 %ua.raw373 to ptr + %ua.load375 = load { [64 x i8], i1 }, ptr %ua.ptr374, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load375) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.536 } @@ -2517,7 +2539,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.278, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.281, 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 +2635,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.279, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.282, 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 +2643,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.280, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.283, 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 +2653,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.281, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.284, 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.282, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.285, 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 +2667,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.283, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.286, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2659,7 +2681,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.284, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.287, 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 +2689,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.285, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.288, 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 +2700,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.286, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.289, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2735,7 +2757,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.287, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.290, 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 +2765,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.288, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.291, 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 +2776,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.289, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.292, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2774,7 +2796,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.290, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.293, 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 +2804,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.291, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.294, 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 +2815,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.292, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.295, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3014,9 +3036,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3582,7 +3601,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.293, i64 2 } }, ptr %allocaN, align 8 + store { { ptr, i64 } } { { ptr, i64 } { ptr @str.296, 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 @@ -3627,7 +3646,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.294, i64 9 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.297, 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 @@ -3642,7 +3661,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.295, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.298, 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) @@ -3669,7 +3688,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.296, i64 9 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.299, i64 9 }) ret { ptr, i64 } %call } @@ -3684,7 +3703,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.297, i64 9 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.300, 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 @@ -3702,7 +3721,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.298, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.301, 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) @@ -3732,7 +3751,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.299, i64 9 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.302, i64 9 }) ret { ptr, i64 } %call } @@ -3743,7 +3762,7 @@ 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.300, i64 15 }, { ptr, i64 } { ptr @str.301, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.303, i64 15 }, { ptr, i64 } { ptr @str.304, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3762,12 +3781,12 @@ while.body.128: ; preds = %while.hdr.127 while.exit.129: ; preds = %while.hdr.127 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.302, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.305, i64 1 }) ret { ptr, i64 } %callN if.then.130: ; preds = %while.body.128 %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.306, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.131 @@ -3779,7 +3798,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.307, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.310, 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 @@ -3836,7 +3855,7 @@ 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.308, i64 9 }, { ptr, i64 } { ptr @str.309, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.311, i64 9 }, { ptr, i64 } { ptr @str.312, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3855,24 +3874,24 @@ while.body.133: ; preds = %while.hdr.132 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.310, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.313, i64 1 }) ret { ptr, i64 } %callN 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.311, 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 br label %if.merge.136 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 [3 x { ptr, i64 }], ptr @field_names.315, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.318, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.319, 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 @@ -3899,19 +3918,19 @@ fv.default: ; preds = %if.merge.136 fv.case: ; preds = %if.merge.136 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.136 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge fv.case21: ; preds = %if.merge.136 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -3921,7 +3940,7 @@ 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.317, i64 7 }, { ptr, i64 } { ptr @str.318, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.320, i64 7 }, { ptr, i64 } { ptr @str.321, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3940,24 +3959,24 @@ while.body.138: ; preds = %while.hdr.137 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.319, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, i64 1 }) ret { ptr, i64 } %callN 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.320, 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 br label %if.merge.141 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 [2 x { ptr, i64 }], ptr @field_names.323, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.326, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.327, 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 @@ -3984,13 +4003,13 @@ fv.case: ; preds = %if.merge.141 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.141 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 - %fv.val19 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -3999,7 +4018,7 @@ 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.325, i64 10 }, { ptr, i64 } { ptr @str.326, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.328, i64 10 }, { ptr, i64 } { ptr @str.329, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4018,24 +4037,24 @@ while.body.143: ; preds = %while.hdr.142 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.327, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.330, i64 1 }) ret { ptr, i64 } %callN 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.328, 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 br label %if.merge.146 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 [0 x { ptr, i64 }], ptr @field_names.329, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.332, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.333, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4054,7 +4073,7 @@ 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.331, i64 3 }, { ptr, i64 } { ptr @str.332, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.334, i64 3 }, { ptr, i64 } { ptr @str.335, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4073,24 +4092,24 @@ while.body.148: ; preds = %while.hdr.147 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.333, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.336, i64 1 }) ret { ptr, i64 } %callN 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.334, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.337, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.151 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 [1 x { ptr, i64 }], ptr @field_names.336, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.339, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.340, 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 @@ -4123,7 +4142,7 @@ 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.338, i64 10 }, { ptr, i64 } { ptr @str.339, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.341, i64 10 }, { 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 @@ -4142,24 +4161,24 @@ while.body.153: ; preds = %while.hdr.152 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.340, 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.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.341, 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.156 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.344, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.345, 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 }, ptr %alloca, align 8 @@ -4185,7 +4204,7 @@ fv.default: ; preds = %if.merge.156 fv.case: ; preds = %if.merge.156 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.156 @@ -4200,7 +4219,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.346, i64 5 }, { ptr, i64 } { ptr @str.347, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.349, i64 5 }, { 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 @@ -4219,24 +4238,24 @@ while.body.158: ; preds = %while.hdr.157 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.348, 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.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.349, 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.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.353, 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.354, 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, i64, { ptr, ptr, ptr } }, ptr %alloca, align 8 @@ -4263,7 +4282,7 @@ fv.default: ; preds = %if.merge.161 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 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.161 @@ -4275,7 +4294,7 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -4284,7 +4303,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.355, i64 8 }, { ptr, i64 } { ptr @str.356, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.358, i64 8 }, { 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 @@ -4303,24 +4322,24 @@ 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.357, 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.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.358, 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.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.362, i64 0, i64 %loadN + %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.363, 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 { ptr, i64, i64 }, ptr %alloca, align 8 @@ -4347,7 +4366,7 @@ fv.default: ; preds = %if.merge.166 fv.case: ; preds = %if.merge.166 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.166 @@ -4367,7 +4386,7 @@ 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.364, i64 17 }, { ptr, i64 } { ptr @str.365, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.367, i64 17 }, { 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 @@ -4386,24 +4405,24 @@ 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.366, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.369, 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.367, 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 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 [4 x { ptr, i64 }], ptr @field_names.372, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.373, 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 }, i64, i64, i64 }, ptr %alloca, align 8 @@ -4432,7 +4451,7 @@ fv.case: ; preds = %if.merge.171 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.171 @@ -4456,7 +4475,7 @@ 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.374, i64 4 }, { ptr, i64 } { ptr @str.375, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.377, i64 4 }, { 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 @@ -4475,24 +4494,24 @@ 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.376, 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.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.377, 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.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 [1 x { ptr, i64 }], ptr @field_names.379, 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.380, 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 { i32 }, ptr %alloca, align 4 @@ -4529,7 +4548,7 @@ 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.381, i64 10 }, { ptr, i64 } { ptr @str.382, 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 @@ -4548,24 +4567,24 @@ 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.383, 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.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.384, 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.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 [5 x { ptr, i64 }], ptr @field_names.390, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.393, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.394, 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 @@ -4631,7 +4650,7 @@ 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.392, i64 13 }, { ptr, i64 } { ptr @str.393, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.395, i64 13 }, { ptr, i64 } { ptr @str.396, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4650,24 +4669,24 @@ while.body.183: ; preds = %while.hdr.182 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.394, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.397, 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.395, 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 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 [2 x { ptr, i64 }], ptr @field_names.398, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.399, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4709,7 +4728,7 @@ 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.400, i64 8 }, { ptr, i64 } { ptr @str.401, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.403, i64 8 }, { 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 @@ -4728,24 +4747,24 @@ while.body.188: ; preds = %while.hdr.187 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.402, 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.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.403, 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.191 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.409, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.410, 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 { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -4806,7 +4825,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.411, i64 5 }, { ptr, i64 } { ptr @str.412, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.414, i64 5 }, { 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 @@ -4825,24 +4844,24 @@ while.body.193: ; preds = %while.hdr.192 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.413, 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.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.414, 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.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.418, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.421, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %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.422, 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 @@ -4869,7 +4888,7 @@ fv.default: ; preds = %if.merge.196 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 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.196 @@ -4888,7 +4907,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.420, i64 6 }, { ptr, i64 } { ptr @str.421, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.423, i64 6 }, { 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 @@ -4907,24 +4926,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.422, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.425, 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.423, 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 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.427, i64 0, i64 %loadN + %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.428, 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 { ptr, i64, i64 }, ptr %alloca, align 8 @@ -4951,7 +4970,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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.201 @@ -4972,7 +4991,7 @@ entry: %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.429, i64 6 }, { ptr, i64 } { ptr @str.430, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.432, i64 6 }, { 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 @@ -4991,24 +5010,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.431, 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.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.432, 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.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.435, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.438, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.439, 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 @@ -5042,7 +5061,7 @@ fv.case17: ; preds = %if.merge.206 %fv.field18 = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 1 store { i64, [24 x i8] } %fv.field18, ptr %ba.tmp19, align 8 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -5052,7 +5071,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.437, i64 4 }, { ptr, i64 } { ptr @str.438, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.440, i64 4 }, { ptr, i64 } { ptr @str.441, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5071,24 +5090,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.439, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.442, 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.440, 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 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.444, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.445, 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 { { ptr, i64 }, i64, ptr }, ptr %alloca, align 8 @@ -5116,7 +5135,7 @@ 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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.211 @@ -5127,7 +5146,7 @@ fv.case17: ; preds = %if.merge.211 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 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -5138,7 +5157,7 @@ entry: %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.446, i64 6 }, { ptr, i64 } { ptr @str.447, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.449, i64 6 }, { 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 @@ -5157,24 +5176,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.448, 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.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.449, 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.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.453, 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.454, 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, ptr, ptr } }, ptr %alloca, align 8 @@ -5214,7 +5233,7 @@ fv.case20: ; preds = %if.merge.216 %fv.field21 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 2 store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8 %ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -5223,7 +5242,7 @@ 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.455, i64 12 }, { ptr, i64 } { ptr @str.456, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.458, i64 12 }, { 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 @@ -5242,24 +5261,24 @@ 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.457, 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.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.458, 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.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 [0 x { ptr, i64 }], ptr @field_names.459, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.460, 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 %alloca, align 1 @@ -5279,7 +5298,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.461, i64 8 }, { ptr, i64 } { ptr @str.462, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.464, i64 8 }, { 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 @@ -5298,24 +5317,24 @@ 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.463, 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.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.464, 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.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.468, 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.469, 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 }, i1, i1 }, ptr %alloca, align 8 @@ -5367,7 +5386,7 @@ entry: %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.470, i64 7 }, { ptr, i64 } { ptr @str.471, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.473, i64 7 }, { 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 @@ -5386,24 +5405,24 @@ 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.472, 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.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.473, 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.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.477, 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.478, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5445,7 +5464,7 @@ fv.case22: ; preds = %if.merge.231 %fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2 store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8 %ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5455,7 +5474,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.479, i64 9 }, { ptr, i64 } { ptr @str.480, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.482, i64 9 }, { 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 @@ -5474,24 +5493,24 @@ 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.481, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.484, 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.482, i64 2 }) + %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.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.485, i64 0, i64 %loadN + %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.486, 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 { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -5534,7 +5553,7 @@ 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.487, i64 4 }, { ptr, i64 } { ptr @str.488, 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 @@ -5553,24 +5572,24 @@ 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.489, 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.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.490, 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.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.493, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.494, 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 { i64, { ptr, i64 } }, ptr %alloca, align 8 @@ -5616,7 +5635,7 @@ 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.495, i64 6 }, { ptr, i64 } { ptr @str.496, i64 1 }) + %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 @@ -5635,24 +5654,24 @@ 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.497, 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.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.498, 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.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 [7 x { ptr, i64 }], ptr @field_names.506, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 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.507, 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 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, ptr %alloca, align 8 @@ -5709,21 +5728,21 @@ fv.case28: ; preds = %if.merge.246 %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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge fv.case33: ; preds = %if.merge.246 %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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge fv.case38: ; preds = %if.merge.246 %fv.field39 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 6 store [16 x { i1, { ptr, i64 } }] %fv.field39, ptr %ba.tmp40, align 8 %ba.p2i41 = ptrtoint ptr %ba.tmp40 to i64 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -5734,7 +5753,7 @@ 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.508, i64 6 }, { ptr, i64 } { ptr @str.509, i64 1 }) + %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 @@ -5753,24 +5772,24 @@ 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.510, 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.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.511, 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.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 [4 x { ptr, i64 }], ptr @field_names.516, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.517, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -5799,14 +5818,14 @@ fv.case: ; preds = %if.merge.251 %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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.251 %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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.251 @@ -5825,7 +5844,7 @@ 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.518, i64 7 }, { ptr, i64 } { ptr @str.519, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.521, i64 7 }, { ptr, i64 } { ptr @str.522, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5844,24 +5863,24 @@ 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.520, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.523, 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.521, 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 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 [1 x { ptr, i64 }], ptr @field_names.523, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.524, 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 %alloca, align 8 @@ -5895,7 +5914,7 @@ 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.525, i64 7 }, { ptr, i64 } { ptr @str.526, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.528, i64 7 }, { 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 @@ -5914,24 +5933,24 @@ 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.527, 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.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.528, 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.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 [1 x { ptr, i64 }], ptr @field_names.530, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.531, 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, i64 } }, ptr %alloca, align 8 @@ -5966,7 +5985,7 @@ 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.532, i64 7 }, { ptr, i64 } { ptr @str.533, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.535, i64 7 }, { 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 @@ -5985,24 +6004,24 @@ 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.534, 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.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.535, 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.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.538, i64 0, i64 %loadN + %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.539, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, ptr }, ptr %alloca, align 8 @@ -6028,13 +6047,13 @@ fv.default: ; preds = %if.merge.266 fv.case: ; preds = %if.merge.266 %fv.field = extractvalue { ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.266 %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge } @@ -6043,7 +6062,7 @@ 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.540, i64 17 }, { ptr, i64 } { ptr @str.541, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.543, i64 17 }, { ptr, i64 } { ptr @str.544, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6062,24 +6081,24 @@ 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.542, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.545, 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.543, 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 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 [1 x { ptr, i64 }], ptr @field_names.545, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.546, 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 { ptr }, ptr %alloca, align 8 @@ -6104,7 +6123,7 @@ fv.default: ; preds = %if.merge.271 fv.case: ; preds = %if.merge.271 %fv.field = extractvalue { ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -6113,7 +6132,7 @@ 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.547, i64 10 }, { ptr, i64 } { ptr @str.548, i64 1 }) + %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 @@ -6132,24 +6151,24 @@ 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.549, 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.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.550, 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.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.553, i64 0, i64 %loadN + %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.554, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, ptr }, ptr %alloca, align 8 @@ -6175,13 +6194,13 @@ fv.default: ; preds = %if.merge.276 fv.case: ; preds = %if.merge.276 %fv.field = extractvalue { ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.276 %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge } @@ -6190,7 +6209,7 @@ 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.555, i64 20 }, { ptr, i64 } { ptr @str.556, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.558, i64 20 }, { 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 @@ -6209,24 +6228,24 @@ while.body.278: ; preds = %while.hdr.277 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.557, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, 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.558, 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 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.560, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.563, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.564, 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 @@ -6251,7 +6270,7 @@ fv.default: ; preds = %if.merge.281 fv.case: ; preds = %if.merge.281 %fv.field = extractvalue { ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -6264,9 +6283,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.567, 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 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.562, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.565, 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 @@ -6285,8 +6304,8 @@ entry: if.then.289: ; 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.569, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.568, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.571, 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 @@ -6305,9 +6324,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.574, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.577, 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.570, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.573, 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 @@ -6326,8 +6345,8 @@ entry: if.then.291: ; 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.576, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.575, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.578, 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 @@ -6357,9 +6376,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.584, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.587, 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.577, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.580, 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 @@ -6376,8 +6395,8 @@ entry: if.then.293: ; 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.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.589, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.588, 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 @@ -6433,7 +6452,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -6442,7 +6461,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -6455,9 +6474,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.595, 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 - %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.590, 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 @@ -6476,8 +6495,8 @@ entry: if.then.295: ; 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.600, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, 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 @@ -6496,9 +6515,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.604, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.607, 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.601, 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 @@ -6517,8 +6536,8 @@ entry: if.then.297: ; 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.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 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.298 @@ -6535,7 +6554,7 @@ 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.607, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.610, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.307 @@ -6552,12 +6571,12 @@ while.body.308: ; preds = %while.hdr.307 while.exit.309: ; preds = %while.hdr.307 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.608, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.611, i64 1 }) ret { ptr, i64 } %call 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.609, 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.311 @@ -6586,7 +6605,7 @@ 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.610, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.613, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.312 @@ -6603,12 +6622,12 @@ while.body.313: ; preds = %while.hdr.312 while.exit.314: ; preds = %while.hdr.312 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.611, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.614, i64 1 }) ret { ptr, i64 } %call 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.612, 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.316 @@ -6621,7 +6640,7 @@ if.merge.316: ; preds = %if.then.315, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -6638,7 +6657,7 @@ 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.613, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.616, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.317 @@ -6655,12 +6674,12 @@ while.body.318: ; preds = %while.hdr.317 while.exit.319: ; preds = %while.hdr.317 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.614, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.617, i64 1 }) ret { ptr, i64 } %call 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.615, 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 br label %if.merge.321 @@ -6688,7 +6707,7 @@ 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.616, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.619, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.322 @@ -6705,12 +6724,12 @@ while.body.323: ; preds = %while.hdr.322 while.exit.324: ; preds = %while.hdr.322 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.617, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.620, i64 1 }) ret { ptr, i64 } %call 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.618, i64 2 }) + %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.326 @@ -6739,7 +6758,7 @@ 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.619, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.622, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.327 @@ -6756,12 +6775,12 @@ while.body.328: ; preds = %while.hdr.327 while.exit.329: ; preds = %while.hdr.327 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.620, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.623, i64 1 }) ret { ptr, i64 } %call 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.621, i64 2 }) + %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.331 @@ -6790,7 +6809,7 @@ 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.622, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.625, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.332 @@ -6807,12 +6826,12 @@ while.body.333: ; preds = %while.hdr.332 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.623, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.626, i64 1 }) ret { ptr, i64 } %call 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.624, 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 br label %if.merge.336 @@ -6842,7 +6861,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.625, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.628, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.344 @@ -6861,12 +6880,12 @@ while.body.345: ; preds = %while.hdr.344 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.626, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.629, i64 1 }) ret { ptr, i64 } %call 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.627, i64 2 }) + %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 br label %if.merge.348 @@ -6895,7 +6914,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.628, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.631, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.349 @@ -6914,12 +6933,12 @@ while.body.350: ; preds = %while.hdr.349 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.629, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, i64 1 }) ret { ptr, i64 } %call 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.630, i64 2 }) + %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.353 @@ -6948,7 +6967,7 @@ 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.631, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.634, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.354 @@ -6967,12 +6986,12 @@ while.body.355: ; preds = %while.hdr.354 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.632, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.635, i64 1 }) ret { ptr, i64 } %call 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.633, 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.358 @@ -6985,7 +7004,7 @@ if.merge.358: ; preds = %if.then.357, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -7002,7 +7021,7 @@ 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.634, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.637, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.359 @@ -7021,12 +7040,12 @@ while.body.360: ; preds = %while.hdr.359 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.635, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.638, i64 1 }) ret { ptr, i64 } %call 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.636, 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 br label %if.merge.363 @@ -7039,7 +7058,7 @@ if.merge.363: ; preds = %if.then.362, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -7056,7 +7075,7 @@ 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.637, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.640, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.364 @@ -7075,12 +7094,12 @@ while.body.365: ; preds = %while.hdr.364 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.638, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.641, i64 1 }) ret { ptr, i64 } %call 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.639, 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.368 @@ -7122,12 +7141,12 @@ if.then.409: ; preds = %entry if.else.410: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.642, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.641, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.645, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.644, i64 5 }, { ptr, i64 } %callN) br label %if.merge.411 if.merge.411: ; preds = %if.else.410, %if.then.409 - %bp = phi { ptr, i64 } [ { ptr @str.640, i64 4 }, %if.then.409 ], [ %callN, %if.else.410 ] + %bp = phi { ptr, i64 } [ { ptr @str.643, i64 4 }, %if.then.409 ], [ %callN, %if.else.410 ] ret { ptr, i64 } %bp } @@ -7150,12 +7169,12 @@ if.then.425: ; preds = %entry 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.645, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.644, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.648, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.647, i64 11 }, { ptr, i64 } %callN) br label %if.merge.427 if.merge.427: ; preds = %if.else.426, %if.then.425 - %bp = phi { ptr, i64 } [ { ptr @str.643, i64 4 }, %if.then.425 ], [ %callN, %if.else.426 ] + %bp = phi { ptr, i64 } [ { ptr @str.646, i64 4 }, %if.then.425 ], [ %callN, %if.else.426 ] ret { ptr, i64 } %bp } @@ -7178,12 +7197,12 @@ if.then.428: ; preds = %entry 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.648, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.647, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 4 }, { ptr, i64 } %callN) br label %if.merge.430 if.merge.430: ; preds = %if.else.429, %if.then.428 - %bp = phi { ptr, i64 } [ { ptr @str.646, i64 4 }, %if.then.428 ], [ %callN, %if.else.429 ] + %bp = phi { ptr, i64 } [ { ptr @str.649, i64 4 }, %if.then.428 ], [ %callN, %if.else.429 ] ret { ptr, i64 } %bp } @@ -7206,12 +7225,12 @@ if.then.431: ; preds = %entry 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.651, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.653, i64 11 }, { ptr, i64 } %callN) br label %if.merge.433 if.merge.433: ; preds = %if.else.432, %if.then.431 - %bp = phi { ptr, i64 } [ { ptr @str.649, i64 4 }, %if.then.431 ], [ %callN, %if.else.432 ] + %bp = phi { ptr, i64 } [ { ptr @str.652, i64 4 }, %if.then.431 ], [ %callN, %if.else.432 ] ret { ptr, i64 } %bp } @@ -7234,12 +7253,12 @@ if.then.434: ; preds = %entry 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.654, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.653, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.656, i64 6 }, { ptr, i64 } %callN) br label %if.merge.436 if.merge.436: ; preds = %if.else.435, %if.then.434 - %bp = phi { ptr, i64 } [ { ptr @str.652, i64 4 }, %if.then.434 ], [ %callN, %if.else.435 ] + %bp = phi { ptr, i64 } [ { ptr @str.655, i64 4 }, %if.then.434 ], [ %callN, %if.else.435 ] ret { ptr, i64 } %bp } @@ -7261,12 +7280,12 @@ if.then.437: ; preds = %entry 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.657, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.656, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.660, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, i64 5 }, { ptr, i64 } %callN) br label %if.merge.439 if.merge.439: ; preds = %if.else.438, %if.then.437 - %bp = phi { ptr, i64 } [ { ptr @str.655, i64 4 }, %if.then.437 ], [ %callN, %if.else.438 ] + %bp = phi { ptr, i64 } [ { ptr @str.658, i64 4 }, %if.then.437 ], [ %callN, %if.else.438 ] ret { ptr, i64 } %bp } @@ -7289,12 +7308,12 @@ 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.660, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.663, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.662, i64 9 }, { ptr, i64 } %callN) br label %if.merge.442 if.merge.442: ; preds = %if.else.441, %if.then.440 - %bp = phi { ptr, i64 } [ { ptr @str.658, i64 4 }, %if.then.440 ], [ %callN, %if.else.441 ] + %bp = phi { ptr, i64 } [ { ptr @str.661, i64 4 }, %if.then.440 ], [ %callN, %if.else.441 ] ret { ptr, i64 } %bp } @@ -7317,12 +7336,12 @@ if.then.443: ; preds = %entry 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.663, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.662, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.666, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.665, i64 18 }, { ptr, i64 } %callN) br label %if.merge.445 if.merge.445: ; preds = %if.else.444, %if.then.443 - %bp = phi { ptr, i64 } [ { ptr @str.661, i64 4 }, %if.then.443 ], [ %callN, %if.else.444 ] + %bp = phi { ptr, i64 } [ { ptr @str.664, i64 4 }, %if.then.443 ], [ %callN, %if.else.444 ] ret { ptr, i64 } %bp } @@ -7345,17 +7364,17 @@ 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.666, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.665, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.668, 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.664, i64 4 }, %if.then.446 ], [ %callN, %if.else.447 ] + %bp = phi { ptr, i64 } [ { ptr @str.667, i64 4 }, %if.then.446 ], [ %callN, %if.else.447 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7373,17 +7392,17 @@ if.then.449: ; preds = %entry 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.669, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.668, i64 3 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.671, 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.667, i64 4 }, %if.then.449 ], [ %callN, %if.else.450 ] + %bp = phi { ptr, i64 } [ { ptr @str.670, i64 4 }, %if.then.449 ], [ %callN, %if.else.450 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7401,17 +7420,17 @@ 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.672, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.671, i64 4 }, { ptr, i64 } %callN) + %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 9 }, { ptr, i64 } %callN) br label %if.merge.454 if.merge.454: ; preds = %if.else.453, %if.then.452 - %bp = phi { ptr, i64 } [ { ptr @str.670, i64 4 }, %if.then.452 ], [ %callN, %if.else.453 ] + %bp = phi { ptr, i64 } [ { ptr @str.673, i64 4 }, %if.then.452 ], [ %callN, %if.else.453 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7429,40 +7448,12 @@ if.then.455: ; preds = %entry 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.675, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.674, i64 9 }, { ptr, i64 } %callN) + %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 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.673, i64 4 }, %if.then.455 ], [ %callN, %if.else.456 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.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.678, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.677, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.460 - -if.merge.460: ; preds = %if.else.459, %if.then.458 - %bp = phi { ptr, i64 } [ { ptr @str.676, i64 4 }, %if.then.458 ], [ %callN, %if.else.459 ] + %bp = phi { ptr, i64 } [ { ptr @str.676, i64 4 }, %if.then.455 ], [ %callN, %if.else.456 ] ret { ptr, i64 } %bp } @@ -7476,20 +7467,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.458, label %if.else.459 -if.then.461: ; preds = %entry - br label %if.merge.463 +if.then.458: ; preds = %entry + br label %if.merge.460 -if.else.462: ; preds = %entry +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.681, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.680, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.463 + br label %if.merge.460 -if.merge.463: ; preds = %if.else.462, %if.then.461 - %bp = phi { ptr, i64 } [ { ptr @str.679, i64 4 }, %if.then.461 ], [ %callN, %if.else.462 ] +if.merge.460: ; preds = %if.else.459, %if.then.458 + %bp = phi { ptr, i64 } [ { ptr @str.679, i64 4 }, %if.then.458 ], [ %callN, %if.else.459 ] ret { ptr, i64 } %bp } @@ -7504,20 +7495,20 @@ entry: store i64 %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.461, label %if.else.462 -if.then.464: ; preds = %entry - br label %if.merge.466 +if.then.461: ; preds = %entry + br label %if.merge.463 -if.else.465: ; preds = %entry +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.684, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.683, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.466 + br label %if.merge.463 -if.merge.466: ; preds = %if.else.465, %if.then.464 - %bp = phi { ptr, i64 } [ { ptr @str.682, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] +if.merge.463: ; preds = %if.else.462, %if.then.461 + %bp = phi { ptr, i64 } [ { ptr @str.682, i64 4 }, %if.then.461 ], [ %callN, %if.else.462 ] ret { ptr, i64 } %bp } @@ -7531,6 +7522,34 @@ 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.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.687, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.686, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.466 + +if.merge.466: ; preds = %if.else.465, %if.then.464 + %bp = phi { ptr, i64 } [ { ptr @str.685, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.467, label %if.else.468 if.then.467: ; preds = %entry @@ -7539,17 +7558,17 @@ if.then.467: ; preds = %entry 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.687, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.686, i64 9 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.469 if.merge.469: ; preds = %if.else.468, %if.then.467 - %bp = phi { ptr, i64 } [ { ptr @str.685, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] + %bp = phi { ptr, i64 } [ { ptr @str.688, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7567,17 +7586,17 @@ 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.690, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.689, i64 7 }, { ptr, i64 } %callN) + %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 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.688, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] + %bp = phi { ptr, i64 } [ { ptr @str.691, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7595,17 +7614,17 @@ if.then.473: ; preds = %entry 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.693, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.692, i64 5 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.475 if.merge.475: ; preds = %if.else.474, %if.then.473 - %bp = phi { ptr, i64 } [ { ptr @str.691, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] + %bp = phi { ptr, i64 } [ { ptr @str.694, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7623,17 +7642,17 @@ if.then.476: ; preds = %entry 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.696, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.695, i64 7 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.478 if.merge.478: ; preds = %if.else.477, %if.then.476 - %bp = phi { ptr, i64 } [ { ptr @str.694, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] + %bp = phi { ptr, i64 } [ { ptr @str.697, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7651,17 +7670,17 @@ if.then.479: ; preds = %entry 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.699, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.698, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.481 if.merge.481: ; preds = %if.else.480, %if.then.479 - %bp = phi { ptr, i64 } [ { ptr @str.697, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] + %bp = phi { ptr, i64 } [ { ptr @str.700, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7679,17 +7698,17 @@ 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.702, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.701, i64 7 }, { ptr, i64 } %callN) + %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 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.700, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] + %bp = phi { ptr, i64 } [ { ptr @str.703, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7707,17 +7726,17 @@ if.then.485: ; 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.705, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.704, i64 5 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.487 if.merge.487: ; preds = %if.else.486, %if.then.485 - %bp = phi { ptr, i64 } [ { ptr @str.703, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] + %bp = phi { ptr, i64 } [ { ptr @str.706, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_IntCell(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7735,17 +7754,17 @@ if.then.488: ; 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.708, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.707, i64 7 }, { ptr, i64 } %callN) + %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.490 if.merge.490: ; preds = %if.else.489, %if.then.488 - %bp = phi { ptr, i64 } [ { ptr @str.706, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] + %bp = phi { ptr, i64 } [ { ptr @str.709, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_IntCell(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_StrCell(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7763,17 +7782,17 @@ if.then.491: ; 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.711, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.710, i64 8 }, { ptr, i64 } %callN) + %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 8 }, { ptr, i64 } %callN) br label %if.merge.493 if.merge.493: ; preds = %if.else.492, %if.then.491 - %bp = phi { ptr, i64 } [ { ptr @str.709, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] + %bp = phi { ptr, i64 } [ { ptr @str.712, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_StrCell(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7791,17 +7810,17 @@ 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.714, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.713, i64 8 }, { ptr, i64 } %callN) + %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 12 }, { ptr, i64 } %callN) br label %if.merge.496 if.merge.496: ; preds = %if.else.495, %if.then.494 - %bp = phi { ptr, i64 } [ { ptr @str.712, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] + %bp = phi { ptr, i64 } [ { ptr @str.715, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7819,17 +7838,17 @@ if.then.497: ; 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.717, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.716, i64 12 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.499 if.merge.499: ; preds = %if.else.498, %if.then.497 - %bp = phi { ptr, i64 } [ { ptr @str.715, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] + %bp = phi { ptr, i64 } [ { ptr @str.718, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_VL__i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7847,17 +7866,17 @@ if.then.500: ; 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.720, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.719, i64 6 }, { ptr, i64 } %callN) + %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 8 }, { ptr, i64 } %callN) br label %if.merge.502 if.merge.502: ; preds = %if.else.501, %if.then.500 - %bp = phi { ptr, i64 } [ { ptr @str.718, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] + %bp = phi { ptr, i64 } [ { ptr @str.721, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_VL__i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_IntCell(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7875,17 +7894,17 @@ if.then.503: ; 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.723, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.722, i64 8 }, { ptr, i64 } %callN) + %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 9 }, { ptr, i64 } %callN) br label %if.merge.505 if.merge.505: ; preds = %if.else.504, %if.then.503 - %bp = phi { ptr, i64 } [ { ptr @str.721, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] + %bp = phi { ptr, i64 } [ { ptr @str.724, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_IntCell(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr___VL__i64__Vtable(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7903,17 +7922,17 @@ if.then.506: ; 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.726, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.725, i64 9 }, { ptr, i64 } %callN) + %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 18 }, { ptr, i64 } %callN) br label %if.merge.508 if.merge.508: ; preds = %if.else.507, %if.then.506 - %bp = phi { ptr, i64 } [ { ptr @str.724, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] + %bp = phi { ptr, i64 } [ { ptr @str.727, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr___VL__i64__Vtable(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7931,17 +7950,17 @@ if.then.509: ; 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.729, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.728, i64 18 }, { ptr, i64 } %callN) + %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.511 if.merge.511: ; preds = %if.else.510, %if.then.509 - %bp = phi { ptr, i64 } [ { ptr @str.727, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] + %bp = phi { ptr, i64 } [ { ptr @str.730, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7959,17 +7978,17 @@ if.then.512: ; 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.732, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.731, i64 7 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.514 if.merge.514: ; preds = %if.else.513, %if.then.512 - %bp = phi { ptr, i64 } [ { ptr @str.730, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] + %bp = phi { ptr, i64 } [ { ptr @str.733, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7987,17 +8006,17 @@ if.then.515: ; 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.735, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.734, i64 4 }, { ptr, i64 } %callN) + %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.517 if.merge.517: ; preds = %if.else.516, %if.then.515 - %bp = phi { ptr, i64 } [ { ptr @str.733, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] + %bp = phi { ptr, i64 } [ { ptr @str.736, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8015,17 +8034,17 @@ if.then.518: ; 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.738, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.737, i64 7 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.520 if.merge.520: ; preds = %if.else.519, %if.then.518 - %bp = phi { ptr, i64 } [ { ptr @str.736, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] + %bp = phi { ptr, i64 } [ { ptr @str.739, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8043,12 +8062,12 @@ if.then.521: ; 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.741, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.740, i64 6 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.523 if.merge.523: ; preds = %if.else.522, %if.then.521 - %bp = phi { ptr, i64 } [ { ptr @str.739, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] + %bp = phi { ptr, i64 } [ { ptr @str.742, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] ret { ptr, i64 } %bp } @@ -8071,12 +8090,12 @@ if.then.524: ; 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.744, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.743, i64 5 }, { ptr, i64 } %callN) + %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.526 if.merge.526: ; preds = %if.else.525, %if.then.524 - %bp = phi { ptr, i64 } [ { ptr @str.742, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] + %bp = phi { ptr, i64 } [ { ptr @str.745, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] ret { ptr, i64 } %bp } @@ -8099,12 +8118,12 @@ if.then.527: ; 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.747, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.746, i64 11 }, { ptr, i64 } %callN) + %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.529 if.merge.529: ; preds = %if.else.528, %if.then.527 - %bp = phi { ptr, i64 } [ { ptr @str.745, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] + %bp = phi { ptr, i64 } [ { ptr @str.748, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] ret { ptr, i64 } %bp } @@ -8127,12 +8146,12 @@ if.then.530: ; 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.750, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.749, i64 9 }, { ptr, i64 } %callN) + %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 9 }, { ptr, i64 } %callN) br label %if.merge.532 if.merge.532: ; preds = %if.else.531, %if.then.530 - %bp = phi { ptr, i64 } [ { ptr @str.748, i64 4 }, %if.then.530 ], [ %callN, %if.else.531 ] + %bp = phi { ptr, i64 } [ { ptr @str.751, i64 4 }, %if.then.530 ], [ %callN, %if.else.531 ] ret { ptr, i64 } %bp } @@ -8155,12 +8174,12 @@ if.then.533: ; 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.753, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.752, i64 21 }, { ptr, i64 } %callN) + %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 21 }, { ptr, i64 } %callN) br label %if.merge.535 if.merge.535: ; preds = %if.else.534, %if.then.533 - %bp = phi { ptr, i64 } [ { ptr @str.751, i64 4 }, %if.then.533 ], [ %callN, %if.else.534 ] + %bp = phi { ptr, i64 } [ { ptr @str.754, i64 4 }, %if.then.533 ], [ %callN, %if.else.534 ] ret { ptr, i64 } %bp } @@ -8173,17 +8192,17 @@ 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.542, label %if.merge.543 + br i1 %lnot, label %if.then.543, label %if.merge.544 -if.then.542: ; preds = %entry - ret { ptr, i64 } { ptr @str.754, i64 4 } +if.then.543: ; preds = %entry + ret { ptr, i64 } { ptr @str.757, i64 4 } -if.merge.543: ; preds = %entry +if.merge.544: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -8197,12 +8216,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.544, label %if.merge.545 + br i1 %lnot, label %if.then.545, label %if.merge.546 -if.then.544: ; preds = %entry - ret { ptr, i64 } { ptr @str.755, i64 4 } +if.then.545: ; preds = %entry + ret { ptr, i64 } { ptr @str.758, i64 4 } -if.merge.545: ; preds = %entry +if.merge.546: ; 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 @@ -8212,6 +8231,27 @@ if.merge.545: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.547, label %if.merge.548 + +if.then.547: ; preds = %entry + ret { ptr, i64 } { ptr @str.759, i64 4 } + +if.merge.548: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -8221,17 +8261,17 @@ 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.546, label %if.merge.547 + br i1 %lnot, label %if.then.549, label %if.merge.550 -if.then.546: ; preds = %entry - ret { ptr, i64 } { ptr @str.756, i64 4 } +if.then.549: ; preds = %entry + ret { ptr, i64 } { ptr @str.760, i64 4 } -if.merge.547: ; preds = %entry +if.merge.550: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -8245,17 +8285,17 @@ 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.548, label %if.merge.549 + br i1 %lnot, label %if.then.551, label %if.merge.552 -if.then.548: ; preds = %entry - ret { ptr, i64 } { ptr @str.757, i64 4 } +if.then.551: ; preds = %entry + ret { ptr, i64 } { ptr @str.761, i64 4 } -if.merge.549: ; preds = %entry +if.merge.552: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } diff --git a/examples/expected/0414-protocols-generic-struct-protocol-erase.ir b/examples/expected/0414-protocols-generic-struct-protocol-erase.ir index 3afabac..8e9f0e2 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.78 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.79 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.80 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [184 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] +@__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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.81 = private constant [9 x i8] c"Overflow\00" @tag.str.82 = private constant [3 x i8] c"Io\00" @@ -43,513 +43,513 @@ @tn.str.108 = private constant [6 x i8] c"isize\00" @tn.str.109 = private constant [6 x i8] c"usize\00" @tn.str.110 = private constant [5 x i8] c"void\00" -@tn.str.111 = private constant [6 x i8] c"*void\00" -@tn.str.112 = private constant [16 x i8] c"Source_Location\00" -@tn.str.113 = private constant [10 x i8] c"Allocator\00" -@tn.str.114 = private constant [8 x i8] c"Context\00" -@tn.str.115 = private constant [7 x i8] c"[4]i64\00" -@tn.str.116 = private constant [9 x i8] c"[]string\00" -@tn.str.117 = private constant [11 x i8] c"CAllocator\00" -@tn.str.118 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.119 = private constant [4 x i8] c"GPA\00" -@tn.str.120 = private constant [5 x i8] c"*GPA\00" -@tn.str.121 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.122 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.123 = private constant [6 x i8] c"Arena\00" -@tn.str.124 = private constant [7 x i8] c"*Arena\00" -@tn.str.125 = private constant [6 x i8] c"[*]u8\00" -@tn.str.126 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.127 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.128 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.129 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.130 = private constant [9 x i8] c"OpenMode\00" -@tn.str.131 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.132 = private constant [5 x i8] c"File\00" -@tn.str.133 = private constant [6 x i8] c"*File\00" -@tn.str.134 = private constant [6 x i8] c"?File\00" -@tn.str.135 = private constant [8 x i8] c"?string\00" -@tn.str.136 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.137 = private constant [4 x i8] c"*u8\00" -@tn.str.138 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.139 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.140 = private constant [5 x i8] c"*i32\00" -@tn.str.141 = private constant [9 x i8] c"SockAddr\00" -@tn.str.142 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.143 = private constant [5 x i8] c"*u32\00" -@tn.str.144 = private constant [10 x i8] c"JsonError\00" -@tn.str.145 = private constant [6 x i8] c"Array\00" -@tn.str.146 = private constant [7 x i8] c"Object\00" -@tn.str.147 = private constant [6 x i8] c"Value\00" -@tn.str.148 = private constant [7 x i8] c"Member\00" -@tn.str.149 = private constant [9 x i8] c"[*]Value\00" -@tn.str.150 = private constant [7 x i8] c"*Array\00" -@tn.str.151 = private constant [10 x i8] c"[*]Member\00" -@tn.str.152 = private constant [8 x i8] c"*Object\00" -@tn.str.153 = private constant [5 x i8] c"[]u8\00" -@tn.str.154 = private constant [5 x i8] c"Sink\00" -@tn.str.155 = private constant [6 x i8] c"*Sink\00" -@tn.str.156 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.157 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.158 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.159 = private constant [7 x i8] c"Parser\00" -@tn.str.160 = private constant [8 x i8] c"*Parser\00" -@tn.str.161 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.162 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.163 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.164 = private constant [13 x i8] c"Architecture\00" -@tn.str.165 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.166 = private constant [11 x i8] c"() -> bool\00" -@tn.str.167 = private constant [5 x i8] c"*i64\00" -@tn.str.168 = private constant [9 x i8] c"CliError\00" -@tn.str.169 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.170 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.171 = private constant [8 x i8] c"Command\00" -@tn.str.172 = private constant [10 x i8] c"FlagValue\00" -@tn.str.173 = private constant [5 x i8] c"Diag\00" -@tn.str.174 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.175 = private constant [7 x i8] c"Parsed\00" -@tn.str.176 = private constant [8 x i8] c"*Parsed\00" -@tn.str.177 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.178 = private constant [10 x i8] c"[]Command\00" -@tn.str.179 = private constant [6 x i8] c"*Diag\00" -@tn.str.180 = private constant [7 x i8] c"[8]i64\00" -@tn.str.181 = private constant [7 x i8] c"[64]u8\00" -@tn.str.182 = private constant [7 x i8] c"Sha256\00" -@tn.str.183 = private constant [8 x i8] c"*Sha256\00" -@tn.str.184 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.185 = private constant [8 x i8] c"[64]i64\00" -@tn.str.186 = private constant [8 x i8] c"IntCell\00" -@tn.str.187 = private constant [9 x i8] c"*IntCell\00" -@tn.str.188 = private constant [2 x i8] c"R\00" -@tn.str.189 = private constant [9 x i8] c"Combined\00" -@tn.str.190 = private constant [8 x i8] c"VL__i64\00" -@tn.str.191 = private constant [18 x i8] c"__VL__i64__Vtable\00" -@tn.str.192 = private constant [3 x i8] c"VL\00" -@tn.str.193 = private constant [5 x i8] c"[]VL\00" -@tn.str.194 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.195 = private constant [7 x i8] c"**void\00" -@tn.str.196 = private constant [6 x i8] c"[]Any\00" -@tn.str.197 = private constant [5 x i8] c"*Any\00" -@tn.str.198 = private constant [7 x i8] c"[1]Any\00" -@tn.str.199 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.200 = private constant [7 x i8] c"*[]Any\00" -@tn.str.201 = private constant [10 x i8] c"(VL__i64)\00" -@tn.str.202 = private constant [19 x i8] c"Combined__i64__i64\00" -@tn.str.203 = private constant [20 x i8] c"*Combined__i64__i64\00" -@tn.str.204 = private constant [10 x i8] c"**IntCell\00" -@tn.str.205 = private constant [19 x i8] c"*__VL__i64__Vtable\00" -@tn.str.206 = private constant [11 x i8] c"*(VL__i64)\00" -@tn.str.207 = private constant [21 x i8] c"**Combined__i64__i64\00" -@tn.str.208 = private constant [9 x i8] c"*VL__i64\00" -@tn.str.209 = private constant [8 x i8] c"*string\00" -@tn.str.210 = private constant [6 x i8] c"*bool\00" -@tn.str.211 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.212 = private constant [5 x i8] c"*f64\00" -@tn.str.213 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.214 = private constant [11 x i8] c"*Allocator\00" -@tn.str.215 = private constant [9 x i8] c"*Context\00" -@tn.str.216 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.217 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.218 = private constant [8 x i8] c"*Member\00" -@tn.str.219 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.220 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.221 = private constant [9 x i8] c"*Command\00" -@tn.str.222 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.223 = private constant [3 x i8] c"*R\00" -@tn.str.224 = private constant [10 x i8] c"*Combined\00" -@tn.str.225 = private constant [4 x i8] c"*VL\00" -@tn.str.226 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.227 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.228 = private constant [7 x i8] c"*Value\00" -@tn.str.229 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.230 = private constant [14 x i8] c"*Architecture\00" -@tn.str.231 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.232 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.233 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.234 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.235 = private constant [10 x i8] c"*[]string\00" -@tn.str.236 = private constant [6 x i8] c"*[]u8\00" -@tn.str.237 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.238 = private constant [11 x i8] c"*[]Command\00" -@tn.str.239 = private constant [6 x i8] c"*[]VL\00" -@tn.str.240 = private constant [6 x i8] c"**GPA\00" -@tn.str.241 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.242 = private constant [8 x i8] c"**Arena\00" -@tn.str.243 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.244 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.245 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.246 = private constant [7 x i8] c"**File\00" -@tn.str.247 = private constant [5 x i8] c"**u8\00" -@tn.str.248 = private constant [6 x i8] c"**i32\00" -@tn.str.249 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.250 = private constant [6 x i8] c"**u32\00" -@tn.str.251 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.252 = private constant [8 x i8] c"**Array\00" -@tn.str.253 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.254 = private constant [9 x i8] c"**Object\00" -@tn.str.255 = private constant [7 x i8] c"**Sink\00" -@tn.str.256 = private constant [9 x i8] c"**Parser\00" -@tn.str.257 = private constant [6 x i8] c"**i64\00" -@tn.str.258 = private constant [9 x i8] c"**Parsed\00" -@tn.str.259 = private constant [7 x i8] c"**Diag\00" -@tn.str.260 = private constant [9 x i8] c"**Sha256\00" -@tn.str.261 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.262 = private constant [8 x i8] c"***void\00" -@tn.str.263 = private constant [6 x i8] c"**Any\00" -@tn.str.264 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.265 = private constant [8 x i8] c"**[]Any\00" -@tn.str.266 = private constant [11 x i8] c"***IntCell\00" -@tn.str.267 = private constant [20 x i8] c"**__VL__i64__Vtable\00" -@tn.str.268 = private constant [12 x i8] c"**(VL__i64)\00" -@tn.str.269 = private constant [22 x i8] c"***Combined__i64__i64\00" -@tn.str.270 = private constant [10 x i8] c"**VL__i64\00" -@tn.str.271 = private constant [9 x i8] c"**string\00" -@tn.str.272 = private constant [7 x i8] c"**bool\00" -@tn.str.273 = private constant [7 x i8] c"*?File\00" -@tn.str.274 = private constant [9 x i8] c"*?string\00" -@tn.str.275 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.276 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [184 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 15 }, { ptr, i64 } { ptr @tn.str.113, i64 9 }, { ptr, i64 } { ptr @tn.str.114, i64 7 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 8 }, { ptr, i64 } { ptr @tn.str.117, i64 10 }, { ptr, i64 } { ptr @tn.str.118, i64 11 }, { ptr, i64 } { ptr @tn.str.119, i64 3 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 10 }, { ptr, i64 } { ptr @tn.str.122, i64 11 }, { ptr, i64 } { ptr @tn.str.123, i64 5 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 5 }, { ptr, i64 } { ptr @tn.str.126, i64 8 }, { ptr, i64 } { ptr @tn.str.127, i64 9 }, { ptr, i64 } { ptr @tn.str.128, i64 17 }, { ptr, i64 } { ptr @tn.str.129, i64 18 }, { ptr, i64 } { ptr @tn.str.130, i64 8 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 4 }, { ptr, i64 } { ptr @tn.str.133, i64 5 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 7 }, { ptr, i64 } { ptr @tn.str.136, i64 10 }, { ptr, i64 } { ptr @tn.str.137, i64 3 }, { ptr, i64 } { ptr @tn.str.138, i64 13 }, { ptr, i64 } { ptr @tn.str.139, i64 14 }, { ptr, i64 } { ptr @tn.str.140, i64 4 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 9 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 9 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 6 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 6 }, { ptr, i64 } { ptr @tn.str.149, i64 8 }, { ptr, i64 } { ptr @tn.str.150, i64 6 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 7 }, { ptr, i64 } { ptr @tn.str.153, i64 4 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 5 }, { ptr, i64 } { ptr @tn.str.156, i64 16 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 21 }, { ptr, i64 } { ptr @tn.str.159, i64 6 }, { ptr, i64 } { ptr @tn.str.160, i64 7 }, { ptr, i64 } { ptr @tn.str.161, i64 24 }, { ptr, i64 } { ptr @tn.str.162, i64 23 }, { ptr, i64 } { ptr @tn.str.163, i64 15 }, { ptr, i64 } { ptr @tn.str.164, i64 12 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 10 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 8 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 10 }, { ptr, i64 } { ptr @tn.str.171, i64 7 }, { ptr, i64 } { ptr @tn.str.172, i64 9 }, { ptr, i64 } { ptr @tn.str.173, i64 4 }, { ptr, i64 } { ptr @tn.str.174, i64 13 }, { ptr, i64 } { ptr @tn.str.175, i64 6 }, { ptr, i64 } { ptr @tn.str.176, i64 7 }, { ptr, i64 } { ptr @tn.str.177, i64 18 }, { ptr, i64 } { ptr @tn.str.178, i64 9 }, { ptr, i64 } { ptr @tn.str.179, i64 5 }, { ptr, i64 } { ptr @tn.str.180, i64 6 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 8 }, { ptr, i64 } { ptr @tn.str.188, i64 1 }, { ptr, i64 } { ptr @tn.str.189, i64 8 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 17 }, { ptr, i64 } { ptr @tn.str.192, i64 2 }, { ptr, i64 } { ptr @tn.str.193, i64 4 }, { ptr, i64 } { ptr @tn.str.194, i64 12 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 5 }, { ptr, i64 } { ptr @tn.str.197, i64 4 }, { ptr, i64 } { ptr @tn.str.198, i64 6 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 9 }, { ptr, i64 } { ptr @tn.str.202, i64 18 }, { ptr, i64 } { ptr @tn.str.203, i64 19 }, { ptr, i64 } { ptr @tn.str.204, i64 9 }, { ptr, i64 } { ptr @tn.str.205, i64 18 }, { ptr, i64 } { ptr @tn.str.206, i64 10 }, { ptr, i64 } { ptr @tn.str.207, i64 20 }, { ptr, i64 } { ptr @tn.str.208, i64 8 }, { ptr, i64 } { ptr @tn.str.209, i64 7 }, { ptr, i64 } { ptr @tn.str.210, i64 5 }, { ptr, i64 } { ptr @tn.str.211, i64 7 }, { ptr, i64 } { ptr @tn.str.212, i64 4 }, { ptr, i64 } { ptr @tn.str.213, i64 16 }, { ptr, i64 } { ptr @tn.str.214, i64 10 }, { ptr, i64 } { ptr @tn.str.215, i64 8 }, { ptr, i64 } { ptr @tn.str.216, i64 11 }, { ptr, i64 } { ptr @tn.str.217, i64 14 }, { ptr, i64 } { ptr @tn.str.218, i64 7 }, { ptr, i64 } { ptr @tn.str.219, i64 13 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 8 }, { ptr, i64 } { ptr @tn.str.222, i64 10 }, { ptr, i64 } { ptr @tn.str.223, i64 2 }, { ptr, i64 } { ptr @tn.str.224, i64 9 }, { ptr, i64 } { ptr @tn.str.225, i64 3 }, { ptr, i64 } { ptr @tn.str.226, i64 9 }, { ptr, i64 } { ptr @tn.str.227, i64 9 }, { ptr, i64 } { ptr @tn.str.228, i64 6 }, { ptr, i64 } { ptr @tn.str.229, i64 16 }, { ptr, i64 } { ptr @tn.str.230, i64 13 }, { ptr, i64 } { ptr @tn.str.231, i64 14 }, { ptr, i64 } { ptr @tn.str.232, i64 7 }, { ptr, i64 } { ptr @tn.str.233, i64 7 }, { ptr, i64 } { ptr @tn.str.234, i64 8 }, { ptr, i64 } { ptr @tn.str.235, i64 9 }, { ptr, i64 } { ptr @tn.str.236, i64 5 }, { ptr, i64 } { ptr @tn.str.237, i64 11 }, { ptr, i64 } { ptr @tn.str.238, i64 10 }, { ptr, i64 } { ptr @tn.str.239, i64 5 }, { ptr, i64 } { ptr @tn.str.240, i64 5 }, { ptr, i64 } { ptr @tn.str.241, i64 12 }, { ptr, i64 } { ptr @tn.str.242, i64 7 }, { ptr, i64 } { ptr @tn.str.243, i64 6 }, { ptr, i64 } { ptr @tn.str.244, i64 10 }, { ptr, i64 } { ptr @tn.str.245, i64 19 }, { ptr, i64 } { ptr @tn.str.246, i64 6 }, { ptr, i64 } { ptr @tn.str.247, i64 4 }, { ptr, i64 } { ptr @tn.str.248, i64 5 }, { ptr, i64 } { ptr @tn.str.249, i64 10 }, { ptr, i64 } { ptr @tn.str.250, i64 5 }, { ptr, i64 } { ptr @tn.str.251, i64 9 }, { ptr, i64 } { ptr @tn.str.252, i64 7 }, { ptr, i64 } { ptr @tn.str.253, i64 10 }, { ptr, i64 } { ptr @tn.str.254, i64 8 }, { ptr, i64 } { ptr @tn.str.255, i64 6 }, { ptr, i64 } { ptr @tn.str.256, i64 8 }, { ptr, i64 } { ptr @tn.str.257, i64 5 }, { ptr, i64 } { ptr @tn.str.258, i64 8 }, { ptr, i64 } { ptr @tn.str.259, i64 6 }, { ptr, i64 } { ptr @tn.str.260, i64 8 }, { ptr, i64 } { ptr @tn.str.261, i64 13 }, { ptr, i64 } { ptr @tn.str.262, i64 7 }, { ptr, i64 } { ptr @tn.str.263, i64 5 }, { ptr, i64 } { ptr @tn.str.264, i64 8 }, { ptr, i64 } { ptr @tn.str.265, i64 7 }, { ptr, i64 } { ptr @tn.str.266, i64 10 }, { ptr, i64 } { ptr @tn.str.267, i64 19 }, { ptr, i64 } { ptr @tn.str.268, i64 11 }, { ptr, i64 } { ptr @tn.str.269, i64 21 }, { ptr, i64 } { ptr @tn.str.270, i64 9 }, { ptr, i64 } { ptr @tn.str.271, i64 8 }, { ptr, i64 } { ptr @tn.str.272, i64 6 }, { ptr, i64 } { ptr @tn.str.273, i64 6 }, { ptr, i64 } { ptr @tn.str.274, i64 8 }, { ptr, i64 } { ptr @tn.str.275, i64 15 }, { ptr, i64 } { ptr @tn.str.276, i64 8 }] -@str.277 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.278 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.279 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@tn.str.111 = private constant [8 x i8] c"cstring\00" +@tn.str.112 = private constant [6 x i8] c"*void\00" +@tn.str.113 = private constant [16 x i8] c"Source_Location\00" +@tn.str.114 = private constant [10 x i8] c"Allocator\00" +@tn.str.115 = private constant [8 x i8] c"Context\00" +@tn.str.116 = private constant [7 x i8] c"[4]i64\00" +@tn.str.117 = private constant [9 x i8] c"[]string\00" +@tn.str.118 = private constant [11 x i8] c"CAllocator\00" +@tn.str.119 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.120 = private constant [4 x i8] c"GPA\00" +@tn.str.121 = private constant [5 x i8] c"*GPA\00" +@tn.str.122 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.123 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.124 = private constant [6 x i8] c"Arena\00" +@tn.str.125 = private constant [7 x i8] c"*Arena\00" +@tn.str.126 = private constant [6 x i8] c"[*]u8\00" +@tn.str.127 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.128 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.129 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.130 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.131 = private constant [9 x i8] c"OpenMode\00" +@tn.str.132 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.133 = private constant [5 x i8] c"File\00" +@tn.str.134 = private constant [6 x i8] c"*File\00" +@tn.str.135 = private constant [6 x i8] c"?File\00" +@tn.str.136 = private constant [8 x i8] c"?string\00" +@tn.str.137 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.138 = private constant [9 x i8] c"?cstring\00" +@tn.str.139 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.140 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.141 = private constant [5 x i8] c"*i32\00" +@tn.str.142 = private constant [9 x i8] c"SockAddr\00" +@tn.str.143 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.144 = private constant [5 x i8] c"*u32\00" +@tn.str.145 = private constant [10 x i8] c"JsonError\00" +@tn.str.146 = private constant [6 x i8] c"Array\00" +@tn.str.147 = private constant [7 x i8] c"Object\00" +@tn.str.148 = private constant [6 x i8] c"Value\00" +@tn.str.149 = private constant [7 x i8] c"Member\00" +@tn.str.150 = private constant [9 x i8] c"[*]Value\00" +@tn.str.151 = private constant [7 x i8] c"*Array\00" +@tn.str.152 = private constant [10 x i8] c"[*]Member\00" +@tn.str.153 = private constant [8 x i8] c"*Object\00" +@tn.str.154 = private constant [5 x i8] c"[]u8\00" +@tn.str.155 = private constant [5 x i8] c"Sink\00" +@tn.str.156 = private constant [6 x i8] c"*Sink\00" +@tn.str.157 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.158 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.159 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.160 = private constant [7 x i8] c"Parser\00" +@tn.str.161 = private constant [8 x i8] c"*Parser\00" +@tn.str.162 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.163 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.164 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.165 = private constant [13 x i8] c"Architecture\00" +@tn.str.166 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.167 = private constant [11 x i8] c"() -> bool\00" +@tn.str.168 = private constant [5 x i8] c"*i64\00" +@tn.str.169 = private constant [9 x i8] c"CliError\00" +@tn.str.170 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.171 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.172 = private constant [8 x i8] c"Command\00" +@tn.str.173 = private constant [10 x i8] c"FlagValue\00" +@tn.str.174 = private constant [5 x i8] c"Diag\00" +@tn.str.175 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.176 = private constant [7 x i8] c"Parsed\00" +@tn.str.177 = private constant [8 x i8] c"*Parsed\00" +@tn.str.178 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.179 = private constant [10 x i8] c"[]Command\00" +@tn.str.180 = private constant [6 x i8] c"*Diag\00" +@tn.str.181 = private constant [7 x i8] c"[8]i64\00" +@tn.str.182 = private constant [7 x i8] c"[64]u8\00" +@tn.str.183 = private constant [7 x i8] c"Sha256\00" +@tn.str.184 = private constant [8 x i8] c"*Sha256\00" +@tn.str.185 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.186 = private constant [8 x i8] c"[64]i64\00" +@tn.str.187 = private constant [8 x i8] c"IntCell\00" +@tn.str.188 = private constant [9 x i8] c"*IntCell\00" +@tn.str.189 = private constant [2 x i8] c"R\00" +@tn.str.190 = private constant [9 x i8] c"Combined\00" +@tn.str.191 = private constant [8 x i8] c"VL__i64\00" +@tn.str.192 = private constant [18 x i8] c"__VL__i64__Vtable\00" +@tn.str.193 = private constant [3 x i8] c"VL\00" +@tn.str.194 = private constant [5 x i8] c"[]VL\00" +@tn.str.195 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.196 = private constant [7 x i8] c"**void\00" +@tn.str.197 = private constant [6 x i8] c"[]Any\00" +@tn.str.198 = private constant [5 x i8] c"*Any\00" +@tn.str.199 = private constant [7 x i8] c"[1]Any\00" +@tn.str.200 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.201 = private constant [7 x i8] c"*[]Any\00" +@tn.str.202 = private constant [10 x i8] c"(VL__i64)\00" +@tn.str.203 = private constant [19 x i8] c"Combined__i64__i64\00" +@tn.str.204 = private constant [20 x i8] c"*Combined__i64__i64\00" +@tn.str.205 = private constant [10 x i8] c"**IntCell\00" +@tn.str.206 = private constant [19 x i8] c"*__VL__i64__Vtable\00" +@tn.str.207 = private constant [11 x i8] c"*(VL__i64)\00" +@tn.str.208 = private constant [21 x i8] c"**Combined__i64__i64\00" +@tn.str.209 = private constant [9 x i8] c"*VL__i64\00" +@tn.str.210 = private constant [8 x i8] c"*string\00" +@tn.str.211 = private constant [4 x i8] c"*u8\00" +@tn.str.212 = private constant [6 x i8] c"*bool\00" +@tn.str.213 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.214 = private constant [5 x i8] c"*f64\00" +@tn.str.215 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.216 = private constant [11 x i8] c"*Allocator\00" +@tn.str.217 = private constant [9 x i8] c"*Context\00" +@tn.str.218 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.219 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.220 = private constant [8 x i8] c"*Member\00" +@tn.str.221 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.222 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.223 = private constant [9 x i8] c"*Command\00" +@tn.str.224 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.225 = private constant [3 x i8] c"*R\00" +@tn.str.226 = private constant [10 x i8] c"*Combined\00" +@tn.str.227 = private constant [4 x i8] c"*VL\00" +@tn.str.228 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.229 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.230 = private constant [7 x i8] c"*Value\00" +@tn.str.231 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.232 = private constant [14 x i8] c"*Architecture\00" +@tn.str.233 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.234 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.235 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.236 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.237 = private constant [10 x i8] c"*[]string\00" +@tn.str.238 = private constant [6 x i8] c"*[]u8\00" +@tn.str.239 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.240 = private constant [11 x i8] c"*[]Command\00" +@tn.str.241 = private constant [6 x i8] c"*[]VL\00" +@tn.str.242 = private constant [6 x i8] c"**GPA\00" +@tn.str.243 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.244 = private constant [8 x i8] c"**Arena\00" +@tn.str.245 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.246 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.247 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.248 = private constant [7 x i8] c"**File\00" +@tn.str.249 = private constant [6 x i8] c"**i32\00" +@tn.str.250 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.251 = private constant [6 x i8] c"**u32\00" +@tn.str.252 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.253 = private constant [8 x i8] c"**Array\00" +@tn.str.254 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.255 = private constant [9 x i8] c"**Object\00" +@tn.str.256 = private constant [7 x i8] c"**Sink\00" +@tn.str.257 = private constant [9 x i8] c"**Parser\00" +@tn.str.258 = private constant [6 x i8] c"**i64\00" +@tn.str.259 = private constant [9 x i8] c"**Parsed\00" +@tn.str.260 = private constant [7 x i8] c"**Diag\00" +@tn.str.261 = private constant [9 x i8] c"**Sha256\00" +@tn.str.262 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.263 = private constant [8 x i8] c"***void\00" +@tn.str.264 = private constant [6 x i8] c"**Any\00" +@tn.str.265 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.266 = private constant [8 x i8] c"**[]Any\00" +@tn.str.267 = private constant [11 x i8] c"***IntCell\00" +@tn.str.268 = private constant [20 x i8] c"**__VL__i64__Vtable\00" +@tn.str.269 = private constant [12 x i8] c"**(VL__i64)\00" +@tn.str.270 = private constant [22 x i8] c"***Combined__i64__i64\00" +@tn.str.271 = private constant [10 x i8] c"**VL__i64\00" +@tn.str.272 = private constant [9 x i8] c"**string\00" +@tn.str.273 = private constant [5 x i8] c"**u8\00" +@tn.str.274 = private constant [7 x i8] c"**bool\00" +@tn.str.275 = private constant [7 x i8] c"*?File\00" +@tn.str.276 = private constant [9 x i8] c"*?string\00" +@tn.str.277 = private constant [10 x i8] c"*?cstring\00" +@tn.str.278 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.279 = 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.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 7 }, { ptr, i64 } { ptr @tn.str.112, i64 5 }, { ptr, i64 } { ptr @tn.str.113, i64 15 }, { ptr, i64 } { ptr @tn.str.114, i64 9 }, { ptr, i64 } { ptr @tn.str.115, i64 7 }, { ptr, i64 } { ptr @tn.str.116, i64 6 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 10 }, { ptr, i64 } { ptr @tn.str.119, i64 11 }, { ptr, i64 } { ptr @tn.str.120, i64 3 }, { ptr, i64 } { ptr @tn.str.121, i64 4 }, { ptr, i64 } { ptr @tn.str.122, i64 10 }, { ptr, i64 } { ptr @tn.str.123, i64 11 }, { ptr, i64 } { ptr @tn.str.124, i64 5 }, { ptr, i64 } { ptr @tn.str.125, i64 6 }, { ptr, i64 } { ptr @tn.str.126, i64 5 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 9 }, { ptr, i64 } { ptr @tn.str.129, i64 17 }, { ptr, i64 } { ptr @tn.str.130, i64 18 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 8 }, { ptr, i64 } { ptr @tn.str.133, i64 4 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 7 }, { ptr, i64 } { ptr @tn.str.137, i64 10 }, { ptr, i64 } { ptr @tn.str.138, i64 8 }, { ptr, i64 } { ptr @tn.str.139, i64 13 }, { ptr, i64 } { ptr @tn.str.140, i64 14 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 9 }, { ptr, i64 } { ptr @tn.str.144, i64 4 }, { ptr, i64 } { ptr @tn.str.145, i64 9 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 6 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 6 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 6 }, { ptr, i64 } { ptr @tn.str.152, i64 9 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 5 }, { ptr, i64 } { ptr @tn.str.157, i64 16 }, { ptr, i64 } { ptr @tn.str.158, i64 14 }, { ptr, i64 } { ptr @tn.str.159, i64 21 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 7 }, { ptr, i64 } { ptr @tn.str.162, i64 24 }, { ptr, i64 } { ptr @tn.str.163, i64 23 }, { ptr, i64 } { ptr @tn.str.164, i64 15 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 12 }, { ptr, i64 } { ptr @tn.str.167, i64 10 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 8 }, { ptr, i64 } { ptr @tn.str.171, i64 10 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 9 }, { ptr, i64 } { ptr @tn.str.174, i64 4 }, { ptr, i64 } { ptr @tn.str.175, i64 13 }, { ptr, i64 } { ptr @tn.str.176, i64 6 }, { ptr, i64 } { ptr @tn.str.177, i64 7 }, { ptr, i64 } { ptr @tn.str.178, i64 18 }, { ptr, i64 } { ptr @tn.str.179, i64 9 }, { ptr, i64 } { ptr @tn.str.180, i64 5 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 7 }, { ptr, i64 } { ptr @tn.str.188, i64 8 }, { ptr, i64 } { ptr @tn.str.189, i64 1 }, { ptr, i64 } { ptr @tn.str.190, i64 8 }, { ptr, i64 } { ptr @tn.str.191, i64 7 }, { ptr, i64 } { ptr @tn.str.192, i64 17 }, { ptr, i64 } { ptr @tn.str.193, i64 2 }, { ptr, i64 } { ptr @tn.str.194, i64 4 }, { ptr, i64 } { ptr @tn.str.195, i64 12 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 5 }, { ptr, i64 } { ptr @tn.str.198, i64 4 }, { ptr, i64 } { ptr @tn.str.199, i64 6 }, { ptr, i64 } { ptr @tn.str.200, i64 7 }, { ptr, i64 } { ptr @tn.str.201, i64 6 }, { ptr, i64 } { ptr @tn.str.202, i64 9 }, { ptr, i64 } { ptr @tn.str.203, i64 18 }, { ptr, i64 } { ptr @tn.str.204, i64 19 }, { ptr, i64 } { ptr @tn.str.205, i64 9 }, { ptr, i64 } { ptr @tn.str.206, i64 18 }, { ptr, i64 } { ptr @tn.str.207, i64 10 }, { ptr, i64 } { ptr @tn.str.208, i64 20 }, { ptr, i64 } { ptr @tn.str.209, i64 8 }, { ptr, i64 } { ptr @tn.str.210, i64 7 }, { ptr, i64 } { ptr @tn.str.211, i64 3 }, { ptr, i64 } { ptr @tn.str.212, i64 5 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 4 }, { ptr, i64 } { ptr @tn.str.215, i64 16 }, { ptr, i64 } { ptr @tn.str.216, i64 10 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 11 }, { ptr, i64 } { ptr @tn.str.219, i64 14 }, { ptr, i64 } { ptr @tn.str.220, i64 7 }, { ptr, i64 } { ptr @tn.str.221, i64 13 }, { ptr, i64 } { ptr @tn.str.222, i64 9 }, { ptr, i64 } { ptr @tn.str.223, i64 8 }, { ptr, i64 } { ptr @tn.str.224, i64 10 }, { ptr, i64 } { ptr @tn.str.225, i64 2 }, { ptr, i64 } { ptr @tn.str.226, i64 9 }, { ptr, i64 } { ptr @tn.str.227, i64 3 }, { ptr, i64 } { ptr @tn.str.228, i64 9 }, { ptr, i64 } { ptr @tn.str.229, i64 9 }, { ptr, i64 } { ptr @tn.str.230, i64 6 }, { ptr, i64 } { ptr @tn.str.231, i64 16 }, { ptr, i64 } { ptr @tn.str.232, i64 13 }, { ptr, i64 } { ptr @tn.str.233, i64 14 }, { ptr, i64 } { ptr @tn.str.234, i64 7 }, { ptr, i64 } { ptr @tn.str.235, i64 7 }, { ptr, i64 } { ptr @tn.str.236, i64 8 }, { ptr, i64 } { ptr @tn.str.237, i64 9 }, { ptr, i64 } { ptr @tn.str.238, i64 5 }, { ptr, i64 } { ptr @tn.str.239, i64 11 }, { ptr, i64 } { ptr @tn.str.240, i64 10 }, { ptr, i64 } { ptr @tn.str.241, i64 5 }, { ptr, i64 } { ptr @tn.str.242, i64 5 }, { ptr, i64 } { ptr @tn.str.243, i64 12 }, { ptr, i64 } { ptr @tn.str.244, i64 7 }, { ptr, i64 } { ptr @tn.str.245, i64 6 }, { ptr, i64 } { ptr @tn.str.246, i64 10 }, { ptr, i64 } { ptr @tn.str.247, i64 19 }, { ptr, i64 } { ptr @tn.str.248, i64 6 }, { ptr, i64 } { ptr @tn.str.249, i64 5 }, { ptr, i64 } { ptr @tn.str.250, i64 10 }, { ptr, i64 } { ptr @tn.str.251, i64 5 }, { ptr, i64 } { ptr @tn.str.252, i64 9 }, { ptr, i64 } { ptr @tn.str.253, i64 7 }, { ptr, i64 } { ptr @tn.str.254, i64 10 }, { ptr, i64 } { ptr @tn.str.255, i64 8 }, { ptr, i64 } { ptr @tn.str.256, i64 6 }, { ptr, i64 } { ptr @tn.str.257, i64 8 }, { ptr, i64 } { ptr @tn.str.258, i64 5 }, { ptr, i64 } { ptr @tn.str.259, i64 8 }, { ptr, i64 } { ptr @tn.str.260, i64 6 }, { ptr, i64 } { ptr @tn.str.261, i64 8 }, { ptr, i64 } { ptr @tn.str.262, i64 13 }, { ptr, i64 } { ptr @tn.str.263, i64 7 }, { ptr, i64 } { ptr @tn.str.264, i64 5 }, { ptr, i64 } { ptr @tn.str.265, i64 8 }, { ptr, i64 } { ptr @tn.str.266, i64 7 }, { ptr, i64 } { ptr @tn.str.267, i64 10 }, { ptr, i64 } { ptr @tn.str.268, i64 19 }, { ptr, i64 } { ptr @tn.str.269, i64 11 }, { ptr, i64 } { ptr @tn.str.270, i64 21 }, { ptr, i64 } { ptr @tn.str.271, i64 9 }, { ptr, i64 } { ptr @tn.str.272, i64 8 }, { ptr, i64 } { ptr @tn.str.273, i64 4 }, { ptr, i64 } { ptr @tn.str.274, i64 6 }, { ptr, i64 } { ptr @tn.str.275, i64 6 }, { ptr, i64 } { ptr @tn.str.276, i64 8 }, { ptr, i64 } { ptr @tn.str.277, i64 9 }, { ptr, i64 } { ptr @tn.str.278, i64 15 }, { ptr, i64 } { ptr @tn.str.279, i64 8 }] @str.280 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.281 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.282 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.283 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.284 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.285 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.286 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.287 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.288 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.289 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.290 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.291 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.283 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.284 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.285 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.286 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.287 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.288 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.289 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.290 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.291 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.292 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.293 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.294 = private unnamed_addr constant [5 x i8] c")); \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 [4 x i8] c"{}\0A\00", align 1 -@str.299 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.300 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 -@str.301 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.302 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.303 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.304 = private unnamed_addr constant [3 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 [4 x i8] c"{}\0A\00", align 1 +@str.302 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.303 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.304 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.305 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.306 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.307 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.305 = private constant [5 x i8] c"line\00" -@fld.str.306 = private constant [4 x i8] c"col\00" -@fld.str.307 = 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.305, i64 4 }, { ptr, i64 } { ptr @fld.str.306, i64 3 }, { ptr, i64 } { ptr @fld.str.307, i64 4 }] -@str.308 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.309 = private unnamed_addr constant [10 x i8] c"Allocator\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"}\00", align 1 -@str.312 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.313 = private constant [4 x i8] c"ctx\00" -@fld.str.314 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.315 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.316 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.313, i64 3 }, { ptr, i64 } { ptr @fld.str.314, i64 11 }, { ptr, i64 } { ptr @fld.str.315, i64 13 }] -@str.317 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.318 = private unnamed_addr constant [8 x i8] c"Context\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.322 = private constant [10 x i8] c"allocator\00" -@fld.str.323 = private constant [5 x i8] c"data\00" -@field_names.324 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.322, i64 9 }, { ptr, i64 } { ptr @fld.str.323, i64 4 }] -@str.325 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.326 = private unnamed_addr constant [11 x i8] c"CAllocator\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 -@field_names.330 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.331 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.332 = private unnamed_addr constant [4 x i8] c"GPA\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 [12 x i8] c"alloc_count\00" -@field_names.337 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.336, i64 11 }] -@str.338 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.339 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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.343 = private constant [5 x i8] c"next\00" -@fld.str.344 = private constant [4 x i8] c"cap\00" -@field_names.345 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.343, i64 4 }, { ptr, i64 } { ptr @fld.str.344, i64 3 }] -@str.346 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.347 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" -@fld.str.352 = private constant [10 x i8] c"end_index\00" -@fld.str.353 = private constant [7 x i8] c"parent\00" -@field_names.354 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.351, i64 5 }, { ptr, i64 } { ptr @fld.str.352, i64 9 }, { ptr, i64 } { ptr @fld.str.353, i64 6 }] -@str.355 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.356 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" -@fld.str.361 = private constant [4 x i8] c"len\00" -@fld.str.362 = private constant [4 x i8] c"pos\00" -@field_names.363 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.360, i64 3 }, { ptr, i64 } { ptr @fld.str.361, i64 3 }, { 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 [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" -@fld.str.370 = private constant [12 x i8] c"alloc_count\00" -@fld.str.371 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.372 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.373 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.369, i64 6 }, { ptr, i64 } { ptr @fld.str.370, i64 11 }, { ptr, i64 } { ptr @fld.str.371, i64 13 }, { ptr, i64 } { ptr @fld.str.372, i64 17 }] -@str.374 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.375 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" -@field_names.380 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.379, i64 2 }] -@str.381 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.382 = private unnamed_addr constant [11 x i8] c"TraceFrame\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"file\00" -@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" -@fld.str.390 = private constant [10 x i8] c"line_text\00" -@field_names.391 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.386, 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 }, { ptr, i64 } { ptr @fld.str.390, i64 9 }] -@str.392 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.393 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" -@fld.str.398 = private constant [7 x i8] c"stdout\00" -@field_names.399 = private constant [2 x { ptr, i64 }] [{ 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"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.406 = private constant [11 x i8] c"sin_family\00" -@fld.str.407 = private constant [9 x i8] c"sin_port\00" -@fld.str.408 = private constant [9 x i8] c"sin_addr\00" -@fld.str.409 = private constant [9 x i8] c"sin_zero\00" -@field_names.410 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.405, i64 7 }, { ptr, i64 } { ptr @fld.str.406, i64 10 }, { ptr, i64 } { ptr @fld.str.407, i64 8 }, { ptr, i64 } { ptr @fld.str.408, i64 8 }, { ptr, i64 } { ptr @fld.str.409, i64 8 }] -@str.411 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.412 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" -@fld.str.417 = private constant [4 x i8] c"len\00" -@fld.str.418 = private constant [4 x i8] c"cap\00" -@field_names.419 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.416, i64 5 }, { ptr, i64 } { ptr @fld.str.417, i64 3 }, { ptr, i64 } { ptr @fld.str.418, i64 3 }] -@str.420 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.421 = private unnamed_addr constant [7 x i8] c"Object\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 [6 x i8] c"items\00" -@fld.str.426 = private constant [4 x i8] c"len\00" -@fld.str.427 = private constant [4 x i8] c"cap\00" -@field_names.428 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.425, i64 5 }, { ptr, i64 } { ptr @fld.str.426, i64 3 }, { ptr, i64 } { ptr @fld.str.427, i64 3 }] -@str.429 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.430 = private unnamed_addr constant [7 x i8] c"Member\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 [4 x i8] c"key\00" -@fld.str.435 = private constant [4 x i8] c"val\00" -@field_names.436 = private constant [2 x { ptr, i64 }] [{ 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 [5 x i8] c"Sink\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"dst\00" -@fld.str.443 = private constant [4 x i8] c"pos\00" -@fld.str.444 = private constant [5 x i8] c"file\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 4 }] -@str.446 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.447 = private unnamed_addr constant [7 x i8] c"Parser\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"src\00" -@fld.str.452 = private constant [4 x i8] c"pos\00" -@fld.str.453 = private constant [6 x i8] c"alloc\00" -@field_names.454 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.451, i64 3 }, { ptr, i64 } { ptr @fld.str.452, i64 3 }, { ptr, i64 } { ptr @fld.str.453, i64 5 }] -@str.455 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.456 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.460 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.461 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.462 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" -@fld.str.467 = private constant [12 x i8] c"takes_value\00" -@fld.str.468 = private constant [9 x i8] c"required\00" -@field_names.469 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.466, i64 4 }, { ptr, i64 } { ptr @fld.str.467, i64 11 }, { ptr, i64 } { ptr @fld.str.468, i64 8 }] -@str.470 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.471 = private unnamed_addr constant [8 x i8] c"Command\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 [6 x i8] c"group\00" -@fld.str.476 = private constant [8 x i8] c"command\00" -@fld.str.477 = private constant [6 x i8] c"flags\00" -@field_names.478 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.475, i64 5 }, { ptr, i64 } { ptr @fld.str.476, i64 7 }, { ptr, i64 } { ptr @fld.str.477, i64 5 }] -@str.479 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.480 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" -@fld.str.485 = private constant [6 x i8] c"value\00" -@field_names.486 = private constant [2 x { ptr, i64 }] [{ 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 [5 x i8] c"Diag\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"index\00" -@fld.str.493 = private constant [6 x i8] c"token\00" -@field_names.494 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.492, i64 5 }, { 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 [7 x i8] c"Parsed\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 [10 x i8] c"cmd_index\00" -@fld.str.503 = private constant [5 x i8] c"json\00" -@fld.str.504 = private constant [5 x i8] c"rest\00" -@fld.str.505 = private constant [5 x i8] c"spec\00" -@fld.str.506 = private constant [7 x i8] c"values\00" -@field_names.507 = private constant [7 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 9 }, { ptr, i64 } { ptr @fld.str.503, i64 4 }, { ptr, i64 } { ptr @fld.str.504, i64 4 }, { ptr, i64 } { ptr @fld.str.505, i64 4 }, { ptr, i64 } { ptr @fld.str.506, i64 6 }] -@str.508 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.509 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" -@fld.str.514 = private constant [4 x i8] c"buf\00" -@fld.str.515 = private constant [8 x i8] c"buf_len\00" -@fld.str.516 = private constant [10 x i8] c"total_len\00" -@field_names.517 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.513, i64 1 }, { ptr, i64 } { ptr @fld.str.514, i64 3 }, { ptr, i64 } { ptr @fld.str.515, i64 7 }, { ptr, i64 } { ptr @fld.str.516, i64 9 }] -@str.518 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.519 = private unnamed_addr constant [8 x i8] c"IntCell\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 [2 x i8] c"v\00" -@field_names.524 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.523, i64 1 }] -@str.525 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.526 = private unnamed_addr constant [2 x i8] c"R\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"Combined\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 -@field_names.536 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.537 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.538 = private unnamed_addr constant [8 x i8] c"VL__i64\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 [4 x i8] c"ctx\00" -@fld.str.543 = private constant [9 x i8] c"__vtable\00" -@field_names.544 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.542, i64 3 }, { ptr, i64 } { ptr @fld.str.543, i64 8 }] -@str.545 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.546 = private unnamed_addr constant [18 x i8] c"__VL__i64__Vtable\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 [4 x i8] c"get\00" -@field_names.551 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.550, i64 3 }] -@str.552 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.553 = private unnamed_addr constant [3 x i8] c"VL\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 -@field_names.557 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.558 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.559 = private unnamed_addr constant [19 x i8] c"Combined__i64__i64\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 [8 x i8] c"sources\00" -@fld.str.564 = private constant [6 x i8] c"value\00" -@field_names.565 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.563, i64 7 }, { ptr, i64 } { ptr @fld.str.564, i64 5 }] -@str.566 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.567 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.568 = private constant [5 x i8] c"read\00" -@fld.str.569 = private constant [6 x i8] c"write\00" -@fld.str.570 = private constant [7 x i8] c"append\00" -@fld.str.571 = private constant [11 x i8] c"read_write\00" -@field_names.572 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.568, i64 4 }, { ptr, i64 } { ptr @fld.str.569, i64 5 }, { ptr, i64 } { ptr @fld.str.570, i64 6 }, { ptr, i64 } { ptr @fld.str.571, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.576 = private constant [4 x i8] c"set\00" -@fld.str.577 = private constant [8 x i8] c"current\00" -@fld.str.578 = private constant [4 x i8] c"end\00" -@field_names.579 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.576, i64 3 }, { ptr, i64 } { ptr @fld.str.577, i64 7 }, { ptr, i64 } { ptr @fld.str.578, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.583 = private constant [6 x i8] c"null_\00" -@fld.str.584 = private constant [6 x i8] c"bool_\00" -@fld.str.585 = private constant [5 x i8] c"int_\00" -@fld.str.586 = private constant [4 x i8] c"str\00" -@fld.str.587 = private constant [6 x i8] c"array\00" -@fld.str.588 = private constant [7 x i8] c"object\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 5 }, { ptr, i64 } { ptr @fld.str.585, i64 4 }, { ptr, i64 } { ptr @fld.str.586, i64 3 }, { ptr, i64 } { ptr @fld.str.587, i64 5 }, { ptr, i64 } { ptr @fld.str.588, i64 6 }] -@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 [6 x i8] c"macos\00" -@fld.str.594 = private constant [6 x i8] c"linux\00" -@fld.str.595 = private constant [8 x i8] c"windows\00" -@fld.str.596 = private constant [5 x i8] c"wasm\00" -@fld.str.597 = private constant [4 x i8] c"ios\00" -@fld.str.598 = private constant [8 x i8] c"android\00" -@fld.str.599 = private constant [8 x i8] c"unknown\00" -@field_names.600 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.593, i64 5 }, { ptr, i64 } { ptr @fld.str.594, i64 5 }, { ptr, i64 } { ptr @fld.str.595, i64 7 }, { ptr, i64 } { ptr @fld.str.596, i64 4 }, { ptr, i64 } { ptr @fld.str.597, i64 3 }, { ptr, i64 } { ptr @fld.str.598, i64 7 }, { ptr, i64 } { ptr @fld.str.599, i64 7 }] -@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 [8 x i8] c"aarch64\00" -@fld.str.605 = private constant [7 x i8] c"x86_64\00" -@fld.str.606 = private constant [7 x i8] c"wasm32\00" -@fld.str.607 = private constant [7 x i8] c"wasm64\00" -@fld.str.608 = private constant [8 x i8] c"unknown\00" -@field_names.609 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.604, i64 7 }, { ptr, i64 } { ptr @fld.str.605, i64 6 }, { ptr, i64 } { ptr @fld.str.606, i64 6 }, { ptr, i64 } { ptr @fld.str.607, i64 6 }, { ptr, i64 } { ptr @fld.str.608, i64 7 }] -@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 -@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.308 = private constant [5 x i8] c"line\00" +@fld.str.309 = private constant [4 x i8] c"col\00" +@fld.str.310 = 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.308, i64 4 }, { ptr, i64 } { ptr @fld.str.309, i64 3 }, { ptr, i64 } { ptr @fld.str.310, i64 4 }] +@str.311 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.312 = private unnamed_addr constant [10 x i8] c"Allocator\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 +@fld.str.316 = private constant [4 x i8] c"ctx\00" +@fld.str.317 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.318 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.319 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.316, i64 3 }, { ptr, i64 } { ptr @fld.str.317, i64 11 }, { ptr, i64 } { ptr @fld.str.318, i64 13 }] +@str.320 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.321 = private unnamed_addr constant [8 x i8] c"Context\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 [10 x i8] c"allocator\00" +@fld.str.326 = private constant [5 x i8] c"data\00" +@field_names.327 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.325, i64 9 }, { ptr, i64 } { ptr @fld.str.326, i64 4 }] +@str.328 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.329 = private unnamed_addr constant [11 x i8] c"CAllocator\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 +@field_names.333 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.334 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.335 = private unnamed_addr constant [4 x i8] c"GPA\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 [12 x i8] c"alloc_count\00" +@field_names.340 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.339, i64 11 }] +@str.341 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.342 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" +@fld.str.347 = private constant [4 x i8] c"cap\00" +@field_names.348 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.346, i64 4 }, { ptr, i64 } { ptr @fld.str.347, i64 3 }] +@str.349 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.350 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" +@fld.str.355 = private constant [10 x i8] c"end_index\00" +@fld.str.356 = private constant [7 x i8] c"parent\00" +@field_names.357 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.354, i64 5 }, { ptr, i64 } { ptr @fld.str.355, i64 9 }, { ptr, i64 } { ptr @fld.str.356, i64 6 }] +@str.358 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.359 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" +@fld.str.364 = private constant [4 x i8] c"len\00" +@fld.str.365 = private constant [4 x i8] c"pos\00" +@field_names.366 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.363, i64 3 }, { ptr, i64 } { ptr @fld.str.364, i64 3 }, { ptr, i64 } { ptr @fld.str.365, i64 3 }] +@str.367 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.368 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" +@fld.str.373 = private constant [12 x i8] c"alloc_count\00" +@fld.str.374 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.375 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.376 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.372, i64 6 }, { ptr, i64 } { ptr @fld.str.373, i64 11 }, { ptr, i64 } { ptr @fld.str.374, i64 13 }, { ptr, i64 } { ptr @fld.str.375, i64 17 }] +@str.377 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.378 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" +@field_names.383 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.382, i64 2 }] +@str.384 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.385 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" +@fld.str.390 = private constant [5 x i8] c"line\00" +@fld.str.391 = private constant [4 x i8] c"col\00" +@fld.str.392 = private constant [5 x i8] c"func\00" +@fld.str.393 = private constant [10 x i8] c"line_text\00" +@field_names.394 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.389, i64 4 }, { ptr, i64 } { ptr @fld.str.390, i64 4 }, { ptr, i64 } { ptr @fld.str.391, i64 3 }, { ptr, i64 } { ptr @fld.str.392, i64 4 }, { ptr, i64 } { ptr @fld.str.393, i64 9 }] +@str.395 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.396 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" +@fld.str.401 = private constant [7 x i8] c"stdout\00" +@field_names.402 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.400, i64 9 }, { ptr, i64 } { ptr @fld.str.401, i64 6 }] +@str.403 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.404 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" +@fld.str.409 = private constant [11 x i8] c"sin_family\00" +@fld.str.410 = private constant [9 x i8] c"sin_port\00" +@fld.str.411 = private constant [9 x i8] c"sin_addr\00" +@fld.str.412 = private constant [9 x i8] c"sin_zero\00" +@field_names.413 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.408, i64 7 }, { ptr, i64 } { ptr @fld.str.409, i64 10 }, { ptr, i64 } { ptr @fld.str.410, i64 8 }, { ptr, i64 } { ptr @fld.str.411, i64 8 }, { ptr, i64 } { ptr @fld.str.412, i64 8 }] +@str.414 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.415 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" +@fld.str.420 = private constant [4 x i8] c"len\00" +@fld.str.421 = private constant [4 x i8] c"cap\00" +@field_names.422 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.419, i64 5 }, { ptr, i64 } { ptr @fld.str.420, i64 3 }, { ptr, i64 } { ptr @fld.str.421, i64 3 }] +@str.423 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.424 = private unnamed_addr constant [7 x i8] c"Object\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 }] +@str.432 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.433 = private unnamed_addr constant [7 x i8] c"Member\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 [4 x i8] c"key\00" +@fld.str.438 = private constant [4 x i8] c"val\00" +@field_names.439 = private constant [2 x { ptr, i64 }] [{ 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 [5 x i8] c"Sink\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"dst\00" +@fld.str.446 = private constant [4 x i8] c"pos\00" +@fld.str.447 = private constant [5 x i8] c"file\00" +@field_names.448 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.445, i64 3 }, { ptr, i64 } { ptr @fld.str.446, i64 3 }, { ptr, i64 } { ptr @fld.str.447, i64 4 }] +@str.449 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.450 = private unnamed_addr constant [7 x i8] c"Parser\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"src\00" +@fld.str.455 = private constant [4 x i8] c"pos\00" +@fld.str.456 = private constant [6 x i8] c"alloc\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 5 }] +@str.458 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.459 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 +@field_names.463 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.464 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.465 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" +@fld.str.470 = private constant [12 x i8] c"takes_value\00" +@fld.str.471 = private constant [9 x i8] c"required\00" +@field_names.472 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.469, i64 4 }, { ptr, i64 } { ptr @fld.str.470, i64 11 }, { 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 [8 x i8] c"Command\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"group\00" +@fld.str.479 = private constant [8 x i8] c"command\00" +@fld.str.480 = private constant [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.480, i64 5 }] +@str.482 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.483 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" +@fld.str.488 = private constant [6 x i8] c"value\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 5 }] +@str.490 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.491 = private unnamed_addr constant [5 x i8] c"Diag\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"index\00" +@fld.str.496 = private constant [6 x i8] c"token\00" +@field_names.497 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.495, i64 5 }, { 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 [7 x i8] c"Parsed\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"group\00" +@fld.str.504 = private constant [8 x i8] c"command\00" +@fld.str.505 = private constant [10 x i8] c"cmd_index\00" +@fld.str.506 = private constant [5 x i8] c"json\00" +@fld.str.507 = private constant [5 x i8] c"rest\00" +@fld.str.508 = private constant [5 x i8] c"spec\00" +@fld.str.509 = private constant [7 x i8] c"values\00" +@field_names.510 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.503, i64 5 }, { ptr, i64 } { ptr @fld.str.504, i64 7 }, { ptr, i64 } { ptr @fld.str.505, i64 9 }, { ptr, i64 } { ptr @fld.str.506, i64 4 }, { ptr, i64 } { ptr @fld.str.507, i64 4 }, { ptr, i64 } { ptr @fld.str.508, i64 4 }, { ptr, i64 } { ptr @fld.str.509, i64 6 }] +@str.511 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.512 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" +@fld.str.517 = private constant [4 x i8] c"buf\00" +@fld.str.518 = private constant [8 x i8] c"buf_len\00" +@fld.str.519 = private constant [10 x i8] c"total_len\00" +@field_names.520 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.516, i64 1 }, { ptr, i64 } { ptr @fld.str.517, i64 3 }, { ptr, i64 } { ptr @fld.str.518, i64 7 }, { ptr, i64 } { ptr @fld.str.519, i64 9 }] +@str.521 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.522 = private unnamed_addr constant [8 x i8] c"IntCell\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 [2 x i8] c"v\00" +@field_names.527 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.526, i64 1 }] +@str.528 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.529 = private unnamed_addr constant [2 x i8] c"R\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"Combined\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 +@field_names.539 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.540 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.541 = private unnamed_addr constant [8 x i8] c"VL__i64\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 [4 x i8] c"ctx\00" +@fld.str.546 = private constant [9 x i8] c"__vtable\00" +@field_names.547 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.545, i64 3 }, { ptr, i64 } { ptr @fld.str.546, i64 8 }] +@str.548 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.549 = private unnamed_addr constant [18 x i8] c"__VL__i64__Vtable\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 [4 x i8] c"get\00" +@field_names.554 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.553, i64 3 }] +@str.555 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.556 = private unnamed_addr constant [3 x i8] c"VL\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 +@field_names.560 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.561 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.562 = private unnamed_addr constant [19 x i8] c"Combined__i64__i64\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 [8 x i8] c"sources\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 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 [2 x i8] c".\00", align 1 +@fld.str.571 = private constant [5 x i8] c"read\00" +@fld.str.572 = private constant [6 x i8] c"write\00" +@fld.str.573 = private constant [7 x i8] c"append\00" +@fld.str.574 = private constant [11 x i8] c"read_write\00" +@field_names.575 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.571, i64 4 }, { ptr, i64 } { ptr @fld.str.572, i64 5 }, { ptr, i64 } { ptr @fld.str.573, i64 6 }, { ptr, i64 } { ptr @fld.str.574, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.579 = private constant [4 x i8] c"set\00" +@fld.str.580 = private constant [8 x i8] c"current\00" +@fld.str.581 = private constant [4 x i8] c"end\00" +@field_names.582 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.579, i64 3 }, { ptr, i64 } { ptr @fld.str.580, i64 7 }, { ptr, i64 } { ptr @fld.str.581, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.586 = private constant [6 x i8] c"null_\00" +@fld.str.587 = private constant [6 x i8] c"bool_\00" +@fld.str.588 = private constant [5 x i8] c"int_\00" +@fld.str.589 = private constant [4 x i8] c"str\00" +@fld.str.590 = private constant [6 x i8] c"array\00" +@fld.str.591 = private constant [7 x i8] c"object\00" +@field_names.592 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.586, i64 5 }, { ptr, i64 } { ptr @fld.str.587, i64 5 }, { ptr, i64 } { ptr @fld.str.588, i64 4 }, { ptr, i64 } { ptr @fld.str.589, i64 3 }, { ptr, i64 } { ptr @fld.str.590, i64 5 }, { ptr, i64 } { ptr @fld.str.591, i64 6 }] +@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 [6 x i8] c"macos\00" +@fld.str.597 = private constant [6 x i8] c"linux\00" +@fld.str.598 = private constant [8 x i8] c"windows\00" +@fld.str.599 = private constant [5 x i8] c"wasm\00" +@fld.str.600 = private constant [4 x i8] c"ios\00" +@fld.str.601 = private constant [8 x i8] c"android\00" +@fld.str.602 = private constant [8 x i8] c"unknown\00" +@field_names.603 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.596, i64 5 }, { ptr, i64 } { ptr @fld.str.597, i64 5 }, { ptr, i64 } { ptr @fld.str.598, i64 7 }, { ptr, i64 } { ptr @fld.str.599, i64 4 }, { ptr, i64 } { ptr @fld.str.600, i64 3 }, { ptr, i64 } { ptr @fld.str.601, i64 7 }, { ptr, i64 } { ptr @fld.str.602, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.607 = private constant [8 x i8] c"aarch64\00" +@fld.str.608 = private constant [7 x i8] c"x86_64\00" +@fld.str.609 = private constant [7 x i8] c"wasm32\00" +@fld.str.610 = private constant [7 x i8] c"wasm64\00" +@fld.str.611 = private constant [8 x i8] c"unknown\00" +@field_names.612 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.607, i64 7 }, { ptr, i64 } { ptr @fld.str.608, i64 6 }, { ptr, i64 } { ptr @fld.str.609, i64 6 }, { ptr, i64 } { ptr @fld.str.610, i64 6 }, { 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 @str.616 = private unnamed_addr constant [2 x i8] c"]\00", align 1 @str.617 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -583,35 +583,35 @@ @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 [5 x i8] c"null\00", align 1 -@str.649 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.650 = private unnamed_addr constant [4 x i8] c"@0x\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 [5 x i8] c"null\00", align 1 -@str.652 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.652 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.653 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.654 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.655 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.655 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.656 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.657 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.658 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.658 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.659 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.660 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.661 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.661 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\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 [6 x i8] c"[*]u8\00", align 1 +@str.664 = private unnamed_addr constant [7 x i8] c"*Arena\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 [10 x i8] c"*BufAlloc\00", align 1 +@str.667 = private unnamed_addr constant [6 x i8] c"[*]u8\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 [19 x i8] c"*TrackingAllocator\00", align 1 +@str.670 = private unnamed_addr constant [10 x i8] c"*BufAlloc\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 [6 x i8] c"*File\00", align 1 +@str.673 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\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 [4 x i8] c"*u8\00", align 1 +@str.676 = private unnamed_addr constant [6 x i8] c"*File\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 [5 x i8] c"*i32\00", align 1 @@ -692,12 +692,16 @@ @str.754 = private unnamed_addr constant [8 x i8] c"*string\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"*bool\00", align 1 +@str.757 = private unnamed_addr constant [4 x i8] c"*u8\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"null\00", align 1 -@str.761 = 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.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"null\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 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -714,7 +718,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -765,7 +769,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -855,7 +859,7 @@ if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.66 @@ -1058,7 +1062,7 @@ if.merge.91: ; preds = %if.else.90, %if.the %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1301,7 +1305,7 @@ if.merge.424: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1373,7 +1377,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1404,7 +1408,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1419,6 +1423,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1461,88 +1474,86 @@ entry: i64 1, label %match.arm.41 i64 10, label %match.arm.42 i64 11, label %match.arm.42 - i64 19, label %match.arm.43 i64 20, label %match.arm.43 i64 21, label %match.arm.43 - i64 24, label %match.arm.43 - i64 26, label %match.arm.43 - i64 28, label %match.arm.43 - i64 30, label %match.arm.43 - i64 33, label %match.arm.43 - i64 35, label %match.arm.43 - i64 39, label %match.arm.43 - i64 43, label %match.arm.43 - i64 45, label %match.arm.43 - i64 48, label %match.arm.43 - i64 52, label %match.arm.43 + i64 22, label %match.arm.43 + i64 25, label %match.arm.43 + i64 27, label %match.arm.43 + i64 29, label %match.arm.43 + i64 31, label %match.arm.43 + i64 34, label %match.arm.43 + i64 36, label %match.arm.43 + i64 40, label %match.arm.43 + i64 44, label %match.arm.43 + i64 46, label %match.arm.43 + i64 49, label %match.arm.43 i64 53, label %match.arm.43 - i64 55, label %match.arm.43 - i64 61, label %match.arm.43 - i64 66, label %match.arm.43 - i64 72, label %match.arm.43 - i64 76, label %match.arm.43 - i64 78, label %match.arm.43 + i64 54, label %match.arm.43 + i64 56, label %match.arm.43 + i64 62, label %match.arm.43 + i64 67, label %match.arm.43 + i64 73, label %match.arm.43 + i64 77, label %match.arm.43 i64 79, label %match.arm.43 i64 80, label %match.arm.43 - i64 82, label %match.arm.43 - i64 89, label %match.arm.43 - i64 93, label %match.arm.43 - i64 95, label %match.arm.43 + i64 81, label %match.arm.43 + i64 83, label %match.arm.43 + i64 90, label %match.arm.43 + i64 94, label %match.arm.43 i64 96, label %match.arm.43 i64 97, label %match.arm.43 i64 98, label %match.arm.43 i64 99, label %match.arm.43 - i64 109, label %match.arm.43 - i64 37, label %match.arm.44 + i64 100, label %match.arm.43 + i64 110, label %match.arm.43 i64 38, label %match.arm.44 - i64 54, label %match.arm.44 - i64 70, label %match.arm.44 + i64 39, label %match.arm.44 + i64 55, label %match.arm.44 i64 71, label %match.arm.44 - i64 51, label %match.arm.45 - i64 64, label %match.arm.45 - i64 75, label %match.arm.45 - i64 22, label %match.arm.47 - i64 81, label %match.arm.47 - i64 87, label %match.arm.47 + i64 72, label %match.arm.44 + i64 52, label %match.arm.45 + i64 65, label %match.arm.45 + i64 76, label %match.arm.45 + i64 23, label %match.arm.47 + i64 82, label %match.arm.47 i64 88, label %match.arm.47 - i64 92, label %match.arm.47 - i64 105, label %match.arm.47 - i64 23, label %match.arm.48 - i64 60, label %match.arm.48 - i64 77, label %match.arm.48 - i64 85, label %match.arm.48 - i64 100, label %match.arm.48 - i64 103, label %match.arm.48 - i64 18, label %match.arm.49 - i64 25, label %match.arm.49 - i64 27, label %match.arm.49 - i64 29, label %match.arm.49 - i64 31, label %match.arm.49 + i64 89, label %match.arm.47 + i64 93, label %match.arm.47 + i64 106, label %match.arm.47 + i64 24, label %match.arm.48 + i64 61, label %match.arm.48 + i64 78, label %match.arm.48 + i64 86, label %match.arm.48 + i64 101, label %match.arm.48 + i64 104, label %match.arm.48 + i64 19, label %match.arm.49 + i64 26, label %match.arm.49 + i64 28, label %match.arm.49 + i64 30, label %match.arm.49 i64 32, label %match.arm.49 - i64 34, label %match.arm.49 - i64 36, label %match.arm.49 - i64 40, label %match.arm.49 - i64 44, label %match.arm.49 - i64 47, label %match.arm.49 - i64 49, label %match.arm.49 + i64 33, label %match.arm.49 + i64 35, label %match.arm.49 + i64 37, label %match.arm.49 + i64 41, label %match.arm.49 + i64 48, label %match.arm.49 i64 50, label %match.arm.49 - i64 56, label %match.arm.49 + i64 51, label %match.arm.49 i64 57, label %match.arm.49 i64 58, label %match.arm.49 i64 59, label %match.arm.49 - i64 62, label %match.arm.49 - i64 67, label %match.arm.49 - i64 74, label %match.arm.49 - i64 83, label %match.arm.49 - i64 86, label %match.arm.49 - i64 90, label %match.arm.49 - i64 94, label %match.arm.49 - i64 101, label %match.arm.49 + i64 60, label %match.arm.49 + i64 63, label %match.arm.49 + i64 68, label %match.arm.49 + i64 75, label %match.arm.49 + i64 84, label %match.arm.49 + i64 87, label %match.arm.49 + i64 91, label %match.arm.49 + i64 95, label %match.arm.49 i64 102, label %match.arm.49 - i64 104, label %match.arm.49 - i64 106, label %match.arm.49 + i64 103, label %match.arm.49 + i64 105, label %match.arm.49 i64 107, label %match.arm.49 - i64 110, 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 @@ -1550,10 +1561,13 @@ entry: i64 115, label %match.arm.49 i64 116, label %match.arm.49 i64 117, label %match.arm.49 - i64 41, label %match.arm.50 + i64 118, label %match.arm.49 + i64 119, label %match.arm.49 i64 42, label %match.arm.50 - i64 46, label %match.arm.50 - i64 91, label %match.arm.50 + i64 43, label %match.arm.50 + i64 45, label %match.arm.50 + i64 47, label %match.arm.50 + i64 92, label %match.arm.50 i64 13, label %match.arm.51 ] @@ -1571,7 +1585,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 [184 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [187 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 @@ -1604,38 +1618,38 @@ match.arm.43: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.95 [ - i64 19, label %dispatch.case.96 - i64 20, label %dispatch.case.97 - i64 21, label %dispatch.case.98 - i64 24, label %dispatch.case.99 - i64 26, label %dispatch.case.100 - i64 28, label %dispatch.case.101 - i64 30, label %dispatch.case.102 - i64 33, label %dispatch.case.103 - i64 35, label %dispatch.case.104 - i64 39, label %dispatch.case.105 - i64 43, label %dispatch.case.106 - i64 45, label %dispatch.case.107 - i64 48, label %dispatch.case.108 - i64 52, label %dispatch.case.109 - i64 53, label %dispatch.case.110 - i64 55, label %dispatch.case.111 - i64 61, label %dispatch.case.112 - i64 66, label %dispatch.case.113 - i64 72, label %dispatch.case.114 - i64 76, label %dispatch.case.115 - i64 78, label %dispatch.case.116 - i64 79, label %dispatch.case.117 - i64 80, label %dispatch.case.118 - i64 82, label %dispatch.case.119 - i64 89, label %dispatch.case.120 - i64 93, label %dispatch.case.121 - i64 95, label %dispatch.case.122 - i64 96, label %dispatch.case.123 - i64 97, label %dispatch.case.124 - i64 98, label %dispatch.case.125 - i64 99, label %dispatch.case.126 - i64 109, label %dispatch.case.127 + i64 20, label %dispatch.case.96 + i64 21, label %dispatch.case.97 + i64 22, label %dispatch.case.98 + i64 25, label %dispatch.case.99 + i64 27, label %dispatch.case.100 + i64 29, label %dispatch.case.101 + i64 31, label %dispatch.case.102 + i64 34, label %dispatch.case.103 + i64 36, label %dispatch.case.104 + i64 40, label %dispatch.case.105 + i64 44, label %dispatch.case.106 + i64 46, label %dispatch.case.107 + i64 49, label %dispatch.case.108 + i64 53, label %dispatch.case.109 + i64 54, label %dispatch.case.110 + i64 56, label %dispatch.case.111 + i64 62, label %dispatch.case.112 + i64 67, label %dispatch.case.113 + i64 73, label %dispatch.case.114 + i64 77, label %dispatch.case.115 + i64 79, label %dispatch.case.116 + i64 80, label %dispatch.case.117 + i64 81, label %dispatch.case.118 + i64 83, label %dispatch.case.119 + i64 90, label %dispatch.case.120 + i64 94, label %dispatch.case.121 + i64 96, label %dispatch.case.122 + i64 97, label %dispatch.case.123 + i64 98, label %dispatch.case.124 + i64 99, label %dispatch.case.125 + i64 100, label %dispatch.case.126 + i64 110, label %dispatch.case.127 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1643,11 +1657,11 @@ match.arm.44: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.289 [ - i64 37, label %dispatch.case.290 - i64 38, label %dispatch.case.291 - i64 54, label %dispatch.case.292 - i64 70, label %dispatch.case.293 - i64 71, label %dispatch.case.294 + i64 38, label %dispatch.case.290 + i64 39, label %dispatch.case.291 + i64 55, label %dispatch.case.292 + i64 71, label %dispatch.case.293 + i64 72, label %dispatch.case.294 ] match.arm.45: ; preds = %entry, %entry, %entry @@ -1670,12 +1684,12 @@ match.arm.47: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.306 [ - i64 22, label %dispatch.case.307 - i64 81, label %dispatch.case.308 - i64 87, label %dispatch.case.309 - i64 88, label %dispatch.case.310 - i64 92, label %dispatch.case.311 - i64 105, label %dispatch.case.312 + i64 23, label %dispatch.case.307 + i64 82, label %dispatch.case.308 + i64 88, label %dispatch.case.309 + i64 89, label %dispatch.case.310 + i64 93, label %dispatch.case.311 + i64 106, label %dispatch.case.312 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry, %entry @@ -1683,12 +1697,12 @@ match.arm.48: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.344 [ - i64 23, label %dispatch.case.345 - i64 60, label %dispatch.case.346 - i64 77, label %dispatch.case.347 - i64 85, label %dispatch.case.348 - i64 100, label %dispatch.case.349 - i64 103, label %dispatch.case.350 + i64 24, label %dispatch.case.345 + i64 61, label %dispatch.case.346 + i64 78, label %dispatch.case.347 + i64 86, label %dispatch.case.348 + i64 101, label %dispatch.case.349 + i64 104, label %dispatch.case.350 ] 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 @@ -1696,54 +1710,55 @@ match.arm.49: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.382 [ - i64 18, label %dispatch.case.383 - i64 25, label %dispatch.case.384 - i64 27, label %dispatch.case.385 - i64 29, label %dispatch.case.386 - i64 31, label %dispatch.case.387 - i64 32, label %dispatch.case.388 - i64 34, label %dispatch.case.389 - i64 36, label %dispatch.case.390 - i64 40, label %dispatch.case.391 - i64 44, label %dispatch.case.392 - i64 47, label %dispatch.case.393 - i64 49, label %dispatch.case.394 - i64 50, label %dispatch.case.395 - i64 56, label %dispatch.case.396 - i64 57, label %dispatch.case.397 - i64 58, label %dispatch.case.398 - i64 59, label %dispatch.case.399 - i64 62, label %dispatch.case.400 - i64 67, label %dispatch.case.401 - i64 74, label %dispatch.case.402 - i64 83, label %dispatch.case.403 - i64 86, label %dispatch.case.404 - i64 90, label %dispatch.case.405 - i64 94, label %dispatch.case.406 - i64 101, label %dispatch.case.407 - i64 102, label %dispatch.case.408 - i64 104, label %dispatch.case.409 - i64 106, label %dispatch.case.410 - i64 107, label %dispatch.case.411 - i64 110, label %dispatch.case.412 - i64 111, label %dispatch.case.413 - i64 112, label %dispatch.case.414 - i64 113, 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 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 57, label %dispatch.case.395 + i64 58, label %dispatch.case.396 + i64 59, label %dispatch.case.397 + i64 60, label %dispatch.case.398 + i64 63, label %dispatch.case.399 + i64 68, label %dispatch.case.400 + i64 75, label %dispatch.case.401 + i64 84, label %dispatch.case.402 + i64 87, label %dispatch.case.403 + i64 91, label %dispatch.case.404 + i64 95, label %dispatch.case.405 + i64 102, label %dispatch.case.406 + i64 103, label %dispatch.case.407 + i64 105, label %dispatch.case.408 + i64 107, label %dispatch.case.409 + i64 108, label %dispatch.case.410 + i64 111, label %dispatch.case.411 + i64 112, label %dispatch.case.412 + i64 113, label %dispatch.case.413 + i64 114, label %dispatch.case.414 + i64 115, label %dispatch.case.415 + i64 116, label %dispatch.case.416 + i64 117, label %dispatch.case.417 + i64 118, label %dispatch.case.418 + i64 119, label %dispatch.case.419 ] -match.arm.50: ; preds = %entry, %entry, %entry, %entry +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.545 [ - i64 41, label %dispatch.case.546 - i64 42, label %dispatch.case.547 - i64 46, label %dispatch.case.548 - i64 91, label %dispatch.case.549 + i64 42, label %dispatch.case.546 + i64 43, label %dispatch.case.547 + i64 45, label %dispatch.case.548 + i64 47, label %dispatch.case.549 + i64 92, label %dispatch.case.550 ] match.arm.51: ; preds = %entry @@ -1752,7 +1767,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 [184 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [187 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 @@ -1803,7 +1818,7 @@ dispatch.merge.94: ; preds = %dispatch.case.127, br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.277, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.280, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2068,7 +2083,7 @@ dispatch.merge.288: ; preds = %dispatch.case.294, br label %match.merge.37 dispatch.default.289: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.278, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.281, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.288 dispatch.case.290: ; preds = %match.arm.44 @@ -2109,7 +2124,7 @@ dispatch.merge.305: ; preds = %dispatch.case.312, br label %match.merge.37 dispatch.default.306: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.279, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.282, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.305 dispatch.case.307: ; preds = %match.arm.47 @@ -2166,7 +2181,7 @@ dispatch.merge.343: ; preds = %dispatch.case.350, br label %match.merge.37 dispatch.default.344: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.280, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.283, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.345: ; preds = %match.arm.48 @@ -2223,7 +2238,7 @@ dispatch.merge.381: ; preds = %dispatch.case.419, br label %match.merge.37 dispatch.default.382: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.281, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.284, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.383: ; preds = %match.arm.49 @@ -2292,189 +2307,189 @@ dispatch.case.391: ; preds = %match.arm.49 dispatch.case.392: ; 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_u8(ptr %0, ptr %iNp279) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp279) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.393: ; 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_i32(ptr %0, ptr %iNp282) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp282) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.394: ; 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_SockAddr(ptr %0, ptr %iNp285) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp285) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.395: ; 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_u32(ptr %0, ptr %iNp288) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp288) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.396: ; 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_Value(ptr %0, ptr %iNp291) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp291) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.397: ; 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_Array(ptr %0, ptr %iNp294) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp294) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.398: ; 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__mptr_Member(ptr %0, ptr %iNp297) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp297) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.399: ; 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_Object(ptr %0, ptr %iNp300) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp300) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.400: ; 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_Sink(ptr %0, ptr %iNp303) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp303) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.401: ; 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_Parser(ptr %0, ptr %iNp306) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp306) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.402: ; 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_i64(ptr %0, ptr %iNp309) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp309) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.403: ; 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_Parsed(ptr %0, ptr %iNp312) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp312) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.404: ; 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_Diag(ptr %0, ptr %iNp315) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp315) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.405: ; 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_Sha256(ptr %0, ptr %iNp318) + %callN = call { ptr, i64 } @pointer_to_string__ptr_IntCell(ptr %0, ptr %iNp318) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.406: ; 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_IntCell(ptr %0, ptr %iNp321) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp321) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.407: ; 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_ptr_CAllocator(ptr %0, ptr %iNp324) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp324) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.408: ; 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_ptr_void(ptr %0, ptr %iNp327) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp327) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.409: ; 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_Any(ptr %0, ptr %iNp330) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp330) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.410: ; 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_AR_1_Any(ptr %0, ptr %iNp333) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp333) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.411: ; 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_SL_Any(ptr %0, ptr %iNp336) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Combined__i64__i64(ptr %0, ptr %iNp336) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.412: ; 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_Combined__i64__i64(ptr %0, ptr %iNp339) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_IntCell(ptr %0, ptr %iNp339) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.413: ; 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_ptr_IntCell(ptr %0, ptr %iNp342) + %callN = call { ptr, i64 } @pointer_to_string__ptr___VL__i64__Vtable(ptr %0, ptr %iNp342) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.414: ; 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___VL__i64__Vtable(ptr %0, ptr %iNp345) + %callN = call { ptr, i64 } @pointer_to_string__ptr_tu_VL__i64(ptr %0, ptr %iNp345) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.415: ; 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_tu_VL__i64(ptr %0, ptr %iNp348) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_Combined__i64__i64(ptr %0, ptr %iNp348) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.416: ; 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_ptr_Combined__i64__i64(ptr %0, ptr %iNp351) + %callN = call { ptr, i64 } @pointer_to_string__ptr_VL__i64(ptr %0, ptr %iNp351) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.417: ; 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_VL__i64(ptr %0, ptr %iNp354) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp354) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 dispatch.case.418: ; 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_string(ptr %0, ptr %iNp357) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp357) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 @@ -2485,13 +2500,13 @@ dispatch.case.419: ; preds = %match.arm.49 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.381 -dispatch.merge.544: ; preds = %dispatch.case.549, %dispatch.case.548, %dispatch.case.547, %dispatch.case.546, %dispatch.default.545 +dispatch.merge.544: ; preds = %dispatch.case.550, %dispatch.case.549, %dispatch.case.548, %dispatch.case.547, %dispatch.case.546, %dispatch.default.545 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.545: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.282, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.285, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.544 dispatch.case.546: ; preds = %match.arm.50 @@ -2512,17 +2527,24 @@ dispatch.case.547: ; preds = %match.arm.50 dispatch.case.548: ; preds = %match.arm.50 %ua.raw371 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr372 = inttoptr i64 %ua.raw371 to ptr - %ua.load373 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr372, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load373) + %iNp372 = inttoptr i64 %ua.raw371 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp372) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.544 dispatch.case.549: ; preds = %match.arm.50 - %ua.raw375 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr376 = inttoptr i64 %ua.raw375 to ptr - %ua.load377 = load { [64 x i8], i1 }, ptr %ua.ptr376, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load377) + %ua.raw374 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr375 = inttoptr i64 %ua.raw374 to ptr + %ua.load376 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr375, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load376) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.544 + +dispatch.case.550: ; preds = %match.arm.50 + %ua.raw378 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr379 = inttoptr i64 %ua.raw378 to ptr + %ua.load380 = load { [64 x i8], i1 }, ptr %ua.ptr379, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load380) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.544 } @@ -2533,7 +2555,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.283, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.286, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2629,7 +2651,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.284, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.287, 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 @@ -2637,7 +2659,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.285, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.288, 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 @@ -2647,13 +2669,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.286, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.289, 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.287, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.290, 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 @@ -2661,7 +2683,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.288, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.291, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2675,7 +2697,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.289, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.292, 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 @@ -2683,7 +2705,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.290, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.293, 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 @@ -2694,7 +2716,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.291, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.294, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2751,7 +2773,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.292, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.295, 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 @@ -2759,7 +2781,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.293, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.296, 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 @@ -2770,7 +2792,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.294, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.297, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2790,7 +2812,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.295, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.298, 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 @@ -2798,7 +2820,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.296, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.299, 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 @@ -2809,7 +2831,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.297, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.300, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3030,9 +3052,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3606,7 +3625,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 93, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 94, 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 @@ -3660,7 +3679,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.298, i64 3 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.301, 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 @@ -3675,7 +3694,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.299, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.302, 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 @@ -3697,7 +3716,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.300, i64 3 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.303, i64 3 }) ret { ptr, i64 } %call } @@ -3708,7 +3727,7 @@ 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.301, i64 15 }, { ptr, i64 } { ptr @str.302, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.304, i64 15 }, { ptr, i64 } { ptr @str.305, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3727,12 +3746,12 @@ while.body.129: ; preds = %while.hdr.128 while.exit.130: ; preds = %while.hdr.128 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.303, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.306, i64 1 }) ret { ptr, i64 } %callN if.then.131: ; preds = %while.body.129 %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.307, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.132 @@ -3744,7 +3763,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.308, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.311, 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 @@ -3801,7 +3820,7 @@ 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.309, i64 9 }, { ptr, i64 } { ptr @str.310, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.312, i64 9 }, { ptr, i64 } { ptr @str.313, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3820,24 +3839,24 @@ while.body.134: ; preds = %while.hdr.133 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.311, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.314, i64 1 }) ret { ptr, i64 } %callN 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.312, 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 br label %if.merge.137 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 [3 x { ptr, i64 }], ptr @field_names.316, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.319, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 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 { ptr, ptr, ptr }, ptr %alloca, align 8 @@ -3864,19 +3883,19 @@ fv.default: ; preds = %if.merge.137 fv.case: ; preds = %if.merge.137 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.137 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge fv.case21: ; preds = %if.merge.137 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -3886,7 +3905,7 @@ 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.318, i64 7 }, { ptr, i64 } { ptr @str.319, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.321, i64 7 }, { ptr, i64 } { ptr @str.322, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3905,24 +3924,24 @@ while.body.139: ; preds = %while.hdr.138 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.320, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, i64 1 }) ret { ptr, i64 } %callN 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.321, 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 br label %if.merge.142 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 [2 x { ptr, i64 }], ptr @field_names.324, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.327, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.328, 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 @@ -3949,13 +3968,13 @@ fv.case: ; preds = %if.merge.142 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.142 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 - %fv.val19 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -3964,7 +3983,7 @@ 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.326, i64 10 }, { ptr, i64 } { ptr @str.327, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.329, i64 10 }, { ptr, i64 } { ptr @str.330, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3983,24 +4002,24 @@ while.body.144: ; preds = %while.hdr.143 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.331, i64 1 }) ret { ptr, i64 } %callN 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.332, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.147 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 [0 x { ptr, i64 }], ptr @field_names.330, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.333, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.334, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4019,7 +4038,7 @@ 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.332, i64 3 }, { ptr, i64 } { ptr @str.333, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.335, i64 3 }, { ptr, i64 } { ptr @str.336, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4038,24 +4057,24 @@ while.body.149: ; preds = %while.hdr.148 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.334, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.337, i64 1 }) ret { ptr, i64 } %callN 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.335, 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 br label %if.merge.152 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 [1 x { ptr, i64 }], ptr @field_names.337, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.340, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %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.341, 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 @@ -4088,7 +4107,7 @@ 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.339, i64 10 }, { ptr, i64 } { ptr @str.340, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.342, i64 10 }, { ptr, i64 } { ptr @str.343, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4107,24 +4126,24 @@ while.body.154: ; preds = %while.hdr.153 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.341, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.344, i64 1 }) ret { ptr, i64 } %callN 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.342, 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 br label %if.merge.157 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.345, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.346, 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 @@ -4150,7 +4169,7 @@ fv.default: ; preds = %if.merge.157 fv.case: ; preds = %if.merge.157 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.157 @@ -4165,7 +4184,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.347, i64 5 }, { ptr, i64 } { ptr @str.348, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.350, i64 5 }, { 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 @@ -4184,24 +4203,24 @@ while.body.159: ; preds = %while.hdr.158 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.349, 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.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.350, 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.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.354, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.357, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.358, 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 @@ -4228,7 +4247,7 @@ fv.default: ; preds = %if.merge.162 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 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.162 @@ -4240,7 +4259,7 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -4249,7 +4268,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.356, i64 8 }, { ptr, i64 } { ptr @str.357, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.359, i64 8 }, { 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 @@ -4268,24 +4287,24 @@ 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.358, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.361, 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.359, 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 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.363, i64 0, i64 %loadN + %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.364, 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, i64, i64 }, ptr %alloca, align 8 @@ -4312,7 +4331,7 @@ fv.default: ; preds = %if.merge.167 fv.case: ; preds = %if.merge.167 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.167 @@ -4332,7 +4351,7 @@ 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.365, i64 17 }, { ptr, i64 } { ptr @str.366, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.368, i64 17 }, { 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 @@ -4351,24 +4370,24 @@ 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.367, 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.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.368, 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.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 [4 x { ptr, i64 }], ptr @field_names.373, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.374, 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 }, i64, i64, i64 }, ptr %alloca, align 8 @@ -4397,7 +4416,7 @@ fv.case: ; preds = %if.merge.172 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.172 @@ -4421,7 +4440,7 @@ 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.375, i64 4 }, { ptr, i64 } { ptr @str.376, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.378, i64 4 }, { 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 @@ -4440,24 +4459,24 @@ 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.377, 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.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.378, 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.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 [1 x { ptr, i64 }], ptr @field_names.380, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.381, 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 { i32 }, ptr %alloca, align 4 @@ -4494,7 +4513,7 @@ 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.382, i64 10 }, { ptr, i64 } { ptr @str.383, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.385, i64 10 }, { 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 @@ -4513,24 +4532,24 @@ while.body.179: ; preds = %while.hdr.178 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.384, 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.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.385, 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.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 [5 x { ptr, i64 }], ptr @field_names.391, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.392, 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 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -4596,7 +4615,7 @@ 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.393, i64 13 }, { ptr, i64 } { ptr @str.394, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.396, i64 13 }, { 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 @@ -4615,24 +4634,24 @@ while.body.184: ; preds = %while.hdr.183 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.395, 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.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.396, 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.187 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 [2 x { ptr, i64 }], ptr @field_names.399, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.402, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.403, 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 @@ -4674,7 +4693,7 @@ 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.401, i64 8 }, { ptr, i64 } { ptr @str.402, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.404, i64 8 }, { ptr, i64 } { ptr @str.405, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4693,24 +4712,24 @@ while.body.189: ; preds = %while.hdr.188 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.403, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.406, i64 1 }) ret { ptr, i64 } %callN 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.404, 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 br label %if.merge.192 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.410, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.411, 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 { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -4771,7 +4790,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.412, i64 5 }, { ptr, i64 } { ptr @str.413, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.415, i64 5 }, { 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 @@ -4790,24 +4809,24 @@ while.body.194: ; preds = %while.hdr.193 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.414, 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.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.415, 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.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.419, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.420, 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, i64 }, ptr %alloca, align 8 @@ -4834,7 +4853,7 @@ fv.default: ; preds = %if.merge.197 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 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.197 @@ -4853,7 +4872,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.421, i64 6 }, { ptr, i64 } { ptr @str.422, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.424, i64 6 }, { 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 @@ -4872,24 +4891,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.423, 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.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.424, 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.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.428, i64 0, i64 %loadN + %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.429, 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, i64 }, ptr %alloca, align 8 @@ -4916,7 +4935,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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.202 @@ -4937,7 +4956,7 @@ entry: %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.430, i64 6 }, { ptr, i64 } { ptr @str.431, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.433, i64 6 }, { 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 @@ -4956,24 +4975,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.432, 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.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.433, 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.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.436, 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.437, 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 { { ptr, i64 }, { i64, [24 x i8] } }, ptr %alloca, align 8 @@ -5007,7 +5026,7 @@ fv.case17: ; preds = %if.merge.207 %fv.field18 = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 1 store { i64, [24 x i8] } %fv.field18, ptr %ba.tmp19, align 8 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -5017,7 +5036,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.438, i64 4 }, { ptr, i64 } { ptr @str.439, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.441, i64 4 }, { 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 @@ -5036,24 +5055,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.440, 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.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.441, 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.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.445, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.446, 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 { { ptr, i64 }, i64, ptr }, ptr %alloca, align 8 @@ -5081,7 +5100,7 @@ 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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.212 @@ -5092,7 +5111,7 @@ fv.case17: ; preds = %if.merge.212 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 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -5103,7 +5122,7 @@ entry: %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.447, i64 6 }, { ptr, i64 } { ptr @str.448, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.450, i64 6 }, { 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 @@ -5122,24 +5141,24 @@ 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.449, 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.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.450, 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.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.454, 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.455, 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, ptr, ptr } }, ptr %alloca, align 8 @@ -5179,7 +5198,7 @@ fv.case20: ; preds = %if.merge.217 %fv.field21 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 2 store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8 %ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -5188,7 +5207,7 @@ 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.456, i64 12 }, { ptr, i64 } { ptr @str.457, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.459, i64 12 }, { 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 @@ -5207,24 +5226,24 @@ 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.458, 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.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.459, 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.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 [0 x { ptr, i64 }], ptr @field_names.460, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.461, 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 %alloca, align 1 @@ -5244,7 +5263,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.462, i64 8 }, { ptr, i64 } { ptr @str.463, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.465, i64 8 }, { 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 @@ -5263,24 +5282,24 @@ 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.464, 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.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.465, 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.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.469, 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.470, 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 }, i1, i1 }, ptr %alloca, align 8 @@ -5332,7 +5351,7 @@ entry: %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.471, i64 7 }, { ptr, i64 } { ptr @str.472, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.474, i64 7 }, { 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 @@ -5351,24 +5370,24 @@ 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.473, 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.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.474, 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.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.478, 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.479, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5410,7 +5429,7 @@ fv.case22: ; preds = %if.merge.232 %fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2 store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8 %ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5420,7 +5439,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.480, i64 9 }, { ptr, i64 } { ptr @str.481, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.483, i64 9 }, { 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 @@ -5439,24 +5458,24 @@ 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.482, 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.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.483, 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.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.486, 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.487, 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 { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -5499,7 +5518,7 @@ 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.488, i64 4 }, { ptr, i64 } { ptr @str.489, 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 @@ -5518,24 +5537,24 @@ 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.490, 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.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.491, 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.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.494, i64 0, i64 %loadN + %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.495, 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 { i64, { ptr, i64 } }, ptr %alloca, align 8 @@ -5581,7 +5600,7 @@ 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.496, i64 6 }, { ptr, i64 } { ptr @str.497, i64 1 }) + %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 @@ -5600,24 +5619,24 @@ 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.498, 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.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.499, 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.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 [7 x { ptr, i64 }], ptr @field_names.507, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 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.508, 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 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, ptr %alloca, align 8 @@ -5674,21 +5693,21 @@ fv.case28: ; preds = %if.merge.247 %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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge fv.case33: ; preds = %if.merge.247 %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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge fv.case38: ; preds = %if.merge.247 %fv.field39 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 6 store [16 x { i1, { ptr, i64 } }] %fv.field39, ptr %ba.tmp40, align 8 %ba.p2i41 = ptrtoint ptr %ba.tmp40 to i64 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -5699,7 +5718,7 @@ 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.509, i64 6 }, { ptr, i64 } { ptr @str.510, i64 1 }) + %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 @@ -5718,24 +5737,24 @@ 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.511, 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.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.512, 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.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 [4 x { ptr, i64 }], ptr @field_names.517, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.518, 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 { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -5764,14 +5783,14 @@ fv.case: ; preds = %if.merge.252 %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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.252 %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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.252 @@ -5790,7 +5809,7 @@ 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.519, i64 7 }, { ptr, i64 } { ptr @str.520, i64 1 }) + %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 @@ -5809,24 +5828,24 @@ while.body.254: ; preds = %while.hdr.253 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.521, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.524, 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.522, 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 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 [1 x { ptr, i64 }], ptr @field_names.524, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.525, 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 { i64 }, ptr %alloca, align 8 @@ -5859,7 +5878,7 @@ 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.526, i64 1 }, { ptr, i64 } { ptr @str.527, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.529, i64 1 }, { 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 @@ -5878,24 +5897,24 @@ 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.528, 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.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.529, 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.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 [0 x { ptr, i64 }], ptr @field_names.530, 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.531, 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 @@ -5914,7 +5933,7 @@ 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.532, i64 8 }, { ptr, i64 } { ptr @str.533, 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 @@ -5933,24 +5952,24 @@ 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.534, 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.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.535, 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.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 [0 x { ptr, i64 }], ptr @field_names.536, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.537, 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 %alloca, align 1 @@ -5969,7 +5988,7 @@ 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.538, i64 7 }, { ptr, i64 } { ptr @str.539, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.541, i64 7 }, { 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 @@ -5988,24 +6007,24 @@ 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.540, 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.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.541, 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.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.544, i64 0, i64 %loadN + %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.545, 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, ptr }, ptr %alloca, align 8 @@ -6031,13 +6050,13 @@ fv.default: ; preds = %if.merge.272 fv.case: ; preds = %if.merge.272 %fv.field = extractvalue { ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.272 %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge } @@ -6046,7 +6065,7 @@ 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.546, i64 17 }, { ptr, i64 } { ptr @str.547, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.549, i64 17 }, { 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 @@ -6065,24 +6084,24 @@ while.body.274: ; preds = %while.hdr.273 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.548, 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.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.549, 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.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 [1 x { ptr, i64 }], ptr @field_names.551, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.552, 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 { ptr }, ptr %alloca, align 8 @@ -6107,7 +6126,7 @@ fv.default: ; preds = %if.merge.277 fv.case: ; preds = %if.merge.277 %fv.field = extractvalue { ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -6116,7 +6135,7 @@ 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.553, i64 2 }, { ptr, i64 } { ptr @str.554, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.556, i64 2 }, { 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 @@ -6135,24 +6154,24 @@ while.body.279: ; preds = %while.hdr.278 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.555, 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.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.556, 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.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 [0 x { ptr, i64 }], ptr @field_names.557, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.558, 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 %alloca, align 1 @@ -6172,7 +6191,7 @@ 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.559, i64 18 }, { ptr, i64 } { ptr @str.560, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.562, i64 18 }, { 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 @@ -6191,24 +6210,24 @@ 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.561, 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.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.562, 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.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 [2 x { ptr, i64 }], ptr @field_names.565, 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.566, 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 { { { ptr, ptr } }, i64 }, ptr %alloca, align 8 @@ -6235,7 +6254,7 @@ fv.case: ; preds = %if.merge.287 %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 108, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 109, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.287 @@ -6253,9 +6272,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.572, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.575, 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.567, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.570, 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 @@ -6274,8 +6293,8 @@ entry: if.then.295: ; 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.574, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.573, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.577, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.576, 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 @@ -6294,9 +6313,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.579, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.582, 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.575, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.578, 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 @@ -6315,8 +6334,8 @@ entry: if.then.297: ; 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.581, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.580, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.584, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.583, 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 @@ -6346,9 +6365,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.589, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.592, 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.582, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.585, 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 @@ -6365,8 +6384,8 @@ entry: if.then.299: ; 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.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.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 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.300 @@ -6422,7 +6441,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -6431,7 +6450,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -6444,9 +6463,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.600, 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 - %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.595, 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 @@ -6465,8 +6484,8 @@ entry: if.then.301: ; 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.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.605, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, 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 @@ -6485,9 +6504,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.609, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.612, 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.606, 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 @@ -6506,8 +6525,8 @@ entry: if.then.303: ; 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.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.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 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.304 @@ -6524,7 +6543,7 @@ 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.612, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.615, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.313 @@ -6541,12 +6560,12 @@ while.body.314: ; preds = %while.hdr.313 while.exit.315: ; preds = %while.hdr.313 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.613, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.616, i64 1 }) ret { ptr, i64 } %call 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.614, 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 br label %if.merge.317 @@ -6575,7 +6594,7 @@ 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.615, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.618, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.318 @@ -6592,12 +6611,12 @@ while.body.319: ; preds = %while.hdr.318 while.exit.320: ; preds = %while.hdr.318 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.616, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.619, i64 1 }) ret { ptr, i64 } %call 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.617, i64 2 }) + %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.322 @@ -6610,7 +6629,7 @@ if.merge.322: ; preds = %if.then.321, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -6627,7 +6646,7 @@ 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.618, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.621, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.323 @@ -6644,12 +6663,12 @@ while.body.324: ; preds = %while.hdr.323 while.exit.325: ; preds = %while.hdr.323 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.619, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.622, i64 1 }) ret { ptr, i64 } %call 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.620, 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.327 @@ -6677,7 +6696,7 @@ 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.621, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.624, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.328 @@ -6694,12 +6713,12 @@ while.body.329: ; preds = %while.hdr.328 while.exit.330: ; preds = %while.hdr.328 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.622, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.625, i64 1 }) ret { ptr, i64 } %call 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.623, i64 2 }) + %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.332 @@ -6728,7 +6747,7 @@ 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.624, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.627, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.333 @@ -6745,12 +6764,12 @@ while.body.334: ; preds = %while.hdr.333 while.exit.335: ; preds = %while.hdr.333 %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.628, i64 1 }) ret { ptr, i64 } %call 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.626, i64 2 }) + %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 br label %if.merge.337 @@ -6779,7 +6798,7 @@ 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.627, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.630, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.338 @@ -6796,12 +6815,12 @@ while.body.339: ; preds = %while.hdr.338 while.exit.340: ; preds = %while.hdr.338 %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.631, i64 1 }) ret { ptr, i64 } %call 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.629, 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.342 @@ -6831,7 +6850,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.630, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.633, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.351 @@ -6850,12 +6869,12 @@ while.body.352: ; preds = %while.hdr.351 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.631, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.634, i64 1 }) ret { ptr, i64 } %call 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.632, 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 br label %if.merge.355 @@ -6884,7 +6903,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.633, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.636, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.356 @@ -6903,12 +6922,12 @@ while.body.357: ; preds = %while.hdr.356 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.634, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.637, i64 1 }) ret { ptr, i64 } %call 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.635, 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 br label %if.merge.360 @@ -6937,7 +6956,7 @@ 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.636, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.639, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.361 @@ -6956,12 +6975,12 @@ while.body.362: ; preds = %while.hdr.361 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.637, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.640, i64 1 }) ret { ptr, i64 } %call 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.638, 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 br label %if.merge.365 @@ -6974,7 +6993,7 @@ if.merge.365: ; preds = %if.then.364, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -6991,7 +7010,7 @@ 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.639, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.642, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.366 @@ -7010,12 +7029,12 @@ while.body.367: ; preds = %while.hdr.366 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.640, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.643, i64 1 }) ret { ptr, i64 } %call 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.641, i64 2 }) + %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 br label %if.merge.370 @@ -7028,7 +7047,7 @@ if.merge.370: ; preds = %if.then.369, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -7045,7 +7064,7 @@ entry: %ba.tmp = alloca {}, 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.645, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.371 @@ -7064,12 +7083,12 @@ while.body.372: ; preds = %while.hdr.371 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.643, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.646, i64 1 }) ret { ptr, i64 } %call 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.644, i64 2 }) + %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.375 @@ -7082,7 +7101,7 @@ if.merge.375: ; preds = %if.then.374, %while %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 99, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 100, 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 @@ -7099,7 +7118,7 @@ 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.645, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.648, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.376 @@ -7118,12 +7137,12 @@ while.body.377: ; preds = %while.hdr.376 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.646, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.649, i64 1 }) ret { ptr, i64 } %call 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.647, i64 2 }) + %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.380 @@ -7165,12 +7184,12 @@ if.then.420: ; preds = %entry if.else.421: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.653, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 5 }, { ptr, i64 } %callN) br label %if.merge.422 if.merge.422: ; preds = %if.else.421, %if.then.420 - %bp = phi { ptr, i64 } [ { ptr @str.648, i64 4 }, %if.then.420 ], [ %callN, %if.else.421 ] + %bp = phi { ptr, i64 } [ { ptr @str.651, i64 4 }, %if.then.420 ], [ %callN, %if.else.421 ] ret { ptr, i64 } %bp } @@ -7193,12 +7212,12 @@ if.then.436: ; preds = %entry 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.653, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.656, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, 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.651, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] + %bp = phi { ptr, i64 } [ { ptr @str.654, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] ret { ptr, i64 } %bp } @@ -7221,12 +7240,12 @@ if.then.439: ; preds = %entry 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.656, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.658, i64 4 }, { ptr, i64 } %callN) br label %if.merge.441 if.merge.441: ; preds = %if.else.440, %if.then.439 - %bp = phi { ptr, i64 } [ { ptr @str.654, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] + %bp = phi { ptr, i64 } [ { ptr @str.657, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] ret { ptr, i64 } %bp } @@ -7249,12 +7268,12 @@ if.then.442: ; preds = %entry 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.659, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.658, i64 11 }, { ptr, i64 } %callN) + %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 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.657, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] + %bp = phi { ptr, i64 } [ { ptr @str.660, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] ret { ptr, i64 } %bp } @@ -7277,12 +7296,12 @@ 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.662, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.661, i64 6 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.447 if.merge.447: ; preds = %if.else.446, %if.then.445 - %bp = phi { ptr, i64 } [ { ptr @str.660, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] + %bp = phi { ptr, i64 } [ { ptr @str.663, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] ret { ptr, i64 } %bp } @@ -7304,12 +7323,12 @@ 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.665, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.664, i64 5 }, { ptr, i64 } %callN) + %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.450 if.merge.450: ; preds = %if.else.449, %if.then.448 - %bp = phi { ptr, i64 } [ { ptr @str.663, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] + %bp = phi { ptr, i64 } [ { ptr @str.666, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] ret { ptr, i64 } %bp } @@ -7332,12 +7351,12 @@ if.then.451: ; preds = %entry 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.668, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.667, i64 9 }, { ptr, i64 } %callN) + %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 9 }, { ptr, i64 } %callN) br label %if.merge.453 if.merge.453: ; preds = %if.else.452, %if.then.451 - %bp = phi { ptr, i64 } [ { ptr @str.666, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] + %bp = phi { ptr, i64 } [ { ptr @str.669, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] ret { ptr, i64 } %bp } @@ -7360,12 +7379,12 @@ if.then.454: ; preds = %entry 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.671, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.670, i64 18 }, { ptr, i64 } %callN) + %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 18 }, { ptr, i64 } %callN) br label %if.merge.456 if.merge.456: ; preds = %if.else.455, %if.then.454 - %bp = phi { ptr, i64 } [ { ptr @str.669, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] + %bp = phi { ptr, i64 } [ { ptr @str.672, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] ret { ptr, i64 } %bp } @@ -7388,17 +7407,17 @@ if.then.457: ; preds = %entry 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.674, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.673, i64 5 }, { ptr, i64 } %callN) + %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.459 if.merge.459: ; preds = %if.else.458, %if.then.457 - %bp = phi { ptr, i64 } [ { ptr @str.672, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] + %bp = phi { ptr, i64 } [ { ptr @str.675, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7416,17 +7435,17 @@ 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.677, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.676, i64 3 }, { ptr, i64 } %callN) + %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 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.675, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] + %bp = phi { ptr, i64 } [ { ptr @str.678, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7444,17 +7463,17 @@ if.then.463: ; preds = %entry 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.680, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.679, i64 4 }, { ptr, i64 } %callN) + %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 9 }, { ptr, i64 } %callN) br label %if.merge.465 if.merge.465: ; preds = %if.else.464, %if.then.463 - %bp = phi { ptr, i64 } [ { ptr @str.678, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] + %bp = phi { ptr, i64 } [ { ptr @str.681, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7472,40 +7491,12 @@ if.then.466: ; preds = %entry 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.683, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.682, i64 9 }, { ptr, i64 } %callN) + %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 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.681, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.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.686, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.685, 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.684, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] + %bp = phi { ptr, i64 } [ { ptr @str.684, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] ret { ptr, i64 } %bp } @@ -7519,20 +7510,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.472, label %if.else.473 + br i1 %icmp, label %if.then.469, label %if.else.470 -if.then.472: ; preds = %entry - br label %if.merge.474 +if.then.469: ; preds = %entry + br label %if.merge.471 -if.else.473: ; preds = %entry +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.689, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.688, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.474 + br label %if.merge.471 -if.merge.474: ; preds = %if.else.473, %if.then.472 - %bp = phi { ptr, i64 } [ { ptr @str.687, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] +if.merge.471: ; preds = %if.else.470, %if.then.469 + %bp = phi { ptr, i64 } [ { ptr @str.687, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] ret { ptr, i64 } %bp } @@ -7547,20 +7538,20 @@ entry: store i64 %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.472, label %if.else.473 -if.then.475: ; preds = %entry - br label %if.merge.477 +if.then.472: ; preds = %entry + br label %if.merge.474 -if.else.476: ; preds = %entry +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.692, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.691, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.477 + br label %if.merge.474 -if.merge.477: ; preds = %if.else.476, %if.then.475 - %bp = phi { ptr, i64 } [ { ptr @str.690, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] +if.merge.474: ; preds = %if.else.473, %if.then.472 + %bp = phi { ptr, i64 } [ { ptr @str.690, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] ret { ptr, i64 } %bp } @@ -7574,6 +7565,34 @@ 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 + +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.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.477 + +if.merge.477: ; preds = %if.else.476, %if.then.475 + %bp = phi { ptr, i64 } [ { ptr @str.693, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.478, label %if.else.479 if.then.478: ; preds = %entry @@ -7582,17 +7601,17 @@ if.then.478: ; preds = %entry 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.695, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.694, i64 9 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.480 if.merge.480: ; preds = %if.else.479, %if.then.478 - %bp = phi { ptr, i64 } [ { ptr @str.693, i64 4 }, %if.then.478 ], [ %callN, %if.else.479 ] + %bp = phi { ptr, i64 } [ { ptr @str.696, i64 4 }, %if.then.478 ], [ %callN, %if.else.479 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7610,17 +7629,17 @@ 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.698, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.697, i64 7 }, { ptr, i64 } %callN) + %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.483 if.merge.483: ; preds = %if.else.482, %if.then.481 - %bp = phi { ptr, i64 } [ { ptr @str.696, i64 4 }, %if.then.481 ], [ %callN, %if.else.482 ] + %bp = phi { ptr, i64 } [ { ptr @str.699, i64 4 }, %if.then.481 ], [ %callN, %if.else.482 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7638,17 +7657,17 @@ if.then.484: ; preds = %entry 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.701, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.700, i64 5 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.486 if.merge.486: ; preds = %if.else.485, %if.then.484 - %bp = phi { ptr, i64 } [ { ptr @str.699, i64 4 }, %if.then.484 ], [ %callN, %if.else.485 ] + %bp = phi { ptr, i64 } [ { ptr @str.702, i64 4 }, %if.then.484 ], [ %callN, %if.else.485 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7666,17 +7685,17 @@ if.then.487: ; 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.704, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.703, i64 7 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.489 if.merge.489: ; preds = %if.else.488, %if.then.487 - %bp = phi { ptr, i64 } [ { ptr @str.702, i64 4 }, %if.then.487 ], [ %callN, %if.else.488 ] + %bp = phi { ptr, i64 } [ { ptr @str.705, i64 4 }, %if.then.487 ], [ %callN, %if.else.488 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7694,17 +7713,17 @@ if.then.490: ; 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.707, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.706, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.492 if.merge.492: ; preds = %if.else.491, %if.then.490 - %bp = phi { ptr, i64 } [ { ptr @str.705, i64 4 }, %if.then.490 ], [ %callN, %if.else.491 ] + %bp = phi { ptr, i64 } [ { ptr @str.708, i64 4 }, %if.then.490 ], [ %callN, %if.else.491 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7722,17 +7741,17 @@ if.then.493: ; 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.710, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.709, i64 7 }, { ptr, i64 } %callN) + %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 5 }, { ptr, i64 } %callN) br label %if.merge.495 if.merge.495: ; preds = %if.else.494, %if.then.493 - %bp = phi { ptr, i64 } [ { ptr @str.708, i64 4 }, %if.then.493 ], [ %callN, %if.else.494 ] + %bp = phi { ptr, i64 } [ { ptr @str.711, i64 4 }, %if.then.493 ], [ %callN, %if.else.494 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7750,17 +7769,17 @@ if.then.496: ; 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.713, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.712, i64 5 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.498 if.merge.498: ; preds = %if.else.497, %if.then.496 - %bp = phi { ptr, i64 } [ { ptr @str.711, i64 4 }, %if.then.496 ], [ %callN, %if.else.497 ] + %bp = phi { ptr, i64 } [ { ptr @str.714, i64 4 }, %if.then.496 ], [ %callN, %if.else.497 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_IntCell(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7778,17 +7797,17 @@ if.then.499: ; 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.716, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.715, i64 7 }, { ptr, i64 } %callN) + %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 8 }, { ptr, i64 } %callN) br label %if.merge.501 if.merge.501: ; preds = %if.else.500, %if.then.499 - %bp = phi { ptr, i64 } [ { ptr @str.714, i64 4 }, %if.then.499 ], [ %callN, %if.else.500 ] + %bp = phi { ptr, i64 } [ { ptr @str.717, i64 4 }, %if.then.499 ], [ %callN, %if.else.500 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_IntCell(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7806,17 +7825,17 @@ if.then.502: ; 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.719, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.718, i64 8 }, { ptr, i64 } %callN) + %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 12 }, { ptr, i64 } %callN) br label %if.merge.504 if.merge.504: ; preds = %if.else.503, %if.then.502 - %bp = phi { ptr, i64 } [ { ptr @str.717, i64 4 }, %if.then.502 ], [ %callN, %if.else.503 ] + %bp = phi { ptr, i64 } [ { ptr @str.720, i64 4 }, %if.then.502 ], [ %callN, %if.else.503 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7834,17 +7853,17 @@ 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.722, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.721, i64 12 }, { ptr, i64 } %callN) + %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 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.720, i64 4 }, %if.then.505 ], [ %callN, %if.else.506 ] + %bp = phi { ptr, i64 } [ { ptr @str.723, i64 4 }, %if.then.505 ], [ %callN, %if.else.506 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7862,17 +7881,17 @@ if.then.508: ; 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.725, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.724, i64 6 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.510 if.merge.510: ; preds = %if.else.509, %if.then.508 - %bp = phi { ptr, i64 } [ { ptr @str.723, i64 4 }, %if.then.508 ], [ %callN, %if.else.509 ] + %bp = phi { ptr, i64 } [ { ptr @str.726, i64 4 }, %if.then.508 ], [ %callN, %if.else.509 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7890,17 +7909,17 @@ if.then.511: ; 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.728, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.727, i64 4 }, { ptr, i64 } %callN) + %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.513 if.merge.513: ; preds = %if.else.512, %if.then.511 - %bp = phi { ptr, i64 } [ { ptr @str.726, i64 4 }, %if.then.511 ], [ %callN, %if.else.512 ] + %bp = phi { ptr, i64 } [ { ptr @str.729, i64 4 }, %if.then.511 ], [ %callN, %if.else.512 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7918,17 +7937,17 @@ if.then.514: ; 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.731, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.730, i64 7 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.516 if.merge.516: ; preds = %if.else.515, %if.then.514 - %bp = phi { ptr, i64 } [ { ptr @str.729, i64 4 }, %if.then.514 ], [ %callN, %if.else.515 ] + %bp = phi { ptr, i64 } [ { ptr @str.732, i64 4 }, %if.then.514 ], [ %callN, %if.else.515 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Combined__i64__i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7946,17 +7965,17 @@ if.then.517: ; 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.734, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.733, i64 6 }, { ptr, i64 } %callN) + %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 19 }, { ptr, i64 } %callN) br label %if.merge.519 if.merge.519: ; preds = %if.else.518, %if.then.517 - %bp = phi { ptr, i64 } [ { ptr @str.732, i64 4 }, %if.then.517 ], [ %callN, %if.else.518 ] + %bp = phi { ptr, i64 } [ { ptr @str.735, i64 4 }, %if.then.517 ], [ %callN, %if.else.518 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Combined__i64__i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_IntCell(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7974,17 +7993,17 @@ if.then.520: ; 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.737, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.736, i64 19 }, { ptr, i64 } %callN) + %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 9 }, { ptr, i64 } %callN) br label %if.merge.522 if.merge.522: ; preds = %if.else.521, %if.then.520 - %bp = phi { ptr, i64 } [ { ptr @str.735, i64 4 }, %if.then.520 ], [ %callN, %if.else.521 ] + %bp = phi { ptr, i64 } [ { ptr @str.738, i64 4 }, %if.then.520 ], [ %callN, %if.else.521 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_IntCell(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr___VL__i64__Vtable(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8002,17 +8021,17 @@ if.then.523: ; 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.740, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.739, i64 9 }, { ptr, i64 } %callN) + %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 18 }, { ptr, i64 } %callN) br label %if.merge.525 if.merge.525: ; preds = %if.else.524, %if.then.523 - %bp = phi { ptr, i64 } [ { ptr @str.738, i64 4 }, %if.then.523 ], [ %callN, %if.else.524 ] + %bp = phi { ptr, i64 } [ { ptr @str.741, i64 4 }, %if.then.523 ], [ %callN, %if.else.524 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr___VL__i64__Vtable(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_tu_VL__i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8030,17 +8049,17 @@ if.then.526: ; 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.743, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.742, 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 6 }, { ptr, i64 } %callN) br label %if.merge.528 if.merge.528: ; preds = %if.else.527, %if.then.526 - %bp = phi { ptr, i64 } [ { ptr @str.741, i64 4 }, %if.then.526 ], [ %callN, %if.else.527 ] + %bp = phi { ptr, i64 } [ { ptr @str.744, i64 4 }, %if.then.526 ], [ %callN, %if.else.527 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_tu_VL__i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_Combined__i64__i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8058,17 +8077,17 @@ if.then.529: ; 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.746, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.745, i64 6 }, { ptr, i64 } %callN) + %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 20 }, { ptr, i64 } %callN) br label %if.merge.531 if.merge.531: ; preds = %if.else.530, %if.then.529 - %bp = phi { ptr, i64 } [ { ptr @str.744, i64 4 }, %if.then.529 ], [ %callN, %if.else.530 ] + %bp = phi { ptr, i64 } [ { ptr @str.747, i64 4 }, %if.then.529 ], [ %callN, %if.else.530 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_Combined__i64__i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_VL__i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8086,17 +8105,17 @@ if.then.532: ; 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.749, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.748, i64 20 }, { 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 8 }, { ptr, i64 } %callN) br label %if.merge.534 if.merge.534: ; preds = %if.else.533, %if.then.532 - %bp = phi { ptr, i64 } [ { ptr @str.747, i64 4 }, %if.then.532 ], [ %callN, %if.else.533 ] + %bp = phi { ptr, i64 } [ { ptr @str.750, i64 4 }, %if.then.532 ], [ %callN, %if.else.533 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_VL__i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8114,17 +8133,17 @@ if.then.535: ; 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.752, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.751, i64 8 }, { ptr, i64 } %callN) + %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.537 if.merge.537: ; preds = %if.else.536, %if.then.535 - %bp = phi { ptr, i64 } [ { ptr @str.750, i64 4 }, %if.then.535 ], [ %callN, %if.else.536 ] + %bp = phi { ptr, i64 } [ { ptr @str.753, i64 4 }, %if.then.535 ], [ %callN, %if.else.536 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8142,12 +8161,12 @@ if.then.538: ; 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.755, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.754, i64 7 }, { ptr, i64 } %callN) + %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.540 if.merge.540: ; preds = %if.else.539, %if.then.538 - %bp = phi { ptr, i64 } [ { ptr @str.753, i64 4 }, %if.then.538 ], [ %callN, %if.else.539 ] + %bp = phi { ptr, i64 } [ { ptr @str.756, i64 4 }, %if.then.538 ], [ %callN, %if.else.539 ] ret { ptr, i64 } %bp } @@ -8170,12 +8189,12 @@ if.then.541: ; 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.758, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.757, i64 5 }, { 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.543 if.merge.543: ; preds = %if.else.542, %if.then.541 - %bp = phi { ptr, i64 } [ { ptr @str.756, i64 4 }, %if.then.541 ], [ %callN, %if.else.542 ] + %bp = phi { ptr, i64 } [ { ptr @str.759, i64 4 }, %if.then.541 ], [ %callN, %if.else.542 ] ret { ptr, i64 } %bp } @@ -8188,17 +8207,17 @@ 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.550, label %if.merge.551 + br i1 %lnot, label %if.then.551, label %if.merge.552 -if.then.550: ; preds = %entry - ret { ptr, i64 } { ptr @str.759, i64 4 } +if.then.551: ; preds = %entry + ret { ptr, i64 } { ptr @str.762, i64 4 } -if.merge.551: ; preds = %entry +if.merge.552: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -8212,12 +8231,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.552, label %if.merge.553 + br i1 %lnot, label %if.then.553, label %if.merge.554 -if.then.552: ; preds = %entry - ret { ptr, i64 } { ptr @str.760, i64 4 } +if.then.553: ; preds = %entry + ret { ptr, i64 } { ptr @str.763, i64 4 } -if.merge.553: ; preds = %entry +if.merge.554: ; 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 @@ -8227,6 +8246,27 @@ if.merge.553: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.555, label %if.merge.556 + +if.then.555: ; preds = %entry + ret { ptr, i64 } { ptr @str.764, i64 4 } + +if.merge.556: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -8236,17 +8276,17 @@ 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.554, label %if.merge.555 + br i1 %lnot, label %if.then.557, label %if.merge.558 -if.then.554: ; preds = %entry - ret { ptr, i64 } { ptr @str.761, i64 4 } +if.then.557: ; preds = %entry + ret { ptr, i64 } { ptr @str.765, i64 4 } -if.merge.555: ; preds = %entry +if.merge.558: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -8260,17 +8300,17 @@ 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.556, label %if.merge.557 + br i1 %lnot, label %if.then.559, label %if.merge.560 -if.then.556: ; preds = %entry - ret { ptr, i64 } { ptr @str.762, i64 4 } +if.then.559: ; preds = %entry + ret { ptr, i64 } { ptr @str.766, i64 4 } -if.merge.557: ; preds = %entry +if.merge.560: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } diff --git a/examples/expected/0416-protocols-auto-type-erasure.ir b/examples/expected/0416-protocols-auto-type-erasure.ir index 88783a6..363904b 100644 --- a/examples/expected/0416-protocols-auto-type-erasure.ir +++ b/examples/expected/0416-protocols-auto-type-erasure.ir @@ -2,605 +2,602 @@ @__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.339 = private unnamed_addr constant [2 x i8] c"0\00", align 1 -@str.340 = private unnamed_addr constant [5 x i8] c"true\00", align 1 -@str.341 = private unnamed_addr constant [6 x i8] c"false\00", align 1 @str.342 = private unnamed_addr constant [2 x i8] c"0\00", align 1 -@str.343 = private unnamed_addr constant [4 x i8] c"\00", align 1 -@str.344 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [189 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] +@str.343 = private unnamed_addr constant [5 x i8] c"true\00", align 1 +@str.344 = private unnamed_addr constant [6 x i8] c"false\00", align 1 +@str.345 = private unnamed_addr constant [2 x i8] c"0\00", align 1 +@str.346 = private unnamed_addr constant [4 x i8] c"\00", align 1 +@str.347 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@__sx_type_is_unsigned = private constant [192 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] @tag.str = private constant [1 x i8] zeroinitializer -@tag.str.345 = private constant [9 x i8] c"Overflow\00" -@tag.str.346 = private constant [3 x i8] c"Io\00" -@tag.str.347 = private constant [16 x i8] c"UnexpectedToken\00" -@tag.str.348 = private constant [14 x i8] c"UnexpectedEnd\00" -@tag.str.349 = private constant [10 x i8] c"BadEscape\00" -@tag.str.350 = private constant [10 x i8] c"BadNumber\00" -@tag.str.351 = private constant [16 x i8] c"TrailingGarbage\00" -@tag.str.352 = private constant [15 x i8] c"BadControlChar\00" -@tag.str.353 = private constant [15 x i8] c"UnknownCommand\00" -@tag.str.354 = private constant [12 x i8] c"UnknownFlag\00" -@tag.str.355 = private constant [13 x i8] c"MissingValue\00" -@tag.str.356 = private constant [16 x i8] c"MissingRequired\00" -@tag.str.357 = private constant [13 x i8] c"TooManyFlags\00" -@tag_names = private constant [14 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.345, i64 8 }, { ptr, i64 } { ptr @tag.str.346, i64 2 }, { ptr, i64 } { ptr @tag.str.347, i64 15 }, { ptr, i64 } { ptr @tag.str.348, i64 13 }, { ptr, i64 } { ptr @tag.str.349, i64 9 }, { ptr, i64 } { ptr @tag.str.350, i64 9 }, { ptr, i64 } { ptr @tag.str.351, i64 15 }, { ptr, i64 } { ptr @tag.str.352, i64 14 }, { ptr, i64 } { ptr @tag.str.353, i64 14 }, { ptr, i64 } { ptr @tag.str.354, i64 11 }, { ptr, i64 } { ptr @tag.str.355, i64 12 }, { ptr, i64 } { ptr @tag.str.356, i64 15 }, { ptr, i64 } { ptr @tag.str.357, i64 12 }] +@tag.str.348 = private constant [9 x i8] c"Overflow\00" +@tag.str.349 = private constant [3 x i8] c"Io\00" +@tag.str.350 = private constant [16 x i8] c"UnexpectedToken\00" +@tag.str.351 = private constant [14 x i8] c"UnexpectedEnd\00" +@tag.str.352 = private constant [10 x i8] c"BadEscape\00" +@tag.str.353 = private constant [10 x i8] c"BadNumber\00" +@tag.str.354 = private constant [16 x i8] c"TrailingGarbage\00" +@tag.str.355 = private constant [15 x i8] c"BadControlChar\00" +@tag.str.356 = private constant [15 x i8] c"UnknownCommand\00" +@tag.str.357 = private constant [12 x i8] c"UnknownFlag\00" +@tag.str.358 = private constant [13 x i8] c"MissingValue\00" +@tag.str.359 = private constant [16 x i8] c"MissingRequired\00" +@tag.str.360 = private constant [13 x i8] c"TooManyFlags\00" +@tag_names = private constant [14 x { ptr, i64 }] [{ ptr, i64 } { ptr @tag.str, i64 0 }, { ptr, i64 } { ptr @tag.str.348, i64 8 }, { ptr, i64 } { ptr @tag.str.349, i64 2 }, { ptr, i64 } { ptr @tag.str.350, i64 15 }, { ptr, i64 } { ptr @tag.str.351, i64 13 }, { ptr, i64 } { ptr @tag.str.352, i64 9 }, { ptr, i64 } { ptr @tag.str.353, i64 9 }, { ptr, i64 } { ptr @tag.str.354, i64 15 }, { ptr, i64 } { ptr @tag.str.355, i64 14 }, { ptr, i64 } { ptr @tag.str.356, i64 14 }, { ptr, i64 } { ptr @tag.str.357, i64 11 }, { ptr, i64 } { ptr @tag.str.358, i64 12 }, { ptr, i64 } { ptr @tag.str.359, i64 15 }, { ptr, i64 } { ptr @tag.str.360, i64 12 }] @tn.str = private constant [13 x i8] c"\00" -@tn.str.358 = private constant [5 x i8] c"bool\00" -@tn.str.359 = private constant [3 x i8] c"i8\00" -@tn.str.360 = private constant [4 x i8] c"i16\00" -@tn.str.361 = private constant [4 x i8] c"i32\00" -@tn.str.362 = private constant [4 x i8] c"i64\00" -@tn.str.363 = private constant [3 x i8] c"u8\00" -@tn.str.364 = private constant [4 x i8] c"u16\00" -@tn.str.365 = private constant [4 x i8] c"u32\00" -@tn.str.366 = private constant [4 x i8] c"u64\00" -@tn.str.367 = private constant [4 x i8] c"f32\00" -@tn.str.368 = private constant [4 x i8] c"f64\00" -@tn.str.369 = private constant [7 x i8] c"string\00" -@tn.str.370 = private constant [4 x i8] c"Any\00" -@tn.str.371 = private constant [9 x i8] c"noreturn\00" -@tn.str.372 = private constant [6 x i8] c"isize\00" -@tn.str.373 = private constant [6 x i8] c"usize\00" -@tn.str.374 = private constant [5 x i8] c"void\00" -@tn.str.375 = private constant [6 x i8] c"*void\00" -@tn.str.376 = private constant [16 x i8] c"Source_Location\00" -@tn.str.377 = private constant [10 x i8] c"Allocator\00" -@tn.str.378 = private constant [8 x i8] c"Context\00" -@tn.str.379 = private constant [7 x i8] c"[4]i64\00" -@tn.str.380 = private constant [9 x i8] c"[]string\00" -@tn.str.381 = private constant [11 x i8] c"CAllocator\00" -@tn.str.382 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.383 = private constant [4 x i8] c"GPA\00" -@tn.str.384 = private constant [5 x i8] c"*GPA\00" -@tn.str.385 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.386 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.387 = private constant [6 x i8] c"Arena\00" -@tn.str.388 = private constant [7 x i8] c"*Arena\00" -@tn.str.389 = private constant [6 x i8] c"[*]u8\00" -@tn.str.390 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.391 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.392 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.393 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.394 = private constant [9 x i8] c"OpenMode\00" -@tn.str.395 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.396 = private constant [5 x i8] c"File\00" -@tn.str.397 = private constant [6 x i8] c"*File\00" -@tn.str.398 = private constant [6 x i8] c"?File\00" -@tn.str.399 = private constant [8 x i8] c"?string\00" -@tn.str.400 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.401 = private constant [4 x i8] c"*u8\00" -@tn.str.402 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.403 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.404 = private constant [5 x i8] c"*i32\00" -@tn.str.405 = private constant [9 x i8] c"SockAddr\00" -@tn.str.406 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.407 = private constant [5 x i8] c"*u32\00" -@tn.str.408 = private constant [10 x i8] c"JsonError\00" -@tn.str.409 = private constant [6 x i8] c"Array\00" -@tn.str.410 = private constant [7 x i8] c"Object\00" -@tn.str.411 = private constant [6 x i8] c"Value\00" -@tn.str.412 = private constant [7 x i8] c"Member\00" -@tn.str.413 = private constant [9 x i8] c"[*]Value\00" -@tn.str.414 = private constant [7 x i8] c"*Array\00" -@tn.str.415 = private constant [10 x i8] c"[*]Member\00" -@tn.str.416 = private constant [8 x i8] c"*Object\00" -@tn.str.417 = private constant [5 x i8] c"[]u8\00" -@tn.str.418 = private constant [5 x i8] c"Sink\00" -@tn.str.419 = private constant [6 x i8] c"*Sink\00" -@tn.str.420 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.421 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.422 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.423 = private constant [7 x i8] c"Parser\00" -@tn.str.424 = private constant [8 x i8] c"*Parser\00" -@tn.str.425 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.426 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.427 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.428 = private constant [13 x i8] c"Architecture\00" -@tn.str.429 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.430 = private constant [11 x i8] c"() -> bool\00" -@tn.str.431 = private constant [5 x i8] c"*i64\00" -@tn.str.432 = private constant [9 x i8] c"CliError\00" -@tn.str.433 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.434 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.435 = private constant [8 x i8] c"Command\00" -@tn.str.436 = private constant [10 x i8] c"FlagValue\00" -@tn.str.437 = private constant [5 x i8] c"Diag\00" -@tn.str.438 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.439 = private constant [7 x i8] c"Parsed\00" -@tn.str.440 = private constant [8 x i8] c"*Parsed\00" -@tn.str.441 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.442 = private constant [10 x i8] c"[]Command\00" -@tn.str.443 = private constant [6 x i8] c"*Diag\00" -@tn.str.444 = private constant [7 x i8] c"[8]i64\00" -@tn.str.445 = private constant [7 x i8] c"[64]u8\00" -@tn.str.446 = private constant [7 x i8] c"Sha256\00" -@tn.str.447 = private constant [8 x i8] c"*Sha256\00" -@tn.str.448 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.449 = private constant [8 x i8] c"[64]i64\00" -@tn.str.450 = private constant [8 x i8] c"[16]f32\00" -@tn.str.451 = private constant [5 x i8] c"Mat4\00" -@tn.str.452 = private constant [5 x i8] c"Vec2\00" -@tn.str.453 = private constant [6 x i8] c"Point\00" -@tn.str.454 = private constant [8 x i8] c"Counter\00" -@tn.str.455 = private constant [18 x i8] c"__Counter__Vtable\00" -@tn.str.456 = private constant [9 x i8] c"Summable\00" -@tn.str.457 = private constant [19 x i8] c"__Summable__Vtable\00" -@tn.str.458 = private constant [14 x i8] c"SimpleCounter\00" -@tn.str.459 = private constant [15 x i8] c"*SimpleCounter\00" -@tn.str.460 = private constant [7 x i8] c"*Point\00" -@tn.str.461 = private constant [6 x i8] c"Adder\00" -@tn.str.462 = private constant [12 x i8] c"Accumulator\00" -@tn.str.463 = private constant [13 x i8] c"*Accumulator\00" -@tn.str.464 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.465 = private constant [7 x i8] c"**void\00" -@tn.str.466 = private constant [8 x i8] c"*string\00" -@tn.str.467 = private constant [6 x i8] c"[]Any\00" -@tn.str.468 = private constant [5 x i8] c"*Any\00" -@tn.str.469 = private constant [7 x i8] c"*[]Any\00" -@tn.str.470 = private constant [6 x i8] c"*bool\00" -@tn.str.471 = private constant [9 x i8] c"*Counter\00" -@tn.str.472 = private constant [16 x i8] c"**SimpleCounter\00" -@tn.str.473 = private constant [19 x i8] c"*__Counter__Vtable\00" -@tn.str.474 = private constant [7 x i8] c"[1]Any\00" -@tn.str.475 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.476 = private constant [7 x i8] c"*Adder\00" -@tn.str.477 = private constant [14 x i8] c"**Accumulator\00" -@tn.str.478 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.479 = private constant [5 x i8] c"*f64\00" -@tn.str.480 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.481 = private constant [11 x i8] c"*Allocator\00" -@tn.str.482 = private constant [9 x i8] c"*Context\00" -@tn.str.483 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.484 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.485 = private constant [8 x i8] c"*Member\00" -@tn.str.486 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.487 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.488 = private constant [9 x i8] c"*Command\00" -@tn.str.489 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.490 = private constant [6 x i8] c"*Mat4\00" -@tn.str.491 = private constant [6 x i8] c"*Vec2\00" -@tn.str.492 = private constant [10 x i8] c"*Summable\00" -@tn.str.493 = private constant [20 x i8] c"*__Summable__Vtable\00" -@tn.str.494 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.495 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.496 = private constant [7 x i8] c"*Value\00" -@tn.str.497 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.498 = private constant [14 x i8] c"*Architecture\00" -@tn.str.499 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.500 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.501 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.502 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.503 = private constant [9 x i8] c"*[16]f32\00" -@tn.str.504 = private constant [10 x i8] c"*[]string\00" -@tn.str.505 = private constant [6 x i8] c"*[]u8\00" -@tn.str.506 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.507 = private constant [11 x i8] c"*[]Command\00" -@tn.str.508 = private constant [6 x i8] c"**GPA\00" -@tn.str.509 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.510 = private constant [8 x i8] c"**Arena\00" -@tn.str.511 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.512 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.513 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.514 = private constant [7 x i8] c"**File\00" -@tn.str.515 = private constant [5 x i8] c"**u8\00" -@tn.str.516 = private constant [6 x i8] c"**i32\00" -@tn.str.517 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.518 = private constant [6 x i8] c"**u32\00" -@tn.str.519 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.520 = private constant [8 x i8] c"**Array\00" -@tn.str.521 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.522 = private constant [9 x i8] c"**Object\00" -@tn.str.523 = private constant [7 x i8] c"**Sink\00" -@tn.str.524 = private constant [9 x i8] c"**Parser\00" -@tn.str.525 = private constant [6 x i8] c"**i64\00" -@tn.str.526 = private constant [9 x i8] c"**Parsed\00" -@tn.str.527 = private constant [7 x i8] c"**Diag\00" -@tn.str.528 = private constant [9 x i8] c"**Sha256\00" -@tn.str.529 = private constant [8 x i8] c"**Point\00" -@tn.str.530 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.531 = private constant [8 x i8] c"***void\00" -@tn.str.532 = private constant [9 x i8] c"**string\00" -@tn.str.533 = private constant [6 x i8] c"**Any\00" -@tn.str.534 = private constant [8 x i8] c"**[]Any\00" -@tn.str.535 = private constant [7 x i8] c"**bool\00" -@tn.str.536 = private constant [10 x i8] c"**Counter\00" -@tn.str.537 = private constant [17 x i8] c"***SimpleCounter\00" -@tn.str.538 = private constant [20 x i8] c"**__Counter__Vtable\00" -@tn.str.539 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.540 = private constant [8 x i8] c"**Adder\00" -@tn.str.541 = private constant [15 x i8] c"***Accumulator\00" -@tn.str.542 = private constant [7 x i8] c"*?File\00" -@tn.str.543 = private constant [9 x i8] c"*?string\00" -@tn.str.544 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.545 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [189 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.358, i64 4 }, { ptr, i64 } { ptr @tn.str.359, i64 2 }, { ptr, i64 } { ptr @tn.str.360, i64 3 }, { ptr, i64 } { ptr @tn.str.361, i64 3 }, { ptr, i64 } { ptr @tn.str.362, i64 3 }, { ptr, i64 } { ptr @tn.str.363, i64 2 }, { ptr, i64 } { ptr @tn.str.364, i64 3 }, { ptr, i64 } { ptr @tn.str.365, i64 3 }, { ptr, i64 } { ptr @tn.str.366, i64 3 }, { ptr, i64 } { ptr @tn.str.367, i64 3 }, { ptr, i64 } { ptr @tn.str.368, i64 3 }, { ptr, i64 } { ptr @tn.str.369, i64 6 }, { ptr, i64 } { ptr @tn.str.370, i64 3 }, { ptr, i64 } { ptr @tn.str.371, i64 8 }, { ptr, i64 } { ptr @tn.str.372, i64 5 }, { ptr, i64 } { ptr @tn.str.373, i64 5 }, { ptr, i64 } { ptr @tn.str.374, i64 4 }, { ptr, i64 } { ptr @tn.str.375, i64 5 }, { ptr, i64 } { ptr @tn.str.376, i64 15 }, { ptr, i64 } { ptr @tn.str.377, i64 9 }, { ptr, i64 } { ptr @tn.str.378, i64 7 }, { ptr, i64 } { ptr @tn.str.379, i64 6 }, { ptr, i64 } { ptr @tn.str.380, i64 8 }, { ptr, i64 } { ptr @tn.str.381, i64 10 }, { ptr, i64 } { ptr @tn.str.382, i64 11 }, { ptr, i64 } { ptr @tn.str.383, i64 3 }, { ptr, i64 } { ptr @tn.str.384, i64 4 }, { ptr, i64 } { ptr @tn.str.385, i64 10 }, { ptr, i64 } { ptr @tn.str.386, i64 11 }, { ptr, i64 } { ptr @tn.str.387, i64 5 }, { ptr, i64 } { ptr @tn.str.388, i64 6 }, { ptr, i64 } { ptr @tn.str.389, i64 5 }, { ptr, i64 } { ptr @tn.str.390, i64 8 }, { ptr, i64 } { ptr @tn.str.391, i64 9 }, { ptr, i64 } { ptr @tn.str.392, i64 17 }, { ptr, i64 } { ptr @tn.str.393, i64 18 }, { ptr, i64 } { ptr @tn.str.394, i64 8 }, { ptr, i64 } { ptr @tn.str.395, i64 8 }, { ptr, i64 } { ptr @tn.str.396, i64 4 }, { ptr, i64 } { ptr @tn.str.397, i64 5 }, { ptr, i64 } { ptr @tn.str.398, i64 5 }, { ptr, i64 } { ptr @tn.str.399, i64 7 }, { ptr, i64 } { ptr @tn.str.400, i64 10 }, { ptr, i64 } { ptr @tn.str.401, i64 3 }, { ptr, i64 } { ptr @tn.str.402, i64 13 }, { ptr, i64 } { ptr @tn.str.403, i64 14 }, { ptr, i64 } { ptr @tn.str.404, i64 4 }, { ptr, i64 } { ptr @tn.str.405, i64 8 }, { ptr, i64 } { ptr @tn.str.406, i64 9 }, { ptr, i64 } { ptr @tn.str.407, i64 4 }, { ptr, i64 } { ptr @tn.str.408, i64 9 }, { ptr, i64 } { ptr @tn.str.409, i64 5 }, { ptr, i64 } { ptr @tn.str.410, i64 6 }, { ptr, i64 } { ptr @tn.str.411, i64 5 }, { ptr, i64 } { ptr @tn.str.412, i64 6 }, { ptr, i64 } { ptr @tn.str.413, i64 8 }, { ptr, i64 } { ptr @tn.str.414, i64 6 }, { ptr, i64 } { ptr @tn.str.415, i64 9 }, { ptr, i64 } { ptr @tn.str.416, i64 7 }, { ptr, i64 } { ptr @tn.str.417, i64 4 }, { ptr, i64 } { ptr @tn.str.418, i64 4 }, { ptr, i64 } { ptr @tn.str.419, i64 5 }, { ptr, i64 } { ptr @tn.str.420, i64 16 }, { ptr, i64 } { ptr @tn.str.421, i64 14 }, { ptr, i64 } { ptr @tn.str.422, i64 21 }, { ptr, i64 } { ptr @tn.str.423, i64 6 }, { ptr, i64 } { ptr @tn.str.424, i64 7 }, { ptr, i64 } { ptr @tn.str.425, i64 24 }, { ptr, i64 } { ptr @tn.str.426, i64 23 }, { ptr, i64 } { ptr @tn.str.427, i64 15 }, { ptr, i64 } { ptr @tn.str.428, i64 12 }, { ptr, i64 } { ptr @tn.str.429, i64 12 }, { ptr, i64 } { ptr @tn.str.430, i64 10 }, { ptr, i64 } { ptr @tn.str.431, i64 4 }, { ptr, i64 } { ptr @tn.str.432, i64 8 }, { ptr, i64 } { ptr @tn.str.433, i64 8 }, { ptr, i64 } { ptr @tn.str.434, i64 10 }, { ptr, i64 } { ptr @tn.str.435, i64 7 }, { ptr, i64 } { ptr @tn.str.436, i64 9 }, { ptr, i64 } { ptr @tn.str.437, i64 4 }, { ptr, i64 } { ptr @tn.str.438, i64 13 }, { ptr, i64 } { ptr @tn.str.439, i64 6 }, { ptr, i64 } { ptr @tn.str.440, i64 7 }, { ptr, i64 } { ptr @tn.str.441, i64 18 }, { ptr, i64 } { ptr @tn.str.442, i64 9 }, { ptr, i64 } { ptr @tn.str.443, i64 5 }, { ptr, i64 } { ptr @tn.str.444, i64 6 }, { ptr, i64 } { ptr @tn.str.445, i64 6 }, { ptr, i64 } { ptr @tn.str.446, i64 6 }, { ptr, i64 } { ptr @tn.str.447, i64 7 }, { ptr, i64 } { ptr @tn.str.448, i64 7 }, { ptr, i64 } { ptr @tn.str.449, i64 7 }, { ptr, i64 } { ptr @tn.str.450, i64 7 }, { ptr, i64 } { ptr @tn.str.451, i64 4 }, { ptr, i64 } { ptr @tn.str.452, i64 4 }, { ptr, i64 } { ptr @tn.str.453, i64 5 }, { ptr, i64 } { ptr @tn.str.454, i64 7 }, { ptr, i64 } { ptr @tn.str.455, i64 17 }, { ptr, i64 } { ptr @tn.str.456, i64 8 }, { ptr, i64 } { ptr @tn.str.457, i64 18 }, { ptr, i64 } { ptr @tn.str.458, i64 13 }, { ptr, i64 } { ptr @tn.str.459, i64 14 }, { ptr, i64 } { ptr @tn.str.460, i64 6 }, { ptr, i64 } { ptr @tn.str.461, i64 5 }, { ptr, i64 } { ptr @tn.str.462, i64 11 }, { ptr, i64 } { ptr @tn.str.463, i64 12 }, { ptr, i64 } { ptr @tn.str.464, i64 12 }, { ptr, i64 } { ptr @tn.str.465, i64 6 }, { ptr, i64 } { ptr @tn.str.466, i64 7 }, { ptr, i64 } { ptr @tn.str.467, i64 5 }, { ptr, i64 } { ptr @tn.str.468, i64 4 }, { ptr, i64 } { ptr @tn.str.469, i64 6 }, { ptr, i64 } { ptr @tn.str.470, i64 5 }, { ptr, i64 } { ptr @tn.str.471, i64 8 }, { ptr, i64 } { ptr @tn.str.472, i64 15 }, { ptr, i64 } { ptr @tn.str.473, i64 18 }, { ptr, i64 } { ptr @tn.str.474, i64 6 }, { ptr, i64 } { ptr @tn.str.475, i64 7 }, { ptr, i64 } { ptr @tn.str.476, i64 6 }, { ptr, i64 } { ptr @tn.str.477, i64 13 }, { ptr, i64 } { ptr @tn.str.478, i64 7 }, { ptr, i64 } { ptr @tn.str.479, i64 4 }, { ptr, i64 } { ptr @tn.str.480, i64 16 }, { ptr, i64 } { ptr @tn.str.481, i64 10 }, { ptr, i64 } { ptr @tn.str.482, i64 8 }, { ptr, i64 } { ptr @tn.str.483, i64 11 }, { ptr, i64 } { ptr @tn.str.484, i64 14 }, { ptr, i64 } { ptr @tn.str.485, i64 7 }, { ptr, i64 } { ptr @tn.str.486, i64 13 }, { ptr, i64 } { ptr @tn.str.487, i64 9 }, { ptr, i64 } { ptr @tn.str.488, i64 8 }, { ptr, i64 } { ptr @tn.str.489, i64 10 }, { ptr, i64 } { ptr @tn.str.490, i64 5 }, { ptr, i64 } { ptr @tn.str.491, i64 5 }, { ptr, i64 } { ptr @tn.str.492, i64 9 }, { ptr, i64 } { ptr @tn.str.493, i64 19 }, { ptr, i64 } { ptr @tn.str.494, i64 9 }, { ptr, i64 } { ptr @tn.str.495, i64 9 }, { ptr, i64 } { ptr @tn.str.496, i64 6 }, { ptr, i64 } { ptr @tn.str.497, i64 16 }, { ptr, i64 } { ptr @tn.str.498, i64 13 }, { ptr, i64 } { ptr @tn.str.499, i64 14 }, { ptr, i64 } { ptr @tn.str.500, i64 7 }, { ptr, i64 } { ptr @tn.str.501, i64 7 }, { ptr, i64 } { ptr @tn.str.502, i64 8 }, { ptr, i64 } { ptr @tn.str.503, i64 8 }, { ptr, i64 } { ptr @tn.str.504, i64 9 }, { ptr, i64 } { ptr @tn.str.505, i64 5 }, { ptr, i64 } { ptr @tn.str.506, i64 11 }, { ptr, i64 } { ptr @tn.str.507, i64 10 }, { ptr, i64 } { ptr @tn.str.508, i64 5 }, { ptr, i64 } { ptr @tn.str.509, i64 12 }, { ptr, i64 } { ptr @tn.str.510, i64 7 }, { ptr, i64 } { ptr @tn.str.511, i64 6 }, { ptr, i64 } { ptr @tn.str.512, i64 10 }, { ptr, i64 } { ptr @tn.str.513, i64 19 }, { ptr, i64 } { ptr @tn.str.514, i64 6 }, { ptr, i64 } { ptr @tn.str.515, i64 4 }, { ptr, i64 } { ptr @tn.str.516, i64 5 }, { ptr, i64 } { ptr @tn.str.517, i64 10 }, { ptr, i64 } { ptr @tn.str.518, i64 5 }, { ptr, i64 } { ptr @tn.str.519, i64 9 }, { ptr, i64 } { ptr @tn.str.520, i64 7 }, { ptr, i64 } { ptr @tn.str.521, i64 10 }, { ptr, i64 } { ptr @tn.str.522, i64 8 }, { ptr, i64 } { ptr @tn.str.523, i64 6 }, { ptr, i64 } { ptr @tn.str.524, i64 8 }, { ptr, i64 } { ptr @tn.str.525, i64 5 }, { ptr, i64 } { ptr @tn.str.526, i64 8 }, { ptr, i64 } { ptr @tn.str.527, i64 6 }, { ptr, i64 } { ptr @tn.str.528, i64 8 }, { ptr, i64 } { ptr @tn.str.529, i64 7 }, { ptr, i64 } { ptr @tn.str.530, i64 13 }, { ptr, i64 } { ptr @tn.str.531, i64 7 }, { ptr, i64 } { ptr @tn.str.532, i64 8 }, { ptr, i64 } { ptr @tn.str.533, i64 5 }, { ptr, i64 } { ptr @tn.str.534, i64 7 }, { ptr, i64 } { ptr @tn.str.535, i64 6 }, { ptr, i64 } { ptr @tn.str.536, i64 9 }, { ptr, i64 } { ptr @tn.str.537, i64 16 }, { ptr, i64 } { ptr @tn.str.538, i64 19 }, { ptr, i64 } { ptr @tn.str.539, i64 8 }, { ptr, i64 } { ptr @tn.str.540, i64 7 }, { ptr, i64 } { ptr @tn.str.541, i64 14 }, { ptr, i64 } { ptr @tn.str.542, i64 6 }, { ptr, i64 } { ptr @tn.str.543, i64 8 }, { ptr, i64 } { ptr @tn.str.544, i64 15 }, { ptr, i64 } { ptr @tn.str.545, i64 8 }] -@str.546 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.547 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.548 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.549 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.550 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.551 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.552 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.553 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.554 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.555 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.556 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.557 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.558 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.559 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.560 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.561 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.562 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.563 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@tn.str.361 = private constant [5 x i8] c"bool\00" +@tn.str.362 = private constant [3 x i8] c"i8\00" +@tn.str.363 = private constant [4 x i8] c"i16\00" +@tn.str.364 = private constant [4 x i8] c"i32\00" +@tn.str.365 = private constant [4 x i8] c"i64\00" +@tn.str.366 = private constant [3 x i8] c"u8\00" +@tn.str.367 = private constant [4 x i8] c"u16\00" +@tn.str.368 = private constant [4 x i8] c"u32\00" +@tn.str.369 = private constant [4 x i8] c"u64\00" +@tn.str.370 = private constant [4 x i8] c"f32\00" +@tn.str.371 = private constant [4 x i8] c"f64\00" +@tn.str.372 = private constant [7 x i8] c"string\00" +@tn.str.373 = private constant [4 x i8] c"Any\00" +@tn.str.374 = private constant [9 x i8] c"noreturn\00" +@tn.str.375 = private constant [6 x i8] c"isize\00" +@tn.str.376 = private constant [6 x i8] c"usize\00" +@tn.str.377 = private constant [5 x i8] c"void\00" +@tn.str.378 = private constant [8 x i8] c"cstring\00" +@tn.str.379 = private constant [6 x i8] c"*void\00" +@tn.str.380 = private constant [16 x i8] c"Source_Location\00" +@tn.str.381 = private constant [10 x i8] c"Allocator\00" +@tn.str.382 = private constant [8 x i8] c"Context\00" +@tn.str.383 = private constant [7 x i8] c"[4]i64\00" +@tn.str.384 = private constant [9 x i8] c"[]string\00" +@tn.str.385 = private constant [11 x i8] c"CAllocator\00" +@tn.str.386 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.387 = private constant [4 x i8] c"GPA\00" +@tn.str.388 = private constant [5 x i8] c"*GPA\00" +@tn.str.389 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.390 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.391 = private constant [6 x i8] c"Arena\00" +@tn.str.392 = private constant [7 x i8] c"*Arena\00" +@tn.str.393 = private constant [6 x i8] c"[*]u8\00" +@tn.str.394 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.395 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.396 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.397 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.398 = private constant [9 x i8] c"OpenMode\00" +@tn.str.399 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.400 = private constant [5 x i8] c"File\00" +@tn.str.401 = private constant [6 x i8] c"*File\00" +@tn.str.402 = private constant [6 x i8] c"?File\00" +@tn.str.403 = private constant [8 x i8] c"?string\00" +@tn.str.404 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.405 = private constant [9 x i8] c"?cstring\00" +@tn.str.406 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.407 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.408 = private constant [5 x i8] c"*i32\00" +@tn.str.409 = private constant [9 x i8] c"SockAddr\00" +@tn.str.410 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.411 = private constant [5 x i8] c"*u32\00" +@tn.str.412 = private constant [10 x i8] c"JsonError\00" +@tn.str.413 = private constant [6 x i8] c"Array\00" +@tn.str.414 = private constant [7 x i8] c"Object\00" +@tn.str.415 = private constant [6 x i8] c"Value\00" +@tn.str.416 = private constant [7 x i8] c"Member\00" +@tn.str.417 = private constant [9 x i8] c"[*]Value\00" +@tn.str.418 = private constant [7 x i8] c"*Array\00" +@tn.str.419 = private constant [10 x i8] c"[*]Member\00" +@tn.str.420 = private constant [8 x i8] c"*Object\00" +@tn.str.421 = private constant [5 x i8] c"[]u8\00" +@tn.str.422 = private constant [5 x i8] c"Sink\00" +@tn.str.423 = private constant [6 x i8] c"*Sink\00" +@tn.str.424 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.425 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.426 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.427 = private constant [7 x i8] c"Parser\00" +@tn.str.428 = private constant [8 x i8] c"*Parser\00" +@tn.str.429 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.430 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.431 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.432 = private constant [13 x i8] c"Architecture\00" +@tn.str.433 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.434 = private constant [11 x i8] c"() -> bool\00" +@tn.str.435 = private constant [5 x i8] c"*i64\00" +@tn.str.436 = private constant [9 x i8] c"CliError\00" +@tn.str.437 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.438 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.439 = private constant [8 x i8] c"Command\00" +@tn.str.440 = private constant [10 x i8] c"FlagValue\00" +@tn.str.441 = private constant [5 x i8] c"Diag\00" +@tn.str.442 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.443 = private constant [7 x i8] c"Parsed\00" +@tn.str.444 = private constant [8 x i8] c"*Parsed\00" +@tn.str.445 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.446 = private constant [10 x i8] c"[]Command\00" +@tn.str.447 = private constant [6 x i8] c"*Diag\00" +@tn.str.448 = private constant [7 x i8] c"[8]i64\00" +@tn.str.449 = private constant [7 x i8] c"[64]u8\00" +@tn.str.450 = private constant [7 x i8] c"Sha256\00" +@tn.str.451 = private constant [8 x i8] c"*Sha256\00" +@tn.str.452 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.453 = private constant [8 x i8] c"[64]i64\00" +@tn.str.454 = private constant [8 x i8] c"[16]f32\00" +@tn.str.455 = private constant [5 x i8] c"Mat4\00" +@tn.str.456 = private constant [5 x i8] c"Vec2\00" +@tn.str.457 = private constant [6 x i8] c"Point\00" +@tn.str.458 = private constant [8 x i8] c"Counter\00" +@tn.str.459 = private constant [18 x i8] c"__Counter__Vtable\00" +@tn.str.460 = private constant [9 x i8] c"Summable\00" +@tn.str.461 = private constant [19 x i8] c"__Summable__Vtable\00" +@tn.str.462 = private constant [14 x i8] c"SimpleCounter\00" +@tn.str.463 = private constant [15 x i8] c"*SimpleCounter\00" +@tn.str.464 = private constant [7 x i8] c"*Point\00" +@tn.str.465 = private constant [6 x i8] c"Adder\00" +@tn.str.466 = private constant [12 x i8] c"Accumulator\00" +@tn.str.467 = private constant [13 x i8] c"*Accumulator\00" +@tn.str.468 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.469 = private constant [7 x i8] c"**void\00" +@tn.str.470 = private constant [8 x i8] c"*string\00" +@tn.str.471 = private constant [6 x i8] c"[]Any\00" +@tn.str.472 = private constant [5 x i8] c"*Any\00" +@tn.str.473 = private constant [7 x i8] c"*[]Any\00" +@tn.str.474 = private constant [4 x i8] c"*u8\00" +@tn.str.475 = private constant [6 x i8] c"*bool\00" +@tn.str.476 = private constant [9 x i8] c"*Counter\00" +@tn.str.477 = private constant [16 x i8] c"**SimpleCounter\00" +@tn.str.478 = private constant [19 x i8] c"*__Counter__Vtable\00" +@tn.str.479 = private constant [7 x i8] c"[1]Any\00" +@tn.str.480 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.481 = private constant [7 x i8] c"*Adder\00" +@tn.str.482 = private constant [14 x i8] c"**Accumulator\00" +@tn.str.483 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.484 = private constant [5 x i8] c"*f64\00" +@tn.str.485 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.486 = private constant [11 x i8] c"*Allocator\00" +@tn.str.487 = private constant [9 x i8] c"*Context\00" +@tn.str.488 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.489 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.490 = private constant [8 x i8] c"*Member\00" +@tn.str.491 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.492 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.493 = private constant [9 x i8] c"*Command\00" +@tn.str.494 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.495 = private constant [6 x i8] c"*Mat4\00" +@tn.str.496 = private constant [6 x i8] c"*Vec2\00" +@tn.str.497 = private constant [10 x i8] c"*Summable\00" +@tn.str.498 = private constant [20 x i8] c"*__Summable__Vtable\00" +@tn.str.499 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.500 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.501 = private constant [7 x i8] c"*Value\00" +@tn.str.502 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.503 = private constant [14 x i8] c"*Architecture\00" +@tn.str.504 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.505 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.506 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.507 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.508 = private constant [9 x i8] c"*[16]f32\00" +@tn.str.509 = private constant [10 x i8] c"*[]string\00" +@tn.str.510 = private constant [6 x i8] c"*[]u8\00" +@tn.str.511 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.512 = private constant [11 x i8] c"*[]Command\00" +@tn.str.513 = private constant [6 x i8] c"**GPA\00" +@tn.str.514 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.515 = private constant [8 x i8] c"**Arena\00" +@tn.str.516 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.517 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.518 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.519 = private constant [7 x i8] c"**File\00" +@tn.str.520 = private constant [6 x i8] c"**i32\00" +@tn.str.521 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.522 = private constant [6 x i8] c"**u32\00" +@tn.str.523 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.524 = private constant [8 x i8] c"**Array\00" +@tn.str.525 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.526 = private constant [9 x i8] c"**Object\00" +@tn.str.527 = private constant [7 x i8] c"**Sink\00" +@tn.str.528 = private constant [9 x i8] c"**Parser\00" +@tn.str.529 = private constant [6 x i8] c"**i64\00" +@tn.str.530 = private constant [9 x i8] c"**Parsed\00" +@tn.str.531 = private constant [7 x i8] c"**Diag\00" +@tn.str.532 = private constant [9 x i8] c"**Sha256\00" +@tn.str.533 = private constant [8 x i8] c"**Point\00" +@tn.str.534 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.535 = private constant [8 x i8] c"***void\00" +@tn.str.536 = private constant [9 x i8] c"**string\00" +@tn.str.537 = private constant [6 x i8] c"**Any\00" +@tn.str.538 = private constant [8 x i8] c"**[]Any\00" +@tn.str.539 = private constant [5 x i8] c"**u8\00" +@tn.str.540 = private constant [7 x i8] c"**bool\00" +@tn.str.541 = private constant [10 x i8] c"**Counter\00" +@tn.str.542 = private constant [17 x i8] c"***SimpleCounter\00" +@tn.str.543 = private constant [20 x i8] c"**__Counter__Vtable\00" +@tn.str.544 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.545 = private constant [8 x i8] c"**Adder\00" +@tn.str.546 = private constant [15 x i8] c"***Accumulator\00" +@tn.str.547 = private constant [7 x i8] c"*?File\00" +@tn.str.548 = private constant [9 x i8] c"*?string\00" +@tn.str.549 = private constant [10 x i8] c"*?cstring\00" +@tn.str.550 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.551 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [192 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.361, i64 4 }, { ptr, i64 } { ptr @tn.str.362, i64 2 }, { ptr, i64 } { ptr @tn.str.363, i64 3 }, { ptr, i64 } { ptr @tn.str.364, i64 3 }, { ptr, i64 } { ptr @tn.str.365, i64 3 }, { ptr, i64 } { ptr @tn.str.366, i64 2 }, { ptr, i64 } { ptr @tn.str.367, i64 3 }, { ptr, i64 } { ptr @tn.str.368, i64 3 }, { ptr, i64 } { ptr @tn.str.369, i64 3 }, { ptr, i64 } { ptr @tn.str.370, i64 3 }, { ptr, i64 } { ptr @tn.str.371, i64 3 }, { ptr, i64 } { ptr @tn.str.372, i64 6 }, { ptr, i64 } { ptr @tn.str.373, i64 3 }, { ptr, i64 } { ptr @tn.str.374, i64 8 }, { ptr, i64 } { ptr @tn.str.375, i64 5 }, { ptr, i64 } { ptr @tn.str.376, i64 5 }, { ptr, i64 } { ptr @tn.str.377, i64 4 }, { ptr, i64 } { ptr @tn.str.378, i64 7 }, { ptr, i64 } { ptr @tn.str.379, i64 5 }, { ptr, i64 } { ptr @tn.str.380, i64 15 }, { ptr, i64 } { ptr @tn.str.381, i64 9 }, { ptr, i64 } { ptr @tn.str.382, i64 7 }, { ptr, i64 } { ptr @tn.str.383, i64 6 }, { ptr, i64 } { ptr @tn.str.384, i64 8 }, { ptr, i64 } { ptr @tn.str.385, i64 10 }, { ptr, i64 } { ptr @tn.str.386, i64 11 }, { ptr, i64 } { ptr @tn.str.387, i64 3 }, { ptr, i64 } { ptr @tn.str.388, i64 4 }, { ptr, i64 } { ptr @tn.str.389, i64 10 }, { ptr, i64 } { ptr @tn.str.390, i64 11 }, { ptr, i64 } { ptr @tn.str.391, i64 5 }, { ptr, i64 } { ptr @tn.str.392, i64 6 }, { ptr, i64 } { ptr @tn.str.393, i64 5 }, { ptr, i64 } { ptr @tn.str.394, i64 8 }, { ptr, i64 } { ptr @tn.str.395, i64 9 }, { ptr, i64 } { ptr @tn.str.396, i64 17 }, { ptr, i64 } { ptr @tn.str.397, i64 18 }, { ptr, i64 } { ptr @tn.str.398, i64 8 }, { ptr, i64 } { ptr @tn.str.399, i64 8 }, { ptr, i64 } { ptr @tn.str.400, i64 4 }, { ptr, i64 } { ptr @tn.str.401, i64 5 }, { ptr, i64 } { ptr @tn.str.402, i64 5 }, { ptr, i64 } { ptr @tn.str.403, i64 7 }, { ptr, i64 } { ptr @tn.str.404, i64 10 }, { ptr, i64 } { ptr @tn.str.405, i64 8 }, { ptr, i64 } { ptr @tn.str.406, i64 13 }, { ptr, i64 } { ptr @tn.str.407, i64 14 }, { ptr, i64 } { ptr @tn.str.408, i64 4 }, { ptr, i64 } { ptr @tn.str.409, i64 8 }, { ptr, i64 } { ptr @tn.str.410, i64 9 }, { ptr, i64 } { ptr @tn.str.411, i64 4 }, { ptr, i64 } { ptr @tn.str.412, i64 9 }, { ptr, i64 } { ptr @tn.str.413, i64 5 }, { ptr, i64 } { ptr @tn.str.414, i64 6 }, { ptr, i64 } { ptr @tn.str.415, i64 5 }, { ptr, i64 } { ptr @tn.str.416, i64 6 }, { ptr, i64 } { ptr @tn.str.417, i64 8 }, { ptr, i64 } { ptr @tn.str.418, i64 6 }, { ptr, i64 } { ptr @tn.str.419, i64 9 }, { ptr, i64 } { ptr @tn.str.420, i64 7 }, { ptr, i64 } { ptr @tn.str.421, i64 4 }, { ptr, i64 } { ptr @tn.str.422, i64 4 }, { ptr, i64 } { ptr @tn.str.423, i64 5 }, { ptr, i64 } { ptr @tn.str.424, i64 16 }, { ptr, i64 } { ptr @tn.str.425, i64 14 }, { ptr, i64 } { ptr @tn.str.426, i64 21 }, { ptr, i64 } { ptr @tn.str.427, i64 6 }, { ptr, i64 } { ptr @tn.str.428, i64 7 }, { ptr, i64 } { ptr @tn.str.429, i64 24 }, { ptr, i64 } { ptr @tn.str.430, i64 23 }, { ptr, i64 } { ptr @tn.str.431, i64 15 }, { ptr, i64 } { ptr @tn.str.432, i64 12 }, { ptr, i64 } { ptr @tn.str.433, i64 12 }, { ptr, i64 } { ptr @tn.str.434, i64 10 }, { ptr, i64 } { ptr @tn.str.435, i64 4 }, { ptr, i64 } { ptr @tn.str.436, i64 8 }, { ptr, i64 } { ptr @tn.str.437, i64 8 }, { ptr, i64 } { ptr @tn.str.438, i64 10 }, { ptr, i64 } { ptr @tn.str.439, i64 7 }, { ptr, i64 } { ptr @tn.str.440, i64 9 }, { ptr, i64 } { ptr @tn.str.441, i64 4 }, { ptr, i64 } { ptr @tn.str.442, i64 13 }, { ptr, i64 } { ptr @tn.str.443, i64 6 }, { ptr, i64 } { ptr @tn.str.444, i64 7 }, { ptr, i64 } { ptr @tn.str.445, i64 18 }, { 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 6 }, { ptr, i64 } { ptr @tn.str.450, i64 6 }, { ptr, i64 } { ptr @tn.str.451, i64 7 }, { ptr, i64 } { ptr @tn.str.452, i64 7 }, { ptr, i64 } { ptr @tn.str.453, i64 7 }, { 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 7 }, { ptr, i64 } { ptr @tn.str.459, i64 17 }, { ptr, i64 } { ptr @tn.str.460, i64 8 }, { ptr, i64 } { ptr @tn.str.461, i64 18 }, { ptr, i64 } { ptr @tn.str.462, i64 13 }, { ptr, i64 } { ptr @tn.str.463, i64 14 }, { ptr, i64 } { ptr @tn.str.464, i64 6 }, { ptr, i64 } { ptr @tn.str.465, i64 5 }, { ptr, i64 } { ptr @tn.str.466, i64 11 }, { ptr, i64 } { ptr @tn.str.467, i64 12 }, { ptr, i64 } { ptr @tn.str.468, i64 12 }, { ptr, i64 } { ptr @tn.str.469, i64 6 }, { ptr, i64 } { ptr @tn.str.470, i64 7 }, { ptr, i64 } { ptr @tn.str.471, i64 5 }, { ptr, i64 } { ptr @tn.str.472, i64 4 }, { ptr, i64 } { ptr @tn.str.473, i64 6 }, { ptr, i64 } { ptr @tn.str.474, i64 3 }, { ptr, i64 } { ptr @tn.str.475, i64 5 }, { ptr, i64 } { ptr @tn.str.476, i64 8 }, { ptr, i64 } { ptr @tn.str.477, i64 15 }, { ptr, i64 } { ptr @tn.str.478, i64 18 }, { ptr, i64 } { ptr @tn.str.479, i64 6 }, { ptr, i64 } { ptr @tn.str.480, i64 7 }, { ptr, i64 } { ptr @tn.str.481, i64 6 }, { ptr, i64 } { ptr @tn.str.482, i64 13 }, { ptr, i64 } { ptr @tn.str.483, i64 7 }, { ptr, i64 } { ptr @tn.str.484, i64 4 }, { ptr, i64 } { ptr @tn.str.485, i64 16 }, { ptr, i64 } { ptr @tn.str.486, i64 10 }, { ptr, i64 } { ptr @tn.str.487, i64 8 }, { ptr, i64 } { ptr @tn.str.488, i64 11 }, { ptr, i64 } { ptr @tn.str.489, i64 14 }, { ptr, i64 } { ptr @tn.str.490, i64 7 }, { ptr, i64 } { ptr @tn.str.491, i64 13 }, { ptr, i64 } { ptr @tn.str.492, i64 9 }, { ptr, i64 } { ptr @tn.str.493, i64 8 }, { ptr, i64 } { ptr @tn.str.494, i64 10 }, { ptr, i64 } { ptr @tn.str.495, i64 5 }, { ptr, i64 } { ptr @tn.str.496, i64 5 }, { ptr, i64 } { ptr @tn.str.497, i64 9 }, { ptr, i64 } { ptr @tn.str.498, i64 19 }, { ptr, i64 } { ptr @tn.str.499, i64 9 }, { ptr, i64 } { ptr @tn.str.500, i64 9 }, { ptr, i64 } { ptr @tn.str.501, i64 6 }, { ptr, i64 } { ptr @tn.str.502, i64 16 }, { ptr, i64 } { ptr @tn.str.503, i64 13 }, { ptr, i64 } { ptr @tn.str.504, i64 14 }, { ptr, i64 } { ptr @tn.str.505, i64 7 }, { ptr, i64 } { ptr @tn.str.506, i64 7 }, { ptr, i64 } { ptr @tn.str.507, i64 8 }, { ptr, i64 } { ptr @tn.str.508, i64 8 }, { ptr, i64 } { ptr @tn.str.509, i64 9 }, { ptr, i64 } { ptr @tn.str.510, i64 5 }, { ptr, i64 } { ptr @tn.str.511, i64 11 }, { ptr, i64 } { ptr @tn.str.512, i64 10 }, { ptr, i64 } { ptr @tn.str.513, i64 5 }, { ptr, i64 } { ptr @tn.str.514, i64 12 }, { ptr, i64 } { ptr @tn.str.515, i64 7 }, { ptr, i64 } { ptr @tn.str.516, i64 6 }, { ptr, i64 } { ptr @tn.str.517, i64 10 }, { ptr, i64 } { ptr @tn.str.518, i64 19 }, { ptr, i64 } { ptr @tn.str.519, i64 6 }, { ptr, i64 } { ptr @tn.str.520, i64 5 }, { ptr, i64 } { ptr @tn.str.521, i64 10 }, { ptr, i64 } { ptr @tn.str.522, i64 5 }, { ptr, i64 } { ptr @tn.str.523, i64 9 }, { ptr, i64 } { ptr @tn.str.524, i64 7 }, { ptr, i64 } { ptr @tn.str.525, i64 10 }, { ptr, i64 } { ptr @tn.str.526, i64 8 }, { ptr, i64 } { ptr @tn.str.527, i64 6 }, { ptr, i64 } { ptr @tn.str.528, i64 8 }, { ptr, i64 } { ptr @tn.str.529, i64 5 }, { ptr, i64 } { ptr @tn.str.530, i64 8 }, { ptr, i64 } { ptr @tn.str.531, i64 6 }, { ptr, i64 } { ptr @tn.str.532, i64 8 }, { ptr, i64 } { ptr @tn.str.533, i64 7 }, { ptr, i64 } { ptr @tn.str.534, i64 13 }, { ptr, i64 } { ptr @tn.str.535, i64 7 }, { ptr, i64 } { ptr @tn.str.536, i64 8 }, { ptr, i64 } { ptr @tn.str.537, i64 5 }, { ptr, i64 } { ptr @tn.str.538, i64 7 }, { ptr, i64 } { ptr @tn.str.539, i64 4 }, { ptr, i64 } { ptr @tn.str.540, i64 6 }, { ptr, i64 } { ptr @tn.str.541, i64 9 }, { ptr, i64 } { ptr @tn.str.542, i64 16 }, { ptr, i64 } { ptr @tn.str.543, i64 19 }, { ptr, i64 } { ptr @tn.str.544, i64 8 }, { ptr, i64 } { ptr @tn.str.545, i64 7 }, { ptr, i64 } { ptr @tn.str.546, i64 14 }, { ptr, i64 } { ptr @tn.str.547, i64 6 }, { ptr, i64 } { ptr @tn.str.548, i64 8 }, { ptr, i64 } { ptr @tn.str.549, i64 9 }, { ptr, i64 } { ptr @tn.str.550, i64 15 }, { ptr, i64 } { ptr @tn.str.551, i64 8 }] +@str.552 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.553 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.554 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.555 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.556 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.557 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.558 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.559 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.560 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.561 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.562 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.563 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.564 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.565 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.566 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.567 = private unnamed_addr constant [27 x i8] c"=== Auto Type Erasure ===\0A\00", align 1 -@str.568 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.569 = private unnamed_addr constant [27 x i8] c"=== Auto Type Erasure ===\0A\00", align 1 -@str.570 = private unnamed_addr constant [9 x i8] c"AE1: {}\0A\00", align 1 -@str.571 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.572 = private unnamed_addr constant [9 x i8] c"AE1: {}\0A\00", align 1 -@str.573 = private unnamed_addr constant [9 x i8] c"AE2: {}\0A\00", align 1 +@str.567 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.568 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.569 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.570 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.571 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.572 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.573 = private unnamed_addr constant [27 x i8] c"=== Auto Type Erasure ===\0A\00", align 1 @str.574 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.575 = private unnamed_addr constant [9 x i8] c"AE2: {}\0A\00", align 1 -@str.576 = private unnamed_addr constant [9 x i8] c"AE3: {}\0A\00", align 1 +@str.575 = private unnamed_addr constant [27 x i8] c"=== Auto Type Erasure ===\0A\00", align 1 +@str.576 = private unnamed_addr constant [9 x i8] c"AE1: {}\0A\00", align 1 @str.577 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.578 = private unnamed_addr constant [9 x i8] c"AE3: {}\0A\00", align 1 -@str.579 = private unnamed_addr constant [9 x i8] c"AE4: {}\0A\00", align 1 +@str.578 = private unnamed_addr constant [9 x i8] c"AE1: {}\0A\00", align 1 +@str.579 = private unnamed_addr constant [9 x i8] c"AE2: {}\0A\00", align 1 @str.580 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.581 = private unnamed_addr constant [9 x i8] c"AE4: {}\0A\00", align 1 -@str.582 = private unnamed_addr constant [9 x i8] c"AE5: {}\0A\00", align 1 +@str.581 = private unnamed_addr constant [9 x i8] c"AE2: {}\0A\00", align 1 +@str.582 = private unnamed_addr constant [9 x i8] c"AE3: {}\0A\00", align 1 @str.583 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.584 = private unnamed_addr constant [9 x i8] c"AE5: {}\0A\00", align 1 -@str.585 = private unnamed_addr constant [16 x i8] c"Source_Location\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 +@str.584 = private unnamed_addr constant [9 x i8] c"AE3: {}\0A\00", align 1 +@str.585 = private unnamed_addr constant [9 x i8] c"AE4: {}\0A\00", align 1 +@str.586 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.587 = private unnamed_addr constant [9 x i8] c"AE4: {}\0A\00", align 1 +@str.588 = private unnamed_addr constant [9 x i8] c"AE5: {}\0A\00", align 1 +@str.589 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.590 = private unnamed_addr constant [9 x i8] c"AE5: {}\0A\00", align 1 +@str.591 = private unnamed_addr constant [16 x i8] c"Source_Location\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 = private constant [5 x i8] c"file\00" -@fld.str.589 = private constant [5 x i8] c"line\00" -@fld.str.590 = private constant [4 x i8] c"col\00" -@fld.str.591 = 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.589, i64 4 }, { ptr, i64 } { ptr @fld.str.590, i64 3 }, { ptr, i64 } { ptr @fld.str.591, i64 4 }] -@str.592 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.593 = private unnamed_addr constant [10 x i8] c"Allocator\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 [4 x i8] c"ctx\00" -@fld.str.598 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.599 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.600 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.597, i64 3 }, { ptr, i64 } { ptr @fld.str.598, i64 11 }, { ptr, i64 } { ptr @fld.str.599, i64 13 }] -@str.601 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.602 = private unnamed_addr constant [8 x i8] c"Context\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 -@str.605 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.606 = private constant [10 x i8] c"allocator\00" -@fld.str.607 = private constant [5 x i8] c"data\00" -@field_names.608 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.606, i64 9 }, { ptr, i64 } { ptr @fld.str.607, i64 4 }] -@str.609 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.610 = private unnamed_addr constant [11 x i8] c"CAllocator\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 -@field_names.614 = private constant [0 x { ptr, i64 }] zeroinitializer +@fld.str.595 = private constant [5 x i8] c"line\00" +@fld.str.596 = private constant [4 x i8] c"col\00" +@fld.str.597 = 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.595, i64 4 }, { ptr, i64 } { ptr @fld.str.596, i64 3 }, { ptr, i64 } { ptr @fld.str.597, i64 4 }] +@str.598 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.599 = private unnamed_addr constant [10 x i8] c"Allocator\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 [4 x i8] c"ctx\00" +@fld.str.604 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.605 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.606 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.603, i64 3 }, { ptr, i64 } { ptr @fld.str.604, i64 11 }, { ptr, i64 } { ptr @fld.str.605, i64 13 }] +@str.607 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.608 = private unnamed_addr constant [8 x i8] c"Context\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 +@str.611 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.612 = private constant [10 x i8] c"allocator\00" +@fld.str.613 = private constant [5 x i8] c"data\00" +@field_names.614 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.612, i64 9 }, { ptr, i64 } { ptr @fld.str.613, i64 4 }] @str.615 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.616 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.616 = private unnamed_addr constant [11 x i8] c"CAllocator\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 [12 x i8] c"alloc_count\00" -@field_names.621 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.620, i64 11 }] -@str.622 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.623 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" -@fld.str.628 = private constant [4 x i8] c"cap\00" -@field_names.629 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.627, i64 4 }, { ptr, i64 } { ptr @fld.str.628, i64 3 }] -@str.630 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.631 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" -@fld.str.636 = private constant [10 x i8] c"end_index\00" -@fld.str.637 = private constant [7 x i8] c"parent\00" -@field_names.638 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.635, i64 5 }, { ptr, i64 } { ptr @fld.str.636, i64 9 }, { ptr, i64 } { ptr @fld.str.637, i64 6 }] -@str.639 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.640 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" -@fld.str.645 = private constant [4 x i8] c"len\00" -@fld.str.646 = private constant [4 x i8] c"pos\00" -@field_names.647 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.644, i64 3 }, { ptr, i64 } { ptr @fld.str.645, i64 3 }, { ptr, i64 } { ptr @fld.str.646, i64 3 }] -@str.648 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.649 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" -@fld.str.654 = private constant [12 x i8] c"alloc_count\00" -@fld.str.655 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.656 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.657 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.653, i64 6 }, { ptr, i64 } { ptr @fld.str.654, i64 11 }, { ptr, i64 } { ptr @fld.str.655, i64 13 }, { ptr, i64 } { ptr @fld.str.656, i64 17 }] -@str.658 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.659 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" -@field_names.664 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.663, i64 2 }] -@str.665 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.666 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" -@fld.str.671 = private constant [5 x i8] c"line\00" -@fld.str.672 = private constant [4 x i8] c"col\00" -@fld.str.673 = private constant [5 x i8] c"func\00" -@fld.str.674 = private constant [10 x i8] c"line_text\00" -@field_names.675 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.670, i64 4 }, { ptr, i64 } { ptr @fld.str.671, i64 4 }, { ptr, i64 } { ptr @fld.str.672, i64 3 }, { ptr, i64 } { ptr @fld.str.673, i64 4 }, { ptr, i64 } { ptr @fld.str.674, i64 9 }] -@str.676 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.677 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" -@fld.str.682 = private constant [7 x i8] c"stdout\00" -@field_names.683 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.681, i64 9 }, { ptr, i64 } { ptr @fld.str.682, i64 6 }] -@str.684 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.685 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.690 = private constant [11 x i8] c"sin_family\00" -@fld.str.691 = private constant [9 x i8] c"sin_port\00" -@fld.str.692 = private constant [9 x i8] c"sin_addr\00" -@fld.str.693 = private constant [9 x i8] c"sin_zero\00" -@field_names.694 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.689, i64 7 }, { ptr, i64 } { ptr @fld.str.690, i64 10 }, { ptr, i64 } { ptr @fld.str.691, i64 8 }, { ptr, i64 } { ptr @fld.str.692, i64 8 }, { ptr, i64 } { ptr @fld.str.693, i64 8 }] -@str.695 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.696 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.697 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.698 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.699 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.700 = private constant [6 x i8] c"items\00" -@fld.str.701 = private constant [4 x i8] c"len\00" -@fld.str.702 = private constant [4 x i8] c"cap\00" -@field_names.703 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.700, i64 5 }, { ptr, i64 } { ptr @fld.str.701, i64 3 }, { ptr, i64 } { ptr @fld.str.702, i64 3 }] -@str.704 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.705 = private unnamed_addr constant [7 x i8] c"Object\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 [6 x i8] c"items\00" -@fld.str.710 = private constant [4 x i8] c"len\00" -@fld.str.711 = private constant [4 x i8] c"cap\00" -@field_names.712 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.709, i64 5 }, { ptr, i64 } { ptr @fld.str.710, i64 3 }, { ptr, i64 } { ptr @fld.str.711, i64 3 }] -@str.713 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.714 = private unnamed_addr constant [7 x i8] c"Member\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 -@fld.str.718 = private constant [4 x i8] c"key\00" -@fld.str.719 = private constant [4 x i8] c"val\00" -@field_names.720 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.718, i64 3 }, { ptr, i64 } { ptr @fld.str.719, i64 3 }] -@str.721 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.722 = private unnamed_addr constant [5 x i8] c"Sink\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 -@fld.str.726 = private constant [4 x i8] c"dst\00" -@fld.str.727 = private constant [4 x i8] c"pos\00" -@fld.str.728 = private constant [5 x i8] c"file\00" -@field_names.729 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.726, i64 3 }, { ptr, i64 } { ptr @fld.str.727, i64 3 }, { ptr, i64 } { ptr @fld.str.728, i64 4 }] -@str.730 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.731 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" -@fld.str.736 = private constant [4 x i8] c"pos\00" -@fld.str.737 = private constant [6 x i8] c"alloc\00" -@field_names.738 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.735, i64 3 }, { ptr, i64 } { ptr @fld.str.736, i64 3 }, { ptr, i64 } { ptr @fld.str.737, i64 5 }] -@str.739 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.740 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.744 = private constant [0 x { ptr, i64 }] zeroinitializer +@field_names.620 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.621 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.622 = private unnamed_addr constant [4 x i8] c"GPA\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 [12 x i8] c"alloc_count\00" +@field_names.627 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.626, i64 11 }] +@str.628 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.629 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" +@fld.str.634 = private constant [4 x i8] c"cap\00" +@field_names.635 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.633, i64 4 }, { ptr, i64 } { ptr @fld.str.634, i64 3 }] +@str.636 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.637 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" +@fld.str.642 = private constant [10 x i8] c"end_index\00" +@fld.str.643 = private constant [7 x i8] c"parent\00" +@field_names.644 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.641, i64 5 }, { ptr, i64 } { ptr @fld.str.642, i64 9 }, { ptr, i64 } { ptr @fld.str.643, i64 6 }] +@str.645 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.646 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 +@fld.str.650 = private constant [4 x i8] c"buf\00" +@fld.str.651 = private constant [4 x i8] c"len\00" +@fld.str.652 = private constant [4 x i8] c"pos\00" +@field_names.653 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.650, i64 3 }, { ptr, i64 } { ptr @fld.str.651, i64 3 }, { ptr, i64 } { ptr @fld.str.652, i64 3 }] +@str.654 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.655 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" +@fld.str.660 = private constant [12 x i8] c"alloc_count\00" +@fld.str.661 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.662 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.663 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.659, i64 6 }, { ptr, i64 } { ptr @fld.str.660, i64 11 }, { ptr, i64 } { ptr @fld.str.661, i64 13 }, { ptr, i64 } { ptr @fld.str.662, i64 17 }] +@str.664 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.665 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" +@field_names.670 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.669, i64 2 }] +@str.671 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.672 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" +@fld.str.677 = private constant [5 x i8] c"line\00" +@fld.str.678 = private constant [4 x i8] c"col\00" +@fld.str.679 = private constant [5 x i8] c"func\00" +@fld.str.680 = private constant [10 x i8] c"line_text\00" +@field_names.681 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.676, i64 4 }, { ptr, i64 } { ptr @fld.str.677, i64 4 }, { ptr, i64 } { ptr @fld.str.678, i64 3 }, { ptr, i64 } { ptr @fld.str.679, i64 4 }, { ptr, i64 } { ptr @fld.str.680, i64 9 }] +@str.682 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.683 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" +@fld.str.688 = private constant [7 x i8] c"stdout\00" +@field_names.689 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.687, i64 9 }, { ptr, i64 } { ptr @fld.str.688, i64 6 }] +@str.690 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.691 = private unnamed_addr constant [9 x i8] c"SockAddr\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 +@fld.str.695 = private constant [8 x i8] c"sin_len\00" +@fld.str.696 = private constant [11 x i8] c"sin_family\00" +@fld.str.697 = private constant [9 x i8] c"sin_port\00" +@fld.str.698 = private constant [9 x i8] c"sin_addr\00" +@fld.str.699 = private constant [9 x i8] c"sin_zero\00" +@field_names.700 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.695, i64 7 }, { ptr, i64 } { ptr @fld.str.696, i64 10 }, { ptr, i64 } { ptr @fld.str.697, i64 8 }, { ptr, i64 } { ptr @fld.str.698, i64 8 }, { ptr, i64 } { ptr @fld.str.699, i64 8 }] +@str.701 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.702 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" +@fld.str.707 = private constant [4 x i8] c"len\00" +@fld.str.708 = private constant [4 x i8] c"cap\00" +@field_names.709 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.706, i64 5 }, { ptr, i64 } { ptr @fld.str.707, i64 3 }, { ptr, i64 } { ptr @fld.str.708, i64 3 }] +@str.710 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.711 = private unnamed_addr constant [7 x i8] c"Object\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 [6 x i8] c"items\00" +@fld.str.716 = private constant [4 x i8] c"len\00" +@fld.str.717 = private constant [4 x i8] c"cap\00" +@field_names.718 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.715, i64 5 }, { ptr, i64 } { ptr @fld.str.716, i64 3 }, { ptr, i64 } { ptr @fld.str.717, i64 3 }] +@str.719 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.720 = private unnamed_addr constant [7 x i8] c"Member\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 +@fld.str.724 = private constant [4 x i8] c"key\00" +@fld.str.725 = private constant [4 x i8] c"val\00" +@field_names.726 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.724, i64 3 }, { ptr, i64 } { ptr @fld.str.725, i64 3 }] +@str.727 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.728 = private unnamed_addr constant [5 x i8] c"Sink\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 [4 x i8] c"dst\00" +@fld.str.733 = private constant [4 x i8] c"pos\00" +@fld.str.734 = private constant [5 x i8] c"file\00" +@field_names.735 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.732, i64 3 }, { ptr, i64 } { ptr @fld.str.733, i64 3 }, { ptr, i64 } { ptr @fld.str.734, i64 4 }] +@str.736 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.737 = private unnamed_addr constant [7 x i8] c"Parser\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 +@fld.str.741 = private constant [4 x i8] c"src\00" +@fld.str.742 = private constant [4 x i8] c"pos\00" +@fld.str.743 = private constant [6 x i8] c"alloc\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 3 }, { ptr, i64 } { ptr @fld.str.743, i64 5 }] @str.745 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.746 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.746 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@fld.str.750 = private constant [5 x i8] c"name\00" -@fld.str.751 = private constant [12 x i8] c"takes_value\00" -@fld.str.752 = private constant [9 x i8] c"required\00" -@field_names.753 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.750, i64 4 }, { ptr, i64 } { ptr @fld.str.751, i64 11 }, { 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 [8 x i8] c"Command\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"group\00" -@fld.str.760 = private constant [8 x i8] c"command\00" -@fld.str.761 = private constant [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.761, i64 5 }] -@str.763 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.764 = private unnamed_addr constant [10 x i8] c"FlagValue\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 [4 x i8] c"set\00" -@fld.str.769 = private constant [6 x i8] c"value\00" -@field_names.770 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.768, i64 3 }, { ptr, i64 } { ptr @fld.str.769, i64 5 }] -@str.771 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.772 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" -@fld.str.777 = private constant [6 x i8] c"token\00" -@field_names.778 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.776, i64 5 }, { ptr, i64 } { ptr @fld.str.777, i64 5 }] -@str.779 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.780 = private unnamed_addr constant [7 x i8] c"Parsed\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 [6 x i8] c"group\00" -@fld.str.785 = private constant [8 x i8] c"command\00" -@fld.str.786 = private constant [10 x i8] c"cmd_index\00" -@fld.str.787 = private constant [5 x i8] c"json\00" -@fld.str.788 = private constant [5 x i8] c"rest\00" -@fld.str.789 = private constant [5 x i8] c"spec\00" -@fld.str.790 = private constant [7 x i8] c"values\00" -@field_names.791 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.784, i64 5 }, { ptr, i64 } { ptr @fld.str.785, i64 7 }, { ptr, i64 } { ptr @fld.str.786, i64 9 }, { ptr, i64 } { ptr @fld.str.787, i64 4 }, { ptr, i64 } { ptr @fld.str.788, i64 4 }, { ptr, i64 } { ptr @fld.str.789, i64 4 }, { ptr, i64 } { ptr @fld.str.790, i64 6 }] -@str.792 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.793 = private unnamed_addr constant [7 x i8] c"Sha256\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 -@fld.str.797 = private constant [2 x i8] c"h\00" -@fld.str.798 = private constant [4 x i8] c"buf\00" -@fld.str.799 = private constant [8 x i8] c"buf_len\00" -@fld.str.800 = private constant [10 x i8] c"total_len\00" -@field_names.801 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.797, i64 1 }, { ptr, i64 } { ptr @fld.str.798, i64 3 }, { ptr, i64 } { ptr @fld.str.799, i64 7 }, { ptr, i64 } { ptr @fld.str.800, i64 9 }] -@str.802 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.803 = private unnamed_addr constant [5 x i8] c"Mat4\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 [5 x i8] c"data\00" -@field_names.808 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.807, i64 4 }] -@str.809 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.810 = private unnamed_addr constant [5 x i8] c"Vec2\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 [2 x i8] c"x\00" -@fld.str.815 = private constant [2 x i8] c"y\00" -@field_names.816 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.814, i64 1 }, { ptr, i64 } { ptr @fld.str.815, i64 1 }] -@str.817 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.818 = private unnamed_addr constant [6 x i8] c"Point\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 [2 x i8] c"x\00" -@fld.str.823 = private constant [2 x i8] c"y\00" -@field_names.824 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.822, i64 1 }, { ptr, i64 } { ptr @fld.str.823, i64 1 }] -@str.825 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.826 = private unnamed_addr constant [8 x i8] c"Counter\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"ctx\00" -@fld.str.831 = private constant [9 x i8] c"__vtable\00" -@field_names.832 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.830, i64 3 }, { ptr, i64 } { ptr @fld.str.831, i64 8 }] -@str.833 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.834 = private unnamed_addr constant [18 x i8] c"__Counter__Vtable\00", align 1 -@str.835 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.836 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.837 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.838 = private constant [4 x i8] c"inc\00" -@fld.str.839 = private constant [4 x i8] c"get\00" -@field_names.840 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.838, i64 3 }, { ptr, i64 } { ptr @fld.str.839, i64 3 }] -@str.841 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.842 = private unnamed_addr constant [9 x i8] c"Summable\00", align 1 -@str.843 = private unnamed_addr constant [2 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 [3 x i8] c", \00", align 1 -@fld.str.846 = private constant [4 x i8] c"ctx\00" -@fld.str.847 = private constant [9 x i8] c"__vtable\00" -@field_names.848 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.846, i64 3 }, { 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 [19 x i8] c"__Summable__Vtable\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 [4 x i8] c"sum\00" -@field_names.855 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.854, i64 3 }] -@str.856 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.857 = private unnamed_addr constant [14 x i8] c"SimpleCounter\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 [4 x i8] c"val\00" -@field_names.862 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.861, i64 3 }] -@str.863 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.864 = private unnamed_addr constant [6 x i8] c"Adder\00", align 1 -@str.865 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.866 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.867 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.868 = private constant [4 x i8] c"ctx\00" -@fld.str.869 = private constant [4 x i8] c"add\00" -@fld.str.870 = private constant [6 x i8] c"value\00" -@field_names.871 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.868, i64 3 }, { ptr, i64 } { ptr @fld.str.869, i64 3 }, { ptr, i64 } { ptr @fld.str.870, i64 5 }] -@str.872 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.873 = private unnamed_addr constant [12 x i8] c"Accumulator\00", align 1 -@str.874 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.875 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.876 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.877 = private constant [6 x i8] c"total\00" -@field_names.878 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.877, i64 5 }] -@str.879 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.880 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.881 = private constant [5 x i8] c"read\00" -@fld.str.882 = private constant [6 x i8] c"write\00" -@fld.str.883 = private constant [7 x i8] c"append\00" -@fld.str.884 = private constant [11 x i8] c"read_write\00" -@field_names.885 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.881, i64 4 }, { ptr, i64 } { ptr @fld.str.882, i64 5 }, { ptr, i64 } { ptr @fld.str.883, i64 6 }, { ptr, i64 } { ptr @fld.str.884, i64 10 }] -@str.886 = private unnamed_addr constant [2 x i8] c"(\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 -@fld.str.889 = private constant [4 x i8] c"set\00" -@fld.str.890 = private constant [8 x i8] c"current\00" -@fld.str.891 = private constant [4 x i8] c"end\00" -@field_names.892 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.889, i64 3 }, { ptr, i64 } { ptr @fld.str.890, i64 7 }, { ptr, i64 } { ptr @fld.str.891, i64 3 }] -@str.893 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.894 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.895 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.896 = private constant [6 x i8] c"null_\00" -@fld.str.897 = private constant [6 x i8] c"bool_\00" -@fld.str.898 = private constant [5 x i8] c"int_\00" -@fld.str.899 = private constant [4 x i8] c"str\00" -@fld.str.900 = private constant [6 x i8] c"array\00" -@fld.str.901 = private constant [7 x i8] c"object\00" -@field_names.902 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.896, i64 5 }, { ptr, i64 } { ptr @fld.str.897, i64 5 }, { ptr, i64 } { ptr @fld.str.898, i64 4 }, { ptr, i64 } { ptr @fld.str.899, i64 3 }, { ptr, i64 } { ptr @fld.str.900, i64 5 }, { ptr, i64 } { ptr @fld.str.901, i64 6 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.906 = private constant [6 x i8] c"macos\00" -@fld.str.907 = private constant [6 x i8] c"linux\00" -@fld.str.908 = private constant [8 x i8] c"windows\00" -@fld.str.909 = private constant [5 x i8] c"wasm\00" -@fld.str.910 = private constant [4 x i8] c"ios\00" -@fld.str.911 = private constant [8 x i8] c"android\00" -@fld.str.912 = private constant [8 x i8] c"unknown\00" -@field_names.913 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.906, i64 5 }, { ptr, i64 } { ptr @fld.str.907, i64 5 }, { ptr, i64 } { ptr @fld.str.908, i64 7 }, { ptr, i64 } { ptr @fld.str.909, i64 4 }, { ptr, i64 } { ptr @fld.str.910, i64 3 }, { ptr, i64 } { ptr @fld.str.911, i64 7 }, { ptr, i64 } { ptr @fld.str.912, i64 7 }] -@str.914 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@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 -@fld.str.917 = private constant [8 x i8] c"aarch64\00" -@fld.str.918 = private constant [7 x i8] c"x86_64\00" -@fld.str.919 = private constant [7 x i8] c"wasm32\00" -@fld.str.920 = private constant [7 x i8] c"wasm64\00" -@fld.str.921 = private constant [8 x i8] c"unknown\00" -@field_names.922 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.917, i64 7 }, { ptr, i64 } { ptr @fld.str.918, i64 6 }, { ptr, i64 } { ptr @fld.str.919, i64 6 }, { ptr, i64 } { ptr @fld.str.920, i64 6 }, { ptr, i64 } { ptr @fld.str.921, i64 7 }] -@str.923 = private unnamed_addr constant [2 x i8] c"(\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 [2 x i8] c"]\00", align 1 -@str.927 = private unnamed_addr constant [3 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 [2 x i8] c"]\00", align 1 -@str.930 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.750 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.751 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.752 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 +@str.753 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.754 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.755 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.756 = private constant [5 x i8] c"name\00" +@fld.str.757 = private constant [12 x i8] c"takes_value\00" +@fld.str.758 = private constant [9 x i8] c"required\00" +@field_names.759 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.756, i64 4 }, { ptr, i64 } { ptr @fld.str.757, i64 11 }, { ptr, i64 } { ptr @fld.str.758, i64 8 }] +@str.760 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.761 = private unnamed_addr constant [8 x i8] c"Command\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 [6 x i8] c"group\00" +@fld.str.766 = private constant [8 x i8] c"command\00" +@fld.str.767 = private constant [6 x i8] c"flags\00" +@field_names.768 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.765, i64 5 }, { ptr, i64 } { ptr @fld.str.766, i64 7 }, { ptr, i64 } { ptr @fld.str.767, i64 5 }] +@str.769 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.770 = private unnamed_addr constant [10 x i8] c"FlagValue\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 +@fld.str.774 = private constant [4 x i8] c"set\00" +@fld.str.775 = private constant [6 x i8] c"value\00" +@field_names.776 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.774, i64 3 }, { ptr, i64 } { ptr @fld.str.775, i64 5 }] +@str.777 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.778 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" +@fld.str.783 = private constant [6 x i8] c"token\00" +@field_names.784 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.782, i64 5 }, { ptr, i64 } { ptr @fld.str.783, i64 5 }] +@str.785 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.786 = private unnamed_addr constant [7 x i8] c"Parsed\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 [6 x i8] c"group\00" +@fld.str.791 = private constant [8 x i8] c"command\00" +@fld.str.792 = private constant [10 x i8] c"cmd_index\00" +@fld.str.793 = private constant [5 x i8] c"json\00" +@fld.str.794 = private constant [5 x i8] c"rest\00" +@fld.str.795 = private constant [5 x i8] c"spec\00" +@fld.str.796 = private constant [7 x i8] c"values\00" +@field_names.797 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.790, i64 5 }, { ptr, i64 } { ptr @fld.str.791, i64 7 }, { ptr, i64 } { ptr @fld.str.792, i64 9 }, { ptr, i64 } { ptr @fld.str.793, i64 4 }, { ptr, i64 } { ptr @fld.str.794, i64 4 }, { ptr, i64 } { ptr @fld.str.795, i64 4 }, { ptr, i64 } { ptr @fld.str.796, i64 6 }] +@str.798 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.799 = private unnamed_addr constant [7 x i8] c"Sha256\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 +@fld.str.803 = private constant [2 x i8] c"h\00" +@fld.str.804 = private constant [4 x i8] c"buf\00" +@fld.str.805 = private constant [8 x i8] c"buf_len\00" +@fld.str.806 = private constant [10 x i8] c"total_len\00" +@field_names.807 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.803, i64 1 }, { ptr, i64 } { ptr @fld.str.804, i64 3 }, { ptr, i64 } { ptr @fld.str.805, i64 7 }, { ptr, i64 } { ptr @fld.str.806, i64 9 }] +@str.808 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.809 = private unnamed_addr constant [5 x i8] c"Mat4\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 [5 x i8] c"data\00" +@field_names.814 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.813, i64 4 }] +@str.815 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.816 = private unnamed_addr constant [5 x i8] c"Vec2\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 [2 x i8] c"x\00" +@fld.str.821 = private constant [2 x i8] c"y\00" +@field_names.822 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.820, i64 1 }, { ptr, i64 } { ptr @fld.str.821, i64 1 }] +@str.823 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.824 = private unnamed_addr constant [6 x i8] c"Point\00", align 1 +@str.825 = private unnamed_addr constant [2 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 [3 x i8] c", \00", align 1 +@fld.str.828 = private constant [2 x i8] c"x\00" +@fld.str.829 = private constant [2 x i8] c"y\00" +@field_names.830 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.828, i64 1 }, { ptr, i64 } { ptr @fld.str.829, i64 1 }] +@str.831 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.832 = private unnamed_addr constant [8 x i8] c"Counter\00", align 1 +@str.833 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.834 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.835 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.836 = private constant [4 x i8] c"ctx\00" +@fld.str.837 = private constant [9 x i8] c"__vtable\00" +@field_names.838 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.836, i64 3 }, { ptr, i64 } { ptr @fld.str.837, i64 8 }] +@str.839 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.840 = private unnamed_addr constant [18 x i8] c"__Counter__Vtable\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 +@fld.str.844 = private constant [4 x i8] c"inc\00" +@fld.str.845 = private constant [4 x i8] c"get\00" +@field_names.846 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.844, i64 3 }, { ptr, i64 } { ptr @fld.str.845, i64 3 }] +@str.847 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.848 = private unnamed_addr constant [9 x i8] c"Summable\00", align 1 +@str.849 = private unnamed_addr constant [2 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 [3 x i8] c", \00", align 1 +@fld.str.852 = private constant [4 x i8] c"ctx\00" +@fld.str.853 = private constant [9 x i8] c"__vtable\00" +@field_names.854 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.852, i64 3 }, { ptr, i64 } { ptr @fld.str.853, i64 8 }] +@str.855 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.856 = private unnamed_addr constant [19 x i8] c"__Summable__Vtable\00", align 1 +@str.857 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.858 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.859 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.860 = private constant [4 x i8] c"sum\00" +@field_names.861 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.860, i64 3 }] +@str.862 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.863 = private unnamed_addr constant [14 x i8] c"SimpleCounter\00", align 1 +@str.864 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.865 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.866 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.867 = private constant [4 x i8] c"val\00" +@field_names.868 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.867, i64 3 }] +@str.869 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.870 = private unnamed_addr constant [6 x i8] c"Adder\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 [4 x i8] c"ctx\00" +@fld.str.875 = private constant [4 x i8] c"add\00" +@fld.str.876 = private constant [6 x i8] c"value\00" +@field_names.877 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.874, i64 3 }, { ptr, i64 } { ptr @fld.str.875, i64 3 }, { ptr, i64 } { ptr @fld.str.876, i64 5 }] +@str.878 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.879 = private unnamed_addr constant [12 x i8] c"Accumulator\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.883 = private constant [6 x i8] c"total\00" +@field_names.884 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.883, i64 5 }] +@str.885 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.886 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.887 = private constant [5 x i8] c"read\00" +@fld.str.888 = private constant [6 x i8] c"write\00" +@fld.str.889 = private constant [7 x i8] c"append\00" +@fld.str.890 = private constant [11 x i8] c"read_write\00" +@field_names.891 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.887, i64 4 }, { ptr, i64 } { ptr @fld.str.888, i64 5 }, { ptr, i64 } { ptr @fld.str.889, i64 6 }, { ptr, i64 } { ptr @fld.str.890, i64 10 }] +@str.892 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.893 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.894 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.895 = private constant [4 x i8] c"set\00" +@fld.str.896 = private constant [8 x i8] c"current\00" +@fld.str.897 = private constant [4 x i8] c"end\00" +@field_names.898 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.895, i64 3 }, { ptr, i64 } { ptr @fld.str.896, i64 7 }, { ptr, i64 } { ptr @fld.str.897, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.902 = private constant [6 x i8] c"null_\00" +@fld.str.903 = private constant [6 x i8] c"bool_\00" +@fld.str.904 = private constant [5 x i8] c"int_\00" +@fld.str.905 = private constant [4 x i8] c"str\00" +@fld.str.906 = private constant [6 x i8] c"array\00" +@fld.str.907 = private constant [7 x i8] c"object\00" +@field_names.908 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.902, i64 5 }, { ptr, i64 } { ptr @fld.str.903, i64 5 }, { ptr, i64 } { ptr @fld.str.904, i64 4 }, { ptr, i64 } { ptr @fld.str.905, i64 3 }, { ptr, i64 } { ptr @fld.str.906, i64 5 }, { ptr, i64 } { ptr @fld.str.907, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.912 = private constant [6 x i8] c"macos\00" +@fld.str.913 = private constant [6 x i8] c"linux\00" +@fld.str.914 = private constant [8 x i8] c"windows\00" +@fld.str.915 = private constant [5 x i8] c"wasm\00" +@fld.str.916 = private constant [4 x i8] c"ios\00" +@fld.str.917 = private constant [8 x i8] c"android\00" +@fld.str.918 = private constant [8 x i8] c"unknown\00" +@field_names.919 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.912, i64 5 }, { ptr, i64 } { ptr @fld.str.913, i64 5 }, { ptr, i64 } { ptr @fld.str.914, i64 7 }, { ptr, i64 } { ptr @fld.str.915, i64 4 }, { ptr, i64 } { ptr @fld.str.916, i64 3 }, { ptr, i64 } { ptr @fld.str.917, i64 7 }, { ptr, i64 } { ptr @fld.str.918, i64 7 }] +@str.920 = private unnamed_addr constant [2 x i8] c"(\00", align 1 +@str.921 = private unnamed_addr constant [2 x i8] c")\00", align 1 +@str.922 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.923 = private constant [8 x i8] c"aarch64\00" +@fld.str.924 = private constant [7 x i8] c"x86_64\00" +@fld.str.925 = private constant [7 x i8] c"wasm32\00" +@fld.str.926 = private constant [7 x i8] c"wasm64\00" +@fld.str.927 = private constant [8 x i8] c"unknown\00" +@field_names.928 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.923, i64 7 }, { ptr, i64 } { ptr @fld.str.924, i64 6 }, { ptr, i64 } { ptr @fld.str.925, i64 6 }, { ptr, i64 } { ptr @fld.str.926, i64 6 }, { ptr, i64 } { ptr @fld.str.927, i64 7 }] +@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 [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 [3 x i8] c", \00", align 1 @@ -631,124 +628,131 @@ @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 -@str.961 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.962 = private unnamed_addr constant [6 x i8] c"*void\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 [12 x i8] c"*CAllocator\00", align 1 -@str.966 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 +@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 [3 x i8] c", \00", align 1 +@str.964 = private unnamed_addr constant [2 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 [3 x i8] c", \00", align 1 @str.967 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.968 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.968 = private unnamed_addr constant [6 x i8] c"*void\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 [12 x i8] c"*ArenaChunk\00", align 1 +@str.971 = private unnamed_addr constant [12 x i8] c"*CAllocator\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 [7 x i8] c"*Arena\00", align 1 +@str.974 = private unnamed_addr constant [5 x i8] c"*GPA\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"[*]u8\00", align 1 +@str.977 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\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 [10 x i8] c"*BufAlloc\00", align 1 +@str.980 = private unnamed_addr constant [7 x i8] c"*Arena\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 [19 x i8] c"*TrackingAllocator\00", align 1 +@str.983 = private unnamed_addr constant [6 x i8] c"[*]u8\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 [6 x i8] c"*File\00", align 1 +@str.986 = private unnamed_addr constant [10 x i8] c"*BufAlloc\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 [4 x i8] c"*u8\00", align 1 +@str.989 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\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"*i32\00", align 1 +@str.992 = private unnamed_addr constant [6 x i8] c"*File\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 [10 x i8] c"*SockAddr\00", align 1 +@str.995 = private unnamed_addr constant [5 x i8] c"*i32\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"*u32\00", align 1 +@str.998 = private unnamed_addr constant [10 x i8] c"*SockAddr\00", align 1 @str.999 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.1000 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1001 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 +@str.1001 = private unnamed_addr constant [5 x i8] c"*u32\00", align 1 @str.1002 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.1003 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1004 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 +@str.1004 = private unnamed_addr constant [9 x i8] c"[*]Value\00", align 1 @str.1005 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.1006 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1007 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 +@str.1007 = private unnamed_addr constant [7 x i8] c"*Array\00", align 1 @str.1008 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.1009 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.1010 = private unnamed_addr constant [8 x i8] c"*Object\00", align 1 +@str.1010 = private unnamed_addr constant [10 x i8] c"[*]Member\00", align 1 @str.1011 = private unnamed_addr constant [4 x i8] c"@0x\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"*Sink\00", align 1 +@str.1013 = private unnamed_addr constant [8 x i8] c"*Object\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 [8 x i8] c"*Parser\00", align 1 +@str.1016 = private unnamed_addr constant [6 x i8] c"*Sink\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"*i64\00", align 1 +@str.1019 = private unnamed_addr constant [8 x i8] c"*Parser\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 [8 x i8] c"*Parsed\00", align 1 +@str.1022 = private unnamed_addr constant [5 x i8] c"*i64\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 [6 x i8] c"*Diag\00", align 1 +@str.1025 = private unnamed_addr constant [8 x i8] c"*Parsed\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 [8 x i8] c"*Sha256\00", align 1 +@str.1028 = private unnamed_addr constant [6 x i8] c"*Diag\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 [15 x i8] c"*SimpleCounter\00", align 1 +@str.1031 = private unnamed_addr constant [8 x i8] c"*Sha256\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 [7 x i8] c"*Point\00", align 1 +@str.1034 = private unnamed_addr constant [15 x i8] c"*SimpleCounter\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 [13 x i8] c"*Accumulator\00", align 1 +@str.1037 = private unnamed_addr constant [7 x i8] c"*Point\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 [13 x i8] c"**CAllocator\00", align 1 +@str.1040 = private unnamed_addr constant [13 x i8] c"*Accumulator\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 [7 x i8] c"**void\00", align 1 +@str.1043 = private unnamed_addr constant [13 x i8] c"**CAllocator\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 [8 x i8] c"*string\00", align 1 +@str.1046 = private unnamed_addr constant [7 x i8] c"**void\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 [5 x i8] c"*Any\00", align 1 +@str.1049 = private unnamed_addr constant [8 x i8] c"*string\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"*[]Any\00", align 1 +@str.1052 = private unnamed_addr constant [5 x i8] c"*Any\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 [6 x i8] c"*bool\00", align 1 +@str.1055 = private unnamed_addr constant [7 x i8] c"*[]Any\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 [9 x i8] c"*Counter\00", align 1 +@str.1058 = private unnamed_addr constant [4 x i8] c"*u8\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 [16 x i8] c"**SimpleCounter\00", align 1 +@str.1061 = private unnamed_addr constant [6 x i8] c"*bool\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 [19 x i8] c"*__Counter__Vtable\00", align 1 +@str.1064 = private unnamed_addr constant [9 x i8] c"*Counter\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 [8 x i8] c"*[1]Any\00", align 1 +@str.1067 = private unnamed_addr constant [16 x i8] c"**SimpleCounter\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 [7 x i8] c"*Adder\00", align 1 +@str.1070 = private unnamed_addr constant [19 x i8] c"*__Counter__Vtable\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 [14 x i8] c"**Accumulator\00", align 1 +@str.1073 = private unnamed_addr constant [8 x i8] c"*[1]Any\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 [5 x i8] c"null\00", align 1 -@str.1077 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1076 = private unnamed_addr constant [7 x i8] c"*Adder\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 [14 x i8] c"**Accumulator\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 [5 x i8] c"null\00", align 1 +@str.1083 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1084 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.1085 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -765,7 +769,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -816,7 +820,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -900,13 +904,13 @@ entry: br i1 %icmp, label %if.then.56, label %if.merge.57 if.then.56: ; preds = %entry - ret { ptr, i64 } { ptr @str.339, i64 1 } + ret { ptr, i64 } { ptr @str.342, i64 1 } if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.66 @@ -1017,7 +1021,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.340, i64 4 }, %if.then.78 ], [ { ptr @str.341, i64 5 }, %if.else.79 ] + %bp = phi { ptr, i64 } [ { ptr @str.343, i64 4 }, %if.then.78 ], [ { ptr @str.344, i64 5 }, %if.else.79 ] ret { ptr, i64 } %bp } @@ -1109,7 +1113,7 @@ if.merge.91: ; preds = %if.else.90, %if.the %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1346,13 +1350,13 @@ entry: br i1 %icmp, label %if.then.442, label %if.merge.443 if.then.442: ; preds = %entry - ret { ptr, i64 } { ptr @str.342, i64 1 } + ret { ptr, i64 } { ptr @str.345, i64 1 } if.merge.443: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1424,7 +1428,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1455,7 +1459,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1470,6 +1474,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1488,7 +1501,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.343, i64 3 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.346, 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 @@ -1512,32 +1525,31 @@ entry: i64 1, label %match.arm.41 i64 10, label %match.arm.42 i64 11, label %match.arm.42 - i64 19, label %match.arm.43 i64 20, label %match.arm.43 i64 21, label %match.arm.43 - i64 24, label %match.arm.43 - i64 26, label %match.arm.43 - i64 28, label %match.arm.43 - i64 30, label %match.arm.43 - i64 33, label %match.arm.43 - i64 35, label %match.arm.43 - i64 39, label %match.arm.43 - i64 43, label %match.arm.43 - i64 45, label %match.arm.43 - i64 48, label %match.arm.43 - i64 52, label %match.arm.43 + i64 22, label %match.arm.43 + i64 25, label %match.arm.43 + i64 27, label %match.arm.43 + i64 29, label %match.arm.43 + i64 31, label %match.arm.43 + i64 34, label %match.arm.43 + i64 36, label %match.arm.43 + i64 40, label %match.arm.43 + i64 44, label %match.arm.43 + i64 46, label %match.arm.43 + i64 49, label %match.arm.43 i64 53, label %match.arm.43 - i64 55, label %match.arm.43 - i64 61, label %match.arm.43 - i64 66, label %match.arm.43 - i64 72, label %match.arm.43 - i64 76, label %match.arm.43 - i64 78, label %match.arm.43 + i64 54, label %match.arm.43 + i64 56, label %match.arm.43 + i64 62, label %match.arm.43 + i64 67, label %match.arm.43 + i64 73, label %match.arm.43 + i64 77, label %match.arm.43 i64 79, label %match.arm.43 i64 80, label %match.arm.43 - i64 82, label %match.arm.43 - i64 89, label %match.arm.43 - i64 94, label %match.arm.43 + i64 81, label %match.arm.43 + i64 83, label %match.arm.43 + i64 90, label %match.arm.43 i64 95, label %match.arm.43 i64 96, label %match.arm.43 i64 97, label %match.arm.43 @@ -1545,70 +1557,72 @@ entry: i64 99, label %match.arm.43 i64 100, label %match.arm.43 i64 101, label %match.arm.43 - i64 104, label %match.arm.43 + i64 102, label %match.arm.43 i64 105, label %match.arm.43 - i64 37, label %match.arm.44 + i64 106, label %match.arm.43 i64 38, label %match.arm.44 - i64 54, label %match.arm.44 - i64 70, label %match.arm.44 + i64 39, label %match.arm.44 + i64 55, label %match.arm.44 i64 71, label %match.arm.44 - i64 51, label %match.arm.45 - i64 64, label %match.arm.45 - i64 75, label %match.arm.45 - i64 22, label %match.arm.47 - i64 81, label %match.arm.47 - i64 87, label %match.arm.47 + i64 72, label %match.arm.44 + i64 52, label %match.arm.45 + i64 65, label %match.arm.45 + i64 76, label %match.arm.45 + i64 23, label %match.arm.47 + i64 82, label %match.arm.47 i64 88, label %match.arm.47 - i64 92, label %match.arm.47 + i64 89, label %match.arm.47 i64 93, label %match.arm.47 - i64 117, label %match.arm.47 - i64 23, label %match.arm.48 - i64 60, label %match.arm.48 - i64 77, label %match.arm.48 - i64 85, label %match.arm.48 - i64 110, label %match.arm.48 - i64 18, label %match.arm.49 - i64 25, label %match.arm.49 - i64 27, label %match.arm.49 - i64 29, label %match.arm.49 - i64 31, label %match.arm.49 + i64 94, label %match.arm.47 + i64 119, label %match.arm.47 + i64 24, label %match.arm.48 + i64 61, label %match.arm.48 + i64 78, label %match.arm.48 + i64 86, label %match.arm.48 + i64 111, label %match.arm.48 + i64 19, label %match.arm.49 + i64 26, label %match.arm.49 + i64 28, label %match.arm.49 + i64 30, label %match.arm.49 i64 32, label %match.arm.49 - i64 34, label %match.arm.49 - i64 36, label %match.arm.49 - i64 40, label %match.arm.49 - i64 44, label %match.arm.49 - i64 47, label %match.arm.49 - i64 49, label %match.arm.49 + i64 33, label %match.arm.49 + i64 35, label %match.arm.49 + i64 37, label %match.arm.49 + i64 41, label %match.arm.49 + i64 48, label %match.arm.49 i64 50, label %match.arm.49 - i64 56, label %match.arm.49 + i64 51, label %match.arm.49 i64 57, label %match.arm.49 i64 58, label %match.arm.49 i64 59, label %match.arm.49 - i64 62, label %match.arm.49 - i64 67, label %match.arm.49 - i64 74, label %match.arm.49 - i64 83, label %match.arm.49 - i64 86, label %match.arm.49 - i64 90, label %match.arm.49 - i64 102, label %match.arm.49 + i64 60, label %match.arm.49 + i64 63, label %match.arm.49 + i64 68, label %match.arm.49 + i64 75, label %match.arm.49 + i64 84, label %match.arm.49 + i64 87, label %match.arm.49 + i64 91, label %match.arm.49 i64 103, label %match.arm.49 - i64 106, label %match.arm.49 + i64 104, label %match.arm.49 i64 107, label %match.arm.49 i64 108, label %match.arm.49 i64 109, label %match.arm.49 - i64 111, label %match.arm.49 + i64 110, 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 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 41, label %match.arm.50 + i64 121, label %match.arm.49 + i64 122, label %match.arm.49 i64 42, label %match.arm.50 - i64 46, label %match.arm.50 - i64 91, label %match.arm.50 + i64 43, label %match.arm.50 + i64 45, label %match.arm.50 + i64 47, label %match.arm.50 + i64 92, label %match.arm.50 i64 13, label %match.arm.51 ] @@ -1617,7 +1631,7 @@ match.merge.37: ; preds = %dispatch.merge.566, ret { ptr, i64 } %loadN match.arm.38: ; preds = %entry - store { ptr, i64 } { ptr @str.344, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.347, 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 @@ -1626,7 +1640,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 [189 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [192 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 @@ -1659,41 +1673,41 @@ match.arm.43: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.95 [ - i64 19, label %dispatch.case.96 - i64 20, label %dispatch.case.97 - i64 21, label %dispatch.case.98 - i64 24, label %dispatch.case.99 - i64 26, label %dispatch.case.100 - i64 28, label %dispatch.case.101 - i64 30, label %dispatch.case.102 - i64 33, label %dispatch.case.103 - i64 35, label %dispatch.case.104 - i64 39, label %dispatch.case.105 - i64 43, label %dispatch.case.106 - i64 45, label %dispatch.case.107 - i64 48, label %dispatch.case.108 - i64 52, label %dispatch.case.109 - i64 53, label %dispatch.case.110 - i64 55, label %dispatch.case.111 - i64 61, label %dispatch.case.112 - i64 66, label %dispatch.case.113 - i64 72, label %dispatch.case.114 - i64 76, label %dispatch.case.115 - i64 78, label %dispatch.case.116 - i64 79, label %dispatch.case.117 - i64 80, label %dispatch.case.118 - i64 82, label %dispatch.case.119 - i64 89, label %dispatch.case.120 - i64 94, label %dispatch.case.121 - i64 95, label %dispatch.case.122 - i64 96, label %dispatch.case.123 - i64 97, label %dispatch.case.124 - i64 98, label %dispatch.case.125 - i64 99, label %dispatch.case.126 - i64 100, label %dispatch.case.127 - i64 101, label %dispatch.case.128 - i64 104, label %dispatch.case.129 - i64 105, label %dispatch.case.130 + i64 20, label %dispatch.case.96 + i64 21, label %dispatch.case.97 + i64 22, label %dispatch.case.98 + i64 25, label %dispatch.case.99 + i64 27, label %dispatch.case.100 + i64 29, label %dispatch.case.101 + i64 31, label %dispatch.case.102 + i64 34, label %dispatch.case.103 + i64 36, label %dispatch.case.104 + i64 40, label %dispatch.case.105 + i64 44, label %dispatch.case.106 + i64 46, label %dispatch.case.107 + i64 49, label %dispatch.case.108 + i64 53, label %dispatch.case.109 + i64 54, label %dispatch.case.110 + i64 56, label %dispatch.case.111 + i64 62, label %dispatch.case.112 + i64 67, label %dispatch.case.113 + i64 73, label %dispatch.case.114 + i64 77, label %dispatch.case.115 + i64 79, label %dispatch.case.116 + i64 80, label %dispatch.case.117 + i64 81, label %dispatch.case.118 + i64 83, label %dispatch.case.119 + i64 90, label %dispatch.case.120 + i64 95, label %dispatch.case.121 + i64 96, label %dispatch.case.122 + i64 97, label %dispatch.case.123 + i64 98, label %dispatch.case.124 + i64 99, label %dispatch.case.125 + i64 100, label %dispatch.case.126 + i64 101, label %dispatch.case.127 + i64 102, label %dispatch.case.128 + i64 105, label %dispatch.case.129 + i64 106, label %dispatch.case.130 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1701,11 +1715,11 @@ match.arm.44: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.307 [ - i64 37, label %dispatch.case.308 - i64 38, label %dispatch.case.309 - i64 54, label %dispatch.case.310 - i64 70, label %dispatch.case.311 - i64 71, label %dispatch.case.312 + i64 38, label %dispatch.case.308 + i64 39, label %dispatch.case.309 + i64 55, label %dispatch.case.310 + i64 71, label %dispatch.case.311 + i64 72, label %dispatch.case.312 ] match.arm.45: ; preds = %entry, %entry, %entry @@ -1728,13 +1742,13 @@ match.arm.47: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.324 [ - i64 22, label %dispatch.case.325 - i64 81, label %dispatch.case.326 - i64 87, label %dispatch.case.327 - i64 88, label %dispatch.case.328 - i64 92, label %dispatch.case.329 - i64 93, label %dispatch.case.330 - i64 117, label %dispatch.case.331 + i64 23, label %dispatch.case.325 + i64 82, label %dispatch.case.326 + i64 88, label %dispatch.case.327 + i64 89, label %dispatch.case.328 + i64 93, label %dispatch.case.329 + i64 94, label %dispatch.case.330 + i64 119, label %dispatch.case.331 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1742,11 +1756,11 @@ match.arm.48: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.368 [ - i64 23, label %dispatch.case.369 - i64 60, label %dispatch.case.370 - i64 77, label %dispatch.case.371 - i64 85, label %dispatch.case.372 - i64 110, label %dispatch.case.373 + i64 24, label %dispatch.case.369 + i64 61, label %dispatch.case.370 + i64 78, label %dispatch.case.371 + i64 86, label %dispatch.case.372 + i64 111, label %dispatch.case.373 ] 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 @@ -1754,55 +1768,56 @@ match.arm.49: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.400 [ - i64 18, label %dispatch.case.401 - i64 25, label %dispatch.case.402 - i64 27, label %dispatch.case.403 - i64 29, label %dispatch.case.404 - i64 31, label %dispatch.case.405 - i64 32, label %dispatch.case.406 - i64 34, label %dispatch.case.407 - i64 36, label %dispatch.case.408 - i64 40, label %dispatch.case.409 - i64 44, label %dispatch.case.410 - i64 47, label %dispatch.case.411 - i64 49, label %dispatch.case.412 - i64 50, label %dispatch.case.413 - i64 56, label %dispatch.case.414 - i64 57, label %dispatch.case.415 - i64 58, label %dispatch.case.416 - i64 59, label %dispatch.case.417 - i64 62, label %dispatch.case.418 - i64 67, label %dispatch.case.419 - i64 74, label %dispatch.case.420 - i64 83, label %dispatch.case.421 - i64 86, label %dispatch.case.422 - i64 90, label %dispatch.case.423 - i64 102, label %dispatch.case.424 - i64 103, label %dispatch.case.425 - i64 106, label %dispatch.case.426 - i64 107, label %dispatch.case.427 - i64 108, label %dispatch.case.428 - i64 109, label %dispatch.case.429 - i64 111, label %dispatch.case.430 - i64 112, label %dispatch.case.431 - i64 113, label %dispatch.case.432 - i64 114, label %dispatch.case.433 - i64 115, label %dispatch.case.434 - i64 116, label %dispatch.case.435 - i64 118, label %dispatch.case.436 - i64 119, label %dispatch.case.437 - i64 120, label %dispatch.case.438 + 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 57, label %dispatch.case.413 + i64 58, label %dispatch.case.414 + i64 59, label %dispatch.case.415 + i64 60, label %dispatch.case.416 + i64 63, label %dispatch.case.417 + i64 68, label %dispatch.case.418 + i64 75, label %dispatch.case.419 + i64 84, label %dispatch.case.420 + i64 87, label %dispatch.case.421 + i64 91, label %dispatch.case.422 + i64 103, label %dispatch.case.423 + i64 104, label %dispatch.case.424 + i64 107, label %dispatch.case.425 + i64 108, label %dispatch.case.426 + i64 109, label %dispatch.case.427 + i64 110, label %dispatch.case.428 + i64 112, label %dispatch.case.429 + i64 113, label %dispatch.case.430 + i64 114, label %dispatch.case.431 + i64 115, label %dispatch.case.432 + i64 116, label %dispatch.case.433 + i64 117, label %dispatch.case.434 + i64 118, label %dispatch.case.435 + i64 120, label %dispatch.case.436 + i64 121, label %dispatch.case.437 + i64 122, label %dispatch.case.438 ] -match.arm.50: ; preds = %entry, %entry, %entry, %entry +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.567 [ - i64 41, label %dispatch.case.568 - i64 42, label %dispatch.case.569 - i64 46, label %dispatch.case.570 - i64 91, label %dispatch.case.571 + i64 42, label %dispatch.case.568 + i64 43, label %dispatch.case.569 + i64 45, label %dispatch.case.570 + i64 47, label %dispatch.case.571 + i64 92, label %dispatch.case.572 ] match.arm.51: ; preds = %entry @@ -1811,7 +1826,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 [189 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [192 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 @@ -1862,7 +1877,7 @@ dispatch.merge.94: ; preds = %dispatch.case.130, br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.546, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.552, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2151,7 +2166,7 @@ dispatch.merge.306: ; preds = %dispatch.case.312, br label %match.merge.37 dispatch.default.307: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.547, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.553, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.306 dispatch.case.308: ; preds = %match.arm.44 @@ -2192,7 +2207,7 @@ dispatch.merge.323: ; preds = %dispatch.case.331, br label %match.merge.37 dispatch.default.324: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.548, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.554, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.323 dispatch.case.325: ; preds = %match.arm.47 @@ -2257,7 +2272,7 @@ dispatch.merge.367: ; preds = %dispatch.case.373, br label %match.merge.37 dispatch.default.368: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.549, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.555, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.367 dispatch.case.369: ; preds = %match.arm.48 @@ -2306,7 +2321,7 @@ dispatch.merge.399: ; preds = %dispatch.case.438, br label %match.merge.37 dispatch.default.400: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.550, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.556, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.399 dispatch.case.401: ; preds = %match.arm.49 @@ -2375,154 +2390,154 @@ dispatch.case.409: ; preds = %match.arm.49 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_u8(ptr %0, ptr %iNp291) + %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_i32(ptr %0, ptr %iNp294) + %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_SockAddr(ptr %0, ptr %iNp297) + %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__ptr_u32(ptr %0, ptr %iNp300) + %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__mptr_Value(ptr %0, ptr %iNp303) + %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__ptr_Array(ptr %0, ptr %iNp306) + %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__mptr_Member(ptr %0, ptr %iNp309) + %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_Object(ptr %0, ptr %iNp312) + %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_Sink(ptr %0, ptr %iNp315) + %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_Parser(ptr %0, ptr %iNp318) + %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_i64(ptr %0, ptr %iNp321) + %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_Parsed(ptr %0, ptr %iNp324) + %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_Diag(ptr %0, ptr %iNp327) + %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_Sha256(ptr %0, ptr %iNp330) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SimpleCounter(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_SimpleCounter(ptr %0, ptr %iNp333) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Point(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_Point(ptr %0, ptr %iNp336) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Accumulator(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_Accumulator(ptr %0, ptr %iNp339) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(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_ptr_CAllocator(ptr %0, ptr %iNp342) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(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__ptr_ptr_void(ptr %0, ptr %iNp345) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(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_string(ptr %0, ptr %iNp348) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(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_Any(ptr %0, ptr %iNp351) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(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_SL_Any(ptr %0, ptr %iNp354) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp354) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.399 @@ -2575,13 +2590,13 @@ dispatch.case.438: ; preds = %match.arm.49 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.399 -dispatch.merge.566: ; preds = %dispatch.case.571, %dispatch.case.570, %dispatch.case.569, %dispatch.case.568, %dispatch.default.567 +dispatch.merge.566: ; preds = %dispatch.case.572, %dispatch.case.571, %dispatch.case.570, %dispatch.case.569, %dispatch.case.568, %dispatch.default.567 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.567: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.551, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.557, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.566 dispatch.case.568: ; preds = %match.arm.50 @@ -2602,17 +2617,24 @@ dispatch.case.569: ; preds = %match.arm.50 dispatch.case.570: ; preds = %match.arm.50 %ua.raw386 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr387 = inttoptr i64 %ua.raw386 to ptr - %ua.load388 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr387, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load388) + %iNp387 = inttoptr i64 %ua.raw386 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp387) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.566 dispatch.case.571: ; preds = %match.arm.50 - %ua.raw390 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr391 = inttoptr i64 %ua.raw390 to ptr - %ua.load392 = load { [64 x i8], i1 }, ptr %ua.ptr391, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load392) + %ua.raw389 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr390 = inttoptr i64 %ua.raw389 to ptr + %ua.load391 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr390, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load391) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.566 + +dispatch.case.572: ; preds = %match.arm.50 + %ua.raw393 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr394 = inttoptr i64 %ua.raw393 to ptr + %ua.load395 = load { [64 x i8], i1 }, ptr %ua.ptr394, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load395) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.566 } @@ -2623,7 +2645,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.552, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.558, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2719,7 +2741,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.553, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.559, 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 @@ -2727,7 +2749,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.554, 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 %allocaN, align 8 @@ -2737,13 +2759,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.555, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, 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.556, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.562, 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 @@ -2751,7 +2773,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.557, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.563, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2765,7 +2787,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.558, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, 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 @@ -2773,7 +2795,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.559, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 @@ -2784,7 +2806,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.560, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.566, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2841,7 +2863,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.561, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, 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 @@ -2849,7 +2871,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.562, i64 2 }) + %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 %allocaN, align 8 @@ -2860,7 +2882,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.563, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.569, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2880,7 +2902,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.564, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.570, 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 @@ -2888,7 +2910,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.565, 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 { ptr, i64 }, ptr %alloca, align 8 @@ -2899,7 +2921,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.566, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.572, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -3120,9 +3142,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3829,7 +3848,7 @@ declare void @out.113(ptr) #0 declare void @out.114(ptr) #0 ; Function Attrs: nounwind -declare ptr @cstring.115(ptr, i64) #0 +declare ptr @alloc_string.115(ptr, i64) #0 ; Function Attrs: nounwind declare ptr @int_to_string.116(ptr, i64) #0 @@ -3859,643 +3878,652 @@ declare ptr @concat.123(ptr, ptr, ptr) #0 declare ptr @substr.124(ptr, ptr, i64, i64) #0 ; Function Attrs: nounwind -declare ptr @path_join.125(ptr, ptr) #0 +declare i64 @cstring_len.125(ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @any_to_string.126(ptr, [2 x i64]) #0 +declare ptr @from_cstring.126(ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @build_format.127(ptr, ptr) #0 +declare ptr @to_cstring.127(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @out.128(ptr) #0 +declare ptr @path_join.128(ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @mem_realloc.129(ptr, ptr, ptr, i64, i64, i64) #0 +declare ptr @any_to_string.129(ptr, [2 x i64]) #0 ; Function Attrs: nounwind -declare ptr @CAllocator.alloc_bytes.130(ptr, ptr, i64) #0 +declare ptr @build_format.130(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @CAllocator.dealloc_bytes.131(ptr, ptr, ptr) #0 +declare void @out.131(ptr) #0 ; Function Attrs: nounwind -declare i64 @GPA.init.132(ptr) #0 +declare ptr @mem_realloc.132(ptr, ptr, ptr, i64, i64, i64) #0 ; Function Attrs: nounwind -declare ptr @GPA.alloc_bytes.133(ptr, ptr, i64) #0 +declare ptr @CAllocator.alloc_bytes.133(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @GPA.dealloc_bytes.134(ptr, ptr, ptr) #0 +declare void @CAllocator.dealloc_bytes.134(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Arena.add_chunk.135(ptr, ptr, i64) #0 +declare i64 @GPA.init.135(ptr) #0 ; Function Attrs: nounwind -declare void @Arena.init.136(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0 +declare ptr @GPA.alloc_bytes.136(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @Arena.reset.137(ptr, ptr) #0 +declare void @GPA.dealloc_bytes.137(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Arena.deinit.138(ptr, ptr) #0 +declare void @Arena.add_chunk.138(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare ptr @Arena.alloc_bytes.139(ptr, ptr, i64) #0 +declare void @Arena.init.139(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @Arena.dealloc_bytes.140(ptr, ptr, ptr) #0 +declare void @Arena.reset.140(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BufAlloc.init.141(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0 +declare void @Arena.deinit.141(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BufAlloc.reset.142(ptr, ptr) #0 +declare ptr @Arena.alloc_bytes.142(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare ptr @BufAlloc.alloc_bytes.143(ptr, ptr, i64) #0 +declare void @Arena.dealloc_bytes.143(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BufAlloc.dealloc_bytes.144(ptr, ptr, ptr) #0 +declare void @BufAlloc.init.144(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @TrackingAllocator.init.145(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0 +declare void @BufAlloc.reset.145(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @TrackingAllocator.leak_count.146(ptr, ptr) #0 +declare ptr @BufAlloc.alloc_bytes.146(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @TrackingAllocator.report.147(ptr, ptr) #0 +declare void @BufAlloc.dealloc_bytes.147(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @TrackingAllocator.alloc_bytes.148(ptr, ptr, i64) #0 +declare void @TrackingAllocator.init.148(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @TrackingAllocator.dealloc_bytes.149(ptr, ptr, ptr) #0 +declare i64 @TrackingAllocator.leak_count.149(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @File.is_valid.150(ptr, ptr) #0 +declare void @TrackingAllocator.report.150(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @File.close.151(ptr, ptr) #0 +declare ptr @TrackingAllocator.alloc_bytes.151(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare i64 @File.read.152(ptr, ptr, ptr) #0 +declare void @TrackingAllocator.dealloc_bytes.152(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.write.153(ptr, ptr, ptr) #0 +declare i1 @File.is_valid.153(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.seek.154(ptr, ptr, i64, i64) #0 +declare i1 @File.close.154(ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @mode_to_flags.155(ptr, i64) #0 +declare i64 @File.read.155(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @open_file.156(ptr, ptr, i64) #0 +declare i64 @File.write.156(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @read_file.157(ptr, ptr) #0 +declare i64 @File.seek.157(ptr, ptr, i64, i64) #0 ; Function Attrs: nounwind -declare i1 @write_file.158(ptr, ptr, ptr) #0 +declare i32 @mode_to_flags.158(ptr, i64) #0 ; Function Attrs: nounwind -declare i1 @append_file.159(ptr, ptr, ptr) #0 +declare i64 @open_file.159(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare i1 @exists.160(ptr, ptr) #0 +declare ptr @read_file.160(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @delete_file.161(ptr, ptr) #0 +declare i1 @write_file.161(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @delete_dir.162(ptr, ptr) #0 +declare i1 @append_file.162(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @create_dir.163(ptr, ptr) #0 +declare i1 @exists.163(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @set_mode.164(ptr, ptr, i32) #0 +declare i1 @delete_file.164(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @move.165(ptr, ptr, ptr) #0 +declare i1 @delete_dir.165(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @create_dir_all.166(ptr, ptr) #0 +declare i1 @create_dir.166(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @copy_file.167(ptr, ptr, ptr) #0 +declare i1 @set_mode.167(ptr, ptr, i32) #0 ; Function Attrs: nounwind -declare ptr @basename.168(ptr, ptr) #0 +declare i1 @move.168(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @dirname.169(ptr, ptr) #0 +declare i1 @create_dir_all.169(ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @spaces.170(ptr, i32) #0 +declare i1 @copy_file.170(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @to_string.171(ptr) #0 +declare ptr @basename.171(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @print_current.172(ptr) #0 +declare ptr @dirname.172(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @print_interpreter_frames.173(ptr) #0 +declare ptr @spaces.173(ptr, i32) #0 ; Function Attrs: nounwind -declare void @run.174(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0 +declare ptr @to_string.174(ptr) #0 ; Function Attrs: nounwind -declare ptr @env.175(ptr, ptr) #0 +declare void @print_current.175(ptr) #0 ; Function Attrs: nounwind -declare ptr @find_executable.176(ptr, ptr) #0 +declare void @print_interpreter_frames.176(ptr) #0 ; Function Attrs: nounwind -declare void @exit.177(ptr, i8, ptr) #0 +declare void @run.177(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @assert.178(ptr, i1, ptr, ptr) #0 +declare ptr @env.178(ptr, ptr) #0 ; Function Attrs: nounwind -declare i16 @htons.179(ptr, i64) #0 +declare ptr @find_executable.179(ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @mem_realloc.180(ptr, ptr, ptr, i64, i64, i64) #0 +declare void @exit.180(ptr, i8, ptr) #0 ; Function Attrs: nounwind -declare ptr @CAllocator.alloc_bytes.181(ptr, ptr, i64) #0 +declare void @assert.181(ptr, i1, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @CAllocator.dealloc_bytes.182(ptr, ptr, ptr) #0 +declare i16 @htons.182(ptr, i64) #0 ; Function Attrs: nounwind -declare i64 @GPA.init.183(ptr) #0 +declare ptr @mem_realloc.183(ptr, ptr, ptr, i64, i64, i64) #0 ; Function Attrs: nounwind -declare ptr @GPA.alloc_bytes.184(ptr, ptr, i64) #0 +declare ptr @CAllocator.alloc_bytes.184(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @GPA.dealloc_bytes.185(ptr, ptr, ptr) #0 +declare void @CAllocator.dealloc_bytes.185(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Arena.add_chunk.186(ptr, ptr, i64) #0 +declare i64 @GPA.init.186(ptr) #0 ; Function Attrs: nounwind -declare void @Arena.init.187(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0 +declare ptr @GPA.alloc_bytes.187(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @Arena.reset.188(ptr, ptr) #0 +declare void @GPA.dealloc_bytes.188(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Arena.deinit.189(ptr, ptr) #0 +declare void @Arena.add_chunk.189(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare ptr @Arena.alloc_bytes.190(ptr, ptr, i64) #0 +declare void @Arena.init.190(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @Arena.dealloc_bytes.191(ptr, ptr, ptr) #0 +declare void @Arena.reset.191(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BufAlloc.init.192(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0 +declare void @Arena.deinit.192(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BufAlloc.reset.193(ptr, ptr) #0 +declare ptr @Arena.alloc_bytes.193(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare ptr @BufAlloc.alloc_bytes.194(ptr, ptr, i64) #0 +declare void @Arena.dealloc_bytes.194(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BufAlloc.dealloc_bytes.195(ptr, ptr, ptr) #0 +declare void @BufAlloc.init.195(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @TrackingAllocator.init.196(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0 +declare void @BufAlloc.reset.196(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @TrackingAllocator.leak_count.197(ptr, ptr) #0 +declare ptr @BufAlloc.alloc_bytes.197(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare void @TrackingAllocator.report.198(ptr, ptr) #0 +declare void @BufAlloc.dealloc_bytes.198(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @TrackingAllocator.alloc_bytes.199(ptr, ptr, i64) #0 +declare void @TrackingAllocator.init.199(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @TrackingAllocator.dealloc_bytes.200(ptr, ptr, ptr) #0 +declare i64 @TrackingAllocator.leak_count.200(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @File.is_valid.201(ptr, ptr) #0 +declare void @TrackingAllocator.report.201(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @File.close.202(ptr, ptr) #0 +declare ptr @TrackingAllocator.alloc_bytes.202(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare i64 @File.read.203(ptr, ptr, ptr) #0 +declare void @TrackingAllocator.dealloc_bytes.203(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.write.204(ptr, ptr, ptr) #0 +declare i1 @File.is_valid.204(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.seek.205(ptr, ptr, i64, i64) #0 +declare i1 @File.close.205(ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @mode_to_flags.206(ptr, i64) #0 +declare i64 @File.read.206(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @open_file.207(ptr, ptr, i64) #0 +declare i64 @File.write.207(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @read_file.208(ptr, ptr) #0 +declare i64 @File.seek.208(ptr, ptr, i64, i64) #0 ; Function Attrs: nounwind -declare i1 @write_file.209(ptr, ptr, ptr) #0 +declare i32 @mode_to_flags.209(ptr, i64) #0 ; Function Attrs: nounwind -declare i1 @append_file.210(ptr, ptr, ptr) #0 +declare i64 @open_file.210(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare i1 @exists.211(ptr, ptr) #0 +declare ptr @read_file.211(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @delete_file.212(ptr, ptr) #0 +declare i1 @write_file.212(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @delete_dir.213(ptr, ptr) #0 +declare i1 @append_file.213(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @create_dir.214(ptr, ptr) #0 +declare i1 @exists.214(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @set_mode.215(ptr, ptr, i32) #0 +declare i1 @delete_file.215(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @move.216(ptr, ptr, ptr) #0 +declare i1 @delete_dir.216(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @create_dir_all.217(ptr, ptr) #0 +declare i1 @create_dir.217(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @copy_file.218(ptr, ptr, ptr) #0 +declare i1 @set_mode.218(ptr, ptr, i32) #0 ; Function Attrs: nounwind -declare ptr @basename.219(ptr, ptr) #0 +declare i1 @move.219(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @dirname.220(ptr, ptr) #0 +declare i1 @create_dir_all.220(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Array.add.221(ptr, ptr, ptr, ptr) #0 +declare i1 @copy_file.221(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Array.deinit.222(ptr, ptr, ptr) #0 +declare ptr @basename.222(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Object.put.223(ptr, ptr, ptr, ptr, ptr) #0 +declare ptr @dirname.223(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Object.deinit.224(ptr, ptr, ptr) #0 +declare void @Array.add.224(ptr, ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @Sink.put_byte.225(ptr, ptr, i8) #0 +declare void @Array.deinit.225(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @Sink.put.226(ptr, ptr, ptr) #0 +declare void @Object.put.226(ptr, ptr, ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @Sink.flush.227(ptr, ptr) #0 +declare void @Object.deinit.227(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i8 @hex_digit.228(ptr, i64) #0 +declare i32 @Sink.put_byte.228(ptr, ptr, i8) #0 ; Function Attrs: nounwind -declare i32 @write_u_escape.229(ptr, i8, ptr) #0 +declare i32 @Sink.put.229(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @write_string.230(ptr, ptr, ptr) #0 +declare i32 @Sink.flush.230(ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @write_int.231(ptr, i64, ptr) #0 +declare i8 @hex_digit.231(ptr, i64) #0 ; Function Attrs: nounwind -declare i32 @write_value.232(ptr, ptr, ptr) #0 +declare i32 @write_u_escape.232(ptr, i8, ptr) #0 ; Function Attrs: nounwind -declare i32 @write_array.233(ptr, ptr, ptr) #0 +declare i32 @write_string.233(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @write_object.234(ptr, ptr, ptr) #0 +declare i32 @write_int.234(ptr, i64, ptr) #0 ; Function Attrs: nounwind -declare [2 x i64] @write_to_buffer.235(ptr, ptr, ptr) #0 +declare i32 @write_value.235(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @write_to_file.236(ptr, ptr, ptr, ptr) #0 +declare i32 @write_array.236(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare [2 x i64] @hex_value.237(ptr, i8) #0 +declare i32 @write_object.237(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @encode_utf8.238(ptr, i64, ptr) #0 +declare [2 x i64] @write_to_buffer.238(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Parser.skip_ws.239(ptr, ptr) #0 +declare i32 @write_to_file.239(ptr, ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @Parser.expect_lit.240(ptr, ptr, ptr) #0 +declare [2 x i64] @hex_value.240(ptr, i8) #0 ; Function Attrs: nounwind -declare [2 x i64] @Parser.read_hex4.241(ptr, ptr, i64, i64) #0 +declare i64 @encode_utf8.241(ptr, i64, ptr) #0 ; Function Attrs: nounwind -declare [2 x i64] @Parser.decode_into.242(ptr, ptr, i64, i64, ptr) #0 +declare void @Parser.skip_ws.242(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Parser.parse_string.243(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0 +declare i32 @Parser.expect_lit.243(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare [2 x i64] @Parser.parse_number.244(ptr, ptr) #0 +declare [2 x i64] @Parser.read_hex4.244(ptr, ptr, i64, i64) #0 ; Function Attrs: nounwind -declare void @Parser.parse_array.245(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0 +declare [2 x i64] @Parser.decode_into.245(ptr, ptr, i64, i64, ptr) #0 ; Function Attrs: nounwind -declare void @Parser.parse_object.246(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0 +declare void @Parser.parse_string.246(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @Parser.parse_value.247(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0 +declare [2 x i64] @Parser.parse_number.247(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @parse.248(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0 +declare void @Parser.parse_array.248(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @escape.249(ptr, ptr) #0 +declare void @Parser.parse_object.249(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.add_link_flag.250(i64, ptr) #0 +declare void @Parser.parse_value.250(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.add_framework.251(i64, ptr) #0 +declare void @parse.251(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_output_path.252(i64, ptr) #0 +declare ptr @escape.252(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_wasm_shell.253(i64, ptr) #0 +declare void @BuildOptions.add_link_flag.253(i64, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.add_asset_dir.254(i64, ptr, ptr) #0 +declare void @BuildOptions.add_framework.254(i64, ptr) #0 ; Function Attrs: nounwind -declare i64 @BuildOptions.asset_dir_count.255(i64) #0 +declare void @BuildOptions.set_output_path.255(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.asset_dir_src_at.256(i64, i64) #0 +declare void @BuildOptions.set_wasm_shell.256(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.asset_dir_dest_at.257(i64, i64) #0 +declare void @BuildOptions.add_asset_dir.257(i64, ptr, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_post_link_callback.258(i64, ptr) #0 +declare i64 @BuildOptions.asset_dir_count.258(i64) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_post_link_module.259(i64, ptr) #0 +declare ptr @BuildOptions.asset_dir_src_at.259(i64, i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.binary_path.260(i64) #0 +declare ptr @BuildOptions.asset_dir_dest_at.260(i64, i64) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_bundle_path.261(i64, ptr) #0 +declare void @BuildOptions.set_post_link_callback.261(i64, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_bundle_id.262(i64, ptr) #0 +declare void @BuildOptions.set_post_link_module.262(i64, ptr) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_codesign_identity.263(i64, ptr) #0 +declare ptr @BuildOptions.binary_path.263(i64) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_provisioning_profile.264(i64, ptr) #0 +declare void @BuildOptions.set_bundle_path.264(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.bundle_path.265(i64) #0 +declare void @BuildOptions.set_bundle_id.265(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.bundle_id.266(i64) #0 +declare void @BuildOptions.set_codesign_identity.266(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.codesign_identity.267(i64) #0 +declare void @BuildOptions.set_provisioning_profile.267(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.provisioning_profile.268(i64) #0 +declare ptr @BuildOptions.bundle_path.268(i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.target_triple.269(i64) #0 +declare ptr @BuildOptions.bundle_id.269(i64) #0 ; Function Attrs: nounwind -declare i1 @BuildOptions.is_macos.270(i64) #0 +declare ptr @BuildOptions.codesign_identity.270(i64) #0 ; Function Attrs: nounwind -declare i1 @BuildOptions.is_ios.271(i64) #0 +declare ptr @BuildOptions.provisioning_profile.271(i64) #0 ; Function Attrs: nounwind -declare i1 @BuildOptions.is_ios_device.272(i64) #0 +declare ptr @BuildOptions.target_triple.272(i64) #0 ; Function Attrs: nounwind -declare i1 @BuildOptions.is_ios_simulator.273(i64) #0 +declare i1 @BuildOptions.is_macos.273(i64) #0 ; Function Attrs: nounwind -declare i1 @BuildOptions.is_android.274(i64) #0 +declare i1 @BuildOptions.is_ios.274(i64) #0 ; Function Attrs: nounwind -declare i64 @BuildOptions.framework_count.275(i64) #0 +declare i1 @BuildOptions.is_ios_device.275(i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.framework_at.276(i64, i64) #0 +declare i1 @BuildOptions.is_ios_simulator.276(i64) #0 ; Function Attrs: nounwind -declare i64 @BuildOptions.framework_path_count.277(i64) #0 +declare i1 @BuildOptions.is_android.277(i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.framework_path_at.278(i64, i64) #0 +declare i64 @BuildOptions.framework_count.278(i64) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_manifest_path.279(i64, ptr) #0 +declare ptr @BuildOptions.framework_at.279(i64, i64) #0 ; Function Attrs: nounwind -declare void @BuildOptions.set_keystore_path.280(i64, ptr) #0 +declare i64 @BuildOptions.framework_path_count.280(i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.manifest_path.281(i64) #0 +declare ptr @BuildOptions.framework_path_at.281(i64, i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.keystore_path.282(i64) #0 +declare void @BuildOptions.set_manifest_path.282(i64, ptr) #0 ; Function Attrs: nounwind -declare i64 @BuildOptions.jni_main_count.283(i64) #0 +declare void @BuildOptions.set_keystore_path.283(i64, ptr) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.jni_main_foreign_path_at.284(i64, i64) #0 +declare ptr @BuildOptions.manifest_path.284(i64) #0 ; Function Attrs: nounwind -declare ptr @BuildOptions.jni_main_java_source_at.285(i64, i64) #0 +declare ptr @BuildOptions.keystore_path.285(i64) #0 ; Function Attrs: nounwind -declare i64 @build_options.286() #0 +declare i64 @BuildOptions.jni_main_count.286(i64) #0 ; Function Attrs: nounwind -declare ptr @spaces.287(ptr, i32) #0 +declare ptr @BuildOptions.jni_main_foreign_path_at.287(i64, i64) #0 ; Function Attrs: nounwind -declare ptr @to_string.288(ptr) #0 +declare ptr @BuildOptions.jni_main_java_source_at.288(i64, i64) #0 ; Function Attrs: nounwind -declare void @print_current.289(ptr) #0 +declare i64 @build_options.289() #0 ; Function Attrs: nounwind -declare void @print_interpreter_frames.290(ptr) #0 +declare ptr @spaces.290(ptr, i32) #0 ; Function Attrs: nounwind -declare void @run.291(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0 +declare ptr @to_string.291(ptr) #0 ; Function Attrs: nounwind -declare ptr @env.292(ptr, ptr) #0 +declare void @print_current.292(ptr) #0 ; Function Attrs: nounwind -declare ptr @find_executable.293(ptr, ptr) #0 +declare void @print_interpreter_frames.293(ptr) #0 ; Function Attrs: nounwind -declare void @exit.294(ptr, i8, ptr) #0 +declare void @run.294(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0 ; Function Attrs: nounwind -declare void @assert.295(ptr, i1, ptr, ptr) #0 +declare ptr @env.295(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @exit_ok.296(ptr) #0 +declare ptr @find_executable.296(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @exit_usage.297(ptr) #0 +declare void @exit.297(ptr, i8, ptr) #0 ; Function Attrs: nounwind -declare i64 @os_argc.298(ptr) #0 +declare void @assert.298(ptr, i1, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @os_args.299(ptr, ptr) #0 +declare void @exit_ok.299(ptr) #0 ; Function Attrs: nounwind -declare i1 @Parsed.is_set.300(ptr, ptr, ptr) #0 +declare void @exit_usage.300(ptr) #0 ; Function Attrs: nounwind -declare ptr @Parsed.value_of.301(ptr, ptr, ptr) #0 +declare i64 @os_argc.301(ptr) #0 ; Function Attrs: nounwind -declare i1 @is_long_flag.302(ptr, ptr) #0 +declare ptr @os_args.302(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @parse.303(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0 +declare i1 @Parsed.is_set.303(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @File.is_valid.304(ptr, ptr) #0 +declare ptr @Parsed.value_of.304(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @File.close.305(ptr, ptr) #0 +declare i1 @is_long_flag.305(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.read.306(ptr, ptr, ptr) #0 +declare void @parse.306(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.write.307(ptr, ptr, ptr) #0 +declare i1 @File.is_valid.307(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @File.seek.308(ptr, ptr, i64, i64) #0 +declare i1 @File.close.308(ptr, ptr) #0 ; Function Attrs: nounwind -declare i32 @mode_to_flags.309(ptr, i64) #0 +declare i64 @File.read.309(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @open_file.310(ptr, ptr, i64) #0 +declare i64 @File.write.310(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @read_file.311(ptr, ptr) #0 +declare i64 @File.seek.311(ptr, ptr, i64, i64) #0 ; Function Attrs: nounwind -declare i1 @write_file.312(ptr, ptr, ptr) #0 +declare i32 @mode_to_flags.312(ptr, i64) #0 ; Function Attrs: nounwind -declare i1 @append_file.313(ptr, ptr, ptr) #0 +declare i64 @open_file.313(ptr, ptr, i64) #0 ; Function Attrs: nounwind -declare i1 @exists.314(ptr, ptr) #0 +declare ptr @read_file.314(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @delete_file.315(ptr, ptr) #0 +declare i1 @write_file.315(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @delete_dir.316(ptr, ptr) #0 +declare i1 @append_file.316(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @create_dir.317(ptr, ptr) #0 +declare i1 @exists.317(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @set_mode.318(ptr, ptr, i32) #0 +declare i1 @delete_file.318(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @move.319(ptr, ptr, ptr) #0 +declare i1 @delete_dir.319(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @create_dir_all.320(ptr, ptr) #0 +declare i1 @create_dir.320(ptr, ptr) #0 ; Function Attrs: nounwind -declare i1 @copy_file.321(ptr, ptr, ptr) #0 +declare i1 @set_mode.321(ptr, ptr, i32) #0 ; Function Attrs: nounwind -declare ptr @basename.322(ptr, ptr) #0 +declare i1 @move.322(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare ptr @dirname.323(ptr, ptr) #0 +declare i1 @create_dir_all.323(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @rotr.324(ptr, i64, i64) #0 +declare i1 @copy_file.324(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @big_sigma0.325(ptr, i64) #0 +declare ptr @basename.325(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @big_sigma1.326(ptr, i64) #0 +declare ptr @dirname.326(ptr, ptr) #0 ; Function Attrs: nounwind -declare i64 @small_sigma0.327(ptr, i64) #0 +declare i64 @rotr.327(ptr, i64, i64) #0 ; Function Attrs: nounwind -declare i64 @small_sigma1.328(ptr, i64) #0 +declare i64 @big_sigma0.328(ptr, i64) #0 ; Function Attrs: nounwind -declare void @Sha256.process_block.329(ptr, ptr) #0 +declare i64 @big_sigma1.329(ptr, i64) #0 ; Function Attrs: nounwind -declare void @Sha256.update.330(ptr, ptr, ptr) #0 +declare i64 @small_sigma0.330(ptr, i64) #0 ; Function Attrs: nounwind -declare [64 x i8] @Sha256.final.331(ptr, ptr) #0 +declare i64 @small_sigma1.331(ptr, i64) #0 ; Function Attrs: nounwind -declare i8 @nibble_hex.332(ptr, i64) #0 +declare void @Sha256.process_block.332(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @init.333(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0 +declare void @Sha256.update.333(ptr, ptr, ptr) #0 ; Function Attrs: nounwind -declare [64 x i8] @sha256_hex.334(ptr, ptr) #0 +declare [64 x i8] @Sha256.final.334(ptr, ptr) #0 ; Function Attrs: nounwind -declare void @sha256_file.335(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0 +declare i8 @nibble_hex.335(ptr, i64) #0 ; Function Attrs: nounwind -declare void @log_emit.336(ptr, ptr, ptr) #0 +declare void @init.336(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0 ; Function Attrs: nounwind -declare void @assert.337(ptr, i1) #0 +declare [64 x i8] @sha256_hex.337(ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @sha256_file.338(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @log_emit.339(ptr, ptr, ptr) #0 + +; Function Attrs: nounwind +declare void @assert.340(ptr, i1) #0 ; Function Attrs: nounwind declare ptr @cwd_greet(ptr) #0 @@ -4510,7 +4538,7 @@ declare i32 @add(ptr, i32, i32) #0 declare i32 @mul(ptr, i32, i32) #0 ; Function Attrs: nounwind -declare i32 @add.338(ptr, i32, i32) #0 +declare i32 @add.341(ptr, i32, i32) #0 ; Function Attrs: nounwind define internal void @SimpleCounter.inc(ptr %0, ptr %1) #0 { @@ -4672,14 +4700,14 @@ entry: define internal void @print__ct_sb446f8dda4e4d2e__pack(ptr %0) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.567, i64 26 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.573, 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.568, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.574, 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) @@ -4695,7 +4723,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.569, i64 26 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.575, i64 26 }) ret { ptr, i64 } %call } @@ -4741,150 +4769,6 @@ entry: ; Function Attrs: nounwind 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.570, 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 - %load = load i32, ptr %allocaN, align 4 - %iN = sext i32 %load to i64 - %ba.val = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1 - %igp.ptr = getelementptr { i64, i64 }, ptr %allocaN, i64 0 - store { i64, i64 } %ba.val, ptr %igp.ptr, align 8 - %allocaN = alloca { ptr, i64 }, align 8 - %igp.ptr4 = getelementptr { i64, i64 }, ptr %allocaN, i64 0 - %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 - store ptr %igp.ptr4, ptr %gep, align 8 - %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.571, i64 0 }, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %alloca, align 8 - %call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 5) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load i32, ptr %allocaN, align 4 - %iN = sext i32 %loadN to i64 - %ba.val13 = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1 - %callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val13) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %alloca, align 8 - %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 7, i64 1) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %str.ptr = extractvalue { ptr, i64 } %loadN, 0 - %str.len = extractvalue { ptr, i64 } %loadN, 1 - %2 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len) - ret void -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @__insert_1(ptr %0) #0 { -entry: - %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.572, i64 8 }) - ret { ptr, i64 } %call -} - -; Function Attrs: nounwind -define internal void @__thunk_Accumulator_Adder_add(ptr %0, ptr %1, i32 %2) #0 { -entry: - call void @Accumulator.add(ptr %0, ptr %1, i32 %2) - ret void -} - -; Function Attrs: nounwind -define internal i32 @__thunk_Accumulator_Adder_value(ptr %0, ptr %1) #0 { -entry: - %call = call i32 @Accumulator.value(ptr %0, ptr %1) - ret i32 %call -} - -; Function Attrs: nounwind -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.573, 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 - %load = load i32, ptr %allocaN, align 4 - %iN = sext i32 %load to i64 - %ba.val = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1 - %igp.ptr = getelementptr { i64, i64 }, ptr %allocaN, i64 0 - store { i64, i64 } %ba.val, ptr %igp.ptr, align 8 - %allocaN = alloca { ptr, i64 }, align 8 - %igp.ptr4 = getelementptr { i64, i64 }, ptr %allocaN, i64 0 - %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 - store ptr %igp.ptr4, ptr %gep, align 8 - %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.574, i64 0 }, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %alloca, align 8 - %call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 5) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load i32, ptr %allocaN, align 4 - %iN = sext i32 %loadN to i64 - %ba.val13 = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1 - %callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val13) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %alloca, align 8 - %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 7, i64 1) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %str.ptr = extractvalue { ptr, i64 } %loadN, 0 - %str.len = extractvalue { ptr, i64 } %loadN, 1 - %2 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len) - ret void -} - -; 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.575, i64 8 }) - ret { ptr, i64 } %call -} - -; Function Attrs: nounwind -define internal i32 @use_counter__1(ptr %0, { ptr, ptr } %1) #0 { -entry: - %alloca = alloca { ptr, ptr }, align 8 - store { ptr, ptr } %1, ptr %alloca, align 8 - %load = load { ptr, ptr }, ptr %alloca, align 8 - %sg = extractvalue { ptr, ptr } %load, 0 - %sgN = extractvalue { ptr, ptr } %load, 1 - %deref = load { ptr, ptr }, ptr %sgN, align 8 - %sgN = extractvalue { ptr, ptr } %deref, 0 - call void %sgN(ptr %0, ptr %sg) - %loadN = load { ptr, ptr }, ptr %alloca, align 8 - %sgN = extractvalue { ptr, ptr } %loadN, 0 - %sgN = extractvalue { ptr, ptr } %loadN, 1 - %derefN = load { ptr, ptr }, ptr %sgN, align 8 - %sgN = extractvalue { ptr, ptr } %derefN, 0 - call void %sgN(ptr %0, ptr %sgN) - %loadN = load { ptr, ptr }, ptr %alloca, align 8 - %sgN = extractvalue { ptr, ptr } %loadN, 0 - %sgN = extractvalue { ptr, ptr } %loadN, 1 - %derefN = load { ptr, ptr }, ptr %sgN, align 8 - %sgN = extractvalue { ptr, ptr } %derefN, 1 - %icall = call i32 %sgN(ptr %0, ptr %sgN) - ret i32 %icall -} - -; Function Attrs: nounwind -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.576, i64 8 }, ptr %alloca, align 8 @@ -4929,34 +4813,28 @@ entry: } ; Function Attrs: nounwind -define internal { ptr, i64 } @__insert_3(ptr %0) #0 { +define internal { ptr, i64 } @__insert_1(ptr %0) #0 { entry: %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.578, i64 8 }) ret { ptr, i64 } %call } ; Function Attrs: nounwind -define internal i32 @use_counter__2(ptr %0, { ptr, ptr } %1) #0 { +define internal void @__thunk_Accumulator_Adder_add(ptr %0, ptr %1, i32 %2) #0 { entry: - %alloca = alloca { ptr, ptr }, align 8 - store { ptr, ptr } %1, ptr %alloca, align 8 - %load = load { ptr, ptr }, ptr %alloca, align 8 - %sg = extractvalue { ptr, ptr } %load, 0 - %sgN = extractvalue { ptr, ptr } %load, 1 - %deref = load { ptr, ptr }, ptr %sgN, align 8 - %sgN = extractvalue { ptr, ptr } %deref, 0 - call void %sgN(ptr %0, ptr %sg) - %loadN = load { ptr, ptr }, ptr %alloca, align 8 - %sgN = extractvalue { ptr, ptr } %loadN, 0 - %sgN = extractvalue { ptr, ptr } %loadN, 1 - %derefN = load { ptr, ptr }, ptr %sgN, align 8 - %sgN = extractvalue { ptr, ptr } %derefN, 1 - %icall = call i32 %sgN(ptr %0, ptr %sgN) - ret i32 %icall + call void @Accumulator.add(ptr %0, ptr %1, i32 %2) + ret void } ; Function Attrs: nounwind -define internal void @print__ct_s299c24782c1d67ee__pack_i32(ptr %0, i32 %1) #0 { +define internal i32 @__thunk_Accumulator_Adder_value(ptr %0, ptr %1) #0 { +entry: + %call = call i32 @Accumulator.value(ptr %0, ptr %1) + ret i32 %call +} + +; Function Attrs: nounwind +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.579, i64 8 }, ptr %alloca, align 8 @@ -5001,26 +4879,40 @@ entry: } ; Function Attrs: nounwind -define internal { ptr, i64 } @__insert_4(ptr %0) #0 { +define internal { ptr, i64 } @__insert_2(ptr %0) #0 { entry: %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.581, i64 8 }) ret { ptr, i64 } %call } ; Function Attrs: nounwind -define internal void @use_adder__3(ptr %0, { ptr, ptr, ptr } %1) #0 { +define internal i32 @use_counter__1(ptr %0, { ptr, ptr } %1) #0 { entry: - %alloca = alloca { ptr, ptr, ptr }, align 8 - store { ptr, ptr, ptr } %1, ptr %alloca, align 8 - %load = load { ptr, ptr, ptr }, ptr %alloca, align 8 - %sg = extractvalue { ptr, ptr, ptr } %load, 0 - %sgN = extractvalue { ptr, ptr, ptr } %load, 1 - call void %sgN(ptr %0, ptr %sg, i32 10) - ret void + %alloca = alloca { ptr, ptr }, align 8 + store { ptr, ptr } %1, ptr %alloca, align 8 + %load = load { ptr, ptr }, ptr %alloca, align 8 + %sg = extractvalue { ptr, ptr } %load, 0 + %sgN = extractvalue { ptr, ptr } %load, 1 + %deref = load { ptr, ptr }, ptr %sgN, align 8 + %sgN = extractvalue { ptr, ptr } %deref, 0 + call void %sgN(ptr %0, ptr %sg) + %loadN = load { ptr, ptr }, ptr %alloca, align 8 + %sgN = extractvalue { ptr, ptr } %loadN, 0 + %sgN = extractvalue { ptr, ptr } %loadN, 1 + %derefN = load { ptr, ptr }, ptr %sgN, align 8 + %sgN = extractvalue { ptr, ptr } %derefN, 0 + call void %sgN(ptr %0, ptr %sgN) + %loadN = load { ptr, ptr }, ptr %alloca, align 8 + %sgN = extractvalue { ptr, ptr } %loadN, 0 + %sgN = extractvalue { ptr, ptr } %loadN, 1 + %derefN = load { ptr, ptr }, ptr %sgN, align 8 + %sgN = extractvalue { ptr, ptr } %derefN, 1 + %icall = call i32 %sgN(ptr %0, ptr %sgN) + ret i32 %icall } ; Function Attrs: nounwind -define internal void @print__ct_sf40ed4735476a9ee__pack_i32(ptr %0, i32 %1) #0 { +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.582, i64 8 }, ptr %alloca, align 8 @@ -5065,12 +4957,148 @@ entry: } ; Function Attrs: nounwind -define internal { ptr, i64 } @__insert_5(ptr %0) #0 { +define internal { ptr, i64 } @__insert_3(ptr %0) #0 { entry: %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.584, i64 8 }) ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal i32 @use_counter__2(ptr %0, { ptr, ptr } %1) #0 { +entry: + %alloca = alloca { ptr, ptr }, align 8 + store { ptr, ptr } %1, ptr %alloca, align 8 + %load = load { ptr, ptr }, ptr %alloca, align 8 + %sg = extractvalue { ptr, ptr } %load, 0 + %sgN = extractvalue { ptr, ptr } %load, 1 + %deref = load { ptr, ptr }, ptr %sgN, align 8 + %sgN = extractvalue { ptr, ptr } %deref, 0 + call void %sgN(ptr %0, ptr %sg) + %loadN = load { ptr, ptr }, ptr %alloca, align 8 + %sgN = extractvalue { ptr, ptr } %loadN, 0 + %sgN = extractvalue { ptr, ptr } %loadN, 1 + %derefN = load { ptr, ptr }, ptr %sgN, align 8 + %sgN = extractvalue { ptr, ptr } %derefN, 1 + %icall = call i32 %sgN(ptr %0, ptr %sgN) + ret i32 %icall +} + +; Function Attrs: nounwind +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.585, 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 + %load = load i32, ptr %allocaN, align 4 + %iN = sext i32 %load to i64 + %ba.val = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1 + %igp.ptr = getelementptr { i64, i64 }, ptr %allocaN, i64 0 + store { i64, i64 } %ba.val, ptr %igp.ptr, align 8 + %allocaN = alloca { ptr, i64 }, align 8 + %igp.ptr4 = getelementptr { i64, i64 }, ptr %allocaN, i64 0 + %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 + store ptr %igp.ptr4, ptr %gep, align 8 + %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.586, i64 0 }, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %alloca, align 8 + %call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 5) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i32, ptr %allocaN, align 4 + %iN = sext i32 %loadN to i64 + %ba.val13 = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1 + %callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val13) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %alloca, align 8 + %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 7, i64 1) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %str.ptr = extractvalue { ptr, i64 } %loadN, 0 + %str.len = extractvalue { ptr, i64 } %loadN, 1 + %2 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len) + ret void +} + +; 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.587, i64 8 }) + ret { ptr, i64 } %call +} + +; Function Attrs: nounwind +define internal void @use_adder__3(ptr %0, { ptr, ptr, ptr } %1) #0 { +entry: + %alloca = alloca { ptr, ptr, ptr }, align 8 + store { ptr, ptr, ptr } %1, ptr %alloca, align 8 + %load = load { ptr, ptr, ptr }, ptr %alloca, align 8 + %sg = extractvalue { ptr, ptr, ptr } %load, 0 + %sgN = extractvalue { ptr, ptr, ptr } %load, 1 + call void %sgN(ptr %0, ptr %sg, i32 10) + ret void +} + +; Function Attrs: nounwind +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.588, 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 + %load = load i32, ptr %allocaN, align 4 + %iN = sext i32 %load to i64 + %ba.val = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1 + %igp.ptr = getelementptr { i64, i64 }, ptr %allocaN, i64 0 + store { i64, i64 } %ba.val, ptr %igp.ptr, align 8 + %allocaN = alloca { ptr, i64 }, align 8 + %igp.ptr4 = getelementptr { i64, i64 }, ptr %allocaN, i64 0 + %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 + store ptr %igp.ptr4, ptr %gep, align 8 + %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.589, i64 0 }, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %alloca, align 8 + %call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 5) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i32, ptr %allocaN, align 4 + %iN = sext i32 %loadN to i64 + %ba.val13 = insertvalue { i64, i64 } { i64 4, i64 undef }, i64 %iN, 1 + %callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val13) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %alloca, align 8 + %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 7, i64 1) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %str.ptr = extractvalue { ptr, i64 } %loadN, 0 + %str.len = extractvalue { ptr, i64 } %loadN, 1 + %2 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len) + ret void +} + +; 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.590, i64 8 }) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @struct_to_string__Source_Location(ptr %0, { { ptr, i64 }, i32, i32, { ptr, i64 } } %1) #0 { entry: @@ -5078,7 +5106,7 @@ 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.585, i64 15 }, { ptr, i64 } { ptr @str.586, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 15 }, { 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 @@ -5097,12 +5125,12 @@ while.body.132: ; preds = %while.hdr.131 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.587, 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.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.588, 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.135 @@ -5114,7 +5142,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.592, 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 }, i32, i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -5171,7 +5199,7 @@ 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.593, i64 9 }, { ptr, i64 } { ptr @str.594, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 9 }, { 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 @@ -5190,24 +5218,24 @@ while.body.137: ; preds = %while.hdr.136 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.595, 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.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.596, 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.140 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.600, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.606, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 2 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, ptr, ptr }, ptr %alloca, align 8 @@ -5234,19 +5262,19 @@ fv.default: ; preds = %if.merge.140 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 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge 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 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge 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 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -5256,7 +5284,7 @@ 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.602, i64 7 }, { ptr, i64 } { ptr @str.603, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.608, i64 7 }, { ptr, i64 } { ptr @str.609, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5275,24 +5303,24 @@ while.body.142: ; preds = %while.hdr.141 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.604, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.610, i64 1 }) ret { ptr, i64 } %callN 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.605, 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 br label %if.merge.145 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.608, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.609, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, ptr, ptr }, ptr }, ptr %alloca, align 8 @@ -5319,13 +5347,13 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge 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 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -5334,7 +5362,7 @@ 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.610, i64 10 }, { ptr, i64 } { ptr @str.611, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.616, i64 10 }, { 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 @@ -5353,24 +5381,24 @@ while.body.147: ; preds = %while.hdr.146 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.612, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.618, i64 1 }) ret { ptr, i64 } %callN 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.613, 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 br label %if.merge.150 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.614, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.620, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -5389,7 +5417,7 @@ 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.616, i64 3 }, { ptr, i64 } { ptr @str.617, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.622, i64 3 }, { ptr, i64 } { ptr @str.623, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5408,24 +5436,24 @@ while.body.152: ; preds = %while.hdr.151 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.618, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.624, i64 1 }) ret { ptr, i64 } %callN 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.619, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.625, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.155 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.621, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.622, i64 2 }) + %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 }, ptr %alloca, align 8 @@ -5458,7 +5486,7 @@ 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.623, i64 10 }, { ptr, i64 } { ptr @str.624, i64 1 }) + %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 @@ -5477,24 +5505,24 @@ while.body.157: ; preds = %while.hdr.156 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.625, 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.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.626, 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.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 [2 x { ptr, i64 }], ptr @field_names.629, i64 0, i64 %loadN + %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.630, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 @@ -5520,7 +5548,7 @@ fv.default: ; preds = %if.merge.160 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 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.160 @@ -5535,7 +5563,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.631, i64 5 }, { ptr, i64 } { ptr @str.632, 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 @@ -5554,24 +5582,24 @@ 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.633, 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.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.634, 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.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.638, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.644, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.645, 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 @@ -5598,7 +5626,7 @@ fv.default: ; preds = %if.merge.165 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 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.165 @@ -5610,7 +5638,7 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -5619,7 +5647,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.640, i64 8 }, { ptr, i64 } { ptr @str.641, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.646, i64 8 }, { ptr, i64 } { ptr @str.647, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5638,24 +5666,24 @@ 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.642, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.648, 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.643, 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 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.647, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.648, 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 { ptr, i64, i64 }, ptr %alloca, align 8 @@ -5682,7 +5710,7 @@ fv.default: ; preds = %if.merge.170 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 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.170 @@ -5702,7 +5730,7 @@ 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.649, i64 17 }, { ptr, i64 } { ptr @str.650, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 17 }, { 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 @@ -5721,24 +5749,24 @@ 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.651, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.657, 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.652, 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 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 [4 x { ptr, i64 }], ptr @field_names.657, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.658, 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, ptr, ptr }, i64, i64, i64 }, ptr %alloca, align 8 @@ -5767,7 +5795,7 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.175 @@ -5791,7 +5819,7 @@ 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.659, i64 4 }, { ptr, i64 } { ptr @str.660, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.665, i64 4 }, { 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 @@ -5810,24 +5838,24 @@ while.body.177: ; preds = %while.hdr.176 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.661, 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.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.662, 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.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 [1 x { ptr, i64 }], ptr @field_names.664, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.665, 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 { i32 }, ptr %alloca, align 4 @@ -5864,7 +5892,7 @@ 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.666, i64 10 }, { ptr, i64 } { ptr @str.667, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 10 }, { 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 @@ -5883,24 +5911,24 @@ while.body.182: ; preds = %while.hdr.181 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.668, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.674, i64 1 }) ret { ptr, i64 } %callN 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.669, 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 br label %if.merge.185 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.675, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.676, i64 2 }) + %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 { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5966,7 +5994,7 @@ 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.677, i64 13 }, { ptr, i64 } { ptr @str.678, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.683, i64 13 }, { 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 @@ -5985,24 +6013,24 @@ while.body.187: ; preds = %while.hdr.186 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.679, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.685, 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.680, 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 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 [2 x { ptr, i64 }], ptr @field_names.683, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.684, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -6044,7 +6072,7 @@ 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.685, i64 8 }, { ptr, i64 } { ptr @str.686, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.691, i64 8 }, { 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 @@ -6063,24 +6091,24 @@ 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.687, 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.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.688, 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.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 [5 x { ptr, i64 }], ptr @field_names.694, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.700, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.695, i64 2 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -6141,7 +6169,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.696, i64 5 }, { ptr, i64 } { ptr @str.697, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.702, i64 5 }, { ptr, i64 } { ptr @str.703, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6160,24 +6188,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.698, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.704, 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.699, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.705, 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.703, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.704, 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, i64, i64 }, ptr %alloca, align 8 @@ -6204,7 +6232,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 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.200 @@ -6223,7 +6251,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.705, i64 6 }, { ptr, i64 } { ptr @str.706, i64 1 }) + %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 @@ -6242,24 +6270,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.707, 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.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.708, 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.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.712, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.713, 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, i64, i64 }, ptr %alloca, align 8 @@ -6286,7 +6314,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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.205 @@ -6307,7 +6335,7 @@ entry: %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.714, i64 6 }, { ptr, i64 } { ptr @str.715, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.720, i64 6 }, { 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 @@ -6326,24 +6354,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.716, 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.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.717, 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.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.720, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.721, 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 { { ptr, i64 }, { i64, [24 x i8] } }, ptr %alloca, align 8 @@ -6377,7 +6405,7 @@ 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 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -6387,7 +6415,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.722, i64 4 }, { ptr, i64 } { ptr @str.723, i64 1 }) + %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 @@ -6406,24 +6434,24 @@ 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.724, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.730, 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.725, 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.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.729, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.735, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.730, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, i64, ptr }, ptr %alloca, align 8 @@ -6451,7 +6479,7 @@ 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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.215 @@ -6462,7 +6490,7 @@ fv.case17: ; preds = %if.merge.215 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 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -6473,7 +6501,7 @@ entry: %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.731, i64 6 }, { ptr, i64 } { ptr @str.732, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.737, i64 6 }, { ptr, i64 } { ptr @str.738, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6492,24 +6520,24 @@ 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.733, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.739, 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.734, 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.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.738, 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 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %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.745, 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 @@ -6549,7 +6577,7 @@ 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 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -6558,7 +6586,7 @@ 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.740, i64 12 }, { ptr, i64 } { ptr @str.741, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.746, i64 12 }, { ptr, i64 } { ptr @str.747, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6577,24 +6605,24 @@ 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.742, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.748, 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.743, 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.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 [0 x { ptr, i64 }], ptr @field_names.744, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.750, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.745, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -6614,7 +6642,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.746, i64 8 }, { ptr, i64 } { ptr @str.747, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.752, i64 8 }, { ptr, i64 } { ptr @str.753, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6633,24 +6661,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.748, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.754, 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.749, 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.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.753, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.754, 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 { { ptr, i64 }, i1, i1 }, ptr %alloca, align 8 @@ -6702,7 +6730,7 @@ entry: %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.755, i64 7 }, { ptr, i64 } { ptr @str.756, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.761, i64 7 }, { 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 @@ -6721,24 +6749,24 @@ 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.757, 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.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.758, 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.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.762, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.768, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.769, 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 @@ -6780,7 +6808,7 @@ 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 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -6790,7 +6818,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.764, i64 9 }, { ptr, i64 } { ptr @str.765, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.770, i64 9 }, { ptr, i64 } { ptr @str.771, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6809,24 +6837,24 @@ 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.766, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.772, 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.767, 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.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.770, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.771, 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 { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -6869,7 +6897,7 @@ 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.772, i64 4 }, { ptr, i64 } { ptr @str.773, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.778, i64 4 }, { 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 @@ -6888,24 +6916,24 @@ 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.774, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.780, 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.775, 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.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.778, i64 0, i64 %loadN + %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.779, 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 { i64, { ptr, i64 } }, ptr %alloca, align 8 @@ -6951,7 +6979,7 @@ 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.780, i64 6 }, { ptr, i64 } { ptr @str.781, i64 1 }) + %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 @@ -6970,24 +6998,24 @@ 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.782, 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.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.783, 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.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 [7 x { ptr, i64 }], ptr @field_names.791, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.797, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.792, 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 %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 @@ -7044,21 +7072,21 @@ 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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge 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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge 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 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -7069,7 +7097,7 @@ 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.793, i64 6 }, { ptr, i64 } { ptr @str.794, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.799, i64 6 }, { ptr, i64 } { ptr @str.800, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7088,24 +7116,24 @@ while.body.252: ; preds = %while.hdr.251 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.795, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.801, 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.796, 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.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 [4 x { ptr, i64 }], ptr @field_names.801, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.802, 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 { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -7134,14 +7162,14 @@ 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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge 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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.255 @@ -7161,7 +7189,7 @@ 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.803, i64 4 }, { ptr, i64 } { ptr @str.804, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.809, i64 4 }, { 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 @@ -7180,24 +7208,24 @@ 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.805, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.811, 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.806, i64 2 }) + %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.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 [1 x { ptr, i64 }], ptr @field_names.808, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.814, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %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 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { [16 x float] }, ptr %alloca, align 4 @@ -7223,7 +7251,7 @@ fv.case: ; preds = %if.merge.260 %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 93, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 94, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -7232,7 +7260,7 @@ define internal { ptr, i64 } @struct_to_string__Vec2(ptr %0, { float, float } %1 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.810, i64 4 }, { ptr, i64 } { ptr @str.811, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.816, i64 4 }, { ptr, i64 } { ptr @str.817, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7251,24 +7279,24 @@ 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.812, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.818, 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.813, 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.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.816, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.822, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %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.823, 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 @@ -7311,7 +7339,7 @@ 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.818, i64 5 }, { ptr, i64 } { ptr @str.819, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.824, i64 5 }, { ptr, i64 } { ptr @str.825, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7330,24 +7358,24 @@ 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.820, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.826, 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.821, i64 2 }) + %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 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.824, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.830, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.825, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i32, i32 }, ptr %alloca, align 4 @@ -7388,7 +7416,7 @@ define internal { ptr, i64 } @struct_to_string__Counter(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.826, i64 7 }, { ptr, i64 } { ptr @str.827, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.832, i64 7 }, { ptr, i64 } { ptr @str.833, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7407,24 +7435,24 @@ while.body.272: ; preds = %while.hdr.271 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.828, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.834, 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.829, 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 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.832, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.838, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.833, i64 2 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, ptr }, ptr %alloca, align 8 @@ -7450,13 +7478,13 @@ fv.default: ; preds = %if.merge.275 fv.case: ; preds = %if.merge.275 %fv.field = extractvalue { ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.275 %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge } @@ -7465,7 +7493,7 @@ define internal { ptr, i64 } @struct_to_string____Counter__Vtable(ptr %0, { 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.834, i64 17 }, { ptr, i64 } { ptr @str.835, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.840, i64 17 }, { ptr, i64 } { ptr @str.841, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7484,24 +7512,24 @@ while.body.277: ; preds = %while.hdr.276 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.836, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.842, 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.837, 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.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.840, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.846, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.841, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, ptr }, ptr %alloca, align 8 @@ -7527,13 +7555,13 @@ fv.default: ; preds = %if.merge.280 fv.case: ; preds = %if.merge.280 %fv.field = extractvalue { ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.280 %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge } @@ -7542,7 +7570,7 @@ define internal { ptr, i64 } @struct_to_string__Summable(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.842, i64 8 }, { ptr, i64 } { ptr @str.843, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.848, i64 8 }, { ptr, i64 } { ptr @str.849, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7561,24 +7589,24 @@ while.body.282: ; preds = %while.hdr.281 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.844, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.850, 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.845, i64 2 }) + %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 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.848, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.854, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.849, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, ptr }, ptr %alloca, align 8 @@ -7604,13 +7632,13 @@ fv.default: ; preds = %if.merge.285 fv.case: ; preds = %if.merge.285 %fv.field = extractvalue { ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.285 %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge } @@ -7619,7 +7647,7 @@ define internal { ptr, i64 } @struct_to_string____Summable__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.850, i64 18 }, { ptr, i64 } { ptr @str.851, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.856, i64 18 }, { ptr, i64 } { ptr @str.857, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7638,24 +7666,24 @@ 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.852, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.858, 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.853, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.859, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 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.855, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.861, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.856, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr }, ptr %alloca, align 8 @@ -7680,7 +7708,7 @@ fv.default: ; preds = %if.merge.290 fv.case: ; preds = %if.merge.290 %fv.field = extractvalue { ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -7689,7 +7717,7 @@ 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.857, i64 13 }, { ptr, i64 } { ptr @str.858, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.863, i64 13 }, { ptr, i64 } { ptr @str.864, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7708,24 +7736,24 @@ 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.859, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.865, 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.860, 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 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 [1 x { ptr, i64 }], ptr @field_names.862, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.868, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.863, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.869, 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 @@ -7759,7 +7787,7 @@ 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.864, i64 5 }, { ptr, i64 } { ptr @str.865, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.870, i64 5 }, { ptr, i64 } { ptr @str.871, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7778,24 +7806,24 @@ 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.866, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.872, 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.867, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.873, 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 [3 x { ptr, i64 }], ptr @field_names.871, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.872, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, ptr, ptr }, ptr %alloca, align 8 @@ -7822,19 +7850,19 @@ fv.default: ; preds = %if.merge.300 fv.case: ; preds = %if.merge.300 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.300 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge fv.case21: ; preds = %if.merge.300 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -7843,7 +7871,7 @@ 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.873, i64 11 }, { ptr, i64 } { ptr @str.874, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.879, i64 11 }, { ptr, i64 } { ptr @str.880, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -7862,24 +7890,24 @@ 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.875, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.881, 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.876, 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 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 [1 x { ptr, i64 }], ptr @field_names.878, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.884, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.885, 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 @@ -7917,9 +7945,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.885, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.891, 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.880, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.886, 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 @@ -7938,8 +7966,8 @@ 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.887, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.886, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.893, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.892, 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 @@ -7958,9 +7986,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.892, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.898, 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.888, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.894, 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 @@ -7979,8 +8007,8 @@ 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.894, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.893, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.900, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.899, 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 @@ -8010,9 +8038,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.902, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.908, 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.895, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.901, 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 @@ -8029,8 +8057,8 @@ entry: 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.904, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.903, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.910, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.909, 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 @@ -8086,7 +8114,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -8095,7 +8123,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -8108,9 +8136,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.913, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.919, 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.905, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.911, 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 @@ -8129,8 +8157,8 @@ 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.915, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.914, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.921, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.920, 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 @@ -8149,9 +8177,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.922, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.928, 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.916, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.922, 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 @@ -8170,8 +8198,8 @@ 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.924, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.923, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.930, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.929, 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 @@ -8188,7 +8216,7 @@ 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.925, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.931, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.332 @@ -8205,12 +8233,12 @@ while.body.333: ; preds = %while.hdr.332 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.926, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.932, i64 1 }) ret { ptr, i64 } %call 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.927, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.933, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.336 @@ -8239,7 +8267,7 @@ 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.928, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.934, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.337 @@ -8256,12 +8284,12 @@ while.body.338: ; preds = %while.hdr.337 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.929, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.935, i64 1 }) ret { ptr, i64 } %call 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.930, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.936, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.341 @@ -8274,7 +8302,7 @@ if.merge.341: ; preds = %if.then.340, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -8291,7 +8319,7 @@ 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.931, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.937, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.342 @@ -8308,12 +8336,12 @@ while.body.343: ; preds = %while.hdr.342 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.932, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.938, i64 1 }) ret { ptr, i64 } %call 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.933, i64 2 }) + %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.346 @@ -8341,7 +8369,7 @@ 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.934, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.940, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.347 @@ -8358,12 +8386,12 @@ while.body.348: ; preds = %while.hdr.347 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.935, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.941, i64 1 }) ret { ptr, i64 } %call 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.936, 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.351 @@ -8392,7 +8420,7 @@ 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.937, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.943, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.352 @@ -8409,12 +8437,12 @@ while.body.353: ; preds = %while.hdr.352 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.938, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.944, i64 1 }) ret { ptr, i64 } %call 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.939, 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 br label %if.merge.356 @@ -8442,7 +8470,7 @@ 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.940, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.946, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.357 @@ -8459,12 +8487,12 @@ while.body.358: ; preds = %while.hdr.357 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.941, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.947, i64 1 }) ret { ptr, i64 } %call 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.942, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.948, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.361 @@ -8495,7 +8523,7 @@ 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.943, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.949, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.362 @@ -8512,12 +8540,12 @@ while.body.363: ; preds = %while.hdr.362 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.944, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.950, i64 1 }) ret { ptr, i64 } %call 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.945, i64 2 }) + %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.366 @@ -8547,7 +8575,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.946, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.952, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.374 @@ -8566,12 +8594,12 @@ while.body.375: ; preds = %while.hdr.374 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.947, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.953, i64 1 }) ret { ptr, i64 } %call 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.948, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.954, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.378 @@ -8600,7 +8628,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.949, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.955, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.379 @@ -8619,12 +8647,12 @@ while.body.380: ; preds = %while.hdr.379 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.950, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.956, i64 1 }) ret { ptr, i64 } %call 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.951, i64 2 }) + %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 br label %if.merge.383 @@ -8653,7 +8681,7 @@ 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.952, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.958, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.384 @@ -8672,12 +8700,12 @@ while.body.385: ; preds = %while.hdr.384 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.953, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.959, i64 1 }) ret { ptr, i64 } %call 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.954, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.960, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.388 @@ -8690,7 +8718,7 @@ if.merge.388: ; preds = %if.then.387, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -8707,7 +8735,7 @@ 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.955, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.961, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.389 @@ -8726,12 +8754,12 @@ while.body.390: ; preds = %while.hdr.389 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.956, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.962, i64 1 }) ret { ptr, i64 } %call 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.957, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.963, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.393 @@ -8744,7 +8772,7 @@ if.merge.393: ; preds = %if.then.392, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -8761,7 +8789,7 @@ 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.958, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.964, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.394 @@ -8780,12 +8808,12 @@ while.body.395: ; preds = %while.hdr.394 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.959, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.965, i64 1 }) ret { ptr, i64 } %call 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.960, i64 2 }) + %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 br label %if.merge.398 @@ -8827,12 +8855,12 @@ if.then.439: ; preds = %entry 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.963, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.962, i64 5 }, { ptr, i64 } %callN) + %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 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.961, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] + %bp = phi { ptr, i64 } [ { ptr @str.967, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] ret { ptr, i64 } %bp } @@ -8855,12 +8883,12 @@ if.then.455: ; preds = %entry 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.966, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.965, i64 11 }, { ptr, i64 } %callN) + %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 11 }, { ptr, i64 } %callN) br label %if.merge.457 if.merge.457: ; preds = %if.else.456, %if.then.455 - %bp = phi { ptr, i64 } [ { ptr @str.964, i64 4 }, %if.then.455 ], [ %callN, %if.else.456 ] + %bp = phi { ptr, i64 } [ { ptr @str.970, i64 4 }, %if.then.455 ], [ %callN, %if.else.456 ] ret { ptr, i64 } %bp } @@ -8883,12 +8911,12 @@ if.then.458: ; preds = %entry 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.969, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.968, i64 4 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.460 if.merge.460: ; preds = %if.else.459, %if.then.458 - %bp = phi { ptr, i64 } [ { ptr @str.967, i64 4 }, %if.then.458 ], [ %callN, %if.else.459 ] + %bp = phi { ptr, i64 } [ { ptr @str.973, i64 4 }, %if.then.458 ], [ %callN, %if.else.459 ] ret { ptr, i64 } %bp } @@ -8911,12 +8939,12 @@ if.then.461: ; preds = %entry 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.972, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.971, i64 11 }, { ptr, i64 } %callN) + %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 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.970, i64 4 }, %if.then.461 ], [ %callN, %if.else.462 ] + %bp = phi { ptr, i64 } [ { ptr @str.976, i64 4 }, %if.then.461 ], [ %callN, %if.else.462 ] ret { ptr, i64 } %bp } @@ -8939,12 +8967,12 @@ 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.975, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.974, i64 6 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.466 if.merge.466: ; preds = %if.else.465, %if.then.464 - %bp = phi { ptr, i64 } [ { ptr @str.973, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] + %bp = phi { ptr, i64 } [ { ptr @str.979, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] ret { ptr, i64 } %bp } @@ -8966,12 +8994,12 @@ if.then.467: ; preds = %entry 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.978, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.977, i64 5 }, { ptr, i64 } %callN) + %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 5 }, { ptr, i64 } %callN) br label %if.merge.469 if.merge.469: ; preds = %if.else.468, %if.then.467 - %bp = phi { ptr, i64 } [ { ptr @str.976, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] + %bp = phi { ptr, i64 } [ { ptr @str.982, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] ret { ptr, i64 } %bp } @@ -8994,12 +9022,12 @@ 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.981, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.980, i64 9 }, { ptr, i64 } %callN) + %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 9 }, { ptr, i64 } %callN) br label %if.merge.472 if.merge.472: ; preds = %if.else.471, %if.then.470 - %bp = phi { ptr, i64 } [ { ptr @str.979, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] + %bp = phi { ptr, i64 } [ { ptr @str.985, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] ret { ptr, i64 } %bp } @@ -9022,12 +9050,12 @@ if.then.473: ; preds = %entry 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.984, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.983, i64 18 }, { ptr, i64 } %callN) + %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 18 }, { ptr, i64 } %callN) br label %if.merge.475 if.merge.475: ; preds = %if.else.474, %if.then.473 - %bp = phi { ptr, i64 } [ { ptr @str.982, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] + %bp = phi { ptr, i64 } [ { ptr @str.988, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] ret { ptr, i64 } %bp } @@ -9050,17 +9078,17 @@ if.then.476: ; preds = %entry 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.987, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.986, i64 5 }, { ptr, i64 } %callN) + %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 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.985, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] + %bp = phi { ptr, i64 } [ { ptr @str.991, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -9078,17 +9106,17 @@ if.then.479: ; preds = %entry 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.990, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.989, i64 3 }, { ptr, i64 } %callN) + %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 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.988, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] + %bp = phi { ptr, i64 } [ { ptr @str.994, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -9106,17 +9134,17 @@ 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.993, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.992, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.999, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.998, i64 9 }, { ptr, i64 } %callN) br label %if.merge.484 if.merge.484: ; preds = %if.else.483, %if.then.482 - %bp = phi { ptr, i64 } [ { ptr @str.991, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] + %bp = phi { ptr, i64 } [ { ptr @str.997, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -9134,40 +9162,12 @@ if.then.485: ; 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.996, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.995, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1002, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1001, i64 4 }, { ptr, i64 } %callN) br label %if.merge.487 if.merge.487: ; preds = %if.else.486, %if.then.485 - %bp = phi { ptr, i64 } [ { ptr @str.994, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.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.999, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.998, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.490 - -if.merge.490: ; preds = %if.else.489, %if.then.488 - %bp = phi { ptr, i64 } [ { ptr @str.997, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] + %bp = phi { ptr, i64 } [ { ptr @str.1000, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] ret { ptr, i64 } %bp } @@ -9181,20 +9181,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.488, label %if.else.489 -if.then.491: ; preds = %entry - br label %if.merge.493 +if.then.488: ; preds = %entry + br label %if.merge.490 -if.else.492: ; 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.1002, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1001, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.493 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1005, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1004, i64 8 }, { ptr, i64 } %callN) + br label %if.merge.490 -if.merge.493: ; preds = %if.else.492, %if.then.491 - %bp = phi { ptr, i64 } [ { ptr @str.1000, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] +if.merge.490: ; preds = %if.else.489, %if.then.488 + %bp = phi { ptr, i64 } [ { ptr @str.1003, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] ret { ptr, i64 } %bp } @@ -9209,20 +9209,20 @@ entry: store i64 %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.491, label %if.else.492 -if.then.494: ; preds = %entry - br label %if.merge.496 +if.then.491: ; preds = %entry + br label %if.merge.493 -if.else.495: ; 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.1005, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1004, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.496 + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1008, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1007, i64 6 }, { ptr, i64 } %callN) + br label %if.merge.493 -if.merge.496: ; preds = %if.else.495, %if.then.494 - %bp = phi { ptr, i64 } [ { ptr @str.1003, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] +if.merge.493: ; preds = %if.else.492, %if.then.491 + %bp = phi { ptr, i64 } [ { ptr @str.1006, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] ret { ptr, i64 } %bp } @@ -9236,6 +9236,34 @@ 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.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.1011, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1010, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.496 + +if.merge.496: ; preds = %if.else.495, %if.then.494 + %bp = phi { ptr, i64 } [ { ptr @str.1009, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.497, label %if.else.498 if.then.497: ; preds = %entry @@ -9244,17 +9272,17 @@ if.then.497: ; 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.1008, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1007, i64 9 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.499 if.merge.499: ; preds = %if.else.498, %if.then.497 - %bp = phi { ptr, i64 } [ { ptr @str.1006, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] + %bp = phi { ptr, i64 } [ { ptr @str.1012, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -9272,17 +9300,17 @@ if.then.500: ; 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.1011, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1010, i64 7 }, { ptr, i64 } %callN) + %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 5 }, { ptr, i64 } %callN) br label %if.merge.502 if.merge.502: ; preds = %if.else.501, %if.then.500 - %bp = phi { ptr, i64 } [ { ptr @str.1009, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] + %bp = phi { ptr, i64 } [ { ptr @str.1015, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -9300,17 +9328,17 @@ if.then.503: ; 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.1014, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1013, i64 5 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.505 if.merge.505: ; preds = %if.else.504, %if.then.503 - %bp = phi { ptr, i64 } [ { ptr @str.1012, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] + %bp = phi { ptr, i64 } [ { ptr @str.1018, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -9328,17 +9356,17 @@ if.then.506: ; 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.1017, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1016, i64 7 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.508 if.merge.508: ; preds = %if.else.507, %if.then.506 - %bp = phi { ptr, i64 } [ { ptr @str.1015, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] + %bp = phi { ptr, i64 } [ { ptr @str.1021, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -9356,17 +9384,17 @@ if.then.509: ; 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.1020, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1019, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.511 if.merge.511: ; preds = %if.else.510, %if.then.509 - %bp = phi { ptr, i64 } [ { ptr @str.1018, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] + %bp = phi { ptr, i64 } [ { ptr @str.1024, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -9384,17 +9412,17 @@ if.then.512: ; 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.1023, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1022, i64 7 }, { ptr, i64 } %callN) + %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.514 if.merge.514: ; preds = %if.else.513, %if.then.512 - %bp = phi { ptr, i64 } [ { ptr @str.1021, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] + %bp = phi { ptr, i64 } [ { ptr @str.1027, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -9412,17 +9440,17 @@ if.then.515: ; 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.1026, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1025, i64 5 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.517 if.merge.517: ; preds = %if.else.516, %if.then.515 - %bp = phi { ptr, i64 } [ { ptr @str.1024, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] + %bp = phi { ptr, i64 } [ { ptr @str.1030, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SimpleCounter(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -9440,17 +9468,17 @@ if.then.518: ; 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.1029, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1028, i64 7 }, { ptr, i64 } %callN) + %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 14 }, { ptr, i64 } %callN) br label %if.merge.520 if.merge.520: ; preds = %if.else.519, %if.then.518 - %bp = phi { ptr, i64 } [ { ptr @str.1027, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] + %bp = phi { ptr, i64 } [ { ptr @str.1033, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SimpleCounter(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Point(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -9468,17 +9496,17 @@ if.then.521: ; 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.1032, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1031, i64 14 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.523 if.merge.523: ; preds = %if.else.522, %if.then.521 - %bp = phi { ptr, i64 } [ { ptr @str.1030, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] + %bp = phi { ptr, i64 } [ { ptr @str.1036, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Point(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Accumulator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -9496,17 +9524,17 @@ if.then.524: ; 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.1035, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1034, i64 6 }, { ptr, i64 } %callN) + %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 12 }, { ptr, i64 } %callN) br label %if.merge.526 if.merge.526: ; preds = %if.else.525, %if.then.524 - %bp = phi { ptr, i64 } [ { ptr @str.1033, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] + %bp = phi { ptr, i64 } [ { ptr @str.1039, i64 4 }, %if.then.524 ], [ %callN, %if.else.525 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Accumulator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -9524,17 +9552,17 @@ if.then.527: ; 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.1038, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1037, i64 12 }, { ptr, i64 } %callN) + %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 12 }, { ptr, i64 } %callN) br label %if.merge.529 if.merge.529: ; preds = %if.else.528, %if.then.527 - %bp = phi { ptr, i64 } [ { ptr @str.1036, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] + %bp = phi { ptr, i64 } [ { ptr @str.1042, i64 4 }, %if.then.527 ], [ %callN, %if.else.528 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -9552,17 +9580,17 @@ if.then.530: ; 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.1041, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1040, i64 12 }, { ptr, i64 } %callN) + %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 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.1039, i64 4 }, %if.then.530 ], [ %callN, %if.else.531 ] + %bp = phi { ptr, i64 } [ { ptr @str.1045, i64 4 }, %if.then.530 ], [ %callN, %if.else.531 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -9580,17 +9608,17 @@ if.then.533: ; 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.1044, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1043, i64 6 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.535 if.merge.535: ; preds = %if.else.534, %if.then.533 - %bp = phi { ptr, i64 } [ { ptr @str.1042, i64 4 }, %if.then.533 ], [ %callN, %if.else.534 ] + %bp = phi { ptr, i64 } [ { ptr @str.1048, i64 4 }, %if.then.533 ], [ %callN, %if.else.534 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -9608,17 +9636,17 @@ if.then.536: ; 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.1047, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1046, i64 7 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.538 if.merge.538: ; preds = %if.else.537, %if.then.536 - %bp = phi { ptr, i64 } [ { ptr @str.1045, i64 4 }, %if.then.536 ], [ %callN, %if.else.537 ] + %bp = phi { ptr, i64 } [ { ptr @str.1051, i64 4 }, %if.then.536 ], [ %callN, %if.else.537 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -9636,17 +9664,17 @@ if.then.539: ; 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.1050, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1049, i64 4 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.541 if.merge.541: ; preds = %if.else.540, %if.then.539 - %bp = phi { ptr, i64 } [ { ptr @str.1048, i64 4 }, %if.then.539 ], [ %callN, %if.else.540 ] + %bp = phi { ptr, i64 } [ { ptr @str.1054, i64 4 }, %if.then.539 ], [ %callN, %if.else.540 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -9664,12 +9692,12 @@ if.then.542: ; 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.1053, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1052, i64 6 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.544 if.merge.544: ; preds = %if.else.543, %if.then.542 - %bp = phi { ptr, i64 } [ { ptr @str.1051, i64 4 }, %if.then.542 ], [ %callN, %if.else.543 ] + %bp = phi { ptr, i64 } [ { ptr @str.1057, i64 4 }, %if.then.542 ], [ %callN, %if.else.543 ] ret { ptr, i64 } %bp } @@ -9692,12 +9720,12 @@ if.then.545: ; 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.1056, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1055, i64 5 }, { ptr, i64 } %callN) + %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.547 if.merge.547: ; preds = %if.else.546, %if.then.545 - %bp = phi { ptr, i64 } [ { ptr @str.1054, i64 4 }, %if.then.545 ], [ %callN, %if.else.546 ] + %bp = phi { ptr, i64 } [ { ptr @str.1060, i64 4 }, %if.then.545 ], [ %callN, %if.else.546 ] ret { ptr, i64 } %bp } @@ -9720,12 +9748,12 @@ if.then.548: ; 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.1059, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1058, i64 8 }, { ptr, i64 } %callN) + %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 8 }, { ptr, i64 } %callN) br label %if.merge.550 if.merge.550: ; preds = %if.else.549, %if.then.548 - %bp = phi { ptr, i64 } [ { ptr @str.1057, i64 4 }, %if.then.548 ], [ %callN, %if.else.549 ] + %bp = phi { ptr, i64 } [ { ptr @str.1063, i64 4 }, %if.then.548 ], [ %callN, %if.else.549 ] ret { ptr, i64 } %bp } @@ -9748,12 +9776,12 @@ if.then.551: ; 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.1062, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1061, i64 15 }, { ptr, i64 } %callN) + %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 15 }, { ptr, i64 } %callN) br label %if.merge.553 if.merge.553: ; preds = %if.else.552, %if.then.551 - %bp = phi { ptr, i64 } [ { ptr @str.1060, i64 4 }, %if.then.551 ], [ %callN, %if.else.552 ] + %bp = phi { ptr, i64 } [ { ptr @str.1066, i64 4 }, %if.then.551 ], [ %callN, %if.else.552 ] ret { ptr, i64 } %bp } @@ -9776,12 +9804,12 @@ if.then.554: ; 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.1065, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1064, i64 18 }, { ptr, i64 } %callN) + %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 18 }, { ptr, i64 } %callN) br label %if.merge.556 if.merge.556: ; preds = %if.else.555, %if.then.554 - %bp = phi { ptr, i64 } [ { ptr @str.1063, i64 4 }, %if.then.554 ], [ %callN, %if.else.555 ] + %bp = phi { ptr, i64 } [ { ptr @str.1069, i64 4 }, %if.then.554 ], [ %callN, %if.else.555 ] ret { ptr, i64 } %bp } @@ -9804,12 +9832,12 @@ if.then.557: ; 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.1068, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1067, i64 7 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.559 if.merge.559: ; preds = %if.else.558, %if.then.557 - %bp = phi { ptr, i64 } [ { ptr @str.1066, i64 4 }, %if.then.557 ], [ %callN, %if.else.558 ] + %bp = phi { ptr, i64 } [ { ptr @str.1072, i64 4 }, %if.then.557 ], [ %callN, %if.else.558 ] ret { ptr, i64 } %bp } @@ -9832,12 +9860,12 @@ if.then.560: ; 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.1071, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1070, i64 6 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.562 if.merge.562: ; preds = %if.else.561, %if.then.560 - %bp = phi { ptr, i64 } [ { ptr @str.1069, i64 4 }, %if.then.560 ], [ %callN, %if.else.561 ] + %bp = phi { ptr, i64 } [ { ptr @str.1075, i64 4 }, %if.then.560 ], [ %callN, %if.else.561 ] ret { ptr, i64 } %bp } @@ -9860,12 +9888,12 @@ if.then.563: ; 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.1074, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.1073, i64 13 }, { ptr, i64 } %callN) + %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 13 }, { ptr, i64 } %callN) br label %if.merge.565 if.merge.565: ; preds = %if.else.564, %if.then.563 - %bp = phi { ptr, i64 } [ { ptr @str.1072, i64 4 }, %if.then.563 ], [ %callN, %if.else.564 ] + %bp = phi { ptr, i64 } [ { ptr @str.1078, i64 4 }, %if.then.563 ], [ %callN, %if.else.564 ] ret { ptr, i64 } %bp } @@ -9878,17 +9906,17 @@ 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.572, label %if.merge.573 + br i1 %lnot, label %if.then.573, label %if.merge.574 -if.then.572: ; preds = %entry - ret { ptr, i64 } { ptr @str.1075, i64 4 } +if.then.573: ; preds = %entry + ret { ptr, i64 } { ptr @str.1081, i64 4 } -if.merge.573: ; preds = %entry +if.merge.574: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -9902,12 +9930,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.574, label %if.merge.575 + br i1 %lnot, label %if.then.575, label %if.merge.576 -if.then.574: ; preds = %entry - ret { ptr, i64 } { ptr @str.1076, i64 4 } +if.then.575: ; preds = %entry + ret { ptr, i64 } { ptr @str.1082, i64 4 } -if.merge.575: ; preds = %entry +if.merge.576: ; 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 @@ -9917,6 +9945,27 @@ if.merge.575: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.577, label %if.merge.578 + +if.then.577: ; preds = %entry + ret { ptr, i64 } { ptr @str.1083, i64 4 } + +if.merge.578: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -9926,17 +9975,17 @@ 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.576, label %if.merge.577 + br i1 %lnot, label %if.then.579, label %if.merge.580 -if.then.576: ; preds = %entry - ret { ptr, i64 } { ptr @str.1077, i64 4 } +if.then.579: ; preds = %entry + ret { ptr, i64 } { ptr @str.1084, i64 4 } -if.merge.577: ; preds = %entry +if.merge.580: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -9950,17 +9999,17 @@ 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.578, label %if.merge.579 + br i1 %lnot, label %if.then.581, label %if.merge.582 -if.then.578: ; preds = %entry - ret { ptr, i64 } { ptr @str.1078, i64 4 } +if.then.581: ; preds = %entry + ret { ptr, i64 } { ptr @str.1085, i64 4 } -if.merge.579: ; preds = %entry +if.merge.582: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } diff --git a/examples/expected/0507-packs-pack-mono-dedup.ir b/examples/expected/0507-packs-pack-mono-dedup.ir index f567ca8..99ec803 100644 --- a/examples/expected/0507-packs-pack-mono-dedup.ir +++ b/examples/expected/0507-packs-pack-mono-dedup.ir @@ -7,7 +7,7 @@ @str.78 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.79 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.80 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [168 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] +@__sx_type_is_unsigned = private constant [171 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.81 = private constant [9 x i8] c"Overflow\00" @tag.str.82 = private constant [3 x i8] c"Io\00" @@ -41,450 +41,450 @@ @tn.str.108 = private constant [6 x i8] c"isize\00" @tn.str.109 = private constant [6 x i8] c"usize\00" @tn.str.110 = private constant [5 x i8] c"void\00" -@tn.str.111 = private constant [6 x i8] c"*void\00" -@tn.str.112 = private constant [16 x i8] c"Source_Location\00" -@tn.str.113 = private constant [10 x i8] c"Allocator\00" -@tn.str.114 = private constant [8 x i8] c"Context\00" -@tn.str.115 = private constant [7 x i8] c"[4]i64\00" -@tn.str.116 = private constant [9 x i8] c"[]string\00" -@tn.str.117 = private constant [11 x i8] c"CAllocator\00" -@tn.str.118 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.119 = private constant [4 x i8] c"GPA\00" -@tn.str.120 = private constant [5 x i8] c"*GPA\00" -@tn.str.121 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.122 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.123 = private constant [6 x i8] c"Arena\00" -@tn.str.124 = private constant [7 x i8] c"*Arena\00" -@tn.str.125 = private constant [6 x i8] c"[*]u8\00" -@tn.str.126 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.127 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.128 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.129 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.130 = private constant [9 x i8] c"OpenMode\00" -@tn.str.131 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.132 = private constant [5 x i8] c"File\00" -@tn.str.133 = private constant [6 x i8] c"*File\00" -@tn.str.134 = private constant [6 x i8] c"?File\00" -@tn.str.135 = private constant [8 x i8] c"?string\00" -@tn.str.136 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.137 = private constant [4 x i8] c"*u8\00" -@tn.str.138 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.139 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.140 = private constant [5 x i8] c"*i32\00" -@tn.str.141 = private constant [9 x i8] c"SockAddr\00" -@tn.str.142 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.143 = private constant [5 x i8] c"*u32\00" -@tn.str.144 = private constant [10 x i8] c"JsonError\00" -@tn.str.145 = private constant [6 x i8] c"Array\00" -@tn.str.146 = private constant [7 x i8] c"Object\00" -@tn.str.147 = private constant [6 x i8] c"Value\00" -@tn.str.148 = private constant [7 x i8] c"Member\00" -@tn.str.149 = private constant [9 x i8] c"[*]Value\00" -@tn.str.150 = private constant [7 x i8] c"*Array\00" -@tn.str.151 = private constant [10 x i8] c"[*]Member\00" -@tn.str.152 = private constant [8 x i8] c"*Object\00" -@tn.str.153 = private constant [5 x i8] c"[]u8\00" -@tn.str.154 = private constant [5 x i8] c"Sink\00" -@tn.str.155 = private constant [6 x i8] c"*Sink\00" -@tn.str.156 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.157 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.158 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.159 = private constant [7 x i8] c"Parser\00" -@tn.str.160 = private constant [8 x i8] c"*Parser\00" -@tn.str.161 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.162 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.163 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.164 = private constant [13 x i8] c"Architecture\00" -@tn.str.165 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.166 = private constant [11 x i8] c"() -> bool\00" -@tn.str.167 = private constant [5 x i8] c"*i64\00" -@tn.str.168 = private constant [9 x i8] c"CliError\00" -@tn.str.169 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.170 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.171 = private constant [8 x i8] c"Command\00" -@tn.str.172 = private constant [10 x i8] c"FlagValue\00" -@tn.str.173 = private constant [5 x i8] c"Diag\00" -@tn.str.174 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.175 = private constant [7 x i8] c"Parsed\00" -@tn.str.176 = private constant [8 x i8] c"*Parsed\00" -@tn.str.177 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.178 = private constant [10 x i8] c"[]Command\00" -@tn.str.179 = private constant [6 x i8] c"*Diag\00" -@tn.str.180 = private constant [7 x i8] c"[8]i64\00" -@tn.str.181 = private constant [7 x i8] c"[64]u8\00" -@tn.str.182 = private constant [7 x i8] c"Sha256\00" -@tn.str.183 = private constant [8 x i8] c"*Sha256\00" -@tn.str.184 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.185 = private constant [8 x i8] c"[64]i64\00" -@tn.str.186 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.187 = private constant [7 x i8] c"**void\00" -@tn.str.188 = private constant [6 x i8] c"[]Any\00" -@tn.str.189 = private constant [5 x i8] c"*Any\00" -@tn.str.190 = private constant [7 x i8] c"*[]Any\00" -@tn.str.191 = private constant [7 x i8] c"[1]Any\00" -@tn.str.192 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.193 = private constant [7 x i8] c"[3]Any\00" -@tn.str.194 = private constant [8 x i8] c"*[3]Any\00" -@tn.str.195 = private constant [8 x i8] c"*string\00" -@tn.str.196 = private constant [6 x i8] c"*bool\00" -@tn.str.197 = private constant [7 x i8] c"[2]Any\00" -@tn.str.198 = private constant [8 x i8] c"*[2]Any\00" -@tn.str.199 = private constant [7 x i8] c"[5]Any\00" -@tn.str.200 = private constant [8 x i8] c"*[5]Any\00" -@tn.str.201 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.202 = private constant [5 x i8] c"*f64\00" -@tn.str.203 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.204 = private constant [11 x i8] c"*Allocator\00" -@tn.str.205 = private constant [9 x i8] c"*Context\00" -@tn.str.206 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.207 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.208 = private constant [8 x i8] c"*Member\00" -@tn.str.209 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.210 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.211 = private constant [9 x i8] c"*Command\00" -@tn.str.212 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.213 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.214 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.215 = private constant [7 x i8] c"*Value\00" -@tn.str.216 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.217 = private constant [14 x i8] c"*Architecture\00" -@tn.str.218 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.219 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.220 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.221 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.222 = private constant [10 x i8] c"*[]string\00" -@tn.str.223 = private constant [6 x i8] c"*[]u8\00" -@tn.str.224 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.225 = private constant [11 x i8] c"*[]Command\00" -@tn.str.226 = private constant [6 x i8] c"**GPA\00" -@tn.str.227 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.228 = private constant [8 x i8] c"**Arena\00" -@tn.str.229 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.230 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.231 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.232 = private constant [7 x i8] c"**File\00" -@tn.str.233 = private constant [5 x i8] c"**u8\00" -@tn.str.234 = private constant [6 x i8] c"**i32\00" -@tn.str.235 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.236 = private constant [6 x i8] c"**u32\00" -@tn.str.237 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.238 = private constant [8 x i8] c"**Array\00" -@tn.str.239 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.240 = private constant [9 x i8] c"**Object\00" -@tn.str.241 = private constant [7 x i8] c"**Sink\00" -@tn.str.242 = private constant [9 x i8] c"**Parser\00" -@tn.str.243 = private constant [6 x i8] c"**i64\00" -@tn.str.244 = private constant [9 x i8] c"**Parsed\00" -@tn.str.245 = private constant [7 x i8] c"**Diag\00" -@tn.str.246 = private constant [9 x i8] c"**Sha256\00" -@tn.str.247 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.248 = private constant [8 x i8] c"***void\00" -@tn.str.249 = private constant [6 x i8] c"**Any\00" -@tn.str.250 = private constant [8 x i8] c"**[]Any\00" -@tn.str.251 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.252 = private constant [9 x i8] c"**[3]Any\00" -@tn.str.253 = private constant [9 x i8] c"**string\00" -@tn.str.254 = private constant [7 x i8] c"**bool\00" -@tn.str.255 = private constant [9 x i8] c"**[2]Any\00" -@tn.str.256 = private constant [9 x i8] c"**[5]Any\00" -@tn.str.257 = private constant [7 x i8] c"*?File\00" -@tn.str.258 = private constant [9 x i8] c"*?string\00" -@tn.str.259 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.260 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [168 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 15 }, { ptr, i64 } { ptr @tn.str.113, i64 9 }, { ptr, i64 } { ptr @tn.str.114, i64 7 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 8 }, { ptr, i64 } { ptr @tn.str.117, i64 10 }, { ptr, i64 } { ptr @tn.str.118, i64 11 }, { ptr, i64 } { ptr @tn.str.119, i64 3 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 10 }, { ptr, i64 } { ptr @tn.str.122, i64 11 }, { ptr, i64 } { ptr @tn.str.123, i64 5 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 5 }, { ptr, i64 } { ptr @tn.str.126, i64 8 }, { ptr, i64 } { ptr @tn.str.127, i64 9 }, { ptr, i64 } { ptr @tn.str.128, i64 17 }, { ptr, i64 } { ptr @tn.str.129, i64 18 }, { ptr, i64 } { ptr @tn.str.130, i64 8 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 4 }, { ptr, i64 } { ptr @tn.str.133, i64 5 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 7 }, { ptr, i64 } { ptr @tn.str.136, i64 10 }, { ptr, i64 } { ptr @tn.str.137, i64 3 }, { ptr, i64 } { ptr @tn.str.138, i64 13 }, { ptr, i64 } { ptr @tn.str.139, i64 14 }, { ptr, i64 } { ptr @tn.str.140, i64 4 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 9 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 9 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 6 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 6 }, { ptr, i64 } { ptr @tn.str.149, i64 8 }, { ptr, i64 } { ptr @tn.str.150, i64 6 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 7 }, { ptr, i64 } { ptr @tn.str.153, i64 4 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 5 }, { ptr, i64 } { ptr @tn.str.156, i64 16 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 21 }, { ptr, i64 } { ptr @tn.str.159, i64 6 }, { ptr, i64 } { ptr @tn.str.160, i64 7 }, { ptr, i64 } { ptr @tn.str.161, i64 24 }, { ptr, i64 } { ptr @tn.str.162, i64 23 }, { ptr, i64 } { ptr @tn.str.163, i64 15 }, { ptr, i64 } { ptr @tn.str.164, i64 12 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 10 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 8 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 10 }, { ptr, i64 } { ptr @tn.str.171, i64 7 }, { ptr, i64 } { ptr @tn.str.172, i64 9 }, { ptr, i64 } { ptr @tn.str.173, i64 4 }, { ptr, i64 } { ptr @tn.str.174, i64 13 }, { ptr, i64 } { ptr @tn.str.175, i64 6 }, { ptr, i64 } { ptr @tn.str.176, i64 7 }, { ptr, i64 } { ptr @tn.str.177, i64 18 }, { ptr, i64 } { ptr @tn.str.178, i64 9 }, { ptr, i64 } { ptr @tn.str.179, i64 5 }, { ptr, i64 } { ptr @tn.str.180, i64 6 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 12 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 5 }, { ptr, i64 } { ptr @tn.str.189, i64 4 }, { ptr, i64 } { ptr @tn.str.190, i64 6 }, { ptr, i64 } { ptr @tn.str.191, i64 6 }, { ptr, i64 } { ptr @tn.str.192, i64 7 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 7 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 5 }, { ptr, i64 } { ptr @tn.str.197, i64 6 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { 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 4 }, { ptr, i64 } { ptr @tn.str.203, i64 16 }, { ptr, i64 } { ptr @tn.str.204, i64 10 }, { ptr, i64 } { ptr @tn.str.205, i64 8 }, { ptr, i64 } { ptr @tn.str.206, i64 11 }, { ptr, i64 } { ptr @tn.str.207, i64 14 }, { ptr, i64 } { ptr @tn.str.208, i64 7 }, { ptr, i64 } { ptr @tn.str.209, i64 13 }, { ptr, i64 } { ptr @tn.str.210, i64 9 }, { ptr, i64 } { ptr @tn.str.211, i64 8 }, { ptr, i64 } { ptr @tn.str.212, i64 10 }, { ptr, i64 } { ptr @tn.str.213, i64 9 }, { ptr, i64 } { ptr @tn.str.214, i64 9 }, { ptr, i64 } { ptr @tn.str.215, i64 6 }, { ptr, i64 } { ptr @tn.str.216, i64 16 }, { ptr, i64 } { ptr @tn.str.217, i64 13 }, { ptr, i64 } { ptr @tn.str.218, i64 14 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 7 }, { ptr, i64 } { ptr @tn.str.221, i64 8 }, { ptr, i64 } { ptr @tn.str.222, i64 9 }, { ptr, i64 } { ptr @tn.str.223, i64 5 }, { ptr, i64 } { ptr @tn.str.224, i64 11 }, { ptr, i64 } { ptr @tn.str.225, i64 10 }, { ptr, i64 } { ptr @tn.str.226, i64 5 }, { ptr, i64 } { ptr @tn.str.227, i64 12 }, { ptr, i64 } { ptr @tn.str.228, i64 7 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 10 }, { ptr, i64 } { ptr @tn.str.231, i64 19 }, { ptr, i64 } { ptr @tn.str.232, i64 6 }, { ptr, i64 } { ptr @tn.str.233, i64 4 }, { ptr, i64 } { ptr @tn.str.234, i64 5 }, { ptr, i64 } { ptr @tn.str.235, i64 10 }, { ptr, i64 } { ptr @tn.str.236, i64 5 }, { ptr, i64 } { ptr @tn.str.237, i64 9 }, { ptr, i64 } { ptr @tn.str.238, i64 7 }, { ptr, i64 } { ptr @tn.str.239, i64 10 }, { ptr, i64 } { ptr @tn.str.240, i64 8 }, { ptr, i64 } { ptr @tn.str.241, i64 6 }, { ptr, i64 } { ptr @tn.str.242, i64 8 }, { ptr, i64 } { ptr @tn.str.243, i64 5 }, { ptr, i64 } { ptr @tn.str.244, i64 8 }, { ptr, i64 } { ptr @tn.str.245, i64 6 }, { ptr, i64 } { ptr @tn.str.246, i64 8 }, { ptr, i64 } { ptr @tn.str.247, i64 13 }, { ptr, i64 } { ptr @tn.str.248, i64 7 }, { ptr, i64 } { ptr @tn.str.249, i64 5 }, { ptr, i64 } { ptr @tn.str.250, i64 7 }, { ptr, i64 } { ptr @tn.str.251, i64 8 }, { ptr, i64 } { ptr @tn.str.252, i64 8 }, { ptr, i64 } { ptr @tn.str.253, i64 8 }, { ptr, i64 } { ptr @tn.str.254, i64 6 }, { ptr, i64 } { ptr @tn.str.255, i64 8 }, { ptr, i64 } { ptr @tn.str.256, i64 8 }, { ptr, i64 } { ptr @tn.str.257, i64 6 }, { ptr, i64 } { ptr @tn.str.258, i64 8 }, { ptr, i64 } { ptr @tn.str.259, i64 15 }, { ptr, i64 } { ptr @tn.str.260, i64 8 }] -@str.261 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.262 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.263 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@tn.str.111 = private constant [8 x i8] c"cstring\00" +@tn.str.112 = private constant [6 x i8] c"*void\00" +@tn.str.113 = private constant [16 x i8] c"Source_Location\00" +@tn.str.114 = private constant [10 x i8] c"Allocator\00" +@tn.str.115 = private constant [8 x i8] c"Context\00" +@tn.str.116 = private constant [7 x i8] c"[4]i64\00" +@tn.str.117 = private constant [9 x i8] c"[]string\00" +@tn.str.118 = private constant [11 x i8] c"CAllocator\00" +@tn.str.119 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.120 = private constant [4 x i8] c"GPA\00" +@tn.str.121 = private constant [5 x i8] c"*GPA\00" +@tn.str.122 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.123 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.124 = private constant [6 x i8] c"Arena\00" +@tn.str.125 = private constant [7 x i8] c"*Arena\00" +@tn.str.126 = private constant [6 x i8] c"[*]u8\00" +@tn.str.127 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.128 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.129 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.130 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.131 = private constant [9 x i8] c"OpenMode\00" +@tn.str.132 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.133 = private constant [5 x i8] c"File\00" +@tn.str.134 = private constant [6 x i8] c"*File\00" +@tn.str.135 = private constant [6 x i8] c"?File\00" +@tn.str.136 = private constant [8 x i8] c"?string\00" +@tn.str.137 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.138 = private constant [9 x i8] c"?cstring\00" +@tn.str.139 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.140 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.141 = private constant [5 x i8] c"*i32\00" +@tn.str.142 = private constant [9 x i8] c"SockAddr\00" +@tn.str.143 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.144 = private constant [5 x i8] c"*u32\00" +@tn.str.145 = private constant [10 x i8] c"JsonError\00" +@tn.str.146 = private constant [6 x i8] c"Array\00" +@tn.str.147 = private constant [7 x i8] c"Object\00" +@tn.str.148 = private constant [6 x i8] c"Value\00" +@tn.str.149 = private constant [7 x i8] c"Member\00" +@tn.str.150 = private constant [9 x i8] c"[*]Value\00" +@tn.str.151 = private constant [7 x i8] c"*Array\00" +@tn.str.152 = private constant [10 x i8] c"[*]Member\00" +@tn.str.153 = private constant [8 x i8] c"*Object\00" +@tn.str.154 = private constant [5 x i8] c"[]u8\00" +@tn.str.155 = private constant [5 x i8] c"Sink\00" +@tn.str.156 = private constant [6 x i8] c"*Sink\00" +@tn.str.157 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.158 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.159 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.160 = private constant [7 x i8] c"Parser\00" +@tn.str.161 = private constant [8 x i8] c"*Parser\00" +@tn.str.162 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.163 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.164 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.165 = private constant [13 x i8] c"Architecture\00" +@tn.str.166 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.167 = private constant [11 x i8] c"() -> bool\00" +@tn.str.168 = private constant [5 x i8] c"*i64\00" +@tn.str.169 = private constant [9 x i8] c"CliError\00" +@tn.str.170 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.171 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.172 = private constant [8 x i8] c"Command\00" +@tn.str.173 = private constant [10 x i8] c"FlagValue\00" +@tn.str.174 = private constant [5 x i8] c"Diag\00" +@tn.str.175 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.176 = private constant [7 x i8] c"Parsed\00" +@tn.str.177 = private constant [8 x i8] c"*Parsed\00" +@tn.str.178 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.179 = private constant [10 x i8] c"[]Command\00" +@tn.str.180 = private constant [6 x i8] c"*Diag\00" +@tn.str.181 = private constant [7 x i8] c"[8]i64\00" +@tn.str.182 = private constant [7 x i8] c"[64]u8\00" +@tn.str.183 = private constant [7 x i8] c"Sha256\00" +@tn.str.184 = private constant [8 x i8] c"*Sha256\00" +@tn.str.185 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.186 = private constant [8 x i8] c"[64]i64\00" +@tn.str.187 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.188 = private constant [7 x i8] c"**void\00" +@tn.str.189 = private constant [6 x i8] c"[]Any\00" +@tn.str.190 = private constant [5 x i8] c"*Any\00" +@tn.str.191 = private constant [7 x i8] c"*[]Any\00" +@tn.str.192 = private constant [7 x i8] c"[1]Any\00" +@tn.str.193 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.194 = private constant [7 x i8] c"[3]Any\00" +@tn.str.195 = private constant [8 x i8] c"*[3]Any\00" +@tn.str.196 = private constant [8 x i8] c"*string\00" +@tn.str.197 = private constant [6 x i8] c"*bool\00" +@tn.str.198 = private constant [7 x i8] c"[2]Any\00" +@tn.str.199 = private constant [8 x i8] c"*[2]Any\00" +@tn.str.200 = private constant [7 x i8] c"[5]Any\00" +@tn.str.201 = private constant [8 x i8] c"*[5]Any\00" +@tn.str.202 = private constant [4 x i8] c"*u8\00" +@tn.str.203 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.204 = private constant [5 x i8] c"*f64\00" +@tn.str.205 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.206 = private constant [11 x i8] c"*Allocator\00" +@tn.str.207 = private constant [9 x i8] c"*Context\00" +@tn.str.208 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.209 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.210 = private constant [8 x i8] c"*Member\00" +@tn.str.211 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.212 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.213 = private constant [9 x i8] c"*Command\00" +@tn.str.214 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.215 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.216 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.217 = private constant [7 x i8] c"*Value\00" +@tn.str.218 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.219 = private constant [14 x i8] c"*Architecture\00" +@tn.str.220 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.221 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.222 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.223 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.224 = private constant [10 x i8] c"*[]string\00" +@tn.str.225 = private constant [6 x i8] c"*[]u8\00" +@tn.str.226 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.227 = private constant [11 x i8] c"*[]Command\00" +@tn.str.228 = private constant [6 x i8] c"**GPA\00" +@tn.str.229 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.230 = private constant [8 x i8] c"**Arena\00" +@tn.str.231 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.232 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.233 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.234 = private constant [7 x i8] c"**File\00" +@tn.str.235 = private constant [6 x i8] c"**i32\00" +@tn.str.236 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.237 = private constant [6 x i8] c"**u32\00" +@tn.str.238 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.239 = private constant [8 x i8] c"**Array\00" +@tn.str.240 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.241 = private constant [9 x i8] c"**Object\00" +@tn.str.242 = private constant [7 x i8] c"**Sink\00" +@tn.str.243 = private constant [9 x i8] c"**Parser\00" +@tn.str.244 = private constant [6 x i8] c"**i64\00" +@tn.str.245 = private constant [9 x i8] c"**Parsed\00" +@tn.str.246 = private constant [7 x i8] c"**Diag\00" +@tn.str.247 = private constant [9 x i8] c"**Sha256\00" +@tn.str.248 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.249 = private constant [8 x i8] c"***void\00" +@tn.str.250 = private constant [6 x i8] c"**Any\00" +@tn.str.251 = private constant [8 x i8] c"**[]Any\00" +@tn.str.252 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.253 = private constant [9 x i8] c"**[3]Any\00" +@tn.str.254 = private constant [9 x i8] c"**string\00" +@tn.str.255 = private constant [7 x i8] c"**bool\00" +@tn.str.256 = private constant [9 x i8] c"**[2]Any\00" +@tn.str.257 = private constant [9 x i8] c"**[5]Any\00" +@tn.str.258 = private constant [5 x i8] c"**u8\00" +@tn.str.259 = private constant [7 x i8] c"*?File\00" +@tn.str.260 = private constant [9 x i8] c"*?string\00" +@tn.str.261 = private constant [10 x i8] c"*?cstring\00" +@tn.str.262 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.263 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [171 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 7 }, { ptr, i64 } { ptr @tn.str.112, i64 5 }, { ptr, i64 } { ptr @tn.str.113, i64 15 }, { ptr, i64 } { ptr @tn.str.114, i64 9 }, { ptr, i64 } { ptr @tn.str.115, i64 7 }, { ptr, i64 } { ptr @tn.str.116, i64 6 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 10 }, { ptr, i64 } { ptr @tn.str.119, i64 11 }, { ptr, i64 } { ptr @tn.str.120, i64 3 }, { ptr, i64 } { ptr @tn.str.121, i64 4 }, { ptr, i64 } { ptr @tn.str.122, i64 10 }, { ptr, i64 } { ptr @tn.str.123, i64 11 }, { ptr, i64 } { ptr @tn.str.124, i64 5 }, { ptr, i64 } { ptr @tn.str.125, i64 6 }, { ptr, i64 } { ptr @tn.str.126, i64 5 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 9 }, { ptr, i64 } { ptr @tn.str.129, i64 17 }, { ptr, i64 } { ptr @tn.str.130, i64 18 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 8 }, { ptr, i64 } { ptr @tn.str.133, i64 4 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 7 }, { ptr, i64 } { ptr @tn.str.137, i64 10 }, { ptr, i64 } { ptr @tn.str.138, i64 8 }, { ptr, i64 } { ptr @tn.str.139, i64 13 }, { ptr, i64 } { ptr @tn.str.140, i64 14 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 9 }, { ptr, i64 } { ptr @tn.str.144, i64 4 }, { ptr, i64 } { ptr @tn.str.145, i64 9 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 6 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 6 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 6 }, { ptr, i64 } { ptr @tn.str.152, i64 9 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 5 }, { ptr, i64 } { ptr @tn.str.157, i64 16 }, { ptr, i64 } { ptr @tn.str.158, i64 14 }, { ptr, i64 } { ptr @tn.str.159, i64 21 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 7 }, { ptr, i64 } { ptr @tn.str.162, i64 24 }, { ptr, i64 } { ptr @tn.str.163, i64 23 }, { ptr, i64 } { ptr @tn.str.164, i64 15 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 12 }, { ptr, i64 } { ptr @tn.str.167, i64 10 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 8 }, { ptr, i64 } { ptr @tn.str.171, i64 10 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 9 }, { ptr, i64 } { ptr @tn.str.174, i64 4 }, { ptr, i64 } { ptr @tn.str.175, i64 13 }, { ptr, i64 } { ptr @tn.str.176, i64 6 }, { ptr, i64 } { ptr @tn.str.177, i64 7 }, { ptr, i64 } { ptr @tn.str.178, i64 18 }, { ptr, i64 } { ptr @tn.str.179, i64 9 }, { ptr, i64 } { ptr @tn.str.180, i64 5 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 12 }, { ptr, i64 } { ptr @tn.str.188, i64 6 }, { ptr, i64 } { ptr @tn.str.189, i64 5 }, { ptr, i64 } { ptr @tn.str.190, i64 4 }, { ptr, i64 } { ptr @tn.str.191, i64 6 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 7 }, { 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 5 }, { ptr, i64 } { ptr @tn.str.198, i64 6 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 7 }, { ptr, i64 } { ptr @tn.str.202, i64 3 }, { ptr, i64 } { ptr @tn.str.203, i64 7 }, { ptr, i64 } { ptr @tn.str.204, i64 4 }, { ptr, i64 } { ptr @tn.str.205, i64 16 }, { ptr, i64 } { ptr @tn.str.206, i64 10 }, { ptr, i64 } { ptr @tn.str.207, i64 8 }, { ptr, i64 } { ptr @tn.str.208, i64 11 }, { ptr, i64 } { ptr @tn.str.209, i64 14 }, { ptr, i64 } { ptr @tn.str.210, i64 7 }, { ptr, i64 } { ptr @tn.str.211, i64 13 }, { ptr, i64 } { ptr @tn.str.212, i64 9 }, { ptr, i64 } { ptr @tn.str.213, i64 8 }, { ptr, i64 } { ptr @tn.str.214, i64 10 }, { ptr, i64 } { ptr @tn.str.215, i64 9 }, { ptr, i64 } { ptr @tn.str.216, i64 9 }, { ptr, i64 } { ptr @tn.str.217, i64 6 }, { ptr, i64 } { ptr @tn.str.218, i64 16 }, { ptr, i64 } { ptr @tn.str.219, i64 13 }, { ptr, i64 } { ptr @tn.str.220, i64 14 }, { ptr, i64 } { ptr @tn.str.221, i64 7 }, { ptr, i64 } { ptr @tn.str.222, i64 7 }, { ptr, i64 } { ptr @tn.str.223, i64 8 }, { ptr, i64 } { ptr @tn.str.224, i64 9 }, { ptr, i64 } { ptr @tn.str.225, i64 5 }, { ptr, i64 } { ptr @tn.str.226, i64 11 }, { ptr, i64 } { ptr @tn.str.227, i64 10 }, { ptr, i64 } { ptr @tn.str.228, i64 5 }, { ptr, i64 } { ptr @tn.str.229, i64 12 }, { ptr, i64 } { ptr @tn.str.230, i64 7 }, { ptr, i64 } { ptr @tn.str.231, i64 6 }, { ptr, i64 } { ptr @tn.str.232, i64 10 }, { ptr, i64 } { ptr @tn.str.233, i64 19 }, { ptr, i64 } { ptr @tn.str.234, i64 6 }, { ptr, i64 } { ptr @tn.str.235, i64 5 }, { ptr, i64 } { ptr @tn.str.236, i64 10 }, { 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 10 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 6 }, { ptr, i64 } { ptr @tn.str.243, i64 8 }, { ptr, i64 } { ptr @tn.str.244, i64 5 }, { ptr, i64 } { ptr @tn.str.245, i64 8 }, { ptr, i64 } { ptr @tn.str.246, i64 6 }, { ptr, i64 } { ptr @tn.str.247, i64 8 }, { ptr, i64 } { ptr @tn.str.248, i64 13 }, { ptr, i64 } { ptr @tn.str.249, i64 7 }, { ptr, i64 } { ptr @tn.str.250, i64 5 }, { ptr, i64 } { ptr @tn.str.251, i64 7 }, { ptr, i64 } { ptr @tn.str.252, i64 8 }, { ptr, i64 } { ptr @tn.str.253, i64 8 }, { ptr, i64 } { ptr @tn.str.254, i64 8 }, { ptr, i64 } { ptr @tn.str.255, i64 6 }, { ptr, i64 } { ptr @tn.str.256, i64 8 }, { ptr, i64 } { ptr @tn.str.257, i64 8 }, { ptr, i64 } { ptr @tn.str.258, i64 4 }, { ptr, i64 } { ptr @tn.str.259, i64 6 }, { ptr, i64 } { ptr @tn.str.260, i64 8 }, { ptr, i64 } { ptr @tn.str.261, i64 9 }, { ptr, i64 } { ptr @tn.str.262, i64 15 }, { ptr, i64 } { ptr @tn.str.263, i64 8 }] @str.264 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.265 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.266 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.267 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.268 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.269 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.270 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.271 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.272 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.273 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.274 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.275 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.267 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.268 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.269 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.270 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.271 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.272 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.273 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.274 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.275 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.276 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.277 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.278 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @str.279 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.280 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.281 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.282 = private unnamed_addr constant [2 x i8] c"x\00", align 1 -@str.283 = private unnamed_addr constant [16 x i8] c"{} {} {} {} {}\0A\00", align 1 -@str.284 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.285 = private unnamed_addr constant [16 x i8] c"{} {} {} {} {}\0A\00", align 1 -@str.286 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.287 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.288 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.289 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.282 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.283 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.284 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.285 = private unnamed_addr constant [2 x i8] c"x\00", align 1 +@str.286 = private unnamed_addr constant [16 x i8] c"{} {} {} {} {}\0A\00", align 1 +@str.287 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.288 = private unnamed_addr constant [16 x i8] c"{} {} {} {} {}\0A\00", align 1 +@str.289 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.290 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.291 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.292 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.290 = private constant [5 x i8] c"line\00" -@fld.str.291 = private constant [4 x i8] c"col\00" -@fld.str.292 = 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.290, i64 4 }, { ptr, i64 } { ptr @fld.str.291, i64 3 }, { ptr, i64 } { ptr @fld.str.292, i64 4 }] -@str.293 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.294 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.295 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.296 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.297 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.298 = private constant [4 x i8] c"ctx\00" -@fld.str.299 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.300 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.301 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.298, i64 3 }, { ptr, i64 } { ptr @fld.str.299, i64 11 }, { ptr, i64 } { ptr @fld.str.300, i64 13 }] -@str.302 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.303 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.304 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.305 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.306 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.307 = private constant [10 x i8] c"allocator\00" -@fld.str.308 = private constant [5 x i8] c"data\00" -@field_names.309 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.307, i64 9 }, { ptr, i64 } { ptr @fld.str.308, i64 4 }] -@str.310 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.311 = private unnamed_addr constant [11 x i8] c"CAllocator\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"}\00", align 1 -@str.314 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.315 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.316 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.317 = private unnamed_addr constant [4 x i8] c"GPA\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.320 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.321 = private constant [12 x i8] c"alloc_count\00" -@field_names.322 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.321, i64 11 }] -@str.323 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.324 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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.327 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.328 = private constant [5 x i8] c"next\00" -@fld.str.329 = private constant [4 x i8] c"cap\00" -@field_names.330 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.328, i64 4 }, { ptr, i64 } { ptr @fld.str.329, i64 3 }] -@str.331 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.332 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" -@fld.str.337 = private constant [10 x i8] c"end_index\00" -@fld.str.338 = private constant [7 x i8] c"parent\00" -@field_names.339 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.336, i64 5 }, { ptr, i64 } { ptr @fld.str.337, i64 9 }, { ptr, i64 } { ptr @fld.str.338, i64 6 }] -@str.340 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.341 = private unnamed_addr constant [9 x i8] c"BufAlloc\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"buf\00" -@fld.str.346 = private constant [4 x i8] c"len\00" -@fld.str.347 = private constant [4 x i8] c"pos\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 3 }, { ptr, i64 } { ptr @fld.str.347, i64 3 }] -@str.349 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.350 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" -@fld.str.355 = private constant [12 x i8] c"alloc_count\00" -@fld.str.356 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.357 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.358 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.354, i64 6 }, { ptr, i64 } { ptr @fld.str.355, i64 11 }, { ptr, i64 } { ptr @fld.str.356, i64 13 }, { ptr, i64 } { ptr @fld.str.357, i64 17 }] -@str.359 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.360 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" -@field_names.365 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.364, i64 2 }] -@str.366 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.367 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" -@fld.str.372 = private constant [5 x i8] c"line\00" -@fld.str.373 = private constant [4 x i8] c"col\00" -@fld.str.374 = private constant [5 x i8] c"func\00" -@fld.str.375 = private constant [10 x i8] c"line_text\00" -@field_names.376 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.371, i64 4 }, { ptr, i64 } { ptr @fld.str.372, i64 4 }, { ptr, i64 } { ptr @fld.str.373, i64 3 }, { ptr, i64 } { ptr @fld.str.374, i64 4 }, { ptr, i64 } { ptr @fld.str.375, i64 9 }] -@str.377 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.378 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" -@fld.str.383 = private constant [7 x i8] c"stdout\00" -@field_names.384 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.382, i64 9 }, { ptr, i64 } { ptr @fld.str.383, i64 6 }] -@str.385 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.386 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.391 = private constant [11 x i8] c"sin_family\00" -@fld.str.392 = private constant [9 x i8] c"sin_port\00" -@fld.str.393 = private constant [9 x i8] c"sin_addr\00" -@fld.str.394 = private constant [9 x i8] c"sin_zero\00" -@field_names.395 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.390, i64 7 }, { ptr, i64 } { ptr @fld.str.391, i64 10 }, { ptr, i64 } { ptr @fld.str.392, i64 8 }, { ptr, i64 } { ptr @fld.str.393, i64 8 }, { ptr, i64 } { ptr @fld.str.394, i64 8 }] -@str.396 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.397 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" -@fld.str.402 = private constant [4 x i8] c"len\00" -@fld.str.403 = private constant [4 x i8] c"cap\00" -@field_names.404 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.401, i64 5 }, { ptr, i64 } { ptr @fld.str.402, i64 3 }, { ptr, i64 } { ptr @fld.str.403, i64 3 }] -@str.405 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.406 = private unnamed_addr constant [7 x i8] c"Object\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 [6 x i8] c"items\00" -@fld.str.411 = private constant [4 x i8] c"len\00" -@fld.str.412 = private constant [4 x i8] c"cap\00" -@field_names.413 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.410, i64 5 }, { ptr, i64 } { ptr @fld.str.411, i64 3 }, { ptr, i64 } { ptr @fld.str.412, i64 3 }] -@str.414 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.415 = private unnamed_addr constant [7 x i8] c"Member\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 [4 x i8] c"key\00" -@fld.str.420 = private constant [4 x i8] c"val\00" -@field_names.421 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.419, i64 3 }, { ptr, i64 } { ptr @fld.str.420, i64 3 }] -@str.422 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.423 = private unnamed_addr constant [5 x i8] c"Sink\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 [4 x i8] c"dst\00" -@fld.str.428 = private constant [4 x i8] c"pos\00" -@fld.str.429 = private constant [5 x i8] c"file\00" -@field_names.430 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.427, i64 3 }, { ptr, i64 } { ptr @fld.str.428, i64 3 }, { ptr, i64 } { ptr @fld.str.429, i64 4 }] -@str.431 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.432 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" -@fld.str.437 = private constant [4 x i8] c"pos\00" -@fld.str.438 = private constant [6 x i8] c"alloc\00" -@field_names.439 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.436, i64 3 }, { ptr, i64 } { ptr @fld.str.437, i64 3 }, { ptr, i64 } { ptr @fld.str.438, i64 5 }] -@str.440 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.441 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.445 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.446 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.447 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" -@fld.str.452 = private constant [12 x i8] c"takes_value\00" -@fld.str.453 = private constant [9 x i8] c"required\00" -@field_names.454 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.451, i64 4 }, { ptr, i64 } { ptr @fld.str.452, i64 11 }, { ptr, i64 } { ptr @fld.str.453, i64 8 }] -@str.455 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.456 = private unnamed_addr constant [8 x i8] c"Command\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 [6 x i8] c"group\00" -@fld.str.461 = private constant [8 x i8] c"command\00" -@fld.str.462 = private constant [6 x i8] c"flags\00" -@field_names.463 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.460, i64 5 }, { ptr, i64 } { ptr @fld.str.461, i64 7 }, { ptr, i64 } { ptr @fld.str.462, i64 5 }] -@str.464 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.465 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" -@fld.str.470 = private constant [6 x i8] c"value\00" -@field_names.471 = private constant [2 x { ptr, i64 }] [{ 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 [5 x i8] c"Diag\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"index\00" -@fld.str.478 = private constant [6 x i8] c"token\00" -@field_names.479 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.477, i64 5 }, { 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 [7 x i8] c"Parsed\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 [6 x i8] c"group\00" -@fld.str.486 = private constant [8 x i8] c"command\00" -@fld.str.487 = private constant [10 x i8] c"cmd_index\00" -@fld.str.488 = private constant [5 x i8] c"json\00" -@fld.str.489 = private constant [5 x i8] c"rest\00" -@fld.str.490 = private constant [5 x i8] c"spec\00" -@fld.str.491 = private constant [7 x i8] c"values\00" -@field_names.492 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.485, i64 5 }, { ptr, i64 } { ptr @fld.str.486, i64 7 }, { ptr, i64 } { ptr @fld.str.487, i64 9 }, { ptr, i64 } { ptr @fld.str.488, i64 4 }, { ptr, i64 } { ptr @fld.str.489, i64 4 }, { ptr, i64 } { ptr @fld.str.490, i64 4 }, { ptr, i64 } { ptr @fld.str.491, i64 6 }] -@str.493 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.494 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" -@fld.str.499 = private constant [4 x i8] c"buf\00" -@fld.str.500 = private constant [8 x i8] c"buf_len\00" -@fld.str.501 = private constant [10 x i8] c"total_len\00" -@field_names.502 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.498, i64 1 }, { ptr, i64 } { ptr @fld.str.499, i64 3 }, { ptr, i64 } { ptr @fld.str.500, i64 7 }, { ptr, i64 } { ptr @fld.str.501, i64 9 }] -@str.503 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.504 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.505 = private constant [5 x i8] c"read\00" -@fld.str.506 = private constant [6 x i8] c"write\00" -@fld.str.507 = private constant [7 x i8] c"append\00" -@fld.str.508 = private constant [11 x i8] c"read_write\00" -@field_names.509 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.505, i64 4 }, { ptr, i64 } { ptr @fld.str.506, i64 5 }, { ptr, i64 } { ptr @fld.str.507, i64 6 }, { ptr, i64 } { ptr @fld.str.508, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.513 = private constant [4 x i8] c"set\00" -@fld.str.514 = private constant [8 x i8] c"current\00" -@fld.str.515 = private constant [4 x i8] c"end\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 7 }, { ptr, i64 } { ptr @fld.str.515, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.520 = private constant [6 x i8] c"null_\00" -@fld.str.521 = private constant [6 x i8] c"bool_\00" -@fld.str.522 = private constant [5 x i8] c"int_\00" -@fld.str.523 = private constant [4 x i8] c"str\00" -@fld.str.524 = private constant [6 x i8] c"array\00" -@fld.str.525 = private constant [7 x i8] c"object\00" -@field_names.526 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.520, i64 5 }, { ptr, i64 } { ptr @fld.str.521, i64 5 }, { ptr, i64 } { ptr @fld.str.522, i64 4 }, { ptr, i64 } { ptr @fld.str.523, i64 3 }, { ptr, i64 } { ptr @fld.str.524, i64 5 }, { ptr, i64 } { ptr @fld.str.525, i64 6 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.530 = private constant [6 x i8] c"macos\00" -@fld.str.531 = private constant [6 x i8] c"linux\00" -@fld.str.532 = private constant [8 x i8] c"windows\00" -@fld.str.533 = private constant [5 x i8] c"wasm\00" -@fld.str.534 = private constant [4 x i8] c"ios\00" -@fld.str.535 = private constant [8 x i8] c"android\00" -@fld.str.536 = private constant [8 x i8] c"unknown\00" -@field_names.537 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.530, i64 5 }, { ptr, i64 } { ptr @fld.str.531, i64 5 }, { ptr, i64 } { ptr @fld.str.532, i64 7 }, { ptr, i64 } { ptr @fld.str.533, i64 4 }, { ptr, i64 } { ptr @fld.str.534, i64 3 }, { ptr, i64 } { ptr @fld.str.535, i64 7 }, { ptr, i64 } { ptr @fld.str.536, i64 7 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.541 = private constant [8 x i8] c"aarch64\00" -@fld.str.542 = private constant [7 x i8] c"x86_64\00" -@fld.str.543 = private constant [7 x i8] c"wasm32\00" -@fld.str.544 = private constant [7 x i8] c"wasm64\00" -@fld.str.545 = private constant [8 x i8] c"unknown\00" -@field_names.546 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.541, i64 7 }, { ptr, i64 } { ptr @fld.str.542, i64 6 }, { ptr, i64 } { ptr @fld.str.543, i64 6 }, { ptr, i64 } { ptr @fld.str.544, i64 6 }, { ptr, i64 } { ptr @fld.str.545, i64 7 }] -@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 [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.293 = private constant [5 x i8] c"line\00" +@fld.str.294 = private constant [4 x i8] c"col\00" +@fld.str.295 = 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.293, i64 4 }, { ptr, i64 } { ptr @fld.str.294, i64 3 }, { ptr, i64 } { ptr @fld.str.295, i64 4 }] +@str.296 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.297 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.298 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.299 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.300 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.301 = private constant [4 x i8] c"ctx\00" +@fld.str.302 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.303 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.304 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.301, i64 3 }, { ptr, i64 } { ptr @fld.str.302, i64 11 }, { ptr, i64 } { ptr @fld.str.303, i64 13 }] +@str.305 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.306 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.307 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.308 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.309 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.310 = private constant [10 x i8] c"allocator\00" +@fld.str.311 = private constant [5 x i8] c"data\00" +@field_names.312 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.310, i64 9 }, { ptr, i64 } { ptr @fld.str.311, i64 4 }] +@str.313 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.314 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.315 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.316 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.317 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.318 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.319 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.320 = private unnamed_addr constant [4 x i8] c"GPA\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 [12 x i8] c"alloc_count\00" +@field_names.325 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.324, i64 11 }] +@str.326 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.327 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" +@fld.str.332 = private constant [4 x i8] c"cap\00" +@field_names.333 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.331, i64 4 }, { ptr, i64 } { ptr @fld.str.332, i64 3 }] +@str.334 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.335 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" +@fld.str.340 = private constant [10 x i8] c"end_index\00" +@fld.str.341 = private constant [7 x i8] c"parent\00" +@field_names.342 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.339, i64 5 }, { ptr, i64 } { ptr @fld.str.340, i64 9 }, { ptr, i64 } { ptr @fld.str.341, i64 6 }] +@str.343 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.344 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" +@fld.str.349 = private constant [4 x i8] c"len\00" +@fld.str.350 = private constant [4 x i8] c"pos\00" +@field_names.351 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.348, i64 3 }, { ptr, i64 } { ptr @fld.str.349, i64 3 }, { ptr, i64 } { ptr @fld.str.350, i64 3 }] +@str.352 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.353 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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.357 = private constant [7 x i8] c"parent\00" +@fld.str.358 = private constant [12 x i8] c"alloc_count\00" +@fld.str.359 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.360 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.361 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.357, i64 6 }, { ptr, i64 } { ptr @fld.str.358, i64 11 }, { ptr, i64 } { ptr @fld.str.359, i64 13 }, { ptr, i64 } { ptr @fld.str.360, i64 17 }] +@str.362 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.363 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" +@field_names.368 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.367, i64 2 }] +@str.369 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.370 = private unnamed_addr constant [11 x i8] c"TraceFrame\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"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" +@fld.str.378 = private constant [10 x i8] c"line_text\00" +@field_names.379 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.374, 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 }, { ptr, i64 } { ptr @fld.str.378, i64 9 }] +@str.380 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.381 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" +@fld.str.386 = private constant [7 x i8] c"stdout\00" +@field_names.387 = private constant [2 x { ptr, i64 }] [{ 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"SockAddr\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 [8 x i8] c"sin_len\00" +@fld.str.394 = private constant [11 x i8] c"sin_family\00" +@fld.str.395 = private constant [9 x i8] c"sin_port\00" +@fld.str.396 = private constant [9 x i8] c"sin_addr\00" +@fld.str.397 = private constant [9 x i8] c"sin_zero\00" +@field_names.398 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.393, i64 7 }, { ptr, i64 } { ptr @fld.str.394, i64 10 }, { ptr, i64 } { ptr @fld.str.395, i64 8 }, { ptr, i64 } { ptr @fld.str.396, i64 8 }, { ptr, i64 } { ptr @fld.str.397, i64 8 }] +@str.399 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.400 = private unnamed_addr constant [6 x i8] c"Array\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"items\00" +@fld.str.405 = private constant [4 x i8] c"len\00" +@fld.str.406 = private constant [4 x i8] c"cap\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 3 }, { 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 [7 x i8] c"Object\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"items\00" +@fld.str.414 = private constant [4 x i8] c"len\00" +@fld.str.415 = private constant [4 x i8] c"cap\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 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 [7 x i8] c"Member\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"key\00" +@fld.str.423 = private constant [4 x i8] c"val\00" +@field_names.424 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.422, i64 3 }, { ptr, i64 } { ptr @fld.str.423, i64 3 }] +@str.425 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.426 = private unnamed_addr constant [5 x i8] c"Sink\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"dst\00" +@fld.str.431 = private constant [4 x i8] c"pos\00" +@fld.str.432 = private constant [5 x i8] c"file\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 4 }] +@str.434 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.435 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" +@fld.str.440 = private constant [4 x i8] c"pos\00" +@fld.str.441 = private constant [6 x i8] c"alloc\00" +@field_names.442 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.439, i64 3 }, { ptr, i64 } { ptr @fld.str.440, i64 3 }, { ptr, i64 } { ptr @fld.str.441, i64 5 }] +@str.443 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.444 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 +@field_names.448 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.449 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.450 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" +@fld.str.455 = private constant [12 x i8] c"takes_value\00" +@fld.str.456 = private constant [9 x i8] c"required\00" +@field_names.457 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.454, i64 4 }, { ptr, i64 } { ptr @fld.str.455, i64 11 }, { ptr, i64 } { ptr @fld.str.456, i64 8 }] +@str.458 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.459 = private unnamed_addr constant [8 x i8] c"Command\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"group\00" +@fld.str.464 = private constant [8 x i8] c"command\00" +@fld.str.465 = private constant [6 x i8] c"flags\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 7 }, { 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 [10 x i8] c"FlagValue\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"set\00" +@fld.str.473 = private constant [6 x i8] c"value\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 5 }] +@str.475 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.476 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" +@fld.str.481 = private constant [6 x i8] c"token\00" +@field_names.482 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.480, i64 5 }, { ptr, i64 } { ptr @fld.str.481, i64 5 }] +@str.483 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.484 = private unnamed_addr constant [7 x i8] c"Parsed\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"group\00" +@fld.str.489 = private constant [8 x i8] c"command\00" +@fld.str.490 = private constant [10 x i8] c"cmd_index\00" +@fld.str.491 = private constant [5 x i8] c"json\00" +@fld.str.492 = private constant [5 x i8] c"rest\00" +@fld.str.493 = private constant [5 x i8] c"spec\00" +@fld.str.494 = private constant [7 x i8] c"values\00" +@field_names.495 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.488, i64 5 }, { ptr, i64 } { ptr @fld.str.489, i64 7 }, { ptr, i64 } { ptr @fld.str.490, i64 9 }, { ptr, i64 } { ptr @fld.str.491, i64 4 }, { ptr, i64 } { ptr @fld.str.492, i64 4 }, { ptr, i64 } { ptr @fld.str.493, i64 4 }, { ptr, i64 } { ptr @fld.str.494, i64 6 }] +@str.496 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.497 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" +@fld.str.502 = private constant [4 x i8] c"buf\00" +@fld.str.503 = private constant [8 x i8] c"buf_len\00" +@fld.str.504 = private constant [10 x i8] c"total_len\00" +@field_names.505 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.501, i64 1 }, { ptr, i64 } { ptr @fld.str.502, i64 3 }, { ptr, i64 } { ptr @fld.str.503, i64 7 }, { ptr, i64 } { ptr @fld.str.504, i64 9 }] +@str.506 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.507 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.508 = private constant [5 x i8] c"read\00" +@fld.str.509 = private constant [6 x i8] c"write\00" +@fld.str.510 = private constant [7 x i8] c"append\00" +@fld.str.511 = private constant [11 x i8] c"read_write\00" +@field_names.512 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.508, i64 4 }, { ptr, i64 } { ptr @fld.str.509, i64 5 }, { ptr, i64 } { ptr @fld.str.510, i64 6 }, { ptr, i64 } { ptr @fld.str.511, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.516 = private constant [4 x i8] c"set\00" +@fld.str.517 = private constant [8 x i8] c"current\00" +@fld.str.518 = private constant [4 x i8] c"end\00" +@field_names.519 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.516, i64 3 }, { ptr, i64 } { ptr @fld.str.517, i64 7 }, { ptr, i64 } { ptr @fld.str.518, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.523 = private constant [6 x i8] c"null_\00" +@fld.str.524 = private constant [6 x i8] c"bool_\00" +@fld.str.525 = private constant [5 x i8] c"int_\00" +@fld.str.526 = private constant [4 x i8] c"str\00" +@fld.str.527 = private constant [6 x i8] c"array\00" +@fld.str.528 = private constant [7 x i8] c"object\00" +@field_names.529 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.523, i64 5 }, { ptr, i64 } { ptr @fld.str.524, i64 5 }, { ptr, i64 } { ptr @fld.str.525, i64 4 }, { ptr, i64 } { ptr @fld.str.526, i64 3 }, { ptr, i64 } { ptr @fld.str.527, i64 5 }, { ptr, i64 } { ptr @fld.str.528, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.533 = private constant [6 x i8] c"macos\00" +@fld.str.534 = private constant [6 x i8] c"linux\00" +@fld.str.535 = private constant [8 x i8] c"windows\00" +@fld.str.536 = private constant [5 x i8] c"wasm\00" +@fld.str.537 = private constant [4 x i8] c"ios\00" +@fld.str.538 = private constant [8 x i8] c"android\00" +@fld.str.539 = private constant [8 x i8] c"unknown\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 5 }, { ptr, i64 } { ptr @fld.str.535, i64 7 }, { ptr, i64 } { ptr @fld.str.536, i64 4 }, { ptr, i64 } { ptr @fld.str.537, i64 3 }, { ptr, i64 } { ptr @fld.str.538, i64 7 }, { ptr, i64 } { ptr @fld.str.539, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.544 = private constant [8 x i8] c"aarch64\00" +@fld.str.545 = private constant [7 x i8] c"x86_64\00" +@fld.str.546 = private constant [7 x i8] c"wasm32\00" +@fld.str.547 = private constant [7 x i8] c"wasm64\00" +@fld.str.548 = private constant [8 x i8] c"unknown\00" +@field_names.549 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.544, i64 7 }, { ptr, i64 } { ptr @fld.str.545, i64 6 }, { ptr, i64 } { ptr @fld.str.546, i64 6 }, { ptr, i64 } { ptr @fld.str.547, i64 6 }, { ptr, i64 } { ptr @fld.str.548, i64 7 }] +@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 [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 @@ -524,35 +524,35 @@ @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 -@str.591 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.592 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.593 = private unnamed_addr constant [4 x i8] c"@0x\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 @str.594 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.595 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.595 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.596 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.597 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.598 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.598 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.599 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.600 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.601 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.601 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.602 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.603 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.604 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.604 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.605 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.606 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.607 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 +@str.607 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.608 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.609 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.610 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 +@str.610 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.611 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.612 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.613 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.613 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.614 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.615 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.616 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.616 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.617 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.618 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.619 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.619 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.620 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.621 = private unnamed_addr constant [5 x i8] c"null\00", align 1 @str.622 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @@ -624,9 +624,13 @@ @str.688 = private unnamed_addr constant [8 x i8] c"*[5]Any\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 [5 x i8] c"null\00", align 1 -@str.692 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.691 = private unnamed_addr constant [4 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 [5 x i8] c"null\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"null\00", align 1 +@str.697 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -643,7 +647,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -694,7 +698,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -784,7 +788,7 @@ if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.66 @@ -987,7 +991,7 @@ if.merge.91: ; preds = %if.else.90, %if.the %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1230,7 +1234,7 @@ if.merge.390: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1302,7 +1306,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1333,7 +1337,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1348,6 +1352,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1390,90 +1403,91 @@ entry: i64 1, label %match.arm.41 i64 10, label %match.arm.42 i64 11, label %match.arm.42 - i64 19, label %match.arm.43 i64 20, label %match.arm.43 i64 21, label %match.arm.43 - i64 24, label %match.arm.43 - i64 26, label %match.arm.43 - i64 28, label %match.arm.43 - i64 30, label %match.arm.43 - i64 33, label %match.arm.43 - i64 35, label %match.arm.43 - i64 39, label %match.arm.43 - i64 43, label %match.arm.43 - i64 45, label %match.arm.43 - i64 48, label %match.arm.43 - i64 52, label %match.arm.43 + i64 22, label %match.arm.43 + i64 25, label %match.arm.43 + i64 27, label %match.arm.43 + i64 29, label %match.arm.43 + i64 31, label %match.arm.43 + i64 34, label %match.arm.43 + i64 36, label %match.arm.43 + i64 40, label %match.arm.43 + i64 44, label %match.arm.43 + i64 46, label %match.arm.43 + i64 49, label %match.arm.43 i64 53, label %match.arm.43 - i64 55, label %match.arm.43 - i64 61, label %match.arm.43 - i64 66, label %match.arm.43 - i64 72, label %match.arm.43 - i64 76, label %match.arm.43 - i64 78, label %match.arm.43 + i64 54, label %match.arm.43 + i64 56, label %match.arm.43 + i64 62, label %match.arm.43 + i64 67, label %match.arm.43 + i64 73, label %match.arm.43 + i64 77, label %match.arm.43 i64 79, label %match.arm.43 i64 80, label %match.arm.43 - i64 82, label %match.arm.43 - i64 89, label %match.arm.43 - i64 37, label %match.arm.44 + i64 81, label %match.arm.43 + i64 83, label %match.arm.43 + i64 90, label %match.arm.43 i64 38, label %match.arm.44 - i64 54, label %match.arm.44 - i64 70, label %match.arm.44 + i64 39, label %match.arm.44 + i64 55, label %match.arm.44 i64 71, label %match.arm.44 - i64 51, label %match.arm.45 - i64 64, label %match.arm.45 - i64 75, label %match.arm.45 - i64 22, label %match.arm.47 - i64 81, label %match.arm.47 - i64 87, label %match.arm.47 + i64 72, label %match.arm.44 + i64 52, label %match.arm.45 + i64 65, label %match.arm.45 + i64 76, label %match.arm.45 + i64 23, label %match.arm.47 + i64 82, label %match.arm.47 i64 88, label %match.arm.47 - i64 92, label %match.arm.47 - i64 98, label %match.arm.47 - i64 100, label %match.arm.47 - i64 104, label %match.arm.47 - i64 106, label %match.arm.47 - i64 23, label %match.arm.48 - i64 60, label %match.arm.48 - i64 77, label %match.arm.48 - i64 85, label %match.arm.48 - i64 95, label %match.arm.48 - i64 18, label %match.arm.49 - i64 25, label %match.arm.49 - i64 27, label %match.arm.49 - i64 29, label %match.arm.49 - i64 31, label %match.arm.49 + i64 89, label %match.arm.47 + i64 93, label %match.arm.47 + i64 99, label %match.arm.47 + i64 101, label %match.arm.47 + i64 105, label %match.arm.47 + i64 107, label %match.arm.47 + i64 24, label %match.arm.48 + i64 61, label %match.arm.48 + i64 78, label %match.arm.48 + i64 86, label %match.arm.48 + i64 96, label %match.arm.48 + i64 19, label %match.arm.49 + i64 26, label %match.arm.49 + i64 28, label %match.arm.49 + i64 30, label %match.arm.49 i64 32, label %match.arm.49 - i64 34, label %match.arm.49 - i64 36, label %match.arm.49 - i64 40, label %match.arm.49 - i64 44, label %match.arm.49 - i64 47, label %match.arm.49 - i64 49, label %match.arm.49 + i64 33, label %match.arm.49 + i64 35, label %match.arm.49 + i64 37, label %match.arm.49 + i64 41, label %match.arm.49 + i64 48, label %match.arm.49 i64 50, label %match.arm.49 - i64 56, label %match.arm.49 + i64 51, label %match.arm.49 i64 57, label %match.arm.49 i64 58, label %match.arm.49 i64 59, label %match.arm.49 - i64 62, label %match.arm.49 - i64 67, label %match.arm.49 - i64 74, label %match.arm.49 - i64 83, label %match.arm.49 - i64 86, label %match.arm.49 - i64 90, label %match.arm.49 - i64 93, label %match.arm.49 + i64 60, label %match.arm.49 + i64 63, label %match.arm.49 + i64 68, label %match.arm.49 + i64 75, label %match.arm.49 + i64 84, label %match.arm.49 + i64 87, label %match.arm.49 + i64 91, label %match.arm.49 i64 94, label %match.arm.49 - i64 96, label %match.arm.49 + i64 95, label %match.arm.49 i64 97, label %match.arm.49 - i64 99, label %match.arm.49 - i64 101, label %match.arm.49 + i64 98, label %match.arm.49 + i64 100, label %match.arm.49 i64 102, label %match.arm.49 i64 103, label %match.arm.49 - i64 105, label %match.arm.49 - i64 107, label %match.arm.49 - i64 41, label %match.arm.50 + i64 104, label %match.arm.49 + i64 106, label %match.arm.49 + i64 108, label %match.arm.49 + i64 109, label %match.arm.49 i64 42, label %match.arm.50 - i64 46, label %match.arm.50 - i64 91, label %match.arm.50 + i64 43, label %match.arm.50 + i64 45, label %match.arm.50 + i64 47, label %match.arm.50 + i64 92, label %match.arm.50 i64 13, label %match.arm.51 ] @@ -1491,7 +1505,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 [168 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [171 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 @@ -1524,31 +1538,31 @@ match.arm.43: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.95 [ - i64 19, label %dispatch.case.96 - i64 20, label %dispatch.case.97 - i64 21, label %dispatch.case.98 - i64 24, label %dispatch.case.99 - i64 26, label %dispatch.case.100 - i64 28, label %dispatch.case.101 - i64 30, label %dispatch.case.102 - i64 33, label %dispatch.case.103 - i64 35, label %dispatch.case.104 - i64 39, label %dispatch.case.105 - i64 43, label %dispatch.case.106 - i64 45, label %dispatch.case.107 - i64 48, label %dispatch.case.108 - i64 52, label %dispatch.case.109 - i64 53, label %dispatch.case.110 - i64 55, label %dispatch.case.111 - i64 61, label %dispatch.case.112 - i64 66, label %dispatch.case.113 - i64 72, label %dispatch.case.114 - i64 76, label %dispatch.case.115 - i64 78, label %dispatch.case.116 - i64 79, label %dispatch.case.117 - i64 80, label %dispatch.case.118 - i64 82, label %dispatch.case.119 - i64 89, label %dispatch.case.120 + i64 20, label %dispatch.case.96 + i64 21, label %dispatch.case.97 + i64 22, label %dispatch.case.98 + i64 25, label %dispatch.case.99 + i64 27, label %dispatch.case.100 + i64 29, label %dispatch.case.101 + i64 31, label %dispatch.case.102 + i64 34, label %dispatch.case.103 + i64 36, label %dispatch.case.104 + i64 40, label %dispatch.case.105 + i64 44, label %dispatch.case.106 + i64 46, label %dispatch.case.107 + i64 49, label %dispatch.case.108 + i64 53, label %dispatch.case.109 + i64 54, label %dispatch.case.110 + i64 56, label %dispatch.case.111 + i64 62, label %dispatch.case.112 + i64 67, label %dispatch.case.113 + i64 73, label %dispatch.case.114 + i64 77, label %dispatch.case.115 + i64 79, label %dispatch.case.116 + i64 80, label %dispatch.case.117 + i64 81, label %dispatch.case.118 + i64 83, label %dispatch.case.119 + i64 90, label %dispatch.case.120 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1556,11 +1570,11 @@ match.arm.44: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.247 [ - i64 37, label %dispatch.case.248 - i64 38, label %dispatch.case.249 - i64 54, label %dispatch.case.250 - i64 70, label %dispatch.case.251 - i64 71, label %dispatch.case.252 + i64 38, label %dispatch.case.248 + i64 39, label %dispatch.case.249 + i64 55, label %dispatch.case.250 + i64 71, label %dispatch.case.251 + i64 72, label %dispatch.case.252 ] match.arm.45: ; preds = %entry, %entry, %entry @@ -1583,15 +1597,15 @@ match.arm.47: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.264 [ - i64 22, label %dispatch.case.265 - i64 81, label %dispatch.case.266 - i64 87, label %dispatch.case.267 - i64 88, label %dispatch.case.268 - i64 92, label %dispatch.case.269 - i64 98, label %dispatch.case.270 - i64 100, label %dispatch.case.271 - i64 104, label %dispatch.case.272 - i64 106, label %dispatch.case.273 + i64 23, label %dispatch.case.265 + i64 82, label %dispatch.case.266 + i64 88, label %dispatch.case.267 + i64 89, label %dispatch.case.268 + i64 93, label %dispatch.case.269 + i64 99, label %dispatch.case.270 + i64 101, label %dispatch.case.271 + i64 105, label %dispatch.case.272 + i64 107, label %dispatch.case.273 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1599,11 +1613,11 @@ match.arm.48: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.320 [ - i64 23, label %dispatch.case.321 - i64 60, label %dispatch.case.322 - i64 77, label %dispatch.case.323 - i64 85, label %dispatch.case.324 - i64 95, label %dispatch.case.325 + i64 24, label %dispatch.case.321 + i64 61, label %dispatch.case.322 + i64 78, label %dispatch.case.323 + i64 86, label %dispatch.case.324 + i64 96, label %dispatch.case.325 ] 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 @@ -1611,50 +1625,51 @@ match.arm.49: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.352 [ - i64 18, label %dispatch.case.353 - i64 25, label %dispatch.case.354 - i64 27, label %dispatch.case.355 - i64 29, label %dispatch.case.356 - i64 31, label %dispatch.case.357 - i64 32, label %dispatch.case.358 - i64 34, label %dispatch.case.359 - i64 36, label %dispatch.case.360 - i64 40, label %dispatch.case.361 - i64 44, label %dispatch.case.362 - i64 47, label %dispatch.case.363 - i64 49, label %dispatch.case.364 - i64 50, label %dispatch.case.365 - i64 56, label %dispatch.case.366 - i64 57, label %dispatch.case.367 - i64 58, label %dispatch.case.368 - i64 59, label %dispatch.case.369 - i64 62, label %dispatch.case.370 - i64 67, label %dispatch.case.371 - i64 74, label %dispatch.case.372 - i64 83, label %dispatch.case.373 - i64 86, label %dispatch.case.374 - i64 90, label %dispatch.case.375 - i64 93, label %dispatch.case.376 - i64 94, label %dispatch.case.377 - i64 96, label %dispatch.case.378 - i64 97, label %dispatch.case.379 - i64 99, label %dispatch.case.380 - i64 101, label %dispatch.case.381 - i64 102, label %dispatch.case.382 - i64 103, label %dispatch.case.383 - i64 105, label %dispatch.case.384 - i64 107, label %dispatch.case.385 + i64 19, label %dispatch.case.353 + i64 26, label %dispatch.case.354 + i64 28, label %dispatch.case.355 + i64 30, label %dispatch.case.356 + i64 32, label %dispatch.case.357 + i64 33, label %dispatch.case.358 + i64 35, label %dispatch.case.359 + i64 37, label %dispatch.case.360 + i64 41, label %dispatch.case.361 + i64 48, label %dispatch.case.362 + i64 50, label %dispatch.case.363 + i64 51, label %dispatch.case.364 + i64 57, label %dispatch.case.365 + i64 58, label %dispatch.case.366 + i64 59, label %dispatch.case.367 + i64 60, label %dispatch.case.368 + i64 63, label %dispatch.case.369 + i64 68, label %dispatch.case.370 + i64 75, label %dispatch.case.371 + i64 84, label %dispatch.case.372 + i64 87, label %dispatch.case.373 + i64 91, label %dispatch.case.374 + i64 94, label %dispatch.case.375 + i64 95, label %dispatch.case.376 + i64 97, label %dispatch.case.377 + i64 98, label %dispatch.case.378 + i64 100, label %dispatch.case.379 + i64 102, label %dispatch.case.380 + i64 103, label %dispatch.case.381 + i64 104, label %dispatch.case.382 + i64 106, label %dispatch.case.383 + i64 108, label %dispatch.case.384 + i64 109, label %dispatch.case.385 ] -match.arm.50: ; preds = %entry, %entry, %entry, %entry +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.499 [ - i64 41, label %dispatch.case.500 - i64 42, label %dispatch.case.501 - i64 46, label %dispatch.case.502 - i64 91, label %dispatch.case.503 + i64 42, label %dispatch.case.500 + i64 43, label %dispatch.case.501 + i64 45, label %dispatch.case.502 + i64 47, label %dispatch.case.503 + i64 92, label %dispatch.case.504 ] match.arm.51: ; preds = %entry @@ -1663,7 +1678,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 [168 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [171 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 @@ -1714,7 +1729,7 @@ dispatch.merge.94: ; preds = %dispatch.case.120, br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.261, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.264, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -1923,7 +1938,7 @@ dispatch.merge.246: ; preds = %dispatch.case.252, br label %match.merge.37 dispatch.default.247: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.262, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.265, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.246 dispatch.case.248: ; preds = %match.arm.44 @@ -1964,7 +1979,7 @@ dispatch.merge.263: ; preds = %dispatch.case.273, br label %match.merge.37 dispatch.default.264: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.263, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.266, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.263 dispatch.case.265: ; preds = %match.arm.47 @@ -2045,7 +2060,7 @@ dispatch.merge.319: ; preds = %dispatch.case.325, br label %match.merge.37 dispatch.default.320: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.264, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.267, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.319 dispatch.case.321: ; preds = %match.arm.48 @@ -2094,7 +2109,7 @@ dispatch.merge.351: ; preds = %dispatch.case.385, br label %match.merge.37 dispatch.default.352: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.265, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.268, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.353: ; preds = %match.arm.49 @@ -2163,178 +2178,178 @@ dispatch.case.361: ; preds = %match.arm.49 dispatch.case.362: ; 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_u8(ptr %0, ptr %iNp259) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp259) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.363: ; 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_i32(ptr %0, ptr %iNp262) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp262) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.364: ; 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_SockAddr(ptr %0, ptr %iNp265) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp265) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.365: ; 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_u32(ptr %0, ptr %iNp268) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp268) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.366: ; 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_Value(ptr %0, ptr %iNp271) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp271) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.367: ; 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_Array(ptr %0, ptr %iNp274) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp274) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.368: ; 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__mptr_Member(ptr %0, ptr %iNp277) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp277) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.369: ; 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_Object(ptr %0, ptr %iNp280) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp280) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.370: ; 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_Sink(ptr %0, ptr %iNp283) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp283) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.371: ; 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_Parser(ptr %0, ptr %iNp286) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp286) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.372: ; 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_i64(ptr %0, ptr %iNp289) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp289) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.373: ; 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_Parsed(ptr %0, ptr %iNp292) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp292) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.374: ; 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_Diag(ptr %0, ptr %iNp295) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp295) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.375: ; 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_Sha256(ptr %0, ptr %iNp298) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp298) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.376: ; 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_ptr_CAllocator(ptr %0, ptr %iNp301) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp301) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.377: ; 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_ptr_void(ptr %0, ptr %iNp304) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp304) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.378: ; 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_Any(ptr %0, ptr %iNp307) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp307) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.379: ; 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_SL_Any(ptr %0, ptr %iNp310) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp310) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.380: ; 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_AR_1_Any(ptr %0, ptr %iNp313) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_3_Any(ptr %0, ptr %iNp313) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.381: ; 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_AR_3_Any(ptr %0, ptr %iNp316) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp316) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.382: ; 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_string(ptr %0, ptr %iNp319) + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp319) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.383: ; 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_bool(ptr %0, ptr %iNp322) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_2_Any(ptr %0, ptr %iNp322) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.384: ; 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_AR_2_Any(ptr %0, ptr %iNp325) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_5_Any(ptr %0, ptr %iNp325) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.385: ; 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_AR_5_Any(ptr %0, ptr %iNp328) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp328) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 -dispatch.merge.498: ; preds = %dispatch.case.503, %dispatch.case.502, %dispatch.case.501, %dispatch.case.500, %dispatch.default.499 +dispatch.merge.498: ; preds = %dispatch.case.504, %dispatch.case.503, %dispatch.case.502, %dispatch.case.501, %dispatch.case.500, %dispatch.default.499 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.499: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.266, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.269, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.498 dispatch.case.500: ; preds = %match.arm.50 @@ -2355,17 +2370,24 @@ dispatch.case.501: ; preds = %match.arm.50 dispatch.case.502: ; preds = %match.arm.50 %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr340 = inttoptr i64 %ua.raw339 to ptr - %ua.load341 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr340, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load341) + %iNp340 = inttoptr i64 %ua.raw339 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp340) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.498 dispatch.case.503: ; preds = %match.arm.50 - %ua.raw343 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr344 = inttoptr i64 %ua.raw343 to ptr - %ua.load345 = load { [64 x i8], i1 }, ptr %ua.ptr344, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load345) + %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr343 = inttoptr i64 %ua.raw342 to ptr + %ua.load344 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr343, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load344) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.498 + +dispatch.case.504: ; preds = %match.arm.50 + %ua.raw346 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr347 = inttoptr i64 %ua.raw346 to ptr + %ua.load348 = load { [64 x i8], i1 }, ptr %ua.ptr347, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load348) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.498 } @@ -2376,7 +2398,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.267, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.270, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2472,7 +2494,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.268, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.271, 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 @@ -2480,7 +2502,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.269, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.272, 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 @@ -2490,13 +2512,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.270, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.273, 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.271, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.274, 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 @@ -2504,7 +2526,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.272, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.275, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2518,7 +2540,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.273, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.276, 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 @@ -2526,7 +2548,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.274, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.277, 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 @@ -2537,7 +2559,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.275, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.278, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2594,7 +2616,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.276, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.279, 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 @@ -2602,7 +2624,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.277, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.280, 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 @@ -2613,7 +2635,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.278, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.281, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2633,7 +2655,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.279, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.282, 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 @@ -2641,7 +2663,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.280, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.283, 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 @@ -2652,7 +2674,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.281, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.284, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -2873,9 +2895,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3410,7 +3429,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.282, i64 1 }, i1 true) + %callN = call i64 @count__pack_string_bool(ptr @__sx_default_context, { ptr, i64 } { ptr @str.285, i64 1 }, i1 true) %allocaN = alloca i64, align 8 store i64 %callN, ptr %allocaN, align 8 %load = load i64, ptr %alloca, align 8 @@ -3530,7 +3549,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.283, i64 15 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.286, i64 15 }, ptr %alloca, align 8 %allocaN = alloca i64, align 8 store i64 %1, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3569,7 +3588,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.284, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.287, 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 @@ -3635,7 +3654,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.285, i64 15 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.288, i64 15 }) ret { ptr, i64 } %call } @@ -3646,7 +3665,7 @@ 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.286, i64 15 }, { ptr, i64 } { ptr @str.287, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.289, i64 15 }, { ptr, i64 } { ptr @str.290, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3665,12 +3684,12 @@ while.body.122: ; preds = %while.hdr.121 while.exit.123: ; preds = %while.hdr.121 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.288, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.291, i64 1 }) ret { ptr, i64 } %callN if.then.124: ; preds = %while.body.122 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.289, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.292, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.125 @@ -3682,7 +3701,7 @@ if.merge.125: ; preds = %if.then.124, %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.293, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.296, 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 @@ -3739,7 +3758,7 @@ 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.294, i64 9 }, { ptr, i64 } { ptr @str.295, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.297, i64 9 }, { ptr, i64 } { ptr @str.298, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3758,24 +3777,24 @@ while.body.127: ; preds = %while.hdr.126 while.exit.128: ; preds = %while.hdr.126 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.296, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.299, i64 1 }) ret { ptr, i64 } %callN if.then.129: ; preds = %while.body.127 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.297, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.300, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.130 if.merge.130: ; preds = %if.then.129, %while.body.127 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.301, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.304, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.305, 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 @@ -3802,19 +3821,19 @@ fv.default: ; preds = %if.merge.130 fv.case: ; preds = %if.merge.130 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.130 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge fv.case21: ; preds = %if.merge.130 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -3824,7 +3843,7 @@ 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.303, i64 7 }, { ptr, i64 } { ptr @str.304, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.306, i64 7 }, { ptr, i64 } { ptr @str.307, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3843,24 +3862,24 @@ while.body.132: ; preds = %while.hdr.131 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.305, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.308, i64 1 }) ret { ptr, i64 } %callN 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.306, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.309, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.135 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 [2 x { ptr, i64 }], ptr @field_names.309, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.312, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.313, 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 @@ -3887,13 +3906,13 @@ fv.case: ; preds = %if.merge.135 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.135 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 - %fv.val19 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -3902,7 +3921,7 @@ 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.311, i64 10 }, { ptr, i64 } { ptr @str.312, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.314, i64 10 }, { ptr, i64 } { ptr @str.315, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3921,24 +3940,24 @@ while.body.137: ; preds = %while.hdr.136 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.313, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.316, i64 1 }) ret { ptr, i64 } %callN 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.314, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.317, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.140 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 [0 x { ptr, i64 }], ptr @field_names.315, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.318, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.319, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -3957,7 +3976,7 @@ 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.317, i64 3 }, { ptr, i64 } { ptr @str.318, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.320, i64 3 }, { ptr, i64 } { ptr @str.321, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3976,24 +3995,24 @@ while.body.142: ; preds = %while.hdr.141 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.319, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, i64 1 }) ret { ptr, i64 } %callN 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.320, 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 br label %if.merge.145 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 [1 x { ptr, i64 }], ptr @field_names.322, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.325, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.326, 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 @@ -4026,7 +4045,7 @@ 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.324, i64 10 }, { ptr, i64 } { ptr @str.325, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.327, i64 10 }, { ptr, i64 } { ptr @str.328, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4045,24 +4064,24 @@ while.body.147: ; preds = %while.hdr.146 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.326, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, i64 1 }) ret { ptr, i64 } %callN 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.327, 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 br label %if.merge.150 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.330, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.333, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.334, 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 @@ -4088,7 +4107,7 @@ fv.default: ; preds = %if.merge.150 fv.case: ; preds = %if.merge.150 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.150 @@ -4103,7 +4122,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.332, i64 5 }, { ptr, i64 } { ptr @str.333, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.335, i64 5 }, { ptr, i64 } { ptr @str.336, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4122,24 +4141,24 @@ while.body.152: ; preds = %while.hdr.151 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.334, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.337, i64 1 }) ret { ptr, i64 } %callN 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.335, 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 br label %if.merge.155 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 [3 x { ptr, i64 }], ptr @field_names.339, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.342, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.343, 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 @@ -4166,7 +4185,7 @@ fv.default: ; preds = %if.merge.155 fv.case: ; preds = %if.merge.155 %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.155 @@ -4178,7 +4197,7 @@ fv.case20: ; preds = %if.merge.155 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -4187,7 +4206,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.341, i64 8 }, { ptr, i64 } { ptr @str.342, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.344, i64 8 }, { 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 @@ -4206,24 +4225,24 @@ while.body.157: ; preds = %while.hdr.156 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.343, 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.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.344, 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.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.348, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.351, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.352, 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 @@ -4250,7 +4269,7 @@ fv.default: ; preds = %if.merge.160 fv.case: ; preds = %if.merge.160 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.160 @@ -4270,7 +4289,7 @@ 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.350, i64 17 }, { ptr, i64 } { ptr @str.351, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.353, i64 17 }, { 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 @@ -4289,24 +4308,24 @@ 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.352, 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.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.356, 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 [4 x { ptr, i64 }], ptr @field_names.358, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.359, 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 }, i64, i64, i64 }, ptr %alloca, align 8 @@ -4335,7 +4354,7 @@ fv.case: ; preds = %if.merge.165 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.165 @@ -4359,7 +4378,7 @@ 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.360, i64 4 }, { ptr, i64 } { ptr @str.361, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.363, i64 4 }, { 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 @@ -4378,24 +4397,24 @@ 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.362, 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.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.363, 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.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 [1 x { ptr, i64 }], ptr @field_names.365, 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.366, 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 { i32 }, ptr %alloca, align 4 @@ -4432,7 +4451,7 @@ 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.367, i64 10 }, { ptr, i64 } { ptr @str.368, 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 @@ -4451,24 +4470,24 @@ 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.369, 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.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.370, 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.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 [5 x { ptr, i64 }], ptr @field_names.376, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.377, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -4534,7 +4553,7 @@ 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.378, i64 13 }, { ptr, i64 } { ptr @str.379, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.381, i64 13 }, { ptr, i64 } { ptr @str.382, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4553,24 +4572,24 @@ while.body.177: ; preds = %while.hdr.176 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.380, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.383, 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.381, 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 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 [2 x { ptr, i64 }], ptr @field_names.384, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.385, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4612,7 +4631,7 @@ 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.386, i64 8 }, { ptr, i64 } { ptr @str.387, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.389, i64 8 }, { ptr, i64 } { ptr @str.390, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4631,24 +4650,24 @@ while.body.182: ; preds = %while.hdr.181 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.391, i64 1 }) ret { ptr, i64 } %callN 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.392, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.185 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.395, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.396, 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 { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -4709,7 +4728,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.397, i64 5 }, { ptr, i64 } { ptr @str.398, 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 @@ -4728,24 +4747,24 @@ while.body.187: ; preds = %while.hdr.186 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.399, 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.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.400, 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.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.404, 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.405, 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 @@ -4772,7 +4791,7 @@ fv.default: ; preds = %if.merge.190 fv.case: ; preds = %if.merge.190 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.190 @@ -4791,7 +4810,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.406, i64 6 }, { ptr, i64 } { ptr @str.407, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.409, i64 6 }, { 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 @@ -4810,24 +4829,24 @@ 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.408, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.411, 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.409, 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 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.413, i64 0, i64 %loadN + %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.414, 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, i64, i64 }, ptr %alloca, align 8 @@ -4854,7 +4873,7 @@ fv.default: ; preds = %if.merge.195 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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.195 @@ -4875,7 +4894,7 @@ entry: %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.415, i64 6 }, { ptr, i64 } { ptr @str.416, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.418, i64 6 }, { 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 @@ -4894,24 +4913,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.417, 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.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.418, 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.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 [2 x { ptr, i64 }], ptr @field_names.421, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.422, 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, i64 }, { i64, [24 x i8] } }, ptr %alloca, align 8 @@ -4945,7 +4964,7 @@ fv.case17: ; preds = %if.merge.200 %fv.field18 = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 1 store { i64, [24 x i8] } %fv.field18, ptr %ba.tmp19, align 8 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -4955,7 +4974,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.423, i64 4 }, { ptr, i64 } { ptr @str.424, 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 @@ -4974,24 +4993,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.425, 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.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.426, 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.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.430, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.431, 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 { { ptr, i64 }, i64, ptr }, ptr %alloca, align 8 @@ -5019,7 +5038,7 @@ fv.case: ; preds = %if.merge.205 %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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.205 @@ -5030,7 +5049,7 @@ fv.case17: ; preds = %if.merge.205 fv.case20: ; preds = %if.merge.205 %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -5041,7 +5060,7 @@ entry: %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.432, i64 6 }, { ptr, i64 } { ptr @str.433, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.435, i64 6 }, { 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 @@ -5060,24 +5079,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.434, 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.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.435, 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.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.439, i64 0, i64 %loadN + %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.440, 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 }, i64, { ptr, ptr, ptr } }, ptr %alloca, align 8 @@ -5117,7 +5136,7 @@ fv.case20: ; preds = %if.merge.210 %fv.field21 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 2 store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8 %ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -5126,7 +5145,7 @@ 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.441, i64 12 }, { ptr, i64 } { ptr @str.442, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.444, i64 12 }, { 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 @@ -5145,24 +5164,24 @@ 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.443, 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.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.444, 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.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 [0 x { ptr, i64 }], ptr @field_names.445, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.446, 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 {}, ptr %alloca, align 1 @@ -5182,7 +5201,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.447, i64 8 }, { ptr, i64 } { ptr @str.448, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.450, i64 8 }, { 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 @@ -5201,24 +5220,24 @@ 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.449, 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.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.450, 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.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.454, 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.455, 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 }, i1, i1 }, ptr %alloca, align 8 @@ -5270,7 +5289,7 @@ entry: %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.456, i64 7 }, { ptr, i64 } { ptr @str.457, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.459, i64 7 }, { 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 @@ -5289,24 +5308,24 @@ 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.458, 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.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.459, 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.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.463, 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.464, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5348,7 +5367,7 @@ fv.case22: ; preds = %if.merge.225 %fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2 store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8 %ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5358,7 +5377,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.465, i64 9 }, { ptr, i64 } { ptr @str.466, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.468, i64 9 }, { 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 @@ -5377,24 +5396,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.467, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.470, 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.468, 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 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 [2 x { ptr, i64 }], ptr @field_names.471, i64 0, i64 %loadN + %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.472, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -5437,7 +5456,7 @@ 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.473, i64 4 }, { ptr, i64 } { ptr @str.474, 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 @@ -5456,24 +5475,24 @@ 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.475, 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.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.476, 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.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.479, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.480, 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 { i64, { ptr, i64 } }, ptr %alloca, align 8 @@ -5519,7 +5538,7 @@ 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.481, i64 6 }, { ptr, i64 } { ptr @str.482, i64 1 }) + %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 @@ -5538,24 +5557,24 @@ 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.483, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.486, 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.484, i64 2 }) + %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.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 [7 x { ptr, i64 }], ptr @field_names.492, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.495, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.496, 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 @@ -5612,21 +5631,21 @@ fv.case28: ; preds = %if.merge.240 %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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge fv.case33: ; preds = %if.merge.240 %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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge fv.case38: ; preds = %if.merge.240 %fv.field39 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 6 store [16 x { i1, { ptr, i64 } }] %fv.field39, ptr %ba.tmp40, align 8 %ba.p2i41 = ptrtoint ptr %ba.tmp40 to i64 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -5637,7 +5656,7 @@ 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.494, i64 6 }, { ptr, i64 } { ptr @str.495, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.497, i64 6 }, { 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 @@ -5656,24 +5675,24 @@ 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.496, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.499, 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.497, i64 2 }) + %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.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 [4 x { ptr, i64 }], ptr @field_names.502, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.503, 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 { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -5702,14 +5721,14 @@ fv.case: ; preds = %if.merge.245 %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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.245 %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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.245 @@ -5732,9 +5751,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.509, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.512, 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.504, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.507, 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 @@ -5753,8 +5772,8 @@ entry: if.then.253: ; 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.511, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.510, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.513, 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.254 @@ -5773,9 +5792,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.516, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.519, 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.512, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.515, 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 @@ -5794,8 +5813,8 @@ entry: if.then.255: ; 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.518, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.517, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.520, 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.256 @@ -5825,9 +5844,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.526, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.529, 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.519, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.522, 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 @@ -5844,8 +5863,8 @@ entry: if.then.257: ; 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.528, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.527, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.530, 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.258 @@ -5901,7 +5920,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -5910,7 +5929,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -5923,9 +5942,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.537, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.540, 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.529, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.532, 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 @@ -5944,8 +5963,8 @@ entry: if.then.259: ; 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.539, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.538, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.541, 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.260 @@ -5964,9 +5983,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.546, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.549, 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.540, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.543, 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 @@ -5985,8 +6004,8 @@ entry: if.then.261: ; 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.548, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.547, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.550, 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.262 @@ -6003,7 +6022,7 @@ 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.549, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.552, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.274 @@ -6020,12 +6039,12 @@ while.body.275: ; preds = %while.hdr.274 while.exit.276: ; preds = %while.hdr.274 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.550, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 1 }) ret { ptr, i64 } %call 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.551, 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.278 @@ -6054,7 +6073,7 @@ 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.552, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.555, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.279 @@ -6071,12 +6090,12 @@ while.body.280: ; preds = %while.hdr.279 while.exit.281: ; preds = %while.hdr.279 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, i64 1 }) ret { ptr, i64 } %call 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.554, 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.283 @@ -6089,7 +6108,7 @@ if.merge.283: ; preds = %if.then.282, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -6106,7 +6125,7 @@ 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.555, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.558, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.284 @@ -6123,12 +6142,12 @@ while.body.285: ; preds = %while.hdr.284 while.exit.286: ; preds = %while.hdr.284 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.559, i64 1 }) ret { ptr, i64 } %call 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.557, 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.288 @@ -6156,7 +6175,7 @@ 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.558, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.561, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.289 @@ -6173,12 +6192,12 @@ while.body.290: ; preds = %while.hdr.289 while.exit.291: ; preds = %while.hdr.289 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.559, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.562, i64 1 }) ret { ptr, i64 } %call 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.560, 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.293 @@ -6207,7 +6226,7 @@ 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.561, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.564, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.294 @@ -6224,12 +6243,12 @@ while.body.295: ; preds = %while.hdr.294 while.exit.296: ; preds = %while.hdr.294 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.562, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.565, i64 1 }) ret { ptr, i64 } %call 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.563, i64 2 }) + %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.298 @@ -6258,7 +6277,7 @@ 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.564, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.567, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.299 @@ -6275,12 +6294,12 @@ while.body.300: ; preds = %while.hdr.299 while.exit.301: ; preds = %while.hdr.299 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.565, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.568, i64 1 }) ret { ptr, i64 } %call 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.566, 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 br label %if.merge.303 @@ -6311,7 +6330,7 @@ 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.567, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.570, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.304 @@ -6328,12 +6347,12 @@ while.body.305: ; preds = %while.hdr.304 while.exit.306: ; preds = %while.hdr.304 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.568, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.571, i64 1 }) ret { ptr, i64 } %call 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.569, 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.308 @@ -6364,7 +6383,7 @@ 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.570, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.573, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.309 @@ -6381,12 +6400,12 @@ while.body.310: ; preds = %while.hdr.309 while.exit.311: ; preds = %while.hdr.309 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.571, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 1 }) ret { ptr, i64 } %call 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.572, 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.313 @@ -6417,7 +6436,7 @@ 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.573, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.576, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.314 @@ -6434,12 +6453,12 @@ while.body.315: ; preds = %while.hdr.314 while.exit.316: ; preds = %while.hdr.314 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.577, i64 1 }) ret { ptr, i64 } %call 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.575, i64 2 }) + %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.318 @@ -6469,7 +6488,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.576, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.579, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.326 @@ -6488,12 +6507,12 @@ while.body.327: ; preds = %while.hdr.326 while.exit.328: ; preds = %while.hdr.326 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.577, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.580, i64 1 }) ret { ptr, i64 } %call 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.578, 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.330 @@ -6522,7 +6541,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.579, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.582, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.331 @@ -6541,12 +6560,12 @@ while.body.332: ; preds = %while.hdr.331 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.580, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.583, i64 1 }) ret { ptr, i64 } %call 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.581, i64 2 }) + %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.335 @@ -6575,7 +6594,7 @@ 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.582, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.585, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.336 @@ -6594,12 +6613,12 @@ while.body.337: ; preds = %while.hdr.336 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.583, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.586, i64 1 }) ret { ptr, i64 } %call 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.584, 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.340 @@ -6612,7 +6631,7 @@ if.merge.340: ; preds = %if.then.339, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -6629,7 +6648,7 @@ 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.585, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.588, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.341 @@ -6648,12 +6667,12 @@ while.body.342: ; preds = %while.hdr.341 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.586, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.589, i64 1 }) ret { ptr, i64 } %call 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.587, 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.345 @@ -6666,7 +6685,7 @@ if.merge.345: ; preds = %if.then.344, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -6683,7 +6702,7 @@ 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.588, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.591, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.346 @@ -6702,12 +6721,12 @@ while.body.347: ; preds = %while.hdr.346 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.589, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.592, i64 1 }) ret { ptr, i64 } %call 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.590, 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.350 @@ -6749,12 +6768,12 @@ if.then.386: ; preds = %entry if.else.387: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.593, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.596, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.595, i64 5 }, { ptr, i64 } %callN) br label %if.merge.388 if.merge.388: ; preds = %if.else.387, %if.then.386 - %bp = phi { ptr, i64 } [ { ptr @str.591, i64 4 }, %if.then.386 ], [ %callN, %if.else.387 ] + %bp = phi { ptr, i64 } [ { ptr @str.594, i64 4 }, %if.then.386 ], [ %callN, %if.else.387 ] ret { ptr, i64 } %bp } @@ -6777,12 +6796,12 @@ if.then.402: ; preds = %entry if.else.403: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.596, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.595, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 11 }, { ptr, i64 } %callN) br label %if.merge.404 if.merge.404: ; preds = %if.else.403, %if.then.402 - %bp = phi { ptr, i64 } [ { ptr @str.594, i64 4 }, %if.then.402 ], [ %callN, %if.else.403 ] + %bp = phi { ptr, i64 } [ { ptr @str.597, i64 4 }, %if.then.402 ], [ %callN, %if.else.403 ] ret { ptr, i64 } %bp } @@ -6805,12 +6824,12 @@ if.then.405: ; preds = %entry if.else.406: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.602, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 4 }, { ptr, i64 } %callN) br label %if.merge.407 if.merge.407: ; preds = %if.else.406, %if.then.405 - %bp = phi { ptr, i64 } [ { ptr @str.597, i64 4 }, %if.then.405 ], [ %callN, %if.else.406 ] + %bp = phi { ptr, i64 } [ { ptr @str.600, i64 4 }, %if.then.405 ], [ %callN, %if.else.406 ] ret { ptr, i64 } %bp } @@ -6833,12 +6852,12 @@ if.then.408: ; preds = %entry if.else.409: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.602, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, i64 11 }, { ptr, i64 } %callN) br label %if.merge.410 if.merge.410: ; preds = %if.else.409, %if.then.408 - %bp = phi { ptr, i64 } [ { ptr @str.600, i64 4 }, %if.then.408 ], [ %callN, %if.else.409 ] + %bp = phi { ptr, i64 } [ { ptr @str.603, i64 4 }, %if.then.408 ], [ %callN, %if.else.409 ] ret { ptr, i64 } %bp } @@ -6861,12 +6880,12 @@ if.then.411: ; preds = %entry 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.605, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.608, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.607, i64 6 }, { ptr, i64 } %callN) br label %if.merge.413 if.merge.413: ; preds = %if.else.412, %if.then.411 - %bp = phi { ptr, i64 } [ { ptr @str.603, i64 4 }, %if.then.411 ], [ %callN, %if.else.412 ] + %bp = phi { ptr, i64 } [ { ptr @str.606, i64 4 }, %if.then.411 ], [ %callN, %if.else.412 ] ret { ptr, i64 } %bp } @@ -6888,12 +6907,12 @@ if.then.414: ; preds = %entry 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.608, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.607, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.611, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.610, 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.606, i64 4 }, %if.then.414 ], [ %callN, %if.else.415 ] + %bp = phi { ptr, i64 } [ { ptr @str.609, i64 4 }, %if.then.414 ], [ %callN, %if.else.415 ] ret { ptr, i64 } %bp } @@ -6916,12 +6935,12 @@ if.then.417: ; preds = %entry if.else.418: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.611, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.610, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.614, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 9 }, { ptr, i64 } %callN) br label %if.merge.419 if.merge.419: ; preds = %if.else.418, %if.then.417 - %bp = phi { ptr, i64 } [ { ptr @str.609, i64 4 }, %if.then.417 ], [ %callN, %if.else.418 ] + %bp = phi { ptr, i64 } [ { ptr @str.612, i64 4 }, %if.then.417 ], [ %callN, %if.else.418 ] ret { ptr, i64 } %bp } @@ -6944,12 +6963,12 @@ if.then.420: ; preds = %entry if.else.421: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.614, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.617, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.616, i64 18 }, { ptr, i64 } %callN) br label %if.merge.422 if.merge.422: ; preds = %if.else.421, %if.then.420 - %bp = phi { ptr, i64 } [ { ptr @str.612, i64 4 }, %if.then.420 ], [ %callN, %if.else.421 ] + %bp = phi { ptr, i64 } [ { ptr @str.615, i64 4 }, %if.then.420 ], [ %callN, %if.else.421 ] ret { ptr, i64 } %bp } @@ -6972,17 +6991,17 @@ if.then.423: ; preds = %entry if.else.424: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.617, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.616, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.620, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, i64 5 }, { ptr, i64 } %callN) br label %if.merge.425 if.merge.425: ; preds = %if.else.424, %if.then.423 - %bp = phi { ptr, i64 } [ { ptr @str.615, i64 4 }, %if.then.423 ], [ %callN, %if.else.424 ] + %bp = phi { ptr, i64 } [ { ptr @str.618, i64 4 }, %if.then.423 ], [ %callN, %if.else.424 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7000,17 +7019,17 @@ if.then.426: ; preds = %entry 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.620, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, i64 3 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.623, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.622, i64 4 }, { ptr, i64 } %callN) br label %if.merge.428 if.merge.428: ; preds = %if.else.427, %if.then.426 - %bp = phi { ptr, i64 } [ { ptr @str.618, i64 4 }, %if.then.426 ], [ %callN, %if.else.427 ] + %bp = phi { ptr, i64 } [ { ptr @str.621, i64 4 }, %if.then.426 ], [ %callN, %if.else.427 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7028,17 +7047,17 @@ if.then.429: ; preds = %entry if.else.430: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.623, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.622, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.626, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.625, i64 9 }, { ptr, i64 } %callN) br label %if.merge.431 if.merge.431: ; preds = %if.else.430, %if.then.429 - %bp = phi { ptr, i64 } [ { ptr @str.621, i64 4 }, %if.then.429 ], [ %callN, %if.else.430 ] + %bp = phi { ptr, i64 } [ { ptr @str.624, i64 4 }, %if.then.429 ], [ %callN, %if.else.430 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7056,40 +7075,12 @@ if.then.432: ; preds = %entry 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.626, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.625, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.629, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, i64 4 }, { ptr, i64 } %callN) br label %if.merge.434 if.merge.434: ; preds = %if.else.433, %if.then.432 - %bp = phi { ptr, i64 } [ { ptr @str.624, i64 4 }, %if.then.432 ], [ %callN, %if.else.433 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.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.629, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, 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.627, i64 4 }, %if.then.435 ], [ %callN, %if.else.436 ] + %bp = phi { ptr, i64 } [ { ptr @str.627, i64 4 }, %if.then.432 ], [ %callN, %if.else.433 ] ret { ptr, i64 } %bp } @@ -7103,20 +7094,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.438, label %if.else.439 + br i1 %icmp, label %if.then.435, label %if.else.436 -if.then.438: ; preds = %entry - br label %if.merge.440 +if.then.435: ; preds = %entry + br label %if.merge.437 -if.else.439: ; preds = %entry +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.632, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.631, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.440 + br label %if.merge.437 -if.merge.440: ; preds = %if.else.439, %if.then.438 - %bp = phi { ptr, i64 } [ { ptr @str.630, i64 4 }, %if.then.438 ], [ %callN, %if.else.439 ] +if.merge.437: ; preds = %if.else.436, %if.then.435 + %bp = phi { ptr, i64 } [ { ptr @str.630, i64 4 }, %if.then.435 ], [ %callN, %if.else.436 ] ret { ptr, i64 } %bp } @@ -7131,20 +7122,20 @@ entry: store i64 %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 + br i1 %icmp, label %if.then.438, label %if.else.439 -if.then.441: ; preds = %entry - br label %if.merge.443 +if.then.438: ; preds = %entry + br label %if.merge.440 -if.else.442: ; preds = %entry +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.635, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.634, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.443 + br label %if.merge.440 -if.merge.443: ; preds = %if.else.442, %if.then.441 - %bp = phi { ptr, i64 } [ { ptr @str.633, i64 4 }, %if.then.441 ], [ %callN, %if.else.442 ] +if.merge.440: ; preds = %if.else.439, %if.then.438 + %bp = phi { ptr, i64 } [ { ptr @str.633, i64 4 }, %if.then.438 ], [ %callN, %if.else.439 ] ret { ptr, i64 } %bp } @@ -7158,6 +7149,34 @@ 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.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.638, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.637, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.443 + +if.merge.443: ; preds = %if.else.442, %if.then.441 + %bp = phi { ptr, i64 } [ { ptr @str.636, i64 4 }, %if.then.441 ], [ %callN, %if.else.442 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.444, label %if.else.445 if.then.444: ; preds = %entry @@ -7166,17 +7185,17 @@ if.then.444: ; preds = %entry 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.638, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.637, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.641, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 7 }, { ptr, i64 } %callN) br label %if.merge.446 if.merge.446: ; preds = %if.else.445, %if.then.444 - %bp = phi { ptr, i64 } [ { ptr @str.636, i64 4 }, %if.then.444 ], [ %callN, %if.else.445 ] + %bp = phi { ptr, i64 } [ { ptr @str.639, i64 4 }, %if.then.444 ], [ %callN, %if.else.445 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7194,17 +7213,17 @@ if.then.447: ; preds = %entry 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.641, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.644, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.643, 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.639, i64 4 }, %if.then.447 ], [ %callN, %if.else.448 ] + %bp = phi { ptr, i64 } [ { ptr @str.642, i64 4 }, %if.then.447 ], [ %callN, %if.else.448 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7222,17 +7241,17 @@ 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.644, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.643, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.647, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.646, i64 7 }, { ptr, i64 } %callN) br label %if.merge.452 if.merge.452: ; preds = %if.else.451, %if.then.450 - %bp = phi { ptr, i64 } [ { ptr @str.642, i64 4 }, %if.then.450 ], [ %callN, %if.else.451 ] + %bp = phi { ptr, i64 } [ { ptr @str.645, i64 4 }, %if.then.450 ], [ %callN, %if.else.451 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7250,17 +7269,17 @@ if.then.453: ; preds = %entry if.else.454: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.647, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.646, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 4 }, { ptr, i64 } %callN) br label %if.merge.455 if.merge.455: ; preds = %if.else.454, %if.then.453 - %bp = phi { ptr, i64 } [ { ptr @str.645, i64 4 }, %if.then.453 ], [ %callN, %if.else.454 ] + %bp = phi { ptr, i64 } [ { ptr @str.648, i64 4 }, %if.then.453 ], [ %callN, %if.else.454 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7278,17 +7297,17 @@ if.then.456: ; preds = %entry 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.650, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.653, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 7 }, { ptr, i64 } %callN) br label %if.merge.458 if.merge.458: ; preds = %if.else.457, %if.then.456 - %bp = phi { ptr, i64 } [ { ptr @str.648, i64 4 }, %if.then.456 ], [ %callN, %if.else.457 ] + %bp = phi { ptr, i64 } [ { ptr @str.651, i64 4 }, %if.then.456 ], [ %callN, %if.else.457 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7306,17 +7325,17 @@ if.then.459: ; preds = %entry 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.653, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.656, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 5 }, { ptr, i64 } %callN) br label %if.merge.461 if.merge.461: ; preds = %if.else.460, %if.then.459 - %bp = phi { ptr, i64 } [ { ptr @str.651, i64 4 }, %if.then.459 ], [ %callN, %if.else.460 ] + %bp = phi { ptr, i64 } [ { ptr @str.654, i64 4 }, %if.then.459 ], [ %callN, %if.else.460 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7334,17 +7353,17 @@ if.then.462: ; preds = %entry 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.656, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.658, i64 7 }, { ptr, i64 } %callN) br label %if.merge.464 if.merge.464: ; preds = %if.else.463, %if.then.462 - %bp = phi { ptr, i64 } [ { ptr @str.654, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] + %bp = phi { ptr, i64 } [ { ptr @str.657, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7362,17 +7381,17 @@ if.then.465: ; preds = %entry 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.659, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.658, i64 7 }, { ptr, i64 } %callN) + %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 12 }, { ptr, i64 } %callN) br label %if.merge.467 if.merge.467: ; preds = %if.else.466, %if.then.465 - %bp = phi { ptr, i64 } [ { ptr @str.657, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] + %bp = phi { ptr, i64 } [ { ptr @str.660, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7390,17 +7409,17 @@ if.then.468: ; preds = %entry 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.662, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.661, i64 12 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.470 if.merge.470: ; preds = %if.else.469, %if.then.468 - %bp = phi { ptr, i64 } [ { ptr @str.660, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] + %bp = phi { ptr, i64 } [ { ptr @str.663, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7418,17 +7437,17 @@ if.then.471: ; preds = %entry 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.665, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.664, i64 6 }, { ptr, i64 } %callN) + %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.473 if.merge.473: ; preds = %if.else.472, %if.then.471 - %bp = phi { ptr, i64 } [ { ptr @str.663, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] + %bp = phi { ptr, i64 } [ { ptr @str.666, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7446,17 +7465,17 @@ if.then.474: ; preds = %entry 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.668, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.667, i64 4 }, { ptr, i64 } %callN) + %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 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.666, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] + %bp = phi { ptr, i64 } [ { ptr @str.669, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7474,17 +7493,17 @@ if.then.477: ; 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.671, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.670, i64 6 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.479 if.merge.479: ; preds = %if.else.478, %if.then.477 - %bp = phi { ptr, i64 } [ { ptr @str.669, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] + %bp = phi { ptr, i64 } [ { ptr @str.672, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_3_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7502,17 +7521,17 @@ 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.674, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.673, i64 7 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.482 if.merge.482: ; preds = %if.else.481, %if.then.480 - %bp = phi { ptr, i64 } [ { ptr @str.672, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] + %bp = phi { ptr, i64 } [ { ptr @str.675, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_3_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7530,17 +7549,17 @@ 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.677, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.676, i64 7 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.485 if.merge.485: ; preds = %if.else.484, %if.then.483 - %bp = phi { ptr, i64 } [ { ptr @str.675, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] + %bp = phi { ptr, i64 } [ { ptr @str.678, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7558,17 +7577,17 @@ if.then.486: ; 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.680, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.679, i64 7 }, { ptr, i64 } %callN) + %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.488 if.merge.488: ; preds = %if.else.487, %if.then.486 - %bp = phi { ptr, i64 } [ { ptr @str.678, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] + %bp = phi { ptr, i64 } [ { ptr @str.681, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_2_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7586,17 +7605,17 @@ if.then.489: ; 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.683, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.682, i64 5 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.491 if.merge.491: ; preds = %if.else.490, %if.then.489 - %bp = phi { ptr, i64 } [ { ptr @str.681, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] + %bp = phi { ptr, i64 } [ { ptr @str.684, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_2_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_5_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7614,17 +7633,17 @@ if.then.492: ; 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.686, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.685, i64 7 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.494 if.merge.494: ; preds = %if.else.493, %if.then.492 - %bp = phi { ptr, i64 } [ { ptr @str.684, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] + %bp = phi { ptr, i64 } [ { ptr @str.687, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_5_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7642,12 +7661,12 @@ if.then.495: ; 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.689, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.688, i64 7 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.497 if.merge.497: ; preds = %if.else.496, %if.then.495 - %bp = phi { ptr, i64 } [ { ptr @str.687, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] + %bp = phi { ptr, i64 } [ { ptr @str.690, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] ret { ptr, i64 } %bp } @@ -7660,17 +7679,17 @@ 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.504, label %if.merge.505 + br i1 %lnot, label %if.then.505, label %if.merge.506 -if.then.504: ; preds = %entry - ret { ptr, i64 } { ptr @str.690, i64 4 } +if.then.505: ; preds = %entry + ret { ptr, i64 } { ptr @str.693, i64 4 } -if.merge.505: ; preds = %entry +if.merge.506: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7684,12 +7703,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.506, label %if.merge.507 + br i1 %lnot, label %if.then.507, label %if.merge.508 -if.then.506: ; preds = %entry - ret { ptr, i64 } { ptr @str.691, i64 4 } +if.then.507: ; preds = %entry + ret { ptr, i64 } { ptr @str.694, i64 4 } -if.merge.507: ; preds = %entry +if.merge.508: ; 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 @@ -7699,6 +7718,27 @@ if.merge.507: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.509, label %if.merge.510 + +if.then.509: ; preds = %entry + ret { ptr, i64 } { ptr @str.695, i64 4 } + +if.merge.510: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -7708,17 +7748,17 @@ 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.508, label %if.merge.509 + br i1 %lnot, label %if.then.511, label %if.merge.512 -if.then.508: ; preds = %entry - ret { ptr, i64 } { ptr @str.692, i64 4 } +if.then.511: ; preds = %entry + ret { ptr, i64 } { ptr @str.696, i64 4 } -if.merge.509: ; preds = %entry +if.merge.512: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7732,17 +7772,17 @@ 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.510, label %if.merge.511 + br i1 %lnot, label %if.then.513, label %if.merge.514 -if.then.510: ; preds = %entry - ret { ptr, i64 } { ptr @str.693, i64 4 } +if.then.513: ; preds = %entry + ret { ptr, i64 } { ptr @str.697, i64 4 } -if.merge.511: ; preds = %entry +if.merge.514: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } diff --git a/examples/expected/0513-packs-pack-mixed-comptime.ir b/examples/expected/0513-packs-pack-mixed-comptime.ir index 4c2afca..58f0216 100644 --- a/examples/expected/0513-packs-pack-mixed-comptime.ir +++ b/examples/expected/0513-packs-pack-mixed-comptime.ir @@ -7,7 +7,7 @@ @str.78 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.79 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.80 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [162 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] +@__sx_type_is_unsigned = private constant [165 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.81 = private constant [9 x i8] c"Overflow\00" @tag.str.82 = private constant [3 x i8] c"Io\00" @@ -41,443 +41,443 @@ @tn.str.108 = private constant [6 x i8] c"isize\00" @tn.str.109 = private constant [6 x i8] c"usize\00" @tn.str.110 = private constant [5 x i8] c"void\00" -@tn.str.111 = private constant [6 x i8] c"*void\00" -@tn.str.112 = private constant [16 x i8] c"Source_Location\00" -@tn.str.113 = private constant [10 x i8] c"Allocator\00" -@tn.str.114 = private constant [8 x i8] c"Context\00" -@tn.str.115 = private constant [7 x i8] c"[4]i64\00" -@tn.str.116 = private constant [9 x i8] c"[]string\00" -@tn.str.117 = private constant [11 x i8] c"CAllocator\00" -@tn.str.118 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.119 = private constant [4 x i8] c"GPA\00" -@tn.str.120 = private constant [5 x i8] c"*GPA\00" -@tn.str.121 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.122 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.123 = private constant [6 x i8] c"Arena\00" -@tn.str.124 = private constant [7 x i8] c"*Arena\00" -@tn.str.125 = private constant [6 x i8] c"[*]u8\00" -@tn.str.126 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.127 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.128 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.129 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.130 = private constant [9 x i8] c"OpenMode\00" -@tn.str.131 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.132 = private constant [5 x i8] c"File\00" -@tn.str.133 = private constant [6 x i8] c"*File\00" -@tn.str.134 = private constant [6 x i8] c"?File\00" -@tn.str.135 = private constant [8 x i8] c"?string\00" -@tn.str.136 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.137 = private constant [4 x i8] c"*u8\00" -@tn.str.138 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.139 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.140 = private constant [5 x i8] c"*i32\00" -@tn.str.141 = private constant [9 x i8] c"SockAddr\00" -@tn.str.142 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.143 = private constant [5 x i8] c"*u32\00" -@tn.str.144 = private constant [10 x i8] c"JsonError\00" -@tn.str.145 = private constant [6 x i8] c"Array\00" -@tn.str.146 = private constant [7 x i8] c"Object\00" -@tn.str.147 = private constant [6 x i8] c"Value\00" -@tn.str.148 = private constant [7 x i8] c"Member\00" -@tn.str.149 = private constant [9 x i8] c"[*]Value\00" -@tn.str.150 = private constant [7 x i8] c"*Array\00" -@tn.str.151 = private constant [10 x i8] c"[*]Member\00" -@tn.str.152 = private constant [8 x i8] c"*Object\00" -@tn.str.153 = private constant [5 x i8] c"[]u8\00" -@tn.str.154 = private constant [5 x i8] c"Sink\00" -@tn.str.155 = private constant [6 x i8] c"*Sink\00" -@tn.str.156 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.157 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.158 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.159 = private constant [7 x i8] c"Parser\00" -@tn.str.160 = private constant [8 x i8] c"*Parser\00" -@tn.str.161 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.162 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.163 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.164 = private constant [13 x i8] c"Architecture\00" -@tn.str.165 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.166 = private constant [11 x i8] c"() -> bool\00" -@tn.str.167 = private constant [5 x i8] c"*i64\00" -@tn.str.168 = private constant [9 x i8] c"CliError\00" -@tn.str.169 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.170 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.171 = private constant [8 x i8] c"Command\00" -@tn.str.172 = private constant [10 x i8] c"FlagValue\00" -@tn.str.173 = private constant [5 x i8] c"Diag\00" -@tn.str.174 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.175 = private constant [7 x i8] c"Parsed\00" -@tn.str.176 = private constant [8 x i8] c"*Parsed\00" -@tn.str.177 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.178 = private constant [10 x i8] c"[]Command\00" -@tn.str.179 = private constant [6 x i8] c"*Diag\00" -@tn.str.180 = private constant [7 x i8] c"[8]i64\00" -@tn.str.181 = private constant [7 x i8] c"[64]u8\00" -@tn.str.182 = private constant [7 x i8] c"Sha256\00" -@tn.str.183 = private constant [8 x i8] c"*Sha256\00" -@tn.str.184 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.185 = private constant [8 x i8] c"[64]i64\00" -@tn.str.186 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.187 = private constant [7 x i8] c"**void\00" -@tn.str.188 = private constant [6 x i8] c"[]Any\00" -@tn.str.189 = private constant [5 x i8] c"*Any\00" -@tn.str.190 = private constant [7 x i8] c"[3]Any\00" -@tn.str.191 = private constant [8 x i8] c"*[3]Any\00" -@tn.str.192 = private constant [7 x i8] c"*[]Any\00" -@tn.str.193 = private constant [8 x i8] c"*string\00" -@tn.str.194 = private constant [7 x i8] c"[1]Any\00" -@tn.str.195 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.196 = private constant [6 x i8] c"*bool\00" -@tn.str.197 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.198 = private constant [5 x i8] c"*f64\00" -@tn.str.199 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.200 = private constant [11 x i8] c"*Allocator\00" -@tn.str.201 = private constant [9 x i8] c"*Context\00" -@tn.str.202 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.203 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.204 = private constant [8 x i8] c"*Member\00" -@tn.str.205 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.206 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.207 = private constant [9 x i8] c"*Command\00" -@tn.str.208 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.209 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.210 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.211 = private constant [7 x i8] c"*Value\00" -@tn.str.212 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.213 = private constant [14 x i8] c"*Architecture\00" -@tn.str.214 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.215 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.216 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.217 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.218 = private constant [10 x i8] c"*[]string\00" -@tn.str.219 = private constant [6 x i8] c"*[]u8\00" -@tn.str.220 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.221 = private constant [11 x i8] c"*[]Command\00" -@tn.str.222 = private constant [6 x i8] c"**GPA\00" -@tn.str.223 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.224 = private constant [8 x i8] c"**Arena\00" -@tn.str.225 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.226 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.227 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.228 = private constant [7 x i8] c"**File\00" -@tn.str.229 = private constant [5 x i8] c"**u8\00" -@tn.str.230 = private constant [6 x i8] c"**i32\00" -@tn.str.231 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.232 = private constant [6 x i8] c"**u32\00" -@tn.str.233 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.234 = private constant [8 x i8] c"**Array\00" -@tn.str.235 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.236 = private constant [9 x i8] c"**Object\00" -@tn.str.237 = private constant [7 x i8] c"**Sink\00" -@tn.str.238 = private constant [9 x i8] c"**Parser\00" -@tn.str.239 = private constant [6 x i8] c"**i64\00" -@tn.str.240 = private constant [9 x i8] c"**Parsed\00" -@tn.str.241 = private constant [7 x i8] c"**Diag\00" -@tn.str.242 = private constant [9 x i8] c"**Sha256\00" -@tn.str.243 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.244 = private constant [8 x i8] c"***void\00" -@tn.str.245 = private constant [6 x i8] c"**Any\00" -@tn.str.246 = private constant [9 x i8] c"**[3]Any\00" -@tn.str.247 = private constant [8 x i8] c"**[]Any\00" -@tn.str.248 = private constant [9 x i8] c"**string\00" -@tn.str.249 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.250 = private constant [7 x i8] c"**bool\00" -@tn.str.251 = private constant [7 x i8] c"*?File\00" -@tn.str.252 = private constant [9 x i8] c"*?string\00" -@tn.str.253 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.254 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [162 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 15 }, { ptr, i64 } { ptr @tn.str.113, i64 9 }, { ptr, i64 } { ptr @tn.str.114, i64 7 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 8 }, { ptr, i64 } { ptr @tn.str.117, i64 10 }, { ptr, i64 } { ptr @tn.str.118, i64 11 }, { ptr, i64 } { ptr @tn.str.119, i64 3 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 10 }, { ptr, i64 } { ptr @tn.str.122, i64 11 }, { ptr, i64 } { ptr @tn.str.123, i64 5 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 5 }, { ptr, i64 } { ptr @tn.str.126, i64 8 }, { ptr, i64 } { ptr @tn.str.127, i64 9 }, { ptr, i64 } { ptr @tn.str.128, i64 17 }, { ptr, i64 } { ptr @tn.str.129, i64 18 }, { ptr, i64 } { ptr @tn.str.130, i64 8 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 4 }, { ptr, i64 } { ptr @tn.str.133, i64 5 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 7 }, { ptr, i64 } { ptr @tn.str.136, i64 10 }, { ptr, i64 } { ptr @tn.str.137, i64 3 }, { ptr, i64 } { ptr @tn.str.138, i64 13 }, { ptr, i64 } { ptr @tn.str.139, i64 14 }, { ptr, i64 } { ptr @tn.str.140, i64 4 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 9 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 9 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 6 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 6 }, { ptr, i64 } { ptr @tn.str.149, i64 8 }, { ptr, i64 } { ptr @tn.str.150, i64 6 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 7 }, { ptr, i64 } { ptr @tn.str.153, i64 4 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 5 }, { ptr, i64 } { ptr @tn.str.156, i64 16 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 21 }, { ptr, i64 } { ptr @tn.str.159, i64 6 }, { ptr, i64 } { ptr @tn.str.160, i64 7 }, { ptr, i64 } { ptr @tn.str.161, i64 24 }, { ptr, i64 } { ptr @tn.str.162, i64 23 }, { ptr, i64 } { ptr @tn.str.163, i64 15 }, { ptr, i64 } { ptr @tn.str.164, i64 12 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 10 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 8 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 10 }, { ptr, i64 } { ptr @tn.str.171, i64 7 }, { ptr, i64 } { ptr @tn.str.172, i64 9 }, { ptr, i64 } { ptr @tn.str.173, i64 4 }, { ptr, i64 } { ptr @tn.str.174, i64 13 }, { ptr, i64 } { ptr @tn.str.175, i64 6 }, { ptr, i64 } { ptr @tn.str.176, i64 7 }, { ptr, i64 } { ptr @tn.str.177, i64 18 }, { ptr, i64 } { ptr @tn.str.178, i64 9 }, { ptr, i64 } { ptr @tn.str.179, i64 5 }, { ptr, i64 } { ptr @tn.str.180, i64 6 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 12 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 5 }, { ptr, i64 } { ptr @tn.str.189, i64 4 }, { ptr, i64 } { ptr @tn.str.190, i64 6 }, { ptr, i64 } { ptr @tn.str.191, i64 7 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 7 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 5 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 4 }, { ptr, i64 } { ptr @tn.str.199, i64 16 }, { ptr, i64 } { ptr @tn.str.200, i64 10 }, { ptr, i64 } { ptr @tn.str.201, i64 8 }, { ptr, i64 } { ptr @tn.str.202, i64 11 }, { ptr, i64 } { ptr @tn.str.203, i64 14 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 13 }, { ptr, i64 } { ptr @tn.str.206, i64 9 }, { ptr, i64 } { ptr @tn.str.207, i64 8 }, { ptr, i64 } { ptr @tn.str.208, i64 10 }, { ptr, i64 } { ptr @tn.str.209, i64 9 }, { ptr, i64 } { ptr @tn.str.210, i64 9 }, { ptr, i64 } { ptr @tn.str.211, i64 6 }, { ptr, i64 } { ptr @tn.str.212, i64 16 }, { ptr, i64 } { ptr @tn.str.213, i64 13 }, { ptr, i64 } { ptr @tn.str.214, i64 14 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 7 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 9 }, { ptr, i64 } { ptr @tn.str.219, i64 5 }, { ptr, i64 } { ptr @tn.str.220, i64 11 }, { ptr, i64 } { ptr @tn.str.221, i64 10 }, { ptr, i64 } { ptr @tn.str.222, i64 5 }, { ptr, i64 } { ptr @tn.str.223, i64 12 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 6 }, { ptr, i64 } { ptr @tn.str.226, i64 10 }, { ptr, i64 } { ptr @tn.str.227, i64 19 }, { ptr, i64 } { ptr @tn.str.228, i64 6 }, { ptr, i64 } { ptr @tn.str.229, i64 4 }, { ptr, i64 } { ptr @tn.str.230, i64 5 }, { ptr, i64 } { ptr @tn.str.231, i64 10 }, { ptr, i64 } { ptr @tn.str.232, i64 5 }, { ptr, i64 } { ptr @tn.str.233, i64 9 }, { ptr, i64 } { ptr @tn.str.234, i64 7 }, { ptr, i64 } { ptr @tn.str.235, i64 10 }, { ptr, i64 } { ptr @tn.str.236, i64 8 }, { ptr, i64 } { ptr @tn.str.237, i64 6 }, { ptr, i64 } { ptr @tn.str.238, i64 8 }, { ptr, i64 } { ptr @tn.str.239, i64 5 }, { ptr, i64 } { ptr @tn.str.240, i64 8 }, { ptr, i64 } { ptr @tn.str.241, i64 6 }, { ptr, i64 } { ptr @tn.str.242, i64 8 }, { ptr, i64 } { ptr @tn.str.243, i64 13 }, { ptr, i64 } { ptr @tn.str.244, i64 7 }, { ptr, i64 } { ptr @tn.str.245, i64 5 }, { ptr, i64 } { ptr @tn.str.246, i64 8 }, { ptr, i64 } { ptr @tn.str.247, i64 7 }, { ptr, i64 } { ptr @tn.str.248, i64 8 }, { ptr, i64 } { ptr @tn.str.249, i64 8 }, { ptr, i64 } { ptr @tn.str.250, i64 6 }, { ptr, i64 } { ptr @tn.str.251, i64 6 }, { ptr, i64 } { ptr @tn.str.252, i64 8 }, { ptr, i64 } { ptr @tn.str.253, i64 15 }, { ptr, i64 } { ptr @tn.str.254, i64 8 }] -@str.255 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.256 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.257 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@tn.str.111 = private constant [8 x i8] c"cstring\00" +@tn.str.112 = private constant [6 x i8] c"*void\00" +@tn.str.113 = private constant [16 x i8] c"Source_Location\00" +@tn.str.114 = private constant [10 x i8] c"Allocator\00" +@tn.str.115 = private constant [8 x i8] c"Context\00" +@tn.str.116 = private constant [7 x i8] c"[4]i64\00" +@tn.str.117 = private constant [9 x i8] c"[]string\00" +@tn.str.118 = private constant [11 x i8] c"CAllocator\00" +@tn.str.119 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.120 = private constant [4 x i8] c"GPA\00" +@tn.str.121 = private constant [5 x i8] c"*GPA\00" +@tn.str.122 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.123 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.124 = private constant [6 x i8] c"Arena\00" +@tn.str.125 = private constant [7 x i8] c"*Arena\00" +@tn.str.126 = private constant [6 x i8] c"[*]u8\00" +@tn.str.127 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.128 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.129 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.130 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.131 = private constant [9 x i8] c"OpenMode\00" +@tn.str.132 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.133 = private constant [5 x i8] c"File\00" +@tn.str.134 = private constant [6 x i8] c"*File\00" +@tn.str.135 = private constant [6 x i8] c"?File\00" +@tn.str.136 = private constant [8 x i8] c"?string\00" +@tn.str.137 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.138 = private constant [9 x i8] c"?cstring\00" +@tn.str.139 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.140 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.141 = private constant [5 x i8] c"*i32\00" +@tn.str.142 = private constant [9 x i8] c"SockAddr\00" +@tn.str.143 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.144 = private constant [5 x i8] c"*u32\00" +@tn.str.145 = private constant [10 x i8] c"JsonError\00" +@tn.str.146 = private constant [6 x i8] c"Array\00" +@tn.str.147 = private constant [7 x i8] c"Object\00" +@tn.str.148 = private constant [6 x i8] c"Value\00" +@tn.str.149 = private constant [7 x i8] c"Member\00" +@tn.str.150 = private constant [9 x i8] c"[*]Value\00" +@tn.str.151 = private constant [7 x i8] c"*Array\00" +@tn.str.152 = private constant [10 x i8] c"[*]Member\00" +@tn.str.153 = private constant [8 x i8] c"*Object\00" +@tn.str.154 = private constant [5 x i8] c"[]u8\00" +@tn.str.155 = private constant [5 x i8] c"Sink\00" +@tn.str.156 = private constant [6 x i8] c"*Sink\00" +@tn.str.157 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.158 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.159 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.160 = private constant [7 x i8] c"Parser\00" +@tn.str.161 = private constant [8 x i8] c"*Parser\00" +@tn.str.162 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.163 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.164 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.165 = private constant [13 x i8] c"Architecture\00" +@tn.str.166 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.167 = private constant [11 x i8] c"() -> bool\00" +@tn.str.168 = private constant [5 x i8] c"*i64\00" +@tn.str.169 = private constant [9 x i8] c"CliError\00" +@tn.str.170 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.171 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.172 = private constant [8 x i8] c"Command\00" +@tn.str.173 = private constant [10 x i8] c"FlagValue\00" +@tn.str.174 = private constant [5 x i8] c"Diag\00" +@tn.str.175 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.176 = private constant [7 x i8] c"Parsed\00" +@tn.str.177 = private constant [8 x i8] c"*Parsed\00" +@tn.str.178 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.179 = private constant [10 x i8] c"[]Command\00" +@tn.str.180 = private constant [6 x i8] c"*Diag\00" +@tn.str.181 = private constant [7 x i8] c"[8]i64\00" +@tn.str.182 = private constant [7 x i8] c"[64]u8\00" +@tn.str.183 = private constant [7 x i8] c"Sha256\00" +@tn.str.184 = private constant [8 x i8] c"*Sha256\00" +@tn.str.185 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.186 = private constant [8 x i8] c"[64]i64\00" +@tn.str.187 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.188 = private constant [7 x i8] c"**void\00" +@tn.str.189 = private constant [6 x i8] c"[]Any\00" +@tn.str.190 = private constant [5 x i8] c"*Any\00" +@tn.str.191 = private constant [7 x i8] c"[3]Any\00" +@tn.str.192 = private constant [8 x i8] c"*[3]Any\00" +@tn.str.193 = private constant [7 x i8] c"*[]Any\00" +@tn.str.194 = private constant [8 x i8] c"*string\00" +@tn.str.195 = private constant [7 x i8] c"[1]Any\00" +@tn.str.196 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.197 = private constant [4 x i8] c"*u8\00" +@tn.str.198 = private constant [6 x i8] c"*bool\00" +@tn.str.199 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.200 = private constant [5 x i8] c"*f64\00" +@tn.str.201 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.202 = private constant [11 x i8] c"*Allocator\00" +@tn.str.203 = private constant [9 x i8] c"*Context\00" +@tn.str.204 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.205 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.206 = private constant [8 x i8] c"*Member\00" +@tn.str.207 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.208 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.209 = private constant [9 x i8] c"*Command\00" +@tn.str.210 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.211 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.212 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.213 = private constant [7 x i8] c"*Value\00" +@tn.str.214 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.215 = private constant [14 x i8] c"*Architecture\00" +@tn.str.216 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.217 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.218 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.219 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.220 = private constant [10 x i8] c"*[]string\00" +@tn.str.221 = private constant [6 x i8] c"*[]u8\00" +@tn.str.222 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.223 = private constant [11 x i8] c"*[]Command\00" +@tn.str.224 = private constant [6 x i8] c"**GPA\00" +@tn.str.225 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.226 = private constant [8 x i8] c"**Arena\00" +@tn.str.227 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.228 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.229 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.230 = private constant [7 x i8] c"**File\00" +@tn.str.231 = private constant [6 x i8] c"**i32\00" +@tn.str.232 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.233 = private constant [6 x i8] c"**u32\00" +@tn.str.234 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.235 = private constant [8 x i8] c"**Array\00" +@tn.str.236 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.237 = private constant [9 x i8] c"**Object\00" +@tn.str.238 = private constant [7 x i8] c"**Sink\00" +@tn.str.239 = private constant [9 x i8] c"**Parser\00" +@tn.str.240 = private constant [6 x i8] c"**i64\00" +@tn.str.241 = private constant [9 x i8] c"**Parsed\00" +@tn.str.242 = private constant [7 x i8] c"**Diag\00" +@tn.str.243 = private constant [9 x i8] c"**Sha256\00" +@tn.str.244 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.245 = private constant [8 x i8] c"***void\00" +@tn.str.246 = private constant [6 x i8] c"**Any\00" +@tn.str.247 = private constant [9 x i8] c"**[3]Any\00" +@tn.str.248 = private constant [8 x i8] c"**[]Any\00" +@tn.str.249 = private constant [9 x i8] c"**string\00" +@tn.str.250 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.251 = private constant [5 x i8] c"**u8\00" +@tn.str.252 = private constant [7 x i8] c"**bool\00" +@tn.str.253 = private constant [7 x i8] c"*?File\00" +@tn.str.254 = private constant [9 x i8] c"*?string\00" +@tn.str.255 = private constant [10 x i8] c"*?cstring\00" +@tn.str.256 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.257 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [165 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 7 }, { ptr, i64 } { ptr @tn.str.112, i64 5 }, { ptr, i64 } { ptr @tn.str.113, i64 15 }, { ptr, i64 } { ptr @tn.str.114, i64 9 }, { ptr, i64 } { ptr @tn.str.115, i64 7 }, { ptr, i64 } { ptr @tn.str.116, i64 6 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 10 }, { ptr, i64 } { ptr @tn.str.119, i64 11 }, { ptr, i64 } { ptr @tn.str.120, i64 3 }, { ptr, i64 } { ptr @tn.str.121, i64 4 }, { ptr, i64 } { ptr @tn.str.122, i64 10 }, { ptr, i64 } { ptr @tn.str.123, i64 11 }, { ptr, i64 } { ptr @tn.str.124, i64 5 }, { ptr, i64 } { ptr @tn.str.125, i64 6 }, { ptr, i64 } { ptr @tn.str.126, i64 5 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 9 }, { ptr, i64 } { ptr @tn.str.129, i64 17 }, { ptr, i64 } { ptr @tn.str.130, i64 18 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 8 }, { ptr, i64 } { ptr @tn.str.133, i64 4 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 7 }, { ptr, i64 } { ptr @tn.str.137, i64 10 }, { ptr, i64 } { ptr @tn.str.138, i64 8 }, { ptr, i64 } { ptr @tn.str.139, i64 13 }, { ptr, i64 } { ptr @tn.str.140, i64 14 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 9 }, { ptr, i64 } { ptr @tn.str.144, i64 4 }, { ptr, i64 } { ptr @tn.str.145, i64 9 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 6 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 6 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 6 }, { ptr, i64 } { ptr @tn.str.152, i64 9 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 5 }, { ptr, i64 } { ptr @tn.str.157, i64 16 }, { ptr, i64 } { ptr @tn.str.158, i64 14 }, { ptr, i64 } { ptr @tn.str.159, i64 21 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 7 }, { ptr, i64 } { ptr @tn.str.162, i64 24 }, { ptr, i64 } { ptr @tn.str.163, i64 23 }, { ptr, i64 } { ptr @tn.str.164, i64 15 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 12 }, { ptr, i64 } { ptr @tn.str.167, i64 10 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 8 }, { ptr, i64 } { ptr @tn.str.171, i64 10 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 9 }, { ptr, i64 } { ptr @tn.str.174, i64 4 }, { ptr, i64 } { ptr @tn.str.175, i64 13 }, { ptr, i64 } { ptr @tn.str.176, i64 6 }, { ptr, i64 } { ptr @tn.str.177, i64 7 }, { ptr, i64 } { ptr @tn.str.178, i64 18 }, { ptr, i64 } { ptr @tn.str.179, i64 9 }, { ptr, i64 } { ptr @tn.str.180, i64 5 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 12 }, { ptr, i64 } { ptr @tn.str.188, i64 6 }, { ptr, i64 } { ptr @tn.str.189, i64 5 }, { ptr, i64 } { ptr @tn.str.190, i64 4 }, { ptr, i64 } { ptr @tn.str.191, i64 6 }, { ptr, i64 } { ptr @tn.str.192, i64 7 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 7 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 3 }, { ptr, i64 } { ptr @tn.str.198, i64 5 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 4 }, { ptr, i64 } { ptr @tn.str.201, i64 16 }, { ptr, i64 } { ptr @tn.str.202, i64 10 }, { ptr, i64 } { ptr @tn.str.203, i64 8 }, { ptr, i64 } { ptr @tn.str.204, i64 11 }, { ptr, i64 } { ptr @tn.str.205, i64 14 }, { ptr, i64 } { ptr @tn.str.206, i64 7 }, { ptr, i64 } { ptr @tn.str.207, i64 13 }, { ptr, i64 } { ptr @tn.str.208, i64 9 }, { ptr, i64 } { ptr @tn.str.209, i64 8 }, { ptr, i64 } { ptr @tn.str.210, i64 10 }, { ptr, i64 } { ptr @tn.str.211, i64 9 }, { ptr, i64 } { ptr @tn.str.212, i64 9 }, { ptr, i64 } { ptr @tn.str.213, i64 6 }, { ptr, i64 } { ptr @tn.str.214, i64 16 }, { ptr, i64 } { ptr @tn.str.215, i64 13 }, { ptr, i64 } { ptr @tn.str.216, i64 14 }, { ptr, i64 } { ptr @tn.str.217, i64 7 }, { ptr, i64 } { ptr @tn.str.218, i64 7 }, { ptr, i64 } { ptr @tn.str.219, i64 8 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 5 }, { ptr, i64 } { ptr @tn.str.222, i64 11 }, { ptr, i64 } { ptr @tn.str.223, i64 10 }, { ptr, i64 } { ptr @tn.str.224, i64 5 }, { ptr, i64 } { ptr @tn.str.225, i64 12 }, { ptr, i64 } { ptr @tn.str.226, i64 7 }, { ptr, i64 } { ptr @tn.str.227, i64 6 }, { ptr, i64 } { ptr @tn.str.228, i64 10 }, { ptr, i64 } { ptr @tn.str.229, i64 19 }, { ptr, i64 } { ptr @tn.str.230, i64 6 }, { ptr, i64 } { ptr @tn.str.231, i64 5 }, { ptr, i64 } { ptr @tn.str.232, i64 10 }, { ptr, i64 } { ptr @tn.str.233, i64 5 }, { ptr, i64 } { ptr @tn.str.234, i64 9 }, { ptr, i64 } { ptr @tn.str.235, i64 7 }, { ptr, i64 } { ptr @tn.str.236, i64 10 }, { ptr, i64 } { ptr @tn.str.237, i64 8 }, { ptr, i64 } { ptr @tn.str.238, i64 6 }, { ptr, i64 } { ptr @tn.str.239, i64 8 }, { ptr, i64 } { ptr @tn.str.240, i64 5 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 6 }, { ptr, i64 } { ptr @tn.str.243, i64 8 }, { ptr, i64 } { ptr @tn.str.244, i64 13 }, { ptr, i64 } { ptr @tn.str.245, i64 7 }, { ptr, i64 } { ptr @tn.str.246, i64 5 }, { ptr, i64 } { ptr @tn.str.247, i64 8 }, { ptr, i64 } { ptr @tn.str.248, i64 7 }, { ptr, i64 } { ptr @tn.str.249, i64 8 }, { ptr, i64 } { ptr @tn.str.250, i64 8 }, { ptr, i64 } { ptr @tn.str.251, i64 4 }, { ptr, i64 } { ptr @tn.str.252, i64 6 }, { ptr, i64 } { ptr @tn.str.253, i64 6 }, { ptr, i64 } { ptr @tn.str.254, i64 8 }, { ptr, i64 } { ptr @tn.str.255, i64 9 }, { ptr, i64 } { ptr @tn.str.256, i64 15 }, { ptr, i64 } { ptr @tn.str.257, i64 8 }] @str.258 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.259 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.260 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.261 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.262 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.263 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.264 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.265 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.266 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.267 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.268 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.269 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.261 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.262 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.263 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.264 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.265 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.266 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.267 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.268 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.269 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.270 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.271 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.272 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @str.273 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.274 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.275 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.276 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 -@str.277 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.278 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 -@str.279 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.280 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.281 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.282 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.276 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.277 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.278 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.279 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.280 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.281 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.282 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.283 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.284 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.285 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.283 = private constant [5 x i8] c"line\00" -@fld.str.284 = private constant [4 x i8] c"col\00" -@fld.str.285 = 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.283, i64 4 }, { ptr, i64 } { ptr @fld.str.284, i64 3 }, { ptr, i64 } { ptr @fld.str.285, i64 4 }] -@str.286 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.287 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.288 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.289 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.290 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.291 = private constant [4 x i8] c"ctx\00" -@fld.str.292 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.293 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.294 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.291, i64 3 }, { ptr, i64 } { ptr @fld.str.292, i64 11 }, { ptr, i64 } { ptr @fld.str.293, i64 13 }] -@str.295 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.296 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.297 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.298 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.299 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.300 = private constant [10 x i8] c"allocator\00" -@fld.str.301 = private constant [5 x i8] c"data\00" -@field_names.302 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.300, i64 9 }, { ptr, i64 } { ptr @fld.str.301, i64 4 }] -@str.303 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.304 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 -@str.305 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.306 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.307 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.308 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.309 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.310 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.311 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.312 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.313 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.314 = private constant [12 x i8] c"alloc_count\00" -@field_names.315 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.314, i64 11 }] -@str.316 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.317 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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.320 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.321 = private constant [5 x i8] c"next\00" -@fld.str.322 = private constant [4 x i8] c"cap\00" -@field_names.323 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.321, i64 4 }, { ptr, i64 } { ptr @fld.str.322, i64 3 }] -@str.324 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.325 = private unnamed_addr constant [6 x i8] c"Arena\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.328 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.329 = private constant [6 x i8] c"first\00" -@fld.str.330 = private constant [10 x i8] c"end_index\00" -@fld.str.331 = private constant [7 x i8] c"parent\00" -@field_names.332 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.329, i64 5 }, { ptr, i64 } { ptr @fld.str.330, i64 9 }, { ptr, i64 } { ptr @fld.str.331, i64 6 }] -@str.333 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.334 = private unnamed_addr constant [9 x i8] c"BufAlloc\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"buf\00" -@fld.str.339 = private constant [4 x i8] c"len\00" -@fld.str.340 = private constant [4 x i8] c"pos\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 3 }, { ptr, i64 } { ptr @fld.str.340, i64 3 }] -@str.342 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.343 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" -@fld.str.348 = private constant [12 x i8] c"alloc_count\00" -@fld.str.349 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.350 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.351 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.347, i64 6 }, { ptr, i64 } { ptr @fld.str.348, i64 11 }, { ptr, i64 } { ptr @fld.str.349, i64 13 }, { ptr, i64 } { ptr @fld.str.350, i64 17 }] -@str.352 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.353 = private unnamed_addr constant [5 x i8] c"File\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.357 = private constant [3 x i8] c"fd\00" -@field_names.358 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.357, i64 2 }] -@str.359 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.360 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" -@fld.str.365 = private constant [5 x i8] c"line\00" -@fld.str.366 = private constant [4 x i8] c"col\00" -@fld.str.367 = private constant [5 x i8] c"func\00" -@fld.str.368 = private constant [10 x i8] c"line_text\00" -@field_names.369 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.364, i64 4 }, { ptr, i64 } { ptr @fld.str.365, i64 4 }, { ptr, i64 } { ptr @fld.str.366, i64 3 }, { ptr, i64 } { ptr @fld.str.367, i64 4 }, { ptr, i64 } { ptr @fld.str.368, i64 9 }] -@str.370 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.371 = private unnamed_addr constant [14 x i8] c"ProcessResult\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"exit_code\00" -@fld.str.376 = private constant [7 x i8] c"stdout\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 6 }] -@str.378 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.379 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.384 = private constant [11 x i8] c"sin_family\00" -@fld.str.385 = private constant [9 x i8] c"sin_port\00" -@fld.str.386 = private constant [9 x i8] c"sin_addr\00" -@fld.str.387 = private constant [9 x i8] c"sin_zero\00" -@field_names.388 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.383, i64 7 }, { ptr, i64 } { ptr @fld.str.384, i64 10 }, { ptr, i64 } { ptr @fld.str.385, i64 8 }, { ptr, i64 } { ptr @fld.str.386, i64 8 }, { ptr, i64 } { ptr @fld.str.387, i64 8 }] -@str.389 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.390 = private unnamed_addr constant [6 x i8] c"Array\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"items\00" -@fld.str.395 = private constant [4 x i8] c"len\00" -@fld.str.396 = private constant [4 x i8] c"cap\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 3 }, { 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 [7 x i8] c"Object\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"items\00" -@fld.str.404 = private constant [4 x i8] c"len\00" -@fld.str.405 = private constant [4 x i8] c"cap\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 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 [7 x i8] c"Member\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"key\00" -@fld.str.413 = private constant [4 x i8] c"val\00" -@field_names.414 = private constant [2 x { ptr, i64 }] [{ 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 [5 x i8] c"Sink\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 [4 x i8] c"dst\00" -@fld.str.421 = private constant [4 x i8] c"pos\00" -@fld.str.422 = private constant [5 x i8] c"file\00" -@field_names.423 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.420, i64 3 }, { ptr, i64 } { ptr @fld.str.421, i64 3 }, { ptr, i64 } { ptr @fld.str.422, i64 4 }] -@str.424 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.425 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" -@fld.str.430 = private constant [4 x i8] c"pos\00" -@fld.str.431 = private constant [6 x i8] c"alloc\00" -@field_names.432 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.429, i64 3 }, { ptr, i64 } { ptr @fld.str.430, i64 3 }, { ptr, i64 } { ptr @fld.str.431, i64 5 }] -@str.433 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.434 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.438 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.439 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.440 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.441 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.442 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.443 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.444 = private constant [5 x i8] c"name\00" -@fld.str.445 = private constant [12 x i8] c"takes_value\00" -@fld.str.446 = private constant [9 x i8] c"required\00" -@field_names.447 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.444, i64 4 }, { ptr, i64 } { ptr @fld.str.445, i64 11 }, { 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 [8 x i8] c"Command\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"group\00" -@fld.str.454 = private constant [8 x i8] c"command\00" -@fld.str.455 = private constant [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.455, i64 5 }] -@str.457 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.458 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" -@fld.str.463 = private constant [6 x i8] c"value\00" -@field_names.464 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.462, i64 3 }, { ptr, i64 } { ptr @fld.str.463, i64 5 }] -@str.465 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.466 = private unnamed_addr constant [5 x i8] c"Diag\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"index\00" -@fld.str.471 = private constant [6 x i8] c"token\00" -@field_names.472 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.470, i64 5 }, { 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 [7 x i8] c"Parsed\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"group\00" -@fld.str.479 = private constant [8 x i8] c"command\00" -@fld.str.480 = private constant [10 x i8] c"cmd_index\00" -@fld.str.481 = private constant [5 x i8] c"json\00" -@fld.str.482 = private constant [5 x i8] c"rest\00" -@fld.str.483 = private constant [5 x i8] c"spec\00" -@fld.str.484 = private constant [7 x i8] c"values\00" -@field_names.485 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.478, i64 5 }, { ptr, i64 } { ptr @fld.str.479, i64 7 }, { ptr, i64 } { ptr @fld.str.480, i64 9 }, { ptr, i64 } { ptr @fld.str.481, i64 4 }, { ptr, i64 } { ptr @fld.str.482, i64 4 }, { ptr, i64 } { ptr @fld.str.483, i64 4 }, { ptr, i64 } { ptr @fld.str.484, i64 6 }] -@str.486 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.487 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" -@fld.str.492 = private constant [4 x i8] c"buf\00" -@fld.str.493 = private constant [8 x i8] c"buf_len\00" -@fld.str.494 = private constant [10 x i8] c"total_len\00" -@field_names.495 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.491, i64 1 }, { ptr, i64 } { ptr @fld.str.492, i64 3 }, { ptr, i64 } { ptr @fld.str.493, i64 7 }, { ptr, i64 } { ptr @fld.str.494, i64 9 }] -@str.496 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.497 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.498 = private constant [5 x i8] c"read\00" -@fld.str.499 = private constant [6 x i8] c"write\00" -@fld.str.500 = private constant [7 x i8] c"append\00" -@fld.str.501 = private constant [11 x i8] c"read_write\00" -@field_names.502 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.498, i64 4 }, { ptr, i64 } { ptr @fld.str.499, i64 5 }, { ptr, i64 } { ptr @fld.str.500, i64 6 }, { ptr, i64 } { ptr @fld.str.501, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.506 = private constant [4 x i8] c"set\00" -@fld.str.507 = private constant [8 x i8] c"current\00" -@fld.str.508 = private constant [4 x i8] c"end\00" -@field_names.509 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.506, i64 3 }, { ptr, i64 } { ptr @fld.str.507, i64 7 }, { ptr, i64 } { ptr @fld.str.508, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.513 = private constant [6 x i8] c"null_\00" -@fld.str.514 = private constant [6 x i8] c"bool_\00" -@fld.str.515 = private constant [5 x i8] c"int_\00" -@fld.str.516 = private constant [4 x i8] c"str\00" -@fld.str.517 = private constant [6 x i8] c"array\00" -@fld.str.518 = private constant [7 x i8] c"object\00" -@field_names.519 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.513, i64 5 }, { ptr, i64 } { ptr @fld.str.514, i64 5 }, { ptr, i64 } { ptr @fld.str.515, i64 4 }, { ptr, i64 } { ptr @fld.str.516, i64 3 }, { ptr, i64 } { ptr @fld.str.517, i64 5 }, { ptr, i64 } { ptr @fld.str.518, i64 6 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.523 = private constant [6 x i8] c"macos\00" -@fld.str.524 = private constant [6 x i8] c"linux\00" -@fld.str.525 = private constant [8 x i8] c"windows\00" -@fld.str.526 = private constant [5 x i8] c"wasm\00" -@fld.str.527 = private constant [4 x i8] c"ios\00" -@fld.str.528 = private constant [8 x i8] c"android\00" -@fld.str.529 = private constant [8 x i8] c"unknown\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 5 }, { ptr, i64 } { ptr @fld.str.525, i64 7 }, { ptr, i64 } { ptr @fld.str.526, i64 4 }, { ptr, i64 } { ptr @fld.str.527, i64 3 }, { ptr, i64 } { ptr @fld.str.528, i64 7 }, { ptr, i64 } { ptr @fld.str.529, i64 7 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.534 = private constant [8 x i8] c"aarch64\00" -@fld.str.535 = private constant [7 x i8] c"x86_64\00" -@fld.str.536 = private constant [7 x i8] c"wasm32\00" -@fld.str.537 = private constant [7 x i8] c"wasm64\00" -@fld.str.538 = private constant [8 x i8] c"unknown\00" -@field_names.539 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.534, i64 7 }, { ptr, i64 } { ptr @fld.str.535, i64 6 }, { ptr, i64 } { ptr @fld.str.536, i64 6 }, { ptr, i64 } { ptr @fld.str.537, i64 6 }, { ptr, i64 } { ptr @fld.str.538, i64 7 }] -@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 [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.286 = private constant [5 x i8] c"line\00" +@fld.str.287 = private constant [4 x i8] c"col\00" +@fld.str.288 = 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.286, i64 4 }, { ptr, i64 } { ptr @fld.str.287, i64 3 }, { ptr, i64 } { ptr @fld.str.288, i64 4 }] +@str.289 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.290 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.291 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.292 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.293 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.294 = private constant [4 x i8] c"ctx\00" +@fld.str.295 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.296 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.297 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.294, i64 3 }, { ptr, i64 } { ptr @fld.str.295, i64 11 }, { ptr, i64 } { ptr @fld.str.296, i64 13 }] +@str.298 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.299 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.300 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.301 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.302 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.303 = private constant [10 x i8] c"allocator\00" +@fld.str.304 = private constant [5 x i8] c"data\00" +@field_names.305 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.303, i64 9 }, { ptr, i64 } { ptr @fld.str.304, i64 4 }] +@str.306 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.307 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.308 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.309 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.310 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.311 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.312 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.313 = private unnamed_addr constant [4 x i8] c"GPA\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 +@fld.str.317 = private constant [12 x i8] c"alloc_count\00" +@field_names.318 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.317, i64 11 }] +@str.319 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.320 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" +@fld.str.325 = private constant [4 x i8] c"cap\00" +@field_names.326 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.324, i64 4 }, { ptr, i64 } { ptr @fld.str.325, i64 3 }] +@str.327 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.328 = private unnamed_addr constant [6 x i8] c"Arena\00", align 1 +@str.329 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.330 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.331 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.332 = private constant [6 x i8] c"first\00" +@fld.str.333 = private constant [10 x i8] c"end_index\00" +@fld.str.334 = private constant [7 x i8] c"parent\00" +@field_names.335 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.332, i64 5 }, { ptr, i64 } { ptr @fld.str.333, i64 9 }, { ptr, i64 } { ptr @fld.str.334, i64 6 }] +@str.336 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.337 = private unnamed_addr constant [9 x i8] c"BufAlloc\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.341 = private constant [4 x i8] c"buf\00" +@fld.str.342 = private constant [4 x i8] c"len\00" +@fld.str.343 = private constant [4 x i8] c"pos\00" +@field_names.344 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.341, i64 3 }, { ptr, i64 } { ptr @fld.str.342, i64 3 }, { ptr, i64 } { ptr @fld.str.343, i64 3 }] +@str.345 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.346 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" +@fld.str.351 = private constant [12 x i8] c"alloc_count\00" +@fld.str.352 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.353 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.354 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.350, i64 6 }, { ptr, i64 } { ptr @fld.str.351, i64 11 }, { ptr, i64 } { ptr @fld.str.352, i64 13 }, { ptr, i64 } { ptr @fld.str.353, i64 17 }] +@str.355 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.356 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" +@field_names.361 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.360, i64 2 }] +@str.362 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.363 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" +@fld.str.368 = private constant [5 x i8] c"line\00" +@fld.str.369 = private constant [4 x i8] c"col\00" +@fld.str.370 = private constant [5 x i8] c"func\00" +@fld.str.371 = private constant [10 x i8] c"line_text\00" +@field_names.372 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.367, i64 4 }, { ptr, i64 } { ptr @fld.str.368, i64 4 }, { ptr, i64 } { ptr @fld.str.369, i64 3 }, { ptr, i64 } { ptr @fld.str.370, i64 4 }, { ptr, i64 } { ptr @fld.str.371, i64 9 }] +@str.373 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.374 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" +@fld.str.379 = private constant [7 x i8] c"stdout\00" +@field_names.380 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.378, i64 9 }, { ptr, i64 } { ptr @fld.str.379, i64 6 }] +@str.381 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.382 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" +@fld.str.387 = private constant [11 x i8] c"sin_family\00" +@fld.str.388 = private constant [9 x i8] c"sin_port\00" +@fld.str.389 = private constant [9 x i8] c"sin_addr\00" +@fld.str.390 = private constant [9 x i8] c"sin_zero\00" +@field_names.391 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.386, i64 7 }, { ptr, i64 } { ptr @fld.str.387, i64 10 }, { ptr, i64 } { ptr @fld.str.388, i64 8 }, { ptr, i64 } { ptr @fld.str.389, i64 8 }, { ptr, i64 } { ptr @fld.str.390, i64 8 }] +@str.392 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.393 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" +@fld.str.398 = private constant [4 x i8] c"len\00" +@fld.str.399 = private constant [4 x i8] c"cap\00" +@field_names.400 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.397, i64 5 }, { 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 [7 x i8] c"Object\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 [6 x i8] c"items\00" +@fld.str.407 = private constant [4 x i8] c"len\00" +@fld.str.408 = private constant [4 x i8] c"cap\00" +@field_names.409 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.406, i64 5 }, { ptr, i64 } { ptr @fld.str.407, i64 3 }, { ptr, i64 } { ptr @fld.str.408, i64 3 }] +@str.410 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.411 = private unnamed_addr constant [7 x i8] c"Member\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 [4 x i8] c"key\00" +@fld.str.416 = private constant [4 x i8] c"val\00" +@field_names.417 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.415, i64 3 }, { 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 [5 x i8] c"Sink\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 [4 x i8] c"dst\00" +@fld.str.424 = private constant [4 x i8] c"pos\00" +@fld.str.425 = private constant [5 x i8] c"file\00" +@field_names.426 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.423, i64 3 }, { ptr, i64 } { ptr @fld.str.424, i64 3 }, { ptr, i64 } { ptr @fld.str.425, i64 4 }] +@str.427 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.428 = private unnamed_addr constant [7 x i8] c"Parser\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"src\00" +@fld.str.433 = private constant [4 x i8] c"pos\00" +@fld.str.434 = private constant [6 x i8] c"alloc\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 5 }] +@str.436 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.437 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 +@field_names.441 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.442 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.443 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" +@fld.str.448 = private constant [12 x i8] c"takes_value\00" +@fld.str.449 = private constant [9 x i8] c"required\00" +@field_names.450 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.447, i64 4 }, { ptr, i64 } { ptr @fld.str.448, i64 11 }, { 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 [8 x i8] c"Command\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"group\00" +@fld.str.457 = private constant [8 x i8] c"command\00" +@fld.str.458 = private constant [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.458, i64 5 }] +@str.460 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.461 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" +@fld.str.466 = private constant [6 x i8] c"value\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 5 }] +@str.468 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.469 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" +@fld.str.474 = private constant [6 x i8] c"token\00" +@field_names.475 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.473, i64 5 }, { ptr, i64 } { ptr @fld.str.474, i64 5 }] +@str.476 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.477 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.478 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.479 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.480 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.481 = private constant [6 x i8] c"group\00" +@fld.str.482 = private constant [8 x i8] c"command\00" +@fld.str.483 = private constant [10 x i8] c"cmd_index\00" +@fld.str.484 = private constant [5 x i8] c"json\00" +@fld.str.485 = private constant [5 x i8] c"rest\00" +@fld.str.486 = private constant [5 x i8] c"spec\00" +@fld.str.487 = private constant [7 x i8] c"values\00" +@field_names.488 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.481, i64 5 }, { ptr, i64 } { ptr @fld.str.482, i64 7 }, { ptr, i64 } { ptr @fld.str.483, i64 9 }, { ptr, i64 } { ptr @fld.str.484, i64 4 }, { ptr, i64 } { ptr @fld.str.485, i64 4 }, { ptr, i64 } { ptr @fld.str.486, i64 4 }, { ptr, i64 } { ptr @fld.str.487, i64 6 }] +@str.489 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.490 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" +@fld.str.495 = private constant [4 x i8] c"buf\00" +@fld.str.496 = private constant [8 x i8] c"buf_len\00" +@fld.str.497 = private constant [10 x i8] c"total_len\00" +@field_names.498 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.494, i64 1 }, { ptr, i64 } { ptr @fld.str.495, i64 3 }, { ptr, i64 } { ptr @fld.str.496, i64 7 }, { ptr, i64 } { ptr @fld.str.497, i64 9 }] +@str.499 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.500 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.501 = private constant [5 x i8] c"read\00" +@fld.str.502 = private constant [6 x i8] c"write\00" +@fld.str.503 = private constant [7 x i8] c"append\00" +@fld.str.504 = private constant [11 x i8] c"read_write\00" +@field_names.505 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.501, i64 4 }, { ptr, i64 } { ptr @fld.str.502, i64 5 }, { ptr, i64 } { ptr @fld.str.503, i64 6 }, { ptr, i64 } { ptr @fld.str.504, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.509 = private constant [4 x i8] c"set\00" +@fld.str.510 = private constant [8 x i8] c"current\00" +@fld.str.511 = private constant [4 x i8] c"end\00" +@field_names.512 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.509, i64 3 }, { ptr, i64 } { ptr @fld.str.510, i64 7 }, { ptr, i64 } { ptr @fld.str.511, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.516 = private constant [6 x i8] c"null_\00" +@fld.str.517 = private constant [6 x i8] c"bool_\00" +@fld.str.518 = private constant [5 x i8] c"int_\00" +@fld.str.519 = private constant [4 x i8] c"str\00" +@fld.str.520 = private constant [6 x i8] c"array\00" +@fld.str.521 = private constant [7 x i8] c"object\00" +@field_names.522 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.516, i64 5 }, { ptr, i64 } { ptr @fld.str.517, i64 5 }, { ptr, i64 } { ptr @fld.str.518, i64 4 }, { ptr, i64 } { ptr @fld.str.519, i64 3 }, { ptr, i64 } { ptr @fld.str.520, i64 5 }, { ptr, i64 } { ptr @fld.str.521, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.526 = private constant [6 x i8] c"macos\00" +@fld.str.527 = private constant [6 x i8] c"linux\00" +@fld.str.528 = private constant [8 x i8] c"windows\00" +@fld.str.529 = private constant [5 x i8] c"wasm\00" +@fld.str.530 = private constant [4 x i8] c"ios\00" +@fld.str.531 = private constant [8 x i8] c"android\00" +@fld.str.532 = private constant [8 x i8] c"unknown\00" +@field_names.533 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.526, i64 5 }, { ptr, i64 } { ptr @fld.str.527, i64 5 }, { ptr, i64 } { ptr @fld.str.528, i64 7 }, { ptr, i64 } { ptr @fld.str.529, i64 4 }, { ptr, i64 } { ptr @fld.str.530, i64 3 }, { ptr, i64 } { ptr @fld.str.531, i64 7 }, { ptr, i64 } { ptr @fld.str.532, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.537 = private constant [8 x i8] c"aarch64\00" +@fld.str.538 = private constant [7 x i8] c"x86_64\00" +@fld.str.539 = private constant [7 x i8] c"wasm32\00" +@fld.str.540 = private constant [7 x i8] c"wasm64\00" +@fld.str.541 = private constant [8 x i8] c"unknown\00" +@field_names.542 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.537, i64 7 }, { ptr, i64 } { ptr @fld.str.538, i64 6 }, { ptr, i64 } { ptr @fld.str.539, i64 6 }, { ptr, i64 } { ptr @fld.str.540, i64 6 }, { ptr, i64 } { ptr @fld.str.541, i64 7 }] +@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 [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 @@ -511,35 +511,35 @@ @str.575 = private unnamed_addr constant [2 x i8] c"[\00", align 1 @str.576 = private unnamed_addr constant [2 x i8] c"]\00", align 1 @str.577 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.578 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.579 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.580 = private unnamed_addr constant [4 x i8] c"@0x\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 @str.581 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.582 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.582 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.583 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.584 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.585 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.585 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.586 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.587 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.588 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.588 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.589 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.590 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.591 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.591 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.592 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.593 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.594 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 +@str.594 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.595 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.596 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.597 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 +@str.597 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.598 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.599 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.600 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.600 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.601 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.602 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.603 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.603 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.604 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.605 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.606 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.606 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.607 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.608 = private unnamed_addr constant [5 x i8] c"null\00", align 1 @str.609 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @@ -602,12 +602,16 @@ @str.666 = private unnamed_addr constant [8 x i8] c"*[1]Any\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 [6 x i8] c"*bool\00", align 1 +@str.669 = private unnamed_addr constant [4 x i8] c"*u8\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"null\00", align 1 -@str.673 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.672 = private unnamed_addr constant [6 x i8] c"*bool\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"null\00", align 1 +@str.676 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.677 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.678 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -624,7 +628,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -675,7 +679,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -765,7 +769,7 @@ if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.66 @@ -968,7 +972,7 @@ if.merge.91: ; preds = %if.else.90, %if.the %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1211,7 +1215,7 @@ if.merge.376: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1283,7 +1287,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1314,7 +1318,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1329,6 +1333,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1371,86 +1384,87 @@ entry: i64 1, label %match.arm.41 i64 10, label %match.arm.42 i64 11, label %match.arm.42 - i64 19, label %match.arm.43 i64 20, label %match.arm.43 i64 21, label %match.arm.43 - i64 24, label %match.arm.43 - i64 26, label %match.arm.43 - i64 28, label %match.arm.43 - i64 30, label %match.arm.43 - i64 33, label %match.arm.43 - i64 35, label %match.arm.43 - i64 39, label %match.arm.43 - i64 43, label %match.arm.43 - i64 45, label %match.arm.43 - i64 48, label %match.arm.43 - i64 52, label %match.arm.43 + i64 22, label %match.arm.43 + i64 25, label %match.arm.43 + i64 27, label %match.arm.43 + i64 29, label %match.arm.43 + i64 31, label %match.arm.43 + i64 34, label %match.arm.43 + i64 36, label %match.arm.43 + i64 40, label %match.arm.43 + i64 44, label %match.arm.43 + i64 46, label %match.arm.43 + i64 49, label %match.arm.43 i64 53, label %match.arm.43 - i64 55, label %match.arm.43 - i64 61, label %match.arm.43 - i64 66, label %match.arm.43 - i64 72, label %match.arm.43 - i64 76, label %match.arm.43 - i64 78, label %match.arm.43 + i64 54, label %match.arm.43 + i64 56, label %match.arm.43 + i64 62, label %match.arm.43 + i64 67, label %match.arm.43 + i64 73, label %match.arm.43 + i64 77, label %match.arm.43 i64 79, label %match.arm.43 i64 80, label %match.arm.43 - i64 82, label %match.arm.43 - i64 89, label %match.arm.43 - i64 37, label %match.arm.44 + i64 81, label %match.arm.43 + i64 83, label %match.arm.43 + i64 90, label %match.arm.43 i64 38, label %match.arm.44 - i64 54, label %match.arm.44 - i64 70, label %match.arm.44 + i64 39, label %match.arm.44 + i64 55, label %match.arm.44 i64 71, label %match.arm.44 - i64 51, label %match.arm.45 - i64 64, label %match.arm.45 - i64 75, label %match.arm.45 - i64 22, label %match.arm.47 - i64 81, label %match.arm.47 - i64 87, label %match.arm.47 + i64 72, label %match.arm.44 + i64 52, label %match.arm.45 + i64 65, label %match.arm.45 + i64 76, label %match.arm.45 + i64 23, label %match.arm.47 + i64 82, label %match.arm.47 i64 88, label %match.arm.47 - i64 92, label %match.arm.47 - i64 97, label %match.arm.47 - i64 101, label %match.arm.47 - i64 23, label %match.arm.48 - i64 60, label %match.arm.48 - i64 77, label %match.arm.48 - i64 85, label %match.arm.48 - i64 95, label %match.arm.48 - i64 18, label %match.arm.49 - i64 25, label %match.arm.49 - i64 27, label %match.arm.49 - i64 29, label %match.arm.49 - i64 31, label %match.arm.49 + i64 89, label %match.arm.47 + i64 93, label %match.arm.47 + i64 98, label %match.arm.47 + i64 102, label %match.arm.47 + i64 24, label %match.arm.48 + i64 61, label %match.arm.48 + i64 78, label %match.arm.48 + i64 86, label %match.arm.48 + i64 96, label %match.arm.48 + i64 19, label %match.arm.49 + i64 26, label %match.arm.49 + i64 28, label %match.arm.49 + i64 30, label %match.arm.49 i64 32, label %match.arm.49 - i64 34, label %match.arm.49 - i64 36, label %match.arm.49 - i64 40, label %match.arm.49 - i64 44, label %match.arm.49 - i64 47, label %match.arm.49 - i64 49, label %match.arm.49 + i64 33, label %match.arm.49 + i64 35, label %match.arm.49 + i64 37, label %match.arm.49 + i64 41, label %match.arm.49 + i64 48, label %match.arm.49 i64 50, label %match.arm.49 - i64 56, label %match.arm.49 + i64 51, label %match.arm.49 i64 57, label %match.arm.49 i64 58, label %match.arm.49 i64 59, label %match.arm.49 - i64 62, label %match.arm.49 - i64 67, label %match.arm.49 - i64 74, label %match.arm.49 - i64 83, label %match.arm.49 - i64 86, label %match.arm.49 - i64 90, label %match.arm.49 - i64 93, label %match.arm.49 + i64 60, label %match.arm.49 + i64 63, label %match.arm.49 + i64 68, label %match.arm.49 + i64 75, label %match.arm.49 + i64 84, label %match.arm.49 + i64 87, label %match.arm.49 + i64 91, label %match.arm.49 i64 94, label %match.arm.49 - i64 96, label %match.arm.49 - i64 98, label %match.arm.49 + i64 95, label %match.arm.49 + i64 97, label %match.arm.49 i64 99, label %match.arm.49 i64 100, label %match.arm.49 - i64 102, label %match.arm.49 + i64 101, label %match.arm.49 i64 103, label %match.arm.49 - i64 41, label %match.arm.50 + i64 104, label %match.arm.49 + i64 105, label %match.arm.49 i64 42, label %match.arm.50 - i64 46, label %match.arm.50 - i64 91, label %match.arm.50 + i64 43, label %match.arm.50 + i64 45, label %match.arm.50 + i64 47, label %match.arm.50 + i64 92, label %match.arm.50 i64 13, label %match.arm.51 ] @@ -1468,7 +1482,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 [162 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [165 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 @@ -1501,31 +1515,31 @@ match.arm.43: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.95 [ - i64 19, label %dispatch.case.96 - i64 20, label %dispatch.case.97 - i64 21, label %dispatch.case.98 - i64 24, label %dispatch.case.99 - i64 26, label %dispatch.case.100 - i64 28, label %dispatch.case.101 - i64 30, label %dispatch.case.102 - i64 33, label %dispatch.case.103 - i64 35, label %dispatch.case.104 - i64 39, label %dispatch.case.105 - i64 43, label %dispatch.case.106 - i64 45, label %dispatch.case.107 - i64 48, label %dispatch.case.108 - i64 52, label %dispatch.case.109 - i64 53, label %dispatch.case.110 - i64 55, label %dispatch.case.111 - i64 61, label %dispatch.case.112 - i64 66, label %dispatch.case.113 - i64 72, label %dispatch.case.114 - i64 76, label %dispatch.case.115 - i64 78, label %dispatch.case.116 - i64 79, label %dispatch.case.117 - i64 80, label %dispatch.case.118 - i64 82, label %dispatch.case.119 - i64 89, label %dispatch.case.120 + i64 20, label %dispatch.case.96 + i64 21, label %dispatch.case.97 + i64 22, label %dispatch.case.98 + i64 25, label %dispatch.case.99 + i64 27, label %dispatch.case.100 + i64 29, label %dispatch.case.101 + i64 31, label %dispatch.case.102 + i64 34, label %dispatch.case.103 + i64 36, label %dispatch.case.104 + i64 40, label %dispatch.case.105 + i64 44, label %dispatch.case.106 + i64 46, label %dispatch.case.107 + i64 49, label %dispatch.case.108 + i64 53, label %dispatch.case.109 + i64 54, label %dispatch.case.110 + i64 56, label %dispatch.case.111 + i64 62, label %dispatch.case.112 + i64 67, label %dispatch.case.113 + i64 73, label %dispatch.case.114 + i64 77, label %dispatch.case.115 + i64 79, label %dispatch.case.116 + i64 80, label %dispatch.case.117 + i64 81, label %dispatch.case.118 + i64 83, label %dispatch.case.119 + i64 90, label %dispatch.case.120 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1533,11 +1547,11 @@ match.arm.44: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.247 [ - i64 37, label %dispatch.case.248 - i64 38, label %dispatch.case.249 - i64 54, label %dispatch.case.250 - i64 70, label %dispatch.case.251 - i64 71, label %dispatch.case.252 + i64 38, label %dispatch.case.248 + i64 39, label %dispatch.case.249 + i64 55, label %dispatch.case.250 + i64 71, label %dispatch.case.251 + i64 72, label %dispatch.case.252 ] match.arm.45: ; preds = %entry, %entry, %entry @@ -1560,13 +1574,13 @@ match.arm.47: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.264 [ - i64 22, label %dispatch.case.265 - i64 81, label %dispatch.case.266 - i64 87, label %dispatch.case.267 - i64 88, label %dispatch.case.268 - i64 92, label %dispatch.case.269 - i64 97, label %dispatch.case.270 - i64 101, label %dispatch.case.271 + i64 23, label %dispatch.case.265 + i64 82, label %dispatch.case.266 + i64 88, label %dispatch.case.267 + i64 89, label %dispatch.case.268 + i64 93, label %dispatch.case.269 + i64 98, label %dispatch.case.270 + i64 102, label %dispatch.case.271 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1574,11 +1588,11 @@ match.arm.48: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.308 [ - i64 23, label %dispatch.case.309 - i64 60, label %dispatch.case.310 - i64 77, label %dispatch.case.311 - i64 85, label %dispatch.case.312 - i64 95, label %dispatch.case.313 + i64 24, label %dispatch.case.309 + i64 61, label %dispatch.case.310 + i64 78, label %dispatch.case.311 + i64 86, label %dispatch.case.312 + i64 96, label %dispatch.case.313 ] 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 @@ -1586,48 +1600,49 @@ match.arm.49: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.340 [ - i64 18, label %dispatch.case.341 - i64 25, label %dispatch.case.342 - i64 27, label %dispatch.case.343 - i64 29, label %dispatch.case.344 - i64 31, label %dispatch.case.345 - i64 32, label %dispatch.case.346 - i64 34, label %dispatch.case.347 - i64 36, label %dispatch.case.348 - i64 40, label %dispatch.case.349 - i64 44, label %dispatch.case.350 - i64 47, label %dispatch.case.351 - i64 49, label %dispatch.case.352 - i64 50, label %dispatch.case.353 - i64 56, label %dispatch.case.354 - i64 57, label %dispatch.case.355 - i64 58, label %dispatch.case.356 - i64 59, label %dispatch.case.357 - i64 62, label %dispatch.case.358 - i64 67, label %dispatch.case.359 - i64 74, label %dispatch.case.360 - i64 83, label %dispatch.case.361 - i64 86, label %dispatch.case.362 - i64 90, label %dispatch.case.363 - i64 93, label %dispatch.case.364 - i64 94, label %dispatch.case.365 - i64 96, label %dispatch.case.366 - i64 98, label %dispatch.case.367 - i64 99, label %dispatch.case.368 - i64 100, label %dispatch.case.369 - i64 102, label %dispatch.case.370 - i64 103, label %dispatch.case.371 + i64 19, label %dispatch.case.341 + i64 26, label %dispatch.case.342 + i64 28, label %dispatch.case.343 + i64 30, label %dispatch.case.344 + i64 32, label %dispatch.case.345 + i64 33, label %dispatch.case.346 + i64 35, label %dispatch.case.347 + i64 37, label %dispatch.case.348 + i64 41, label %dispatch.case.349 + i64 48, label %dispatch.case.350 + i64 50, label %dispatch.case.351 + i64 51, label %dispatch.case.352 + i64 57, label %dispatch.case.353 + i64 58, label %dispatch.case.354 + i64 59, label %dispatch.case.355 + i64 60, label %dispatch.case.356 + i64 63, label %dispatch.case.357 + i64 68, label %dispatch.case.358 + i64 75, label %dispatch.case.359 + i64 84, label %dispatch.case.360 + i64 87, label %dispatch.case.361 + i64 91, label %dispatch.case.362 + i64 94, label %dispatch.case.363 + i64 95, label %dispatch.case.364 + i64 97, label %dispatch.case.365 + i64 99, label %dispatch.case.366 + i64 100, label %dispatch.case.367 + i64 101, label %dispatch.case.368 + i64 103, label %dispatch.case.369 + i64 104, label %dispatch.case.370 + i64 105, label %dispatch.case.371 ] -match.arm.50: ; preds = %entry, %entry, %entry, %entry +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.479 [ - i64 41, label %dispatch.case.480 - i64 42, label %dispatch.case.481 - i64 46, label %dispatch.case.482 - i64 91, label %dispatch.case.483 + i64 42, label %dispatch.case.480 + i64 43, label %dispatch.case.481 + i64 45, label %dispatch.case.482 + i64 47, label %dispatch.case.483 + i64 92, label %dispatch.case.484 ] match.arm.51: ; preds = %entry @@ -1636,7 +1651,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 [162 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [165 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 @@ -1687,7 +1702,7 @@ dispatch.merge.94: ; preds = %dispatch.case.120, br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.255, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.258, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -1896,7 +1911,7 @@ dispatch.merge.246: ; preds = %dispatch.case.252, br label %match.merge.37 dispatch.default.247: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.256, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.259, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.246 dispatch.case.248: ; preds = %match.arm.44 @@ -1937,7 +1952,7 @@ dispatch.merge.263: ; preds = %dispatch.case.271, br label %match.merge.37 dispatch.default.264: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.257, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.260, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.263 dispatch.case.265: ; preds = %match.arm.47 @@ -2002,7 +2017,7 @@ dispatch.merge.307: ; preds = %dispatch.case.313, br label %match.merge.37 dispatch.default.308: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.258, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.261, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.307 dispatch.case.309: ; preds = %match.arm.48 @@ -2051,7 +2066,7 @@ dispatch.merge.339: ; preds = %dispatch.case.371, br label %match.merge.37 dispatch.default.340: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.259, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.262, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.341: ; preds = %match.arm.49 @@ -2120,147 +2135,147 @@ dispatch.case.349: ; preds = %match.arm.49 dispatch.case.350: ; 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_u8(ptr %0, ptr %iNp251) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp251) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.351: ; 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_i32(ptr %0, ptr %iNp254) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp254) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.352: ; 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_SockAddr(ptr %0, ptr %iNp257) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp257) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.353: ; 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_u32(ptr %0, ptr %iNp260) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp260) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.354: ; 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_Value(ptr %0, ptr %iNp263) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp263) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.355: ; 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_Array(ptr %0, ptr %iNp266) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp266) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.356: ; 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__mptr_Member(ptr %0, ptr %iNp269) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp269) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.357: ; 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_Object(ptr %0, ptr %iNp272) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp272) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.358: ; 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_Sink(ptr %0, ptr %iNp275) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp275) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.359: ; 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_Parser(ptr %0, ptr %iNp278) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp278) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.360: ; 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_i64(ptr %0, ptr %iNp281) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp281) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.361: ; 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_Parsed(ptr %0, ptr %iNp284) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp284) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.362: ; 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_Diag(ptr %0, ptr %iNp287) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp287) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.363: ; 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_Sha256(ptr %0, ptr %iNp290) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp290) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.364: ; 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_ptr_CAllocator(ptr %0, ptr %iNp293) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp293) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.365: ; 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_ptr_void(ptr %0, ptr %iNp296) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp296) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.366: ; 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_Any(ptr %0, ptr %iNp299) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_3_Any(ptr %0, ptr %iNp299) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.367: ; 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_AR_3_Any(ptr %0, ptr %iNp302) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp302) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.368: ; 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_SL_Any(ptr %0, ptr %iNp305) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp305) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.369: ; 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_string(ptr %0, ptr %iNp308) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp308) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.370: ; 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_AR_1_Any(ptr %0, ptr %iNp311) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp311) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 @@ -2271,13 +2286,13 @@ dispatch.case.371: ; preds = %match.arm.49 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 -dispatch.merge.478: ; preds = %dispatch.case.483, %dispatch.case.482, %dispatch.case.481, %dispatch.case.480, %dispatch.default.479 +dispatch.merge.478: ; preds = %dispatch.case.484, %dispatch.case.483, %dispatch.case.482, %dispatch.case.481, %dispatch.case.480, %dispatch.default.479 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.479: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.260, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.263, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.478 dispatch.case.480: ; preds = %match.arm.50 @@ -2298,17 +2313,24 @@ dispatch.case.481: ; preds = %match.arm.50 dispatch.case.482: ; preds = %match.arm.50 %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr326 = inttoptr i64 %ua.raw325 to ptr - %ua.load327 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr326, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load327) + %iNp326 = inttoptr i64 %ua.raw325 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp326) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.478 dispatch.case.483: ; preds = %match.arm.50 - %ua.raw329 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr330 = inttoptr i64 %ua.raw329 to ptr - %ua.load331 = load { [64 x i8], i1 }, ptr %ua.ptr330, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load331) + %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr329 = inttoptr i64 %ua.raw328 to ptr + %ua.load330 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr329, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load330) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.478 + +dispatch.case.484: ; preds = %match.arm.50 + %ua.raw332 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr333 = inttoptr i64 %ua.raw332 to ptr + %ua.load334 = load { [64 x i8], i1 }, ptr %ua.ptr333, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load334) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.478 } @@ -2319,7 +2341,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.261, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.264, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2415,7 +2437,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.262, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.265, 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 @@ -2423,7 +2445,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.263, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.266, 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 @@ -2433,13 +2455,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.264, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.267, 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.265, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.268, 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 @@ -2447,7 +2469,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.266, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.269, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2461,7 +2483,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.267, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.270, 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 @@ -2469,7 +2491,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.268, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.271, 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 @@ -2480,7 +2502,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.269, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.272, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2537,7 +2559,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.270, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.273, 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 @@ -2545,7 +2567,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.271, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.274, 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 @@ -2556,7 +2578,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.272, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.275, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2576,7 +2598,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.273, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.276, 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 @@ -2584,7 +2606,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.274, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.277, 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 @@ -2595,7 +2617,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.275, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.278, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -2816,9 +2838,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3402,7 +3421,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.276, i64 3 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.279, 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 @@ -3417,7 +3436,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.277, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.280, 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 @@ -3439,7 +3458,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.278, i64 3 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.281, i64 3 }) ret { ptr, i64 } %call } @@ -3466,7 +3485,7 @@ 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.279, i64 15 }, { ptr, i64 } { ptr @str.280, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.282, i64 15 }, { ptr, i64 } { ptr @str.283, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3485,12 +3504,12 @@ while.body.122: ; preds = %while.hdr.121 while.exit.123: ; preds = %while.hdr.121 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.281, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.284, i64 1 }) ret { ptr, i64 } %callN if.then.124: ; preds = %while.body.122 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.282, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.285, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.125 @@ -3502,7 +3521,7 @@ if.merge.125: ; preds = %if.then.124, %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.286, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.289, 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 @@ -3559,7 +3578,7 @@ 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.287, i64 9 }, { ptr, i64 } { ptr @str.288, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.290, i64 9 }, { ptr, i64 } { ptr @str.291, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3578,24 +3597,24 @@ while.body.127: ; preds = %while.hdr.126 while.exit.128: ; preds = %while.hdr.126 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.289, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.292, i64 1 }) ret { ptr, i64 } %callN if.then.129: ; preds = %while.body.127 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.290, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.293, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.130 if.merge.130: ; preds = %if.then.129, %while.body.127 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.294, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.297, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.298, 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 @@ -3622,19 +3641,19 @@ fv.default: ; preds = %if.merge.130 fv.case: ; preds = %if.merge.130 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.130 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge fv.case21: ; preds = %if.merge.130 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -3644,7 +3663,7 @@ 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.296, i64 7 }, { ptr, i64 } { ptr @str.297, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.299, i64 7 }, { ptr, i64 } { ptr @str.300, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3663,24 +3682,24 @@ while.body.132: ; preds = %while.hdr.131 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.298, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.301, i64 1 }) ret { ptr, i64 } %callN 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.299, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.302, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.135 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 [2 x { ptr, i64 }], ptr @field_names.302, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.305, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.306, 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 @@ -3707,13 +3726,13 @@ fv.case: ; preds = %if.merge.135 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.135 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 - %fv.val19 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -3722,7 +3741,7 @@ 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.304, i64 10 }, { ptr, i64 } { ptr @str.305, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.307, i64 10 }, { ptr, i64 } { ptr @str.308, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3741,24 +3760,24 @@ while.body.137: ; preds = %while.hdr.136 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.306, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.309, i64 1 }) ret { ptr, i64 } %callN 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.307, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.310, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.140 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 [0 x { ptr, i64 }], ptr @field_names.308, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.311, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.312, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -3777,7 +3796,7 @@ 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.310, i64 3 }, { ptr, i64 } { ptr @str.311, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.313, i64 3 }, { ptr, i64 } { ptr @str.314, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3796,24 +3815,24 @@ while.body.142: ; preds = %while.hdr.141 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.312, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.315, i64 1 }) ret { ptr, i64 } %callN 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.313, 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 br label %if.merge.145 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 [1 x { ptr, i64 }], ptr @field_names.315, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.318, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.319, 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 @@ -3846,7 +3865,7 @@ 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.317, i64 10 }, { ptr, i64 } { ptr @str.318, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.320, i64 10 }, { ptr, i64 } { ptr @str.321, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3865,24 +3884,24 @@ while.body.147: ; preds = %while.hdr.146 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.319, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, i64 1 }) ret { ptr, i64 } %callN 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.320, 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 br label %if.merge.150 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.323, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.326, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.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 @@ -3908,7 +3927,7 @@ fv.default: ; preds = %if.merge.150 fv.case: ; preds = %if.merge.150 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.150 @@ -3923,7 +3942,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.325, i64 5 }, { ptr, i64 } { ptr @str.326, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.328, i64 5 }, { ptr, i64 } { ptr @str.329, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3942,24 +3961,24 @@ while.body.152: ; preds = %while.hdr.151 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.327, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.330, i64 1 }) ret { ptr, i64 } %callN 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.328, 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 br label %if.merge.155 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 [3 x { ptr, i64 }], ptr @field_names.332, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.335, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.336, 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 @@ -3986,7 +4005,7 @@ fv.default: ; preds = %if.merge.155 fv.case: ; preds = %if.merge.155 %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.155 @@ -3998,7 +4017,7 @@ fv.case20: ; preds = %if.merge.155 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -4007,7 +4026,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.334, i64 8 }, { ptr, i64 } { ptr @str.335, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.337, i64 8 }, { 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 @@ -4026,24 +4045,24 @@ while.body.157: ; preds = %while.hdr.156 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.336, 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.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.337, 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.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.341, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.344, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.345, 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 @@ -4070,7 +4089,7 @@ fv.default: ; preds = %if.merge.160 fv.case: ; preds = %if.merge.160 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.160 @@ -4090,7 +4109,7 @@ 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.343, i64 17 }, { ptr, i64 } { ptr @str.344, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.346, i64 17 }, { 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 @@ -4109,24 +4128,24 @@ 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.345, 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.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.346, 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.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 [4 x { ptr, i64 }], ptr @field_names.351, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.352, 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 }, i64, i64, i64 }, ptr %alloca, align 8 @@ -4155,7 +4174,7 @@ fv.case: ; preds = %if.merge.165 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.165 @@ -4179,7 +4198,7 @@ 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.353, i64 4 }, { ptr, i64 } { ptr @str.354, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.356, i64 4 }, { 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 @@ -4198,24 +4217,24 @@ 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.355, 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.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.356, 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.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 [1 x { ptr, i64 }], ptr @field_names.358, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.359, 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 { i32 }, ptr %alloca, align 4 @@ -4252,7 +4271,7 @@ 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.360, i64 10 }, { ptr, i64 } { ptr @str.361, 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 @@ -4271,24 +4290,24 @@ 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.362, 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.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.363, 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.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 [5 x { ptr, i64 }], ptr @field_names.369, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.370, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -4354,7 +4373,7 @@ 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.371, i64 13 }, { ptr, i64 } { ptr @str.372, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.374, i64 13 }, { 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 @@ -4373,24 +4392,24 @@ while.body.177: ; preds = %while.hdr.176 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.373, 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.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.374, 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.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 [2 x { ptr, i64 }], ptr @field_names.377, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.378, 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 { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4432,7 +4451,7 @@ 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.379, i64 8 }, { ptr, i64 } { ptr @str.380, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.382, i64 8 }, { 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 @@ -4451,24 +4470,24 @@ while.body.182: ; preds = %while.hdr.181 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.381, 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.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.382, 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.185 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.388, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.389, 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 { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -4529,7 +4548,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.390, i64 5 }, { ptr, i64 } { ptr @str.391, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.393, i64 5 }, { 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 @@ -4548,24 +4567,24 @@ while.body.187: ; preds = %while.hdr.186 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.392, 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.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.393, 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.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.397, i64 0, i64 %loadN + %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.398, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64, i64 }, ptr %alloca, align 8 @@ -4592,7 +4611,7 @@ fv.default: ; preds = %if.merge.190 fv.case: ; preds = %if.merge.190 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.190 @@ -4611,7 +4630,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.399, i64 6 }, { ptr, i64 } { ptr @str.400, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.402, i64 6 }, { 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 @@ -4630,24 +4649,24 @@ 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.401, 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.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.402, 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.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.406, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.407, 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, i64, i64 }, ptr %alloca, align 8 @@ -4674,7 +4693,7 @@ fv.default: ; preds = %if.merge.195 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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.195 @@ -4695,7 +4714,7 @@ entry: %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.408, i64 6 }, { ptr, i64 } { ptr @str.409, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.411, i64 6 }, { 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 @@ -4714,24 +4733,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.410, 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.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.411, 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.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 [2 x { ptr, i64 }], ptr @field_names.414, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.415, 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 { { ptr, i64 }, { i64, [24 x i8] } }, ptr %alloca, align 8 @@ -4765,7 +4784,7 @@ fv.case17: ; preds = %if.merge.200 %fv.field18 = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 1 store { i64, [24 x i8] } %fv.field18, ptr %ba.tmp19, align 8 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -4775,7 +4794,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.416, i64 4 }, { ptr, i64 } { ptr @str.417, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.419, i64 4 }, { 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 @@ -4794,24 +4813,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.418, 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.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.419, 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.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.423, i64 0, i64 %loadN + %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.424, 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, i64 }, i64, ptr }, ptr %alloca, align 8 @@ -4839,7 +4858,7 @@ fv.case: ; preds = %if.merge.205 %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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.205 @@ -4850,7 +4869,7 @@ fv.case17: ; preds = %if.merge.205 fv.case20: ; preds = %if.merge.205 %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -4861,7 +4880,7 @@ entry: %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.425, i64 6 }, { ptr, i64 } { ptr @str.426, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.428, i64 6 }, { 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 @@ -4880,24 +4899,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.427, 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.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.428, 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.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.432, i64 0, i64 %loadN + %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.433, 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 }, i64, { ptr, ptr, ptr } }, ptr %alloca, align 8 @@ -4937,7 +4956,7 @@ fv.case20: ; preds = %if.merge.210 %fv.field21 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 2 store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8 %ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -4946,7 +4965,7 @@ 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.434, i64 12 }, { ptr, i64 } { ptr @str.435, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.437, i64 12 }, { 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 @@ -4965,24 +4984,24 @@ 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.436, 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.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.437, 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.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 [0 x { ptr, i64 }], ptr @field_names.438, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.439, 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 {}, ptr %alloca, align 1 @@ -5002,7 +5021,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.440, i64 8 }, { ptr, i64 } { ptr @str.441, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.443, i64 8 }, { 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 @@ -5021,24 +5040,24 @@ 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.442, 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.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.443, 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.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.447, 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.448, 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 }, i1, i1 }, ptr %alloca, align 8 @@ -5090,7 +5109,7 @@ entry: %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.449, i64 7 }, { ptr, i64 } { ptr @str.450, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.452, i64 7 }, { 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 @@ -5109,24 +5128,24 @@ 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.451, 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.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.452, 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.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.456, 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.457, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5168,7 +5187,7 @@ fv.case22: ; preds = %if.merge.225 %fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2 store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8 %ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5178,7 +5197,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.458, i64 9 }, { ptr, i64 } { ptr @str.459, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.461, i64 9 }, { 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 @@ -5197,24 +5216,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.460, 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.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.461, 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.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 [2 x { ptr, i64 }], ptr @field_names.464, i64 0, i64 %loadN + %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.465, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -5257,7 +5276,7 @@ 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.466, i64 4 }, { ptr, i64 } { ptr @str.467, 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 @@ -5276,24 +5295,24 @@ 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.468, 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.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.469, 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.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.472, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.475, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.476, 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 @@ -5339,7 +5358,7 @@ 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.474, i64 6 }, { ptr, i64 } { ptr @str.475, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.477, i64 6 }, { ptr, i64 } { ptr @str.478, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5358,24 +5377,24 @@ 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.476, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.479, 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.477, 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 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 [7 x { ptr, i64 }], ptr @field_names.485, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 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.486, 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 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, ptr %alloca, align 8 @@ -5432,21 +5451,21 @@ fv.case28: ; preds = %if.merge.240 %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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge fv.case33: ; preds = %if.merge.240 %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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge fv.case38: ; preds = %if.merge.240 %fv.field39 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 6 store [16 x { i1, { ptr, i64 } }] %fv.field39, ptr %ba.tmp40, align 8 %ba.p2i41 = ptrtoint ptr %ba.tmp40 to i64 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -5457,7 +5476,7 @@ 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.487, i64 6 }, { ptr, i64 } { ptr @str.488, i64 1 }) + %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 @@ -5476,24 +5495,24 @@ 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.489, 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.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.490, 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.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 [4 x { ptr, i64 }], ptr @field_names.495, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.496, 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 { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -5522,14 +5541,14 @@ fv.case: ; preds = %if.merge.245 %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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.245 %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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.245 @@ -5552,9 +5571,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.502, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.505, 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.497, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.500, 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 @@ -5573,8 +5592,8 @@ entry: if.then.253: ; 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.504, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.503, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.506, 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.254 @@ -5593,9 +5612,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.509, 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 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.505, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.508, 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 @@ -5614,8 +5633,8 @@ entry: if.then.255: ; 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.511, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.510, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.513, 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.256 @@ -5645,9 +5664,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.519, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.522, 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.512, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.515, 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 @@ -5664,8 +5683,8 @@ entry: if.then.257: ; 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.521, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.520, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.524, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.523, 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.258 @@ -5721,7 +5740,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -5730,7 +5749,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -5743,9 +5762,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.530, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.533, 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.522, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.525, 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 @@ -5764,8 +5783,8 @@ entry: if.then.259: ; 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.532, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.531, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.534, 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.260 @@ -5784,9 +5803,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.539, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.542, 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.533, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.536, 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 @@ -5805,8 +5824,8 @@ entry: if.then.261: ; 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.541, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.540, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.543, 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.262 @@ -5823,7 +5842,7 @@ 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.542, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.545, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.272 @@ -5840,12 +5859,12 @@ while.body.273: ; preds = %while.hdr.272 while.exit.274: ; preds = %while.hdr.272 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.543, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.546, i64 1 }) ret { ptr, i64 } %call 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.544, 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.276 @@ -5874,7 +5893,7 @@ 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.545, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.548, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.277 @@ -5891,12 +5910,12 @@ while.body.278: ; preds = %while.hdr.277 while.exit.279: ; preds = %while.hdr.277 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.546, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.549, i64 1 }) ret { ptr, i64 } %call 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.547, 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.281 @@ -5909,7 +5928,7 @@ if.merge.281: ; preds = %if.then.280, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -5926,7 +5945,7 @@ 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.548, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.551, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.282 @@ -5943,12 +5962,12 @@ while.body.283: ; preds = %while.hdr.282 while.exit.284: ; preds = %while.hdr.282 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.549, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 1 }) ret { ptr, i64 } %call 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.550, 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.286 @@ -5976,7 +5995,7 @@ 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.551, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.554, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.287 @@ -5993,12 +6012,12 @@ while.body.288: ; preds = %while.hdr.287 while.exit.289: ; preds = %while.hdr.287 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 1 }) ret { ptr, i64 } %call 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.553, 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.291 @@ -6027,7 +6046,7 @@ 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.554, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.557, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.292 @@ -6044,12 +6063,12 @@ while.body.293: ; preds = %while.hdr.292 while.exit.294: ; preds = %while.hdr.292 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, i64 1 }) ret { ptr, i64 } %call 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.556, 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.296 @@ -6078,7 +6097,7 @@ 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.557, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.560, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.297 @@ -6095,12 +6114,12 @@ while.body.298: ; preds = %while.hdr.297 while.exit.299: ; preds = %while.hdr.297 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 1 }) ret { ptr, i64 } %call 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.559, 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.301 @@ -6131,7 +6150,7 @@ 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.560, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.563, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.302 @@ -6148,12 +6167,12 @@ while.body.303: ; preds = %while.hdr.302 while.exit.304: ; preds = %while.hdr.302 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, i64 1 }) ret { ptr, i64 } %call 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.562, 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.306 @@ -6183,7 +6202,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.563, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.566, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.314 @@ -6202,12 +6221,12 @@ while.body.315: ; preds = %while.hdr.314 while.exit.316: ; preds = %while.hdr.314 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 1 }) ret { ptr, i64 } %call 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.565, i64 2 }) + %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.318 @@ -6236,7 +6255,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.566, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.569, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.319 @@ -6255,12 +6274,12 @@ while.body.320: ; preds = %while.hdr.319 while.exit.321: ; preds = %while.hdr.319 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.570, i64 1 }) ret { ptr, i64 } %call 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.568, 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 br label %if.merge.323 @@ -6289,7 +6308,7 @@ 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.569, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.572, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.324 @@ -6308,12 +6327,12 @@ while.body.325: ; preds = %while.hdr.324 while.exit.326: ; preds = %while.hdr.324 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.570, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 1 }) ret { ptr, i64 } %call if.then.327: ; preds = %while.body.325 %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.574, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.328 @@ -6326,7 +6345,7 @@ if.merge.328: ; preds = %if.then.327, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -6343,7 +6362,7 @@ 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.572, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.575, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.329 @@ -6362,12 +6381,12 @@ while.body.330: ; preds = %while.hdr.329 while.exit.331: ; preds = %while.hdr.329 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.576, i64 1 }) ret { ptr, i64 } %call if.then.332: ; preds = %while.body.330 %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.577, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.333 @@ -6380,7 +6399,7 @@ if.merge.333: ; preds = %if.then.332, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -6397,7 +6416,7 @@ 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.575, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.578, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.334 @@ -6416,12 +6435,12 @@ while.body.335: ; preds = %while.hdr.334 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.576, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.579, i64 1 }) ret { ptr, i64 } %call 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.577, i64 2 }) + %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.338 @@ -6463,12 +6482,12 @@ if.then.372: ; preds = %entry if.else.373: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.580, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.579, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.583, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.582, i64 5 }, { ptr, i64 } %callN) br label %if.merge.374 if.merge.374: ; preds = %if.else.373, %if.then.372 - %bp = phi { ptr, i64 } [ { ptr @str.578, i64 4 }, %if.then.372 ], [ %callN, %if.else.373 ] + %bp = phi { ptr, i64 } [ { ptr @str.581, i64 4 }, %if.then.372 ], [ %callN, %if.else.373 ] ret { ptr, i64 } %bp } @@ -6491,12 +6510,12 @@ if.then.388: ; preds = %entry if.else.389: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.583, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.582, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.586, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.585, i64 11 }, { ptr, i64 } %callN) br label %if.merge.390 if.merge.390: ; preds = %if.else.389, %if.then.388 - %bp = phi { ptr, i64 } [ { ptr @str.581, i64 4 }, %if.then.388 ], [ %callN, %if.else.389 ] + %bp = phi { ptr, i64 } [ { ptr @str.584, i64 4 }, %if.then.388 ], [ %callN, %if.else.389 ] ret { ptr, i64 } %bp } @@ -6519,12 +6538,12 @@ if.then.391: ; preds = %entry if.else.392: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.586, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.585, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.589, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.588, i64 4 }, { ptr, i64 } %callN) br label %if.merge.393 if.merge.393: ; preds = %if.else.392, %if.then.391 - %bp = phi { ptr, i64 } [ { ptr @str.584, i64 4 }, %if.then.391 ], [ %callN, %if.else.392 ] + %bp = phi { ptr, i64 } [ { ptr @str.587, i64 4 }, %if.then.391 ], [ %callN, %if.else.392 ] ret { ptr, i64 } %bp } @@ -6547,12 +6566,12 @@ if.then.394: ; preds = %entry if.else.395: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.589, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.588, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 11 }, { ptr, i64 } %callN) br label %if.merge.396 if.merge.396: ; preds = %if.else.395, %if.then.394 - %bp = phi { ptr, i64 } [ { ptr @str.587, i64 4 }, %if.then.394 ], [ %callN, %if.else.395 ] + %bp = phi { ptr, i64 } [ { ptr @str.590, i64 4 }, %if.then.394 ], [ %callN, %if.else.395 ] ret { ptr, i64 } %bp } @@ -6575,12 +6594,12 @@ if.then.397: ; preds = %entry if.else.398: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.595, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.594, i64 6 }, { ptr, i64 } %callN) br label %if.merge.399 if.merge.399: ; preds = %if.else.398, %if.then.397 - %bp = phi { ptr, i64 } [ { ptr @str.590, i64 4 }, %if.then.397 ], [ %callN, %if.else.398 ] + %bp = phi { ptr, i64 } [ { ptr @str.593, i64 4 }, %if.then.397 ], [ %callN, %if.else.398 ] ret { ptr, i64 } %bp } @@ -6602,12 +6621,12 @@ if.then.400: ; preds = %entry if.else.401: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.595, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.594, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.597, i64 5 }, { ptr, i64 } %callN) br label %if.merge.402 if.merge.402: ; preds = %if.else.401, %if.then.400 - %bp = phi { ptr, i64 } [ { ptr @str.593, i64 4 }, %if.then.400 ], [ %callN, %if.else.401 ] + %bp = phi { ptr, i64 } [ { ptr @str.596, i64 4 }, %if.then.400 ], [ %callN, %if.else.401 ] ret { ptr, i64 } %bp } @@ -6630,12 +6649,12 @@ if.then.403: ; preds = %entry if.else.404: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.597, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 9 }, { ptr, i64 } %callN) br label %if.merge.405 if.merge.405: ; preds = %if.else.404, %if.then.403 - %bp = phi { ptr, i64 } [ { ptr @str.596, i64 4 }, %if.then.403 ], [ %callN, %if.else.404 ] + %bp = phi { ptr, i64 } [ { ptr @str.599, i64 4 }, %if.then.403 ], [ %callN, %if.else.404 ] ret { ptr, i64 } %bp } @@ -6658,12 +6677,12 @@ if.then.406: ; preds = %entry 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.601, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 18 }, { ptr, i64 } %callN) br label %if.merge.408 if.merge.408: ; preds = %if.else.407, %if.then.406 - %bp = phi { ptr, i64 } [ { ptr @str.599, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] + %bp = phi { ptr, i64 } [ { ptr @str.602, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] ret { ptr, i64 } %bp } @@ -6686,17 +6705,17 @@ if.then.409: ; preds = %entry if.else.410: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.607, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 5 }, { ptr, i64 } %callN) br label %if.merge.411 if.merge.411: ; preds = %if.else.410, %if.then.409 - %bp = phi { ptr, i64 } [ { ptr @str.602, i64 4 }, %if.then.409 ], [ %callN, %if.else.410 ] + %bp = phi { ptr, i64 } [ { ptr @str.605, i64 4 }, %if.then.409 ], [ %callN, %if.else.410 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6714,17 +6733,17 @@ if.then.412: ; preds = %entry 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.607, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 3 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.610, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, i64 4 }, { ptr, i64 } %callN) br label %if.merge.414 if.merge.414: ; preds = %if.else.413, %if.then.412 - %bp = phi { ptr, i64 } [ { ptr @str.605, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] + %bp = phi { ptr, i64 } [ { ptr @str.608, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6742,17 +6761,17 @@ if.then.415: ; preds = %entry if.else.416: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.610, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 9 }, { ptr, i64 } %callN) br label %if.merge.417 if.merge.417: ; preds = %if.else.416, %if.then.415 - %bp = phi { ptr, i64 } [ { ptr @str.608, i64 4 }, %if.then.415 ], [ %callN, %if.else.416 ] + %bp = phi { ptr, i64 } [ { ptr @str.611, i64 4 }, %if.then.415 ], [ %callN, %if.else.416 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6770,40 +6789,12 @@ if.then.418: ; preds = %entry 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.613, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.616, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.615, i64 4 }, { ptr, i64 } %callN) br label %if.merge.420 if.merge.420: ; preds = %if.else.419, %if.then.418 - %bp = phi { ptr, i64 } [ { ptr @str.611, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.421, label %if.else.422 - -if.then.421: ; preds = %entry - br label %if.merge.423 - -if.else.422: ; preds = %entry - %loadN = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.616, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.615, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.423 - -if.merge.423: ; preds = %if.else.422, %if.then.421 - %bp = phi { ptr, i64 } [ { ptr @str.614, i64 4 }, %if.then.421 ], [ %callN, %if.else.422 ] + %bp = phi { ptr, i64 } [ { ptr @str.614, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] ret { ptr, i64 } %bp } @@ -6817,20 +6808,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.424, label %if.else.425 + br i1 %icmp, label %if.then.421, label %if.else.422 -if.then.424: ; preds = %entry - br label %if.merge.426 +if.then.421: ; preds = %entry + br label %if.merge.423 -if.else.425: ; preds = %entry +if.else.422: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.618, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.426 + br label %if.merge.423 -if.merge.426: ; preds = %if.else.425, %if.then.424 - %bp = phi { ptr, i64 } [ { ptr @str.617, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] +if.merge.423: ; preds = %if.else.422, %if.then.421 + %bp = phi { ptr, i64 } [ { ptr @str.617, i64 4 }, %if.then.421 ], [ %callN, %if.else.422 ] ret { ptr, i64 } %bp } @@ -6845,20 +6836,20 @@ entry: store i64 %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 + br i1 %icmp, label %if.then.424, label %if.else.425 -if.then.427: ; preds = %entry - br label %if.merge.429 +if.then.424: ; preds = %entry + br label %if.merge.426 -if.else.428: ; preds = %entry +if.else.425: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.622, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.621, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.429 + br label %if.merge.426 -if.merge.429: ; preds = %if.else.428, %if.then.427 - %bp = phi { ptr, i64 } [ { ptr @str.620, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] +if.merge.426: ; preds = %if.else.425, %if.then.424 + %bp = phi { ptr, i64 } [ { ptr @str.620, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] ret { ptr, i64 } %bp } @@ -6872,6 +6863,34 @@ 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.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.625, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.624, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.429 + +if.merge.429: ; preds = %if.else.428, %if.then.427 + %bp = phi { ptr, i64 } [ { ptr @str.623, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.430, label %if.else.431 if.then.430: ; preds = %entry @@ -6880,17 +6899,17 @@ if.then.430: ; preds = %entry 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.625, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.624, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.627, i64 7 }, { ptr, i64 } %callN) br label %if.merge.432 if.merge.432: ; preds = %if.else.431, %if.then.430 - %bp = phi { ptr, i64 } [ { ptr @str.623, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] + %bp = phi { ptr, i64 } [ { ptr @str.626, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6908,17 +6927,17 @@ if.then.433: ; preds = %entry 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.628, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.627, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.631, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.630, i64 5 }, { ptr, i64 } %callN) br label %if.merge.435 if.merge.435: ; preds = %if.else.434, %if.then.433 - %bp = phi { ptr, i64 } [ { ptr @str.626, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] + %bp = phi { ptr, i64 } [ { ptr @str.629, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6936,17 +6955,17 @@ if.then.436: ; preds = %entry 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.631, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.630, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.634, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.633, i64 7 }, { ptr, i64 } %callN) br label %if.merge.438 if.merge.438: ; preds = %if.else.437, %if.then.436 - %bp = phi { ptr, i64 } [ { ptr @str.629, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] + %bp = phi { ptr, i64 } [ { ptr @str.632, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6964,17 +6983,17 @@ if.then.439: ; preds = %entry 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.634, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.633, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.637, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.636, i64 4 }, { ptr, i64 } %callN) br label %if.merge.441 if.merge.441: ; preds = %if.else.440, %if.then.439 - %bp = phi { ptr, i64 } [ { ptr @str.632, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] + %bp = phi { ptr, i64 } [ { ptr @str.635, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6992,17 +7011,17 @@ if.then.442: ; preds = %entry 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.637, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.636, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.639, i64 7 }, { ptr, i64 } %callN) br label %if.merge.444 if.merge.444: ; preds = %if.else.443, %if.then.442 - %bp = phi { ptr, i64 } [ { ptr @str.635, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] + %bp = phi { ptr, i64 } [ { ptr @str.638, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7020,17 +7039,17 @@ 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.640, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.639, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.643, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.642, 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.638, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] + %bp = phi { ptr, i64 } [ { ptr @str.641, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7048,17 +7067,17 @@ 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.643, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.642, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.646, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.645, i64 7 }, { ptr, i64 } %callN) br label %if.merge.450 if.merge.450: ; preds = %if.else.449, %if.then.448 - %bp = phi { ptr, i64 } [ { ptr @str.641, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] + %bp = phi { ptr, i64 } [ { ptr @str.644, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7076,17 +7095,17 @@ if.then.451: ; preds = %entry 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.646, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.645, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.648, i64 12 }, { ptr, i64 } %callN) br label %if.merge.453 if.merge.453: ; preds = %if.else.452, %if.then.451 - %bp = phi { ptr, i64 } [ { ptr @str.644, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] + %bp = phi { ptr, i64 } [ { ptr @str.647, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7104,17 +7123,17 @@ if.then.454: ; preds = %entry 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.649, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.648, i64 12 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 6 }, { ptr, i64 } %callN) br label %if.merge.456 if.merge.456: ; preds = %if.else.455, %if.then.454 - %bp = phi { ptr, i64 } [ { ptr @str.647, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] + %bp = phi { ptr, i64 } [ { ptr @str.650, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7132,17 +7151,17 @@ if.then.457: ; preds = %entry 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.652, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, i64 4 }, { ptr, i64 } %callN) br label %if.merge.459 if.merge.459: ; preds = %if.else.458, %if.then.457 - %bp = phi { ptr, i64 } [ { ptr @str.650, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] + %bp = phi { ptr, i64 } [ { ptr @str.653, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_3_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7160,17 +7179,17 @@ 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.655, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.658, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 7 }, { ptr, i64 } %callN) br label %if.merge.462 if.merge.462: ; preds = %if.else.461, %if.then.460 - %bp = phi { ptr, i64 } [ { ptr @str.653, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] + %bp = phi { ptr, i64 } [ { ptr @str.656, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_3_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7188,17 +7207,17 @@ if.then.463: ; preds = %entry 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.658, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 7 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.465 if.merge.465: ; preds = %if.else.464, %if.then.463 - %bp = phi { ptr, i64 } [ { ptr @str.656, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] + %bp = phi { ptr, i64 } [ { ptr @str.659, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7216,17 +7235,17 @@ if.then.466: ; preds = %entry 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.661, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.660, i64 6 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.468 if.merge.468: ; preds = %if.else.467, %if.then.466 - %bp = phi { ptr, i64 } [ { ptr @str.659, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] + %bp = phi { ptr, i64 } [ { ptr @str.662, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7244,17 +7263,17 @@ if.then.469: ; preds = %entry 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.664, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.663, i64 7 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.471 if.merge.471: ; preds = %if.else.470, %if.then.469 - %bp = phi { ptr, i64 } [ { ptr @str.662, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] + %bp = phi { ptr, i64 } [ { ptr @str.665, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7272,12 +7291,12 @@ if.then.472: ; preds = %entry 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.667, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.666, i64 7 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.474 if.merge.474: ; preds = %if.else.473, %if.then.472 - %bp = phi { ptr, i64 } [ { ptr @str.665, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] + %bp = phi { ptr, i64 } [ { ptr @str.668, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] ret { ptr, i64 } %bp } @@ -7300,12 +7319,12 @@ 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.670, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, i64 5 }, { ptr, i64 } %callN) + %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 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.668, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] + %bp = phi { ptr, i64 } [ { ptr @str.671, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] ret { ptr, i64 } %bp } @@ -7318,17 +7337,17 @@ 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.484, label %if.merge.485 + br i1 %lnot, label %if.then.485, label %if.merge.486 -if.then.484: ; preds = %entry - ret { ptr, i64 } { ptr @str.671, i64 4 } +if.then.485: ; preds = %entry + ret { ptr, i64 } { ptr @str.674, i64 4 } -if.merge.485: ; preds = %entry +if.merge.486: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7342,12 +7361,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.486, label %if.merge.487 + br i1 %lnot, label %if.then.487, label %if.merge.488 -if.then.486: ; preds = %entry - ret { ptr, i64 } { ptr @str.672, i64 4 } +if.then.487: ; preds = %entry + ret { ptr, i64 } { ptr @str.675, i64 4 } -if.merge.487: ; preds = %entry +if.merge.488: ; 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 @@ -7357,6 +7376,27 @@ if.merge.487: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.489, label %if.merge.490 + +if.then.489: ; preds = %entry + ret { ptr, i64 } { ptr @str.676, i64 4 } + +if.merge.490: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -7366,17 +7406,17 @@ 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.488, label %if.merge.489 + br i1 %lnot, label %if.then.491, label %if.merge.492 -if.then.488: ; preds = %entry - ret { ptr, i64 } { ptr @str.673, i64 4 } +if.then.491: ; preds = %entry + ret { ptr, i64 } { ptr @str.677, i64 4 } -if.merge.489: ; preds = %entry +if.merge.492: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7390,17 +7430,17 @@ 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.490, label %if.merge.491 + br i1 %lnot, label %if.then.493, label %if.merge.494 -if.then.490: ; preds = %entry - ret { ptr, i64 } { ptr @str.674, i64 4 } +if.then.493: ; preds = %entry + ret { ptr, i64 } { ptr @str.678, i64 4 } -if.merge.491: ; preds = %entry +if.merge.494: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } diff --git a/examples/expected/0518-packs-pack-value-dispatch.ir b/examples/expected/0518-packs-pack-value-dispatch.ir index 1d605bc..45a25b5 100644 --- a/examples/expected/0518-packs-pack-value-dispatch.ir +++ b/examples/expected/0518-packs-pack-value-dispatch.ir @@ -7,7 +7,7 @@ @str.78 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.79 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.80 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [160 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] +@__sx_type_is_unsigned = private constant [163 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.81 = private constant [9 x i8] c"Overflow\00" @tag.str.82 = private constant [3 x i8] c"Io\00" @@ -41,450 +41,450 @@ @tn.str.108 = private constant [6 x i8] c"isize\00" @tn.str.109 = private constant [6 x i8] c"usize\00" @tn.str.110 = private constant [5 x i8] c"void\00" -@tn.str.111 = private constant [6 x i8] c"*void\00" -@tn.str.112 = private constant [16 x i8] c"Source_Location\00" -@tn.str.113 = private constant [10 x i8] c"Allocator\00" -@tn.str.114 = private constant [8 x i8] c"Context\00" -@tn.str.115 = private constant [7 x i8] c"[4]i64\00" -@tn.str.116 = private constant [9 x i8] c"[]string\00" -@tn.str.117 = private constant [11 x i8] c"CAllocator\00" -@tn.str.118 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.119 = private constant [4 x i8] c"GPA\00" -@tn.str.120 = private constant [5 x i8] c"*GPA\00" -@tn.str.121 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.122 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.123 = private constant [6 x i8] c"Arena\00" -@tn.str.124 = private constant [7 x i8] c"*Arena\00" -@tn.str.125 = private constant [6 x i8] c"[*]u8\00" -@tn.str.126 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.127 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.128 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.129 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.130 = private constant [9 x i8] c"OpenMode\00" -@tn.str.131 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.132 = private constant [5 x i8] c"File\00" -@tn.str.133 = private constant [6 x i8] c"*File\00" -@tn.str.134 = private constant [6 x i8] c"?File\00" -@tn.str.135 = private constant [8 x i8] c"?string\00" -@tn.str.136 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.137 = private constant [4 x i8] c"*u8\00" -@tn.str.138 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.139 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.140 = private constant [5 x i8] c"*i32\00" -@tn.str.141 = private constant [9 x i8] c"SockAddr\00" -@tn.str.142 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.143 = private constant [5 x i8] c"*u32\00" -@tn.str.144 = private constant [10 x i8] c"JsonError\00" -@tn.str.145 = private constant [6 x i8] c"Array\00" -@tn.str.146 = private constant [7 x i8] c"Object\00" -@tn.str.147 = private constant [6 x i8] c"Value\00" -@tn.str.148 = private constant [7 x i8] c"Member\00" -@tn.str.149 = private constant [9 x i8] c"[*]Value\00" -@tn.str.150 = private constant [7 x i8] c"*Array\00" -@tn.str.151 = private constant [10 x i8] c"[*]Member\00" -@tn.str.152 = private constant [8 x i8] c"*Object\00" -@tn.str.153 = private constant [5 x i8] c"[]u8\00" -@tn.str.154 = private constant [5 x i8] c"Sink\00" -@tn.str.155 = private constant [6 x i8] c"*Sink\00" -@tn.str.156 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.157 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.158 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.159 = private constant [7 x i8] c"Parser\00" -@tn.str.160 = private constant [8 x i8] c"*Parser\00" -@tn.str.161 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.162 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.163 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.164 = private constant [13 x i8] c"Architecture\00" -@tn.str.165 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.166 = private constant [11 x i8] c"() -> bool\00" -@tn.str.167 = private constant [5 x i8] c"*i64\00" -@tn.str.168 = private constant [9 x i8] c"CliError\00" -@tn.str.169 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.170 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.171 = private constant [8 x i8] c"Command\00" -@tn.str.172 = private constant [10 x i8] c"FlagValue\00" -@tn.str.173 = private constant [5 x i8] c"Diag\00" -@tn.str.174 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.175 = private constant [7 x i8] c"Parsed\00" -@tn.str.176 = private constant [8 x i8] c"*Parsed\00" -@tn.str.177 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.178 = private constant [10 x i8] c"[]Command\00" -@tn.str.179 = private constant [6 x i8] c"*Diag\00" -@tn.str.180 = private constant [7 x i8] c"[8]i64\00" -@tn.str.181 = private constant [7 x i8] c"[64]u8\00" -@tn.str.182 = private constant [7 x i8] c"Sha256\00" -@tn.str.183 = private constant [8 x i8] c"*Sha256\00" -@tn.str.184 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.185 = private constant [8 x i8] c"[64]i64\00" -@tn.str.186 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.187 = private constant [7 x i8] c"**void\00" -@tn.str.188 = private constant [6 x i8] c"[]Any\00" -@tn.str.189 = private constant [5 x i8] c"*Any\00" -@tn.str.190 = private constant [7 x i8] c"[1]Any\00" -@tn.str.191 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.192 = private constant [7 x i8] c"*[]Any\00" -@tn.str.193 = private constant [8 x i8] c"*string\00" -@tn.str.194 = private constant [6 x i8] c"*bool\00" -@tn.str.195 = private constant [5 x i8] c"*f64\00" -@tn.str.196 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.197 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.198 = private constant [11 x i8] c"*Allocator\00" -@tn.str.199 = private constant [9 x i8] c"*Context\00" -@tn.str.200 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.201 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.202 = private constant [8 x i8] c"*Member\00" -@tn.str.203 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.204 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.205 = private constant [9 x i8] c"*Command\00" -@tn.str.206 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.207 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.208 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.209 = private constant [7 x i8] c"*Value\00" -@tn.str.210 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.211 = private constant [14 x i8] c"*Architecture\00" -@tn.str.212 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.213 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.214 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.215 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.216 = private constant [10 x i8] c"*[]string\00" -@tn.str.217 = private constant [6 x i8] c"*[]u8\00" -@tn.str.218 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.219 = private constant [11 x i8] c"*[]Command\00" -@tn.str.220 = private constant [6 x i8] c"**GPA\00" -@tn.str.221 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.222 = private constant [8 x i8] c"**Arena\00" -@tn.str.223 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.224 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.225 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.226 = private constant [7 x i8] c"**File\00" -@tn.str.227 = private constant [5 x i8] c"**u8\00" -@tn.str.228 = private constant [6 x i8] c"**i32\00" -@tn.str.229 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.230 = private constant [6 x i8] c"**u32\00" -@tn.str.231 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.232 = private constant [8 x i8] c"**Array\00" -@tn.str.233 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.234 = private constant [9 x i8] c"**Object\00" -@tn.str.235 = private constant [7 x i8] c"**Sink\00" -@tn.str.236 = private constant [9 x i8] c"**Parser\00" -@tn.str.237 = private constant [6 x i8] c"**i64\00" -@tn.str.238 = private constant [9 x i8] c"**Parsed\00" -@tn.str.239 = private constant [7 x i8] c"**Diag\00" -@tn.str.240 = private constant [9 x i8] c"**Sha256\00" -@tn.str.241 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.242 = private constant [8 x i8] c"***void\00" -@tn.str.243 = private constant [6 x i8] c"**Any\00" -@tn.str.244 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.245 = private constant [8 x i8] c"**[]Any\00" -@tn.str.246 = private constant [9 x i8] c"**string\00" -@tn.str.247 = private constant [7 x i8] c"**bool\00" -@tn.str.248 = private constant [6 x i8] c"**f64\00" -@tn.str.249 = private constant [7 x i8] c"*?File\00" -@tn.str.250 = private constant [9 x i8] c"*?string\00" -@tn.str.251 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.252 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [160 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 15 }, { ptr, i64 } { ptr @tn.str.113, i64 9 }, { ptr, i64 } { ptr @tn.str.114, i64 7 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 8 }, { ptr, i64 } { ptr @tn.str.117, i64 10 }, { ptr, i64 } { ptr @tn.str.118, i64 11 }, { ptr, i64 } { ptr @tn.str.119, i64 3 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 10 }, { ptr, i64 } { ptr @tn.str.122, i64 11 }, { ptr, i64 } { ptr @tn.str.123, i64 5 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 5 }, { ptr, i64 } { ptr @tn.str.126, i64 8 }, { ptr, i64 } { ptr @tn.str.127, i64 9 }, { ptr, i64 } { ptr @tn.str.128, i64 17 }, { ptr, i64 } { ptr @tn.str.129, i64 18 }, { ptr, i64 } { ptr @tn.str.130, i64 8 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 4 }, { ptr, i64 } { ptr @tn.str.133, i64 5 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 7 }, { ptr, i64 } { ptr @tn.str.136, i64 10 }, { ptr, i64 } { ptr @tn.str.137, i64 3 }, { ptr, i64 } { ptr @tn.str.138, i64 13 }, { ptr, i64 } { ptr @tn.str.139, i64 14 }, { ptr, i64 } { ptr @tn.str.140, i64 4 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 9 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 9 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 6 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 6 }, { ptr, i64 } { ptr @tn.str.149, i64 8 }, { ptr, i64 } { ptr @tn.str.150, i64 6 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 7 }, { ptr, i64 } { ptr @tn.str.153, i64 4 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 5 }, { ptr, i64 } { ptr @tn.str.156, i64 16 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 21 }, { ptr, i64 } { ptr @tn.str.159, i64 6 }, { ptr, i64 } { ptr @tn.str.160, i64 7 }, { ptr, i64 } { ptr @tn.str.161, i64 24 }, { ptr, i64 } { ptr @tn.str.162, i64 23 }, { ptr, i64 } { ptr @tn.str.163, i64 15 }, { ptr, i64 } { ptr @tn.str.164, i64 12 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 10 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 8 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 10 }, { ptr, i64 } { ptr @tn.str.171, i64 7 }, { ptr, i64 } { ptr @tn.str.172, i64 9 }, { ptr, i64 } { ptr @tn.str.173, i64 4 }, { ptr, i64 } { ptr @tn.str.174, i64 13 }, { ptr, i64 } { ptr @tn.str.175, i64 6 }, { ptr, i64 } { ptr @tn.str.176, i64 7 }, { ptr, i64 } { ptr @tn.str.177, i64 18 }, { ptr, i64 } { ptr @tn.str.178, i64 9 }, { ptr, i64 } { ptr @tn.str.179, i64 5 }, { ptr, i64 } { ptr @tn.str.180, i64 6 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 12 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 5 }, { ptr, i64 } { ptr @tn.str.189, i64 4 }, { ptr, i64 } { ptr @tn.str.190, i64 6 }, { ptr, i64 } { ptr @tn.str.191, i64 7 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 7 }, { ptr, i64 } { ptr @tn.str.194, i64 5 }, { ptr, i64 } { ptr @tn.str.195, i64 4 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 16 }, { ptr, i64 } { ptr @tn.str.198, i64 10 }, { ptr, i64 } { ptr @tn.str.199, i64 8 }, { ptr, i64 } { ptr @tn.str.200, i64 11 }, { ptr, i64 } { ptr @tn.str.201, i64 14 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 13 }, { ptr, i64 } { ptr @tn.str.204, i64 9 }, { ptr, i64 } { ptr @tn.str.205, i64 8 }, { ptr, i64 } { ptr @tn.str.206, i64 10 }, { ptr, i64 } { ptr @tn.str.207, i64 9 }, { ptr, i64 } { ptr @tn.str.208, i64 9 }, { ptr, i64 } { ptr @tn.str.209, i64 6 }, { ptr, i64 } { ptr @tn.str.210, i64 16 }, { ptr, i64 } { ptr @tn.str.211, i64 13 }, { ptr, i64 } { ptr @tn.str.212, i64 14 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 7 }, { ptr, i64 } { ptr @tn.str.215, i64 8 }, { ptr, i64 } { ptr @tn.str.216, i64 9 }, { ptr, i64 } { ptr @tn.str.217, i64 5 }, { ptr, i64 } { ptr @tn.str.218, i64 11 }, { ptr, i64 } { ptr @tn.str.219, i64 10 }, { ptr, i64 } { ptr @tn.str.220, i64 5 }, { ptr, i64 } { ptr @tn.str.221, i64 12 }, { ptr, i64 } { ptr @tn.str.222, i64 7 }, { ptr, i64 } { ptr @tn.str.223, i64 6 }, { ptr, i64 } { ptr @tn.str.224, i64 10 }, { ptr, i64 } { ptr @tn.str.225, i64 19 }, { ptr, i64 } { ptr @tn.str.226, i64 6 }, { ptr, i64 } { ptr @tn.str.227, i64 4 }, { ptr, i64 } { ptr @tn.str.228, i64 5 }, { ptr, i64 } { ptr @tn.str.229, i64 10 }, { ptr, i64 } { ptr @tn.str.230, i64 5 }, { ptr, i64 } { ptr @tn.str.231, i64 9 }, { ptr, i64 } { ptr @tn.str.232, i64 7 }, { ptr, i64 } { ptr @tn.str.233, i64 10 }, { ptr, i64 } { ptr @tn.str.234, i64 8 }, { ptr, i64 } { ptr @tn.str.235, i64 6 }, { ptr, i64 } { ptr @tn.str.236, i64 8 }, { ptr, i64 } { ptr @tn.str.237, i64 5 }, { ptr, i64 } { ptr @tn.str.238, i64 8 }, { ptr, i64 } { ptr @tn.str.239, i64 6 }, { ptr, i64 } { ptr @tn.str.240, i64 8 }, { ptr, i64 } { ptr @tn.str.241, i64 13 }, { ptr, i64 } { ptr @tn.str.242, i64 7 }, { ptr, i64 } { ptr @tn.str.243, i64 5 }, { ptr, i64 } { ptr @tn.str.244, i64 8 }, { ptr, i64 } { ptr @tn.str.245, i64 7 }, { ptr, i64 } { ptr @tn.str.246, i64 8 }, { ptr, i64 } { ptr @tn.str.247, i64 6 }, { ptr, i64 } { ptr @tn.str.248, i64 5 }, { ptr, i64 } { ptr @tn.str.249, i64 6 }, { ptr, i64 } { ptr @tn.str.250, i64 8 }, { ptr, i64 } { ptr @tn.str.251, i64 15 }, { ptr, i64 } { ptr @tn.str.252, i64 8 }] -@str.253 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.254 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.255 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@tn.str.111 = private constant [8 x i8] c"cstring\00" +@tn.str.112 = private constant [6 x i8] c"*void\00" +@tn.str.113 = private constant [16 x i8] c"Source_Location\00" +@tn.str.114 = private constant [10 x i8] c"Allocator\00" +@tn.str.115 = private constant [8 x i8] c"Context\00" +@tn.str.116 = private constant [7 x i8] c"[4]i64\00" +@tn.str.117 = private constant [9 x i8] c"[]string\00" +@tn.str.118 = private constant [11 x i8] c"CAllocator\00" +@tn.str.119 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.120 = private constant [4 x i8] c"GPA\00" +@tn.str.121 = private constant [5 x i8] c"*GPA\00" +@tn.str.122 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.123 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.124 = private constant [6 x i8] c"Arena\00" +@tn.str.125 = private constant [7 x i8] c"*Arena\00" +@tn.str.126 = private constant [6 x i8] c"[*]u8\00" +@tn.str.127 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.128 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.129 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.130 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.131 = private constant [9 x i8] c"OpenMode\00" +@tn.str.132 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.133 = private constant [5 x i8] c"File\00" +@tn.str.134 = private constant [6 x i8] c"*File\00" +@tn.str.135 = private constant [6 x i8] c"?File\00" +@tn.str.136 = private constant [8 x i8] c"?string\00" +@tn.str.137 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.138 = private constant [9 x i8] c"?cstring\00" +@tn.str.139 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.140 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.141 = private constant [5 x i8] c"*i32\00" +@tn.str.142 = private constant [9 x i8] c"SockAddr\00" +@tn.str.143 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.144 = private constant [5 x i8] c"*u32\00" +@tn.str.145 = private constant [10 x i8] c"JsonError\00" +@tn.str.146 = private constant [6 x i8] c"Array\00" +@tn.str.147 = private constant [7 x i8] c"Object\00" +@tn.str.148 = private constant [6 x i8] c"Value\00" +@tn.str.149 = private constant [7 x i8] c"Member\00" +@tn.str.150 = private constant [9 x i8] c"[*]Value\00" +@tn.str.151 = private constant [7 x i8] c"*Array\00" +@tn.str.152 = private constant [10 x i8] c"[*]Member\00" +@tn.str.153 = private constant [8 x i8] c"*Object\00" +@tn.str.154 = private constant [5 x i8] c"[]u8\00" +@tn.str.155 = private constant [5 x i8] c"Sink\00" +@tn.str.156 = private constant [6 x i8] c"*Sink\00" +@tn.str.157 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.158 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.159 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.160 = private constant [7 x i8] c"Parser\00" +@tn.str.161 = private constant [8 x i8] c"*Parser\00" +@tn.str.162 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.163 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.164 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.165 = private constant [13 x i8] c"Architecture\00" +@tn.str.166 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.167 = private constant [11 x i8] c"() -> bool\00" +@tn.str.168 = private constant [5 x i8] c"*i64\00" +@tn.str.169 = private constant [9 x i8] c"CliError\00" +@tn.str.170 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.171 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.172 = private constant [8 x i8] c"Command\00" +@tn.str.173 = private constant [10 x i8] c"FlagValue\00" +@tn.str.174 = private constant [5 x i8] c"Diag\00" +@tn.str.175 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.176 = private constant [7 x i8] c"Parsed\00" +@tn.str.177 = private constant [8 x i8] c"*Parsed\00" +@tn.str.178 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.179 = private constant [10 x i8] c"[]Command\00" +@tn.str.180 = private constant [6 x i8] c"*Diag\00" +@tn.str.181 = private constant [7 x i8] c"[8]i64\00" +@tn.str.182 = private constant [7 x i8] c"[64]u8\00" +@tn.str.183 = private constant [7 x i8] c"Sha256\00" +@tn.str.184 = private constant [8 x i8] c"*Sha256\00" +@tn.str.185 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.186 = private constant [8 x i8] c"[64]i64\00" +@tn.str.187 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.188 = private constant [7 x i8] c"**void\00" +@tn.str.189 = private constant [6 x i8] c"[]Any\00" +@tn.str.190 = private constant [5 x i8] c"*Any\00" +@tn.str.191 = private constant [7 x i8] c"[1]Any\00" +@tn.str.192 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.193 = private constant [7 x i8] c"*[]Any\00" +@tn.str.194 = private constant [8 x i8] c"*string\00" +@tn.str.195 = private constant [4 x i8] c"*u8\00" +@tn.str.196 = private constant [6 x i8] c"*bool\00" +@tn.str.197 = private constant [5 x i8] c"*f64\00" +@tn.str.198 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.199 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.200 = private constant [11 x i8] c"*Allocator\00" +@tn.str.201 = private constant [9 x i8] c"*Context\00" +@tn.str.202 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.203 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.204 = private constant [8 x i8] c"*Member\00" +@tn.str.205 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.206 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.207 = private constant [9 x i8] c"*Command\00" +@tn.str.208 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.209 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.210 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.211 = private constant [7 x i8] c"*Value\00" +@tn.str.212 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.213 = private constant [14 x i8] c"*Architecture\00" +@tn.str.214 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.215 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.216 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.217 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.218 = private constant [10 x i8] c"*[]string\00" +@tn.str.219 = private constant [6 x i8] c"*[]u8\00" +@tn.str.220 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.221 = private constant [11 x i8] c"*[]Command\00" +@tn.str.222 = private constant [6 x i8] c"**GPA\00" +@tn.str.223 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.224 = private constant [8 x i8] c"**Arena\00" +@tn.str.225 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.226 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.227 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.228 = private constant [7 x i8] c"**File\00" +@tn.str.229 = private constant [6 x i8] c"**i32\00" +@tn.str.230 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.231 = private constant [6 x i8] c"**u32\00" +@tn.str.232 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.233 = private constant [8 x i8] c"**Array\00" +@tn.str.234 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.235 = private constant [9 x i8] c"**Object\00" +@tn.str.236 = private constant [7 x i8] c"**Sink\00" +@tn.str.237 = private constant [9 x i8] c"**Parser\00" +@tn.str.238 = private constant [6 x i8] c"**i64\00" +@tn.str.239 = private constant [9 x i8] c"**Parsed\00" +@tn.str.240 = private constant [7 x i8] c"**Diag\00" +@tn.str.241 = private constant [9 x i8] c"**Sha256\00" +@tn.str.242 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.243 = private constant [8 x i8] c"***void\00" +@tn.str.244 = private constant [6 x i8] c"**Any\00" +@tn.str.245 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.246 = private constant [8 x i8] c"**[]Any\00" +@tn.str.247 = private constant [9 x i8] c"**string\00" +@tn.str.248 = private constant [5 x i8] c"**u8\00" +@tn.str.249 = private constant [7 x i8] c"**bool\00" +@tn.str.250 = private constant [6 x i8] c"**f64\00" +@tn.str.251 = private constant [7 x i8] c"*?File\00" +@tn.str.252 = private constant [9 x i8] c"*?string\00" +@tn.str.253 = private constant [10 x i8] c"*?cstring\00" +@tn.str.254 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.255 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [163 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 7 }, { ptr, i64 } { ptr @tn.str.112, i64 5 }, { ptr, i64 } { ptr @tn.str.113, i64 15 }, { ptr, i64 } { ptr @tn.str.114, i64 9 }, { ptr, i64 } { ptr @tn.str.115, i64 7 }, { ptr, i64 } { ptr @tn.str.116, i64 6 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 10 }, { ptr, i64 } { ptr @tn.str.119, i64 11 }, { ptr, i64 } { ptr @tn.str.120, i64 3 }, { ptr, i64 } { ptr @tn.str.121, i64 4 }, { ptr, i64 } { ptr @tn.str.122, i64 10 }, { ptr, i64 } { ptr @tn.str.123, i64 11 }, { ptr, i64 } { ptr @tn.str.124, i64 5 }, { ptr, i64 } { ptr @tn.str.125, i64 6 }, { ptr, i64 } { ptr @tn.str.126, i64 5 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 9 }, { ptr, i64 } { ptr @tn.str.129, i64 17 }, { ptr, i64 } { ptr @tn.str.130, i64 18 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 8 }, { ptr, i64 } { ptr @tn.str.133, i64 4 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 7 }, { ptr, i64 } { ptr @tn.str.137, i64 10 }, { ptr, i64 } { ptr @tn.str.138, i64 8 }, { ptr, i64 } { ptr @tn.str.139, i64 13 }, { ptr, i64 } { ptr @tn.str.140, i64 14 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 9 }, { ptr, i64 } { ptr @tn.str.144, i64 4 }, { ptr, i64 } { ptr @tn.str.145, i64 9 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 6 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 6 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 6 }, { ptr, i64 } { ptr @tn.str.152, i64 9 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 5 }, { ptr, i64 } { ptr @tn.str.157, i64 16 }, { ptr, i64 } { ptr @tn.str.158, i64 14 }, { ptr, i64 } { ptr @tn.str.159, i64 21 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 7 }, { ptr, i64 } { ptr @tn.str.162, i64 24 }, { ptr, i64 } { ptr @tn.str.163, i64 23 }, { ptr, i64 } { ptr @tn.str.164, i64 15 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 12 }, { ptr, i64 } { ptr @tn.str.167, i64 10 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 8 }, { ptr, i64 } { ptr @tn.str.171, i64 10 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 9 }, { ptr, i64 } { ptr @tn.str.174, i64 4 }, { ptr, i64 } { ptr @tn.str.175, i64 13 }, { ptr, i64 } { ptr @tn.str.176, i64 6 }, { ptr, i64 } { ptr @tn.str.177, i64 7 }, { ptr, i64 } { ptr @tn.str.178, i64 18 }, { ptr, i64 } { ptr @tn.str.179, i64 9 }, { ptr, i64 } { ptr @tn.str.180, i64 5 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 12 }, { ptr, i64 } { ptr @tn.str.188, i64 6 }, { ptr, i64 } { ptr @tn.str.189, i64 5 }, { ptr, i64 } { ptr @tn.str.190, i64 4 }, { ptr, i64 } { ptr @tn.str.191, i64 6 }, { ptr, i64 } { ptr @tn.str.192, i64 7 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 7 }, { ptr, i64 } { ptr @tn.str.195, i64 3 }, { ptr, i64 } { ptr @tn.str.196, i64 5 }, { ptr, i64 } { ptr @tn.str.197, i64 4 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 16 }, { ptr, i64 } { ptr @tn.str.200, i64 10 }, { ptr, i64 } { ptr @tn.str.201, i64 8 }, { ptr, i64 } { ptr @tn.str.202, i64 11 }, { ptr, i64 } { ptr @tn.str.203, i64 14 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 13 }, { ptr, i64 } { ptr @tn.str.206, i64 9 }, { ptr, i64 } { ptr @tn.str.207, i64 8 }, { ptr, i64 } { ptr @tn.str.208, i64 10 }, { ptr, i64 } { ptr @tn.str.209, i64 9 }, { ptr, i64 } { ptr @tn.str.210, i64 9 }, { ptr, i64 } { ptr @tn.str.211, i64 6 }, { ptr, i64 } { ptr @tn.str.212, i64 16 }, { ptr, i64 } { ptr @tn.str.213, i64 13 }, { ptr, i64 } { ptr @tn.str.214, i64 14 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 7 }, { ptr, i64 } { ptr @tn.str.217, i64 8 }, { ptr, i64 } { ptr @tn.str.218, i64 9 }, { ptr, i64 } { ptr @tn.str.219, i64 5 }, { ptr, i64 } { ptr @tn.str.220, i64 11 }, { ptr, i64 } { ptr @tn.str.221, i64 10 }, { ptr, i64 } { ptr @tn.str.222, i64 5 }, { ptr, i64 } { ptr @tn.str.223, i64 12 }, { ptr, i64 } { ptr @tn.str.224, i64 7 }, { ptr, i64 } { ptr @tn.str.225, i64 6 }, { ptr, i64 } { ptr @tn.str.226, i64 10 }, { ptr, i64 } { ptr @tn.str.227, i64 19 }, { ptr, i64 } { ptr @tn.str.228, i64 6 }, { ptr, i64 } { ptr @tn.str.229, i64 5 }, { ptr, i64 } { ptr @tn.str.230, i64 10 }, { ptr, i64 } { ptr @tn.str.231, i64 5 }, { ptr, i64 } { ptr @tn.str.232, i64 9 }, { ptr, i64 } { ptr @tn.str.233, i64 7 }, { ptr, i64 } { ptr @tn.str.234, i64 10 }, { ptr, i64 } { ptr @tn.str.235, i64 8 }, { ptr, i64 } { ptr @tn.str.236, i64 6 }, { ptr, i64 } { ptr @tn.str.237, i64 8 }, { ptr, i64 } { ptr @tn.str.238, i64 5 }, { ptr, i64 } { ptr @tn.str.239, i64 8 }, { ptr, i64 } { ptr @tn.str.240, i64 6 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 13 }, { ptr, i64 } { ptr @tn.str.243, i64 7 }, { ptr, i64 } { ptr @tn.str.244, i64 5 }, { ptr, i64 } { ptr @tn.str.245, i64 8 }, { ptr, i64 } { ptr @tn.str.246, i64 7 }, { ptr, i64 } { ptr @tn.str.247, i64 8 }, { ptr, i64 } { ptr @tn.str.248, i64 4 }, { ptr, i64 } { ptr @tn.str.249, i64 6 }, { ptr, i64 } { ptr @tn.str.250, i64 5 }, { ptr, i64 } { ptr @tn.str.251, i64 6 }, { ptr, i64 } { ptr @tn.str.252, i64 8 }, { ptr, i64 } { ptr @tn.str.253, i64 9 }, { ptr, i64 } { ptr @tn.str.254, i64 15 }, { ptr, i64 } { ptr @tn.str.255, i64 8 }] @str.256 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.257 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.258 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.259 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.260 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.261 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.262 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.263 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.264 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.265 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.266 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.267 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.259 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.260 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.261 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.262 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.263 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.264 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.265 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.266 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.267 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.268 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.269 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.270 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @str.271 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.272 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.273 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.274 = private unnamed_addr constant [3 x i8] c"hi\00", align 1 -@str.275 = private unnamed_addr constant [6 x i8] c"hello\00", align 1 -@str.276 = private unnamed_addr constant [4 x i8] c"i64\00", align 1 -@str.277 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 -@str.278 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.279 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 -@str.280 = private unnamed_addr constant [7 x i8] c"string\00", align 1 -@str.281 = private unnamed_addr constant [4 x i8] c"f64\00", align 1 -@str.282 = private unnamed_addr constant [8 x i8] c"got i64\00", align 1 -@str.283 = private unnamed_addr constant [11 x i8] c"got string\00", align 1 -@str.284 = private unnamed_addr constant [9 x i8] c"got bool\00", align 1 -@str.285 = private unnamed_addr constant [10 x i8] c"got other\00", align 1 -@str.286 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.287 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.288 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.289 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.274 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.275 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.276 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.277 = private unnamed_addr constant [3 x i8] c"hi\00", align 1 +@str.278 = private unnamed_addr constant [6 x i8] c"hello\00", align 1 +@str.279 = private unnamed_addr constant [4 x i8] c"i64\00", align 1 +@str.280 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.281 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.282 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.283 = private unnamed_addr constant [7 x i8] c"string\00", align 1 +@str.284 = private unnamed_addr constant [4 x i8] c"f64\00", align 1 +@str.285 = private unnamed_addr constant [8 x i8] c"got i64\00", align 1 +@str.286 = private unnamed_addr constant [11 x i8] c"got string\00", align 1 +@str.287 = private unnamed_addr constant [9 x i8] c"got bool\00", align 1 +@str.288 = private unnamed_addr constant [10 x i8] c"got other\00", align 1 +@str.289 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.290 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.291 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.292 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.290 = private constant [5 x i8] c"line\00" -@fld.str.291 = private constant [4 x i8] c"col\00" -@fld.str.292 = 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.290, i64 4 }, { ptr, i64 } { ptr @fld.str.291, i64 3 }, { ptr, i64 } { ptr @fld.str.292, i64 4 }] -@str.293 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.294 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.295 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.296 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.297 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.298 = private constant [4 x i8] c"ctx\00" -@fld.str.299 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.300 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.301 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.298, i64 3 }, { ptr, i64 } { ptr @fld.str.299, i64 11 }, { ptr, i64 } { ptr @fld.str.300, i64 13 }] -@str.302 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.303 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.304 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.305 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.306 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.307 = private constant [10 x i8] c"allocator\00" -@fld.str.308 = private constant [5 x i8] c"data\00" -@field_names.309 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.307, i64 9 }, { ptr, i64 } { ptr @fld.str.308, i64 4 }] -@str.310 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.311 = private unnamed_addr constant [11 x i8] c"CAllocator\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"}\00", align 1 -@str.314 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.315 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.316 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.317 = private unnamed_addr constant [4 x i8] c"GPA\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.320 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.321 = private constant [12 x i8] c"alloc_count\00" -@field_names.322 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.321, i64 11 }] -@str.323 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.324 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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.327 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.328 = private constant [5 x i8] c"next\00" -@fld.str.329 = private constant [4 x i8] c"cap\00" -@field_names.330 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.328, i64 4 }, { ptr, i64 } { ptr @fld.str.329, i64 3 }] -@str.331 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.332 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" -@fld.str.337 = private constant [10 x i8] c"end_index\00" -@fld.str.338 = private constant [7 x i8] c"parent\00" -@field_names.339 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.336, i64 5 }, { ptr, i64 } { ptr @fld.str.337, i64 9 }, { ptr, i64 } { ptr @fld.str.338, i64 6 }] -@str.340 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.341 = private unnamed_addr constant [9 x i8] c"BufAlloc\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"buf\00" -@fld.str.346 = private constant [4 x i8] c"len\00" -@fld.str.347 = private constant [4 x i8] c"pos\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 3 }, { ptr, i64 } { ptr @fld.str.347, i64 3 }] -@str.349 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.350 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" -@fld.str.355 = private constant [12 x i8] c"alloc_count\00" -@fld.str.356 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.357 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.358 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.354, i64 6 }, { ptr, i64 } { ptr @fld.str.355, i64 11 }, { ptr, i64 } { ptr @fld.str.356, i64 13 }, { ptr, i64 } { ptr @fld.str.357, i64 17 }] -@str.359 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.360 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" -@field_names.365 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.364, i64 2 }] -@str.366 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.367 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" -@fld.str.372 = private constant [5 x i8] c"line\00" -@fld.str.373 = private constant [4 x i8] c"col\00" -@fld.str.374 = private constant [5 x i8] c"func\00" -@fld.str.375 = private constant [10 x i8] c"line_text\00" -@field_names.376 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.371, i64 4 }, { ptr, i64 } { ptr @fld.str.372, i64 4 }, { ptr, i64 } { ptr @fld.str.373, i64 3 }, { ptr, i64 } { ptr @fld.str.374, i64 4 }, { ptr, i64 } { ptr @fld.str.375, i64 9 }] -@str.377 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.378 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" -@fld.str.383 = private constant [7 x i8] c"stdout\00" -@field_names.384 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.382, i64 9 }, { ptr, i64 } { ptr @fld.str.383, i64 6 }] -@str.385 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.386 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.391 = private constant [11 x i8] c"sin_family\00" -@fld.str.392 = private constant [9 x i8] c"sin_port\00" -@fld.str.393 = private constant [9 x i8] c"sin_addr\00" -@fld.str.394 = private constant [9 x i8] c"sin_zero\00" -@field_names.395 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.390, i64 7 }, { ptr, i64 } { ptr @fld.str.391, i64 10 }, { ptr, i64 } { ptr @fld.str.392, i64 8 }, { ptr, i64 } { ptr @fld.str.393, i64 8 }, { ptr, i64 } { ptr @fld.str.394, i64 8 }] -@str.396 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.397 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" -@fld.str.402 = private constant [4 x i8] c"len\00" -@fld.str.403 = private constant [4 x i8] c"cap\00" -@field_names.404 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.401, i64 5 }, { ptr, i64 } { ptr @fld.str.402, i64 3 }, { ptr, i64 } { ptr @fld.str.403, i64 3 }] -@str.405 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.406 = private unnamed_addr constant [7 x i8] c"Object\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 [6 x i8] c"items\00" -@fld.str.411 = private constant [4 x i8] c"len\00" -@fld.str.412 = private constant [4 x i8] c"cap\00" -@field_names.413 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.410, i64 5 }, { ptr, i64 } { ptr @fld.str.411, i64 3 }, { ptr, i64 } { ptr @fld.str.412, i64 3 }] -@str.414 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.415 = private unnamed_addr constant [7 x i8] c"Member\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 [4 x i8] c"key\00" -@fld.str.420 = private constant [4 x i8] c"val\00" -@field_names.421 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.419, i64 3 }, { ptr, i64 } { ptr @fld.str.420, i64 3 }] -@str.422 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.423 = private unnamed_addr constant [5 x i8] c"Sink\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 [4 x i8] c"dst\00" -@fld.str.428 = private constant [4 x i8] c"pos\00" -@fld.str.429 = private constant [5 x i8] c"file\00" -@field_names.430 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.427, i64 3 }, { ptr, i64 } { ptr @fld.str.428, i64 3 }, { ptr, i64 } { ptr @fld.str.429, i64 4 }] -@str.431 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.432 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" -@fld.str.437 = private constant [4 x i8] c"pos\00" -@fld.str.438 = private constant [6 x i8] c"alloc\00" -@field_names.439 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.436, i64 3 }, { ptr, i64 } { ptr @fld.str.437, i64 3 }, { ptr, i64 } { ptr @fld.str.438, i64 5 }] -@str.440 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.441 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.445 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.446 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.447 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" -@fld.str.452 = private constant [12 x i8] c"takes_value\00" -@fld.str.453 = private constant [9 x i8] c"required\00" -@field_names.454 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.451, i64 4 }, { ptr, i64 } { ptr @fld.str.452, i64 11 }, { ptr, i64 } { ptr @fld.str.453, i64 8 }] -@str.455 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.456 = private unnamed_addr constant [8 x i8] c"Command\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 [6 x i8] c"group\00" -@fld.str.461 = private constant [8 x i8] c"command\00" -@fld.str.462 = private constant [6 x i8] c"flags\00" -@field_names.463 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.460, i64 5 }, { ptr, i64 } { ptr @fld.str.461, i64 7 }, { ptr, i64 } { ptr @fld.str.462, i64 5 }] -@str.464 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.465 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" -@fld.str.470 = private constant [6 x i8] c"value\00" -@field_names.471 = private constant [2 x { ptr, i64 }] [{ 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 [5 x i8] c"Diag\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"index\00" -@fld.str.478 = private constant [6 x i8] c"token\00" -@field_names.479 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.477, i64 5 }, { 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 [7 x i8] c"Parsed\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 [6 x i8] c"group\00" -@fld.str.486 = private constant [8 x i8] c"command\00" -@fld.str.487 = private constant [10 x i8] c"cmd_index\00" -@fld.str.488 = private constant [5 x i8] c"json\00" -@fld.str.489 = private constant [5 x i8] c"rest\00" -@fld.str.490 = private constant [5 x i8] c"spec\00" -@fld.str.491 = private constant [7 x i8] c"values\00" -@field_names.492 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.485, i64 5 }, { ptr, i64 } { ptr @fld.str.486, i64 7 }, { ptr, i64 } { ptr @fld.str.487, i64 9 }, { ptr, i64 } { ptr @fld.str.488, i64 4 }, { ptr, i64 } { ptr @fld.str.489, i64 4 }, { ptr, i64 } { ptr @fld.str.490, i64 4 }, { ptr, i64 } { ptr @fld.str.491, i64 6 }] -@str.493 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.494 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" -@fld.str.499 = private constant [4 x i8] c"buf\00" -@fld.str.500 = private constant [8 x i8] c"buf_len\00" -@fld.str.501 = private constant [10 x i8] c"total_len\00" -@field_names.502 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.498, i64 1 }, { ptr, i64 } { ptr @fld.str.499, i64 3 }, { ptr, i64 } { ptr @fld.str.500, i64 7 }, { ptr, i64 } { ptr @fld.str.501, i64 9 }] -@str.503 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.504 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.505 = private constant [5 x i8] c"read\00" -@fld.str.506 = private constant [6 x i8] c"write\00" -@fld.str.507 = private constant [7 x i8] c"append\00" -@fld.str.508 = private constant [11 x i8] c"read_write\00" -@field_names.509 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.505, i64 4 }, { ptr, i64 } { ptr @fld.str.506, i64 5 }, { ptr, i64 } { ptr @fld.str.507, i64 6 }, { ptr, i64 } { ptr @fld.str.508, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.513 = private constant [4 x i8] c"set\00" -@fld.str.514 = private constant [8 x i8] c"current\00" -@fld.str.515 = private constant [4 x i8] c"end\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 7 }, { ptr, i64 } { ptr @fld.str.515, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.520 = private constant [6 x i8] c"null_\00" -@fld.str.521 = private constant [6 x i8] c"bool_\00" -@fld.str.522 = private constant [5 x i8] c"int_\00" -@fld.str.523 = private constant [4 x i8] c"str\00" -@fld.str.524 = private constant [6 x i8] c"array\00" -@fld.str.525 = private constant [7 x i8] c"object\00" -@field_names.526 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.520, i64 5 }, { ptr, i64 } { ptr @fld.str.521, i64 5 }, { ptr, i64 } { ptr @fld.str.522, i64 4 }, { ptr, i64 } { ptr @fld.str.523, i64 3 }, { ptr, i64 } { ptr @fld.str.524, i64 5 }, { ptr, i64 } { ptr @fld.str.525, i64 6 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.530 = private constant [6 x i8] c"macos\00" -@fld.str.531 = private constant [6 x i8] c"linux\00" -@fld.str.532 = private constant [8 x i8] c"windows\00" -@fld.str.533 = private constant [5 x i8] c"wasm\00" -@fld.str.534 = private constant [4 x i8] c"ios\00" -@fld.str.535 = private constant [8 x i8] c"android\00" -@fld.str.536 = private constant [8 x i8] c"unknown\00" -@field_names.537 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.530, i64 5 }, { ptr, i64 } { ptr @fld.str.531, i64 5 }, { ptr, i64 } { ptr @fld.str.532, i64 7 }, { ptr, i64 } { ptr @fld.str.533, i64 4 }, { ptr, i64 } { ptr @fld.str.534, i64 3 }, { ptr, i64 } { ptr @fld.str.535, i64 7 }, { ptr, i64 } { ptr @fld.str.536, i64 7 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.541 = private constant [8 x i8] c"aarch64\00" -@fld.str.542 = private constant [7 x i8] c"x86_64\00" -@fld.str.543 = private constant [7 x i8] c"wasm32\00" -@fld.str.544 = private constant [7 x i8] c"wasm64\00" -@fld.str.545 = private constant [8 x i8] c"unknown\00" -@field_names.546 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.541, i64 7 }, { ptr, i64 } { ptr @fld.str.542, i64 6 }, { ptr, i64 } { ptr @fld.str.543, i64 6 }, { ptr, i64 } { ptr @fld.str.544, i64 6 }, { ptr, i64 } { ptr @fld.str.545, i64 7 }] -@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 [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.293 = private constant [5 x i8] c"line\00" +@fld.str.294 = private constant [4 x i8] c"col\00" +@fld.str.295 = 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.293, i64 4 }, { ptr, i64 } { ptr @fld.str.294, i64 3 }, { ptr, i64 } { ptr @fld.str.295, i64 4 }] +@str.296 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.297 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.298 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.299 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.300 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.301 = private constant [4 x i8] c"ctx\00" +@fld.str.302 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.303 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.304 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.301, i64 3 }, { ptr, i64 } { ptr @fld.str.302, i64 11 }, { ptr, i64 } { ptr @fld.str.303, i64 13 }] +@str.305 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.306 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.307 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.308 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.309 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.310 = private constant [10 x i8] c"allocator\00" +@fld.str.311 = private constant [5 x i8] c"data\00" +@field_names.312 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.310, i64 9 }, { ptr, i64 } { ptr @fld.str.311, i64 4 }] +@str.313 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.314 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.315 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.316 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.317 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.318 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.319 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.320 = private unnamed_addr constant [4 x i8] c"GPA\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 [12 x i8] c"alloc_count\00" +@field_names.325 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.324, i64 11 }] +@str.326 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.327 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" +@fld.str.332 = private constant [4 x i8] c"cap\00" +@field_names.333 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.331, i64 4 }, { ptr, i64 } { ptr @fld.str.332, i64 3 }] +@str.334 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.335 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" +@fld.str.340 = private constant [10 x i8] c"end_index\00" +@fld.str.341 = private constant [7 x i8] c"parent\00" +@field_names.342 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.339, i64 5 }, { ptr, i64 } { ptr @fld.str.340, i64 9 }, { ptr, i64 } { ptr @fld.str.341, i64 6 }] +@str.343 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.344 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" +@fld.str.349 = private constant [4 x i8] c"len\00" +@fld.str.350 = private constant [4 x i8] c"pos\00" +@field_names.351 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.348, i64 3 }, { ptr, i64 } { ptr @fld.str.349, i64 3 }, { ptr, i64 } { ptr @fld.str.350, i64 3 }] +@str.352 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.353 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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.357 = private constant [7 x i8] c"parent\00" +@fld.str.358 = private constant [12 x i8] c"alloc_count\00" +@fld.str.359 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.360 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.361 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.357, i64 6 }, { ptr, i64 } { ptr @fld.str.358, i64 11 }, { ptr, i64 } { ptr @fld.str.359, i64 13 }, { ptr, i64 } { ptr @fld.str.360, i64 17 }] +@str.362 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.363 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" +@field_names.368 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.367, i64 2 }] +@str.369 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.370 = private unnamed_addr constant [11 x i8] c"TraceFrame\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"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" +@fld.str.378 = private constant [10 x i8] c"line_text\00" +@field_names.379 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.374, 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 }, { ptr, i64 } { ptr @fld.str.378, i64 9 }] +@str.380 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.381 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" +@fld.str.386 = private constant [7 x i8] c"stdout\00" +@field_names.387 = private constant [2 x { ptr, i64 }] [{ 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"SockAddr\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 [8 x i8] c"sin_len\00" +@fld.str.394 = private constant [11 x i8] c"sin_family\00" +@fld.str.395 = private constant [9 x i8] c"sin_port\00" +@fld.str.396 = private constant [9 x i8] c"sin_addr\00" +@fld.str.397 = private constant [9 x i8] c"sin_zero\00" +@field_names.398 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.393, i64 7 }, { ptr, i64 } { ptr @fld.str.394, i64 10 }, { ptr, i64 } { ptr @fld.str.395, i64 8 }, { ptr, i64 } { ptr @fld.str.396, i64 8 }, { ptr, i64 } { ptr @fld.str.397, i64 8 }] +@str.399 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.400 = private unnamed_addr constant [6 x i8] c"Array\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"items\00" +@fld.str.405 = private constant [4 x i8] c"len\00" +@fld.str.406 = private constant [4 x i8] c"cap\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 3 }, { 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 [7 x i8] c"Object\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"items\00" +@fld.str.414 = private constant [4 x i8] c"len\00" +@fld.str.415 = private constant [4 x i8] c"cap\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 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 [7 x i8] c"Member\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"key\00" +@fld.str.423 = private constant [4 x i8] c"val\00" +@field_names.424 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.422, i64 3 }, { ptr, i64 } { ptr @fld.str.423, i64 3 }] +@str.425 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.426 = private unnamed_addr constant [5 x i8] c"Sink\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"dst\00" +@fld.str.431 = private constant [4 x i8] c"pos\00" +@fld.str.432 = private constant [5 x i8] c"file\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 4 }] +@str.434 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.435 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" +@fld.str.440 = private constant [4 x i8] c"pos\00" +@fld.str.441 = private constant [6 x i8] c"alloc\00" +@field_names.442 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.439, i64 3 }, { ptr, i64 } { ptr @fld.str.440, i64 3 }, { ptr, i64 } { ptr @fld.str.441, i64 5 }] +@str.443 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.444 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 +@field_names.448 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.449 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.450 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" +@fld.str.455 = private constant [12 x i8] c"takes_value\00" +@fld.str.456 = private constant [9 x i8] c"required\00" +@field_names.457 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.454, i64 4 }, { ptr, i64 } { ptr @fld.str.455, i64 11 }, { ptr, i64 } { ptr @fld.str.456, i64 8 }] +@str.458 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.459 = private unnamed_addr constant [8 x i8] c"Command\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"group\00" +@fld.str.464 = private constant [8 x i8] c"command\00" +@fld.str.465 = private constant [6 x i8] c"flags\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 7 }, { 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 [10 x i8] c"FlagValue\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"set\00" +@fld.str.473 = private constant [6 x i8] c"value\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 5 }] +@str.475 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.476 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" +@fld.str.481 = private constant [6 x i8] c"token\00" +@field_names.482 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.480, i64 5 }, { ptr, i64 } { ptr @fld.str.481, i64 5 }] +@str.483 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.484 = private unnamed_addr constant [7 x i8] c"Parsed\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"group\00" +@fld.str.489 = private constant [8 x i8] c"command\00" +@fld.str.490 = private constant [10 x i8] c"cmd_index\00" +@fld.str.491 = private constant [5 x i8] c"json\00" +@fld.str.492 = private constant [5 x i8] c"rest\00" +@fld.str.493 = private constant [5 x i8] c"spec\00" +@fld.str.494 = private constant [7 x i8] c"values\00" +@field_names.495 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.488, i64 5 }, { ptr, i64 } { ptr @fld.str.489, i64 7 }, { ptr, i64 } { ptr @fld.str.490, i64 9 }, { ptr, i64 } { ptr @fld.str.491, i64 4 }, { ptr, i64 } { ptr @fld.str.492, i64 4 }, { ptr, i64 } { ptr @fld.str.493, i64 4 }, { ptr, i64 } { ptr @fld.str.494, i64 6 }] +@str.496 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.497 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" +@fld.str.502 = private constant [4 x i8] c"buf\00" +@fld.str.503 = private constant [8 x i8] c"buf_len\00" +@fld.str.504 = private constant [10 x i8] c"total_len\00" +@field_names.505 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.501, i64 1 }, { ptr, i64 } { ptr @fld.str.502, i64 3 }, { ptr, i64 } { ptr @fld.str.503, i64 7 }, { ptr, i64 } { ptr @fld.str.504, i64 9 }] +@str.506 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.507 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.508 = private constant [5 x i8] c"read\00" +@fld.str.509 = private constant [6 x i8] c"write\00" +@fld.str.510 = private constant [7 x i8] c"append\00" +@fld.str.511 = private constant [11 x i8] c"read_write\00" +@field_names.512 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.508, i64 4 }, { ptr, i64 } { ptr @fld.str.509, i64 5 }, { ptr, i64 } { ptr @fld.str.510, i64 6 }, { ptr, i64 } { ptr @fld.str.511, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.516 = private constant [4 x i8] c"set\00" +@fld.str.517 = private constant [8 x i8] c"current\00" +@fld.str.518 = private constant [4 x i8] c"end\00" +@field_names.519 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.516, i64 3 }, { ptr, i64 } { ptr @fld.str.517, i64 7 }, { ptr, i64 } { ptr @fld.str.518, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.523 = private constant [6 x i8] c"null_\00" +@fld.str.524 = private constant [6 x i8] c"bool_\00" +@fld.str.525 = private constant [5 x i8] c"int_\00" +@fld.str.526 = private constant [4 x i8] c"str\00" +@fld.str.527 = private constant [6 x i8] c"array\00" +@fld.str.528 = private constant [7 x i8] c"object\00" +@field_names.529 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.523, i64 5 }, { ptr, i64 } { ptr @fld.str.524, i64 5 }, { ptr, i64 } { ptr @fld.str.525, i64 4 }, { ptr, i64 } { ptr @fld.str.526, i64 3 }, { ptr, i64 } { ptr @fld.str.527, i64 5 }, { ptr, i64 } { ptr @fld.str.528, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.533 = private constant [6 x i8] c"macos\00" +@fld.str.534 = private constant [6 x i8] c"linux\00" +@fld.str.535 = private constant [8 x i8] c"windows\00" +@fld.str.536 = private constant [5 x i8] c"wasm\00" +@fld.str.537 = private constant [4 x i8] c"ios\00" +@fld.str.538 = private constant [8 x i8] c"android\00" +@fld.str.539 = private constant [8 x i8] c"unknown\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 5 }, { ptr, i64 } { ptr @fld.str.535, i64 7 }, { ptr, i64 } { ptr @fld.str.536, i64 4 }, { ptr, i64 } { ptr @fld.str.537, i64 3 }, { ptr, i64 } { ptr @fld.str.538, i64 7 }, { ptr, i64 } { ptr @fld.str.539, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.544 = private constant [8 x i8] c"aarch64\00" +@fld.str.545 = private constant [7 x i8] c"x86_64\00" +@fld.str.546 = private constant [7 x i8] c"wasm32\00" +@fld.str.547 = private constant [7 x i8] c"wasm64\00" +@fld.str.548 = private constant [8 x i8] c"unknown\00" +@field_names.549 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.544, i64 7 }, { ptr, i64 } { ptr @fld.str.545, i64 6 }, { ptr, i64 } { ptr @fld.str.546, i64 6 }, { ptr, i64 } { ptr @fld.str.547, i64 6 }, { ptr, i64 } { ptr @fld.str.548, i64 7 }] +@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 [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 @@ -515,35 +515,35 @@ @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 -@str.582 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.583 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.584 = private unnamed_addr constant [4 x i8] c"@0x\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 @str.585 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.586 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.586 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.587 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.588 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.589 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.589 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.590 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.591 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.592 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.592 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.593 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.594 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.595 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.595 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.596 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.597 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.598 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 +@str.598 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.599 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.600 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.601 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 +@str.601 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.602 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.603 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.604 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.604 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.605 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.606 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.607 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.607 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.608 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.609 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.610 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.610 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.611 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.612 = private unnamed_addr constant [5 x i8] c"null\00", align 1 @str.613 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @@ -603,15 +603,19 @@ @str.667 = private unnamed_addr constant [8 x i8] c"*string\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 [6 x i8] c"*bool\00", align 1 +@str.670 = private unnamed_addr constant [4 x i8] c"*u8\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"*f64\00", align 1 +@str.673 = private unnamed_addr constant [6 x i8] c"*bool\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 [5 x i8] c"null\00", align 1 -@str.677 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.676 = private unnamed_addr constant [5 x i8] c"*f64\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 [5 x i8] c"null\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"null\00", align 1 +@str.682 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -628,7 +632,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -679,7 +683,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -769,7 +773,7 @@ if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.66 @@ -972,7 +976,7 @@ if.merge.91: ; preds = %if.else.90, %if.the %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1215,7 +1219,7 @@ if.merge.370: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1287,7 +1291,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1318,7 +1322,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1333,6 +1337,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1375,85 +1388,86 @@ entry: i64 1, label %match.arm.41 i64 10, label %match.arm.42 i64 11, label %match.arm.42 - i64 19, label %match.arm.43 i64 20, label %match.arm.43 i64 21, label %match.arm.43 - i64 24, label %match.arm.43 - i64 26, label %match.arm.43 - i64 28, label %match.arm.43 - i64 30, label %match.arm.43 - i64 33, label %match.arm.43 - i64 35, label %match.arm.43 - i64 39, label %match.arm.43 - i64 43, label %match.arm.43 - i64 45, label %match.arm.43 - i64 48, label %match.arm.43 - i64 52, label %match.arm.43 + i64 22, label %match.arm.43 + i64 25, label %match.arm.43 + i64 27, label %match.arm.43 + i64 29, label %match.arm.43 + i64 31, label %match.arm.43 + i64 34, label %match.arm.43 + i64 36, label %match.arm.43 + i64 40, label %match.arm.43 + i64 44, label %match.arm.43 + i64 46, label %match.arm.43 + i64 49, label %match.arm.43 i64 53, label %match.arm.43 - i64 55, label %match.arm.43 - i64 61, label %match.arm.43 - i64 66, label %match.arm.43 - i64 72, label %match.arm.43 - i64 76, label %match.arm.43 - i64 78, label %match.arm.43 + i64 54, label %match.arm.43 + i64 56, label %match.arm.43 + i64 62, label %match.arm.43 + i64 67, label %match.arm.43 + i64 73, label %match.arm.43 + i64 77, label %match.arm.43 i64 79, label %match.arm.43 i64 80, label %match.arm.43 - i64 82, label %match.arm.43 - i64 89, label %match.arm.43 - i64 37, label %match.arm.44 + i64 81, label %match.arm.43 + i64 83, label %match.arm.43 + i64 90, label %match.arm.43 i64 38, label %match.arm.44 - i64 54, label %match.arm.44 - i64 70, label %match.arm.44 + i64 39, label %match.arm.44 + i64 55, label %match.arm.44 i64 71, label %match.arm.44 - i64 51, label %match.arm.45 - i64 64, label %match.arm.45 - i64 75, label %match.arm.45 - i64 22, label %match.arm.47 - i64 81, label %match.arm.47 - i64 87, label %match.arm.47 + i64 72, label %match.arm.44 + i64 52, label %match.arm.45 + i64 65, label %match.arm.45 + i64 76, label %match.arm.45 + i64 23, label %match.arm.47 + i64 82, label %match.arm.47 i64 88, label %match.arm.47 - i64 92, label %match.arm.47 - i64 97, label %match.arm.47 - i64 23, label %match.arm.48 - i64 60, label %match.arm.48 - i64 77, label %match.arm.48 - i64 85, label %match.arm.48 - i64 95, label %match.arm.48 - i64 18, label %match.arm.49 - i64 25, label %match.arm.49 - i64 27, label %match.arm.49 - i64 29, label %match.arm.49 - i64 31, label %match.arm.49 + i64 89, label %match.arm.47 + i64 93, label %match.arm.47 + i64 98, label %match.arm.47 + i64 24, label %match.arm.48 + i64 61, label %match.arm.48 + i64 78, label %match.arm.48 + i64 86, label %match.arm.48 + i64 96, label %match.arm.48 + i64 19, label %match.arm.49 + i64 26, label %match.arm.49 + i64 28, label %match.arm.49 + i64 30, label %match.arm.49 i64 32, label %match.arm.49 - i64 34, label %match.arm.49 - i64 36, label %match.arm.49 - i64 40, label %match.arm.49 - i64 44, label %match.arm.49 - i64 47, label %match.arm.49 - i64 49, label %match.arm.49 + i64 33, label %match.arm.49 + i64 35, label %match.arm.49 + i64 37, label %match.arm.49 + i64 41, label %match.arm.49 + i64 48, label %match.arm.49 i64 50, label %match.arm.49 - i64 56, label %match.arm.49 + i64 51, label %match.arm.49 i64 57, label %match.arm.49 i64 58, label %match.arm.49 i64 59, label %match.arm.49 - i64 62, label %match.arm.49 - i64 67, label %match.arm.49 - i64 74, label %match.arm.49 - i64 83, label %match.arm.49 - i64 86, label %match.arm.49 - i64 90, label %match.arm.49 - i64 93, label %match.arm.49 + i64 60, label %match.arm.49 + i64 63, label %match.arm.49 + i64 68, label %match.arm.49 + i64 75, label %match.arm.49 + i64 84, label %match.arm.49 + i64 87, label %match.arm.49 + i64 91, label %match.arm.49 i64 94, label %match.arm.49 - i64 96, label %match.arm.49 - i64 98, label %match.arm.49 + i64 95, label %match.arm.49 + i64 97, label %match.arm.49 i64 99, label %match.arm.49 i64 100, label %match.arm.49 i64 101, label %match.arm.49 i64 102, label %match.arm.49 - i64 41, label %match.arm.50 + i64 103, label %match.arm.49 + i64 104, label %match.arm.49 i64 42, label %match.arm.50 - i64 46, label %match.arm.50 - i64 91, label %match.arm.50 + i64 43, label %match.arm.50 + i64 45, label %match.arm.50 + i64 47, label %match.arm.50 + i64 92, label %match.arm.50 i64 13, label %match.arm.51 ] @@ -1471,7 +1485,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 [160 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [163 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 @@ -1504,31 +1518,31 @@ match.arm.43: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.95 [ - i64 19, label %dispatch.case.96 - i64 20, label %dispatch.case.97 - i64 21, label %dispatch.case.98 - i64 24, label %dispatch.case.99 - i64 26, label %dispatch.case.100 - i64 28, label %dispatch.case.101 - i64 30, label %dispatch.case.102 - i64 33, label %dispatch.case.103 - i64 35, label %dispatch.case.104 - i64 39, label %dispatch.case.105 - i64 43, label %dispatch.case.106 - i64 45, label %dispatch.case.107 - i64 48, label %dispatch.case.108 - i64 52, label %dispatch.case.109 - i64 53, label %dispatch.case.110 - i64 55, label %dispatch.case.111 - i64 61, label %dispatch.case.112 - i64 66, label %dispatch.case.113 - i64 72, label %dispatch.case.114 - i64 76, label %dispatch.case.115 - i64 78, label %dispatch.case.116 - i64 79, label %dispatch.case.117 - i64 80, label %dispatch.case.118 - i64 82, label %dispatch.case.119 - i64 89, label %dispatch.case.120 + i64 20, label %dispatch.case.96 + i64 21, label %dispatch.case.97 + i64 22, label %dispatch.case.98 + i64 25, label %dispatch.case.99 + i64 27, label %dispatch.case.100 + i64 29, label %dispatch.case.101 + i64 31, label %dispatch.case.102 + i64 34, label %dispatch.case.103 + i64 36, label %dispatch.case.104 + i64 40, label %dispatch.case.105 + i64 44, label %dispatch.case.106 + i64 46, label %dispatch.case.107 + i64 49, label %dispatch.case.108 + i64 53, label %dispatch.case.109 + i64 54, label %dispatch.case.110 + i64 56, label %dispatch.case.111 + i64 62, label %dispatch.case.112 + i64 67, label %dispatch.case.113 + i64 73, label %dispatch.case.114 + i64 77, label %dispatch.case.115 + i64 79, label %dispatch.case.116 + i64 80, label %dispatch.case.117 + i64 81, label %dispatch.case.118 + i64 83, label %dispatch.case.119 + i64 90, label %dispatch.case.120 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1536,11 +1550,11 @@ match.arm.44: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.247 [ - i64 37, label %dispatch.case.248 - i64 38, label %dispatch.case.249 - i64 54, label %dispatch.case.250 - i64 70, label %dispatch.case.251 - i64 71, label %dispatch.case.252 + i64 38, label %dispatch.case.248 + i64 39, label %dispatch.case.249 + i64 55, label %dispatch.case.250 + i64 71, label %dispatch.case.251 + i64 72, label %dispatch.case.252 ] match.arm.45: ; preds = %entry, %entry, %entry @@ -1563,12 +1577,12 @@ match.arm.47: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.264 [ - i64 22, label %dispatch.case.265 - i64 81, label %dispatch.case.266 - i64 87, label %dispatch.case.267 - i64 88, label %dispatch.case.268 - i64 92, label %dispatch.case.269 - i64 97, label %dispatch.case.270 + i64 23, label %dispatch.case.265 + i64 82, label %dispatch.case.266 + i64 88, label %dispatch.case.267 + i64 89, label %dispatch.case.268 + i64 93, label %dispatch.case.269 + i64 98, label %dispatch.case.270 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1576,11 +1590,11 @@ match.arm.48: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.302 [ - i64 23, label %dispatch.case.303 - i64 60, label %dispatch.case.304 - i64 77, label %dispatch.case.305 - i64 85, label %dispatch.case.306 - i64 95, label %dispatch.case.307 + i64 24, label %dispatch.case.303 + i64 61, label %dispatch.case.304 + i64 78, label %dispatch.case.305 + i64 86, label %dispatch.case.306 + i64 96, label %dispatch.case.307 ] 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 @@ -1588,48 +1602,49 @@ match.arm.49: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.334 [ - i64 18, label %dispatch.case.335 - i64 25, label %dispatch.case.336 - i64 27, label %dispatch.case.337 - i64 29, label %dispatch.case.338 - i64 31, label %dispatch.case.339 - i64 32, label %dispatch.case.340 - i64 34, label %dispatch.case.341 - i64 36, label %dispatch.case.342 - i64 40, label %dispatch.case.343 - i64 44, label %dispatch.case.344 - i64 47, label %dispatch.case.345 - i64 49, label %dispatch.case.346 - i64 50, label %dispatch.case.347 - i64 56, label %dispatch.case.348 - i64 57, label %dispatch.case.349 - i64 58, label %dispatch.case.350 - i64 59, label %dispatch.case.351 - i64 62, label %dispatch.case.352 - i64 67, label %dispatch.case.353 - i64 74, label %dispatch.case.354 - i64 83, label %dispatch.case.355 - i64 86, label %dispatch.case.356 - i64 90, label %dispatch.case.357 - i64 93, label %dispatch.case.358 - i64 94, label %dispatch.case.359 - i64 96, label %dispatch.case.360 - i64 98, label %dispatch.case.361 - i64 99, label %dispatch.case.362 - i64 100, label %dispatch.case.363 - i64 101, label %dispatch.case.364 - i64 102, label %dispatch.case.365 + i64 19, label %dispatch.case.335 + i64 26, label %dispatch.case.336 + i64 28, label %dispatch.case.337 + i64 30, label %dispatch.case.338 + i64 32, label %dispatch.case.339 + i64 33, label %dispatch.case.340 + i64 35, label %dispatch.case.341 + i64 37, label %dispatch.case.342 + i64 41, label %dispatch.case.343 + i64 48, label %dispatch.case.344 + i64 50, label %dispatch.case.345 + i64 51, label %dispatch.case.346 + i64 57, label %dispatch.case.347 + i64 58, label %dispatch.case.348 + i64 59, label %dispatch.case.349 + i64 60, label %dispatch.case.350 + i64 63, label %dispatch.case.351 + i64 68, label %dispatch.case.352 + i64 75, label %dispatch.case.353 + i64 84, label %dispatch.case.354 + i64 87, label %dispatch.case.355 + i64 91, label %dispatch.case.356 + i64 94, label %dispatch.case.357 + i64 95, label %dispatch.case.358 + i64 97, label %dispatch.case.359 + i64 99, label %dispatch.case.360 + i64 100, label %dispatch.case.361 + i64 101, label %dispatch.case.362 + i64 102, label %dispatch.case.363 + i64 103, label %dispatch.case.364 + i64 104, label %dispatch.case.365 ] -match.arm.50: ; preds = %entry, %entry, %entry, %entry +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.473 [ - i64 41, label %dispatch.case.474 - i64 42, label %dispatch.case.475 - i64 46, label %dispatch.case.476 - i64 91, label %dispatch.case.477 + i64 42, label %dispatch.case.474 + i64 43, label %dispatch.case.475 + i64 45, label %dispatch.case.476 + i64 47, label %dispatch.case.477 + i64 92, label %dispatch.case.478 ] match.arm.51: ; preds = %entry @@ -1638,7 +1653,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 [160 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [163 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 @@ -1689,7 +1704,7 @@ dispatch.merge.94: ; preds = %dispatch.case.120, br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.253, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.256, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -1898,7 +1913,7 @@ dispatch.merge.246: ; preds = %dispatch.case.252, br label %match.merge.37 dispatch.default.247: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.254, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.257, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.246 dispatch.case.248: ; preds = %match.arm.44 @@ -1939,7 +1954,7 @@ dispatch.merge.263: ; preds = %dispatch.case.270, br label %match.merge.37 dispatch.default.264: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.255, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.258, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.263 dispatch.case.265: ; preds = %match.arm.47 @@ -1996,7 +2011,7 @@ dispatch.merge.301: ; preds = %dispatch.case.307, br label %match.merge.37 dispatch.default.302: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.256, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.259, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.301 dispatch.case.303: ; preds = %match.arm.48 @@ -2045,7 +2060,7 @@ dispatch.merge.333: ; preds = %dispatch.case.365, br label %match.merge.37 dispatch.default.334: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.257, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.260, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.335: ; preds = %match.arm.49 @@ -2114,140 +2129,140 @@ dispatch.case.343: ; preds = %match.arm.49 dispatch.case.344: ; 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_u8(ptr %0, ptr %iNp247) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp247) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.345: ; 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_i32(ptr %0, ptr %iNp250) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp250) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.346: ; 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_SockAddr(ptr %0, ptr %iNp253) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp253) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.347: ; 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_u32(ptr %0, ptr %iNp256) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp256) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.348: ; 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_Value(ptr %0, ptr %iNp259) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp259) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.349: ; 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_Array(ptr %0, ptr %iNp262) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp262) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.350: ; 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__mptr_Member(ptr %0, ptr %iNp265) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp265) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.351: ; 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_Object(ptr %0, ptr %iNp268) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp268) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.352: ; 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_Sink(ptr %0, ptr %iNp271) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp271) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.353: ; 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_Parser(ptr %0, ptr %iNp274) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp274) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.354: ; 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_i64(ptr %0, ptr %iNp277) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp277) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.355: ; 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_Parsed(ptr %0, ptr %iNp280) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp280) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.356: ; 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_Diag(ptr %0, ptr %iNp283) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp283) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.357: ; 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_Sha256(ptr %0, ptr %iNp286) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp286) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.358: ; 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_ptr_CAllocator(ptr %0, ptr %iNp289) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp289) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.359: ; 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_ptr_void(ptr %0, ptr %iNp292) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp292) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.360: ; 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_Any(ptr %0, ptr %iNp295) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp295) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.361: ; 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_AR_1_Any(ptr %0, ptr %iNp298) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp298) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.362: ; 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_SL_Any(ptr %0, ptr %iNp301) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp301) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.363: ; 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_string(ptr %0, ptr %iNp304) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp304) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 @@ -2265,13 +2280,13 @@ dispatch.case.365: ; preds = %match.arm.49 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.333 -dispatch.merge.472: ; preds = %dispatch.case.477, %dispatch.case.476, %dispatch.case.475, %dispatch.case.474, %dispatch.default.473 +dispatch.merge.472: ; preds = %dispatch.case.478, %dispatch.case.477, %dispatch.case.476, %dispatch.case.475, %dispatch.case.474, %dispatch.default.473 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.473: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.258, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.261, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.472 dispatch.case.474: ; preds = %match.arm.50 @@ -2292,17 +2307,24 @@ dispatch.case.475: ; preds = %match.arm.50 dispatch.case.476: ; preds = %match.arm.50 %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr322 = inttoptr i64 %ua.raw321 to ptr - %ua.load323 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr322, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load323) + %iNp322 = inttoptr i64 %ua.raw321 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp322) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.472 dispatch.case.477: ; preds = %match.arm.50 - %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr326 = inttoptr i64 %ua.raw325 to ptr - %ua.load327 = load { [64 x i8], i1 }, ptr %ua.ptr326, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load327) + %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr325 = inttoptr i64 %ua.raw324 to ptr + %ua.load326 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr325, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load326) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.472 + +dispatch.case.478: ; preds = %match.arm.50 + %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr329 = inttoptr i64 %ua.raw328 to ptr + %ua.load330 = load { [64 x i8], i1 }, ptr %ua.ptr329, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load330) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.472 } @@ -2313,7 +2335,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.259, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.262, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2409,7 +2431,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.260, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.263, 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 @@ -2417,7 +2439,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.261, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.264, 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 @@ -2427,13 +2449,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.262, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.265, 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.263, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.266, 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 @@ -2441,7 +2463,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.264, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.267, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2455,7 +2477,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.265, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.268, 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 @@ -2463,7 +2485,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.266, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.269, 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 @@ -2474,7 +2496,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.267, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.270, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2531,7 +2553,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.268, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.271, 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 @@ -2539,7 +2561,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.269, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.272, 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 @@ -2550,7 +2572,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.270, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.273, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2570,7 +2592,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.271, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.274, 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 @@ -2578,7 +2600,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.272, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.275, 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 @@ -2589,7 +2611,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.273, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.276, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -2810,9 +2832,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3337,13 +3356,13 @@ 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.274, i64 2 }) + %callN = call { ptr, i64 } @show__pack_string(ptr @__sx_default_context, { ptr, i64 } { ptr @str.277, 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.275, i64 5 }) + %callN = call { ptr, i64 } @describe__pack_string(ptr @__sx_default_context, { ptr, i64 } { ptr @str.278, 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) @@ -3382,14 +3401,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.276, i64 3 } + ret { ptr, i64 } { ptr @str.279, 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.277, i64 3 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.280, 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 @@ -3407,7 +3426,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.278, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.281, 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 @@ -3432,7 +3451,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.279, i64 3 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.282, i64 3 }) ret { ptr, i64 } %call } @@ -3455,7 +3474,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.280, i64 6 } + ret { ptr, i64 } { ptr @str.283, i64 6 } } ; Function Attrs: nounwind @@ -3475,7 +3494,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.281, i64 3 } + ret { ptr, i64 } { ptr @str.284, i64 3 } } ; Function Attrs: nounwind @@ -3494,7 +3513,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.282, i64 7 } + ret { ptr, i64 } { ptr @str.285, i64 7 } } ; Function Attrs: nounwind @@ -3516,7 +3535,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.283, i64 10 } + ret { ptr, i64 } { ptr @str.286, i64 10 } } ; Function Attrs: nounwind @@ -3536,7 +3555,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.284, i64 8 } + ret { ptr, i64 } { ptr @str.287, i64 8 } } ; Function Attrs: nounwind @@ -3556,7 +3575,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.285, i64 9 } + ret { ptr, i64 } { ptr @str.288, i64 9 } } ; Function Attrs: nounwind @@ -3566,7 +3585,7 @@ 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.286, i64 15 }, { ptr, i64 } { ptr @str.287, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.289, i64 15 }, { ptr, i64 } { ptr @str.290, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3585,12 +3604,12 @@ while.body.122: ; preds = %while.hdr.121 while.exit.123: ; preds = %while.hdr.121 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.288, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.291, i64 1 }) ret { ptr, i64 } %callN if.then.124: ; preds = %while.body.122 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.289, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.292, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.125 @@ -3602,7 +3621,7 @@ if.merge.125: ; preds = %if.then.124, %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.293, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.296, 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 @@ -3659,7 +3678,7 @@ 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.294, i64 9 }, { ptr, i64 } { ptr @str.295, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.297, i64 9 }, { ptr, i64 } { ptr @str.298, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3678,24 +3697,24 @@ while.body.127: ; preds = %while.hdr.126 while.exit.128: ; preds = %while.hdr.126 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.296, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.299, i64 1 }) ret { ptr, i64 } %callN if.then.129: ; preds = %while.body.127 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.297, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.300, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.130 if.merge.130: ; preds = %if.then.129, %while.body.127 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.301, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.304, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.305, 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 @@ -3722,19 +3741,19 @@ fv.default: ; preds = %if.merge.130 fv.case: ; preds = %if.merge.130 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.130 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge fv.case21: ; preds = %if.merge.130 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -3744,7 +3763,7 @@ 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.303, i64 7 }, { ptr, i64 } { ptr @str.304, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.306, i64 7 }, { ptr, i64 } { ptr @str.307, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3763,24 +3782,24 @@ while.body.132: ; preds = %while.hdr.131 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.305, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.308, i64 1 }) ret { ptr, i64 } %callN 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.306, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.309, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.135 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 [2 x { ptr, i64 }], ptr @field_names.309, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.312, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.313, 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 @@ -3807,13 +3826,13 @@ fv.case: ; preds = %if.merge.135 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.135 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 - %fv.val19 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -3822,7 +3841,7 @@ 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.311, i64 10 }, { ptr, i64 } { ptr @str.312, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.314, i64 10 }, { ptr, i64 } { ptr @str.315, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3841,24 +3860,24 @@ while.body.137: ; preds = %while.hdr.136 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.313, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.316, i64 1 }) ret { ptr, i64 } %callN 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.314, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.317, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.140 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 [0 x { ptr, i64 }], ptr @field_names.315, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.318, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.319, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -3877,7 +3896,7 @@ 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.317, i64 3 }, { ptr, i64 } { ptr @str.318, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.320, i64 3 }, { ptr, i64 } { ptr @str.321, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3896,24 +3915,24 @@ while.body.142: ; preds = %while.hdr.141 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.319, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, i64 1 }) ret { ptr, i64 } %callN 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.320, 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 br label %if.merge.145 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 [1 x { ptr, i64 }], ptr @field_names.322, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.325, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.326, 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 @@ -3946,7 +3965,7 @@ 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.324, i64 10 }, { ptr, i64 } { ptr @str.325, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.327, i64 10 }, { ptr, i64 } { ptr @str.328, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3965,24 +3984,24 @@ while.body.147: ; preds = %while.hdr.146 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.326, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, i64 1 }) ret { ptr, i64 } %callN 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.327, 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 br label %if.merge.150 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.330, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.333, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.334, 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 @@ -4008,7 +4027,7 @@ fv.default: ; preds = %if.merge.150 fv.case: ; preds = %if.merge.150 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.150 @@ -4023,7 +4042,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.332, i64 5 }, { ptr, i64 } { ptr @str.333, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.335, i64 5 }, { ptr, i64 } { ptr @str.336, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4042,24 +4061,24 @@ while.body.152: ; preds = %while.hdr.151 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.334, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.337, i64 1 }) ret { ptr, i64 } %callN 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.335, 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 br label %if.merge.155 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 [3 x { ptr, i64 }], ptr @field_names.339, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.342, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.343, 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 @@ -4086,7 +4105,7 @@ fv.default: ; preds = %if.merge.155 fv.case: ; preds = %if.merge.155 %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.155 @@ -4098,7 +4117,7 @@ fv.case20: ; preds = %if.merge.155 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -4107,7 +4126,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.341, i64 8 }, { ptr, i64 } { ptr @str.342, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.344, i64 8 }, { 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 @@ -4126,24 +4145,24 @@ while.body.157: ; preds = %while.hdr.156 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.343, 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.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.344, 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.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.348, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.351, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.352, 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 @@ -4170,7 +4189,7 @@ fv.default: ; preds = %if.merge.160 fv.case: ; preds = %if.merge.160 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.160 @@ -4190,7 +4209,7 @@ 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.350, i64 17 }, { ptr, i64 } { ptr @str.351, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.353, i64 17 }, { 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 @@ -4209,24 +4228,24 @@ 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.352, 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.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.356, 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 [4 x { ptr, i64 }], ptr @field_names.358, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.359, 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 }, i64, i64, i64 }, ptr %alloca, align 8 @@ -4255,7 +4274,7 @@ fv.case: ; preds = %if.merge.165 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.165 @@ -4279,7 +4298,7 @@ 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.360, i64 4 }, { ptr, i64 } { ptr @str.361, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.363, i64 4 }, { 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 @@ -4298,24 +4317,24 @@ 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.362, 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.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.363, 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.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 [1 x { ptr, i64 }], ptr @field_names.365, 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.366, 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 { i32 }, ptr %alloca, align 4 @@ -4352,7 +4371,7 @@ 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.367, i64 10 }, { ptr, i64 } { ptr @str.368, 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 @@ -4371,24 +4390,24 @@ 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.369, 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.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.370, 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.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 [5 x { ptr, i64 }], ptr @field_names.376, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.377, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -4454,7 +4473,7 @@ 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.378, i64 13 }, { ptr, i64 } { ptr @str.379, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.381, i64 13 }, { ptr, i64 } { ptr @str.382, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4473,24 +4492,24 @@ while.body.177: ; preds = %while.hdr.176 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.380, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.383, 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.381, 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 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 [2 x { ptr, i64 }], ptr @field_names.384, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.385, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4532,7 +4551,7 @@ 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.386, i64 8 }, { ptr, i64 } { ptr @str.387, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.389, i64 8 }, { ptr, i64 } { ptr @str.390, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4551,24 +4570,24 @@ while.body.182: ; preds = %while.hdr.181 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.391, i64 1 }) ret { ptr, i64 } %callN 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.392, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.185 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.395, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.396, 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 { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -4629,7 +4648,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.397, i64 5 }, { ptr, i64 } { ptr @str.398, 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 @@ -4648,24 +4667,24 @@ while.body.187: ; preds = %while.hdr.186 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.399, 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.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.400, 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.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.404, 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.405, 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 @@ -4692,7 +4711,7 @@ fv.default: ; preds = %if.merge.190 fv.case: ; preds = %if.merge.190 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.190 @@ -4711,7 +4730,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.406, i64 6 }, { ptr, i64 } { ptr @str.407, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.409, i64 6 }, { 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 @@ -4730,24 +4749,24 @@ 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.408, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.411, 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.409, 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 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.413, i64 0, i64 %loadN + %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.414, 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, i64, i64 }, ptr %alloca, align 8 @@ -4774,7 +4793,7 @@ fv.default: ; preds = %if.merge.195 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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.195 @@ -4795,7 +4814,7 @@ entry: %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.415, i64 6 }, { ptr, i64 } { ptr @str.416, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.418, i64 6 }, { 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 @@ -4814,24 +4833,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.417, 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.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.418, 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.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 [2 x { ptr, i64 }], ptr @field_names.421, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.422, 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, i64 }, { i64, [24 x i8] } }, ptr %alloca, align 8 @@ -4865,7 +4884,7 @@ fv.case17: ; preds = %if.merge.200 %fv.field18 = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 1 store { i64, [24 x i8] } %fv.field18, ptr %ba.tmp19, align 8 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -4875,7 +4894,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.423, i64 4 }, { ptr, i64 } { ptr @str.424, 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 @@ -4894,24 +4913,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.425, 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.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.426, 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.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.430, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.431, 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 { { ptr, i64 }, i64, ptr }, ptr %alloca, align 8 @@ -4939,7 +4958,7 @@ fv.case: ; preds = %if.merge.205 %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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.205 @@ -4950,7 +4969,7 @@ fv.case17: ; preds = %if.merge.205 fv.case20: ; preds = %if.merge.205 %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -4961,7 +4980,7 @@ entry: %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.432, i64 6 }, { ptr, i64 } { ptr @str.433, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.435, i64 6 }, { 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 @@ -4980,24 +4999,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.434, 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.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.435, 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.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.439, i64 0, i64 %loadN + %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.440, 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 }, i64, { ptr, ptr, ptr } }, ptr %alloca, align 8 @@ -5037,7 +5056,7 @@ fv.case20: ; preds = %if.merge.210 %fv.field21 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 2 store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8 %ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -5046,7 +5065,7 @@ 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.441, i64 12 }, { ptr, i64 } { ptr @str.442, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.444, i64 12 }, { 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 @@ -5065,24 +5084,24 @@ 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.443, 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.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.444, 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.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 [0 x { ptr, i64 }], ptr @field_names.445, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.446, 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 {}, ptr %alloca, align 1 @@ -5102,7 +5121,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.447, i64 8 }, { ptr, i64 } { ptr @str.448, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.450, i64 8 }, { 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 @@ -5121,24 +5140,24 @@ 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.449, 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.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.450, 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.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.454, 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.455, 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 }, i1, i1 }, ptr %alloca, align 8 @@ -5190,7 +5209,7 @@ entry: %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.456, i64 7 }, { ptr, i64 } { ptr @str.457, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.459, i64 7 }, { 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 @@ -5209,24 +5228,24 @@ 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.458, 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.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.459, 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.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.463, 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.464, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5268,7 +5287,7 @@ fv.case22: ; preds = %if.merge.225 %fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2 store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8 %ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5278,7 +5297,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.465, i64 9 }, { ptr, i64 } { ptr @str.466, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.468, i64 9 }, { 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 @@ -5297,24 +5316,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.467, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.470, 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.468, 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 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 [2 x { ptr, i64 }], ptr @field_names.471, i64 0, i64 %loadN + %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.472, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -5357,7 +5376,7 @@ 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.473, i64 4 }, { ptr, i64 } { ptr @str.474, 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 @@ -5376,24 +5395,24 @@ 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.475, 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.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.476, 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.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.479, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.480, 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 { i64, { ptr, i64 } }, ptr %alloca, align 8 @@ -5439,7 +5458,7 @@ 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.481, i64 6 }, { ptr, i64 } { ptr @str.482, i64 1 }) + %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 @@ -5458,24 +5477,24 @@ 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.483, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.486, 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.484, i64 2 }) + %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.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 [7 x { ptr, i64 }], ptr @field_names.492, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.495, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.496, 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 @@ -5532,21 +5551,21 @@ fv.case28: ; preds = %if.merge.240 %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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge fv.case33: ; preds = %if.merge.240 %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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge fv.case38: ; preds = %if.merge.240 %fv.field39 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 6 store [16 x { i1, { ptr, i64 } }] %fv.field39, ptr %ba.tmp40, align 8 %ba.p2i41 = ptrtoint ptr %ba.tmp40 to i64 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -5557,7 +5576,7 @@ 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.494, i64 6 }, { ptr, i64 } { ptr @str.495, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.497, i64 6 }, { 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 @@ -5576,24 +5595,24 @@ 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.496, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.499, 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.497, i64 2 }) + %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.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 [4 x { ptr, i64 }], ptr @field_names.502, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.503, 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 { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -5622,14 +5641,14 @@ fv.case: ; preds = %if.merge.245 %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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.245 %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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.245 @@ -5652,9 +5671,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.509, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.512, 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.504, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.507, 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 @@ -5673,8 +5692,8 @@ entry: if.then.253: ; 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.511, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.510, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.513, 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.254 @@ -5693,9 +5712,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.516, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.519, 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.512, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.515, 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 @@ -5714,8 +5733,8 @@ entry: if.then.255: ; 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.518, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.517, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.520, 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.256 @@ -5745,9 +5764,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.526, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.529, 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.519, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.522, 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 @@ -5764,8 +5783,8 @@ entry: if.then.257: ; 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.528, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.527, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.530, 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.258 @@ -5821,7 +5840,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -5830,7 +5849,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -5843,9 +5862,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.537, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.540, 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.529, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.532, 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 @@ -5864,8 +5883,8 @@ entry: if.then.259: ; 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.539, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.538, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.541, 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.260 @@ -5884,9 +5903,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.546, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.549, 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.540, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.543, 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 @@ -5905,8 +5924,8 @@ entry: if.then.261: ; 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.548, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.547, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.550, 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.262 @@ -5923,7 +5942,7 @@ 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.549, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.552, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.271 @@ -5940,12 +5959,12 @@ while.body.272: ; preds = %while.hdr.271 while.exit.273: ; preds = %while.hdr.271 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.550, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 1 }) ret { ptr, i64 } %call 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.551, 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.275 @@ -5974,7 +5993,7 @@ 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.552, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.555, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.276 @@ -5991,12 +6010,12 @@ while.body.277: ; preds = %while.hdr.276 while.exit.278: ; preds = %while.hdr.276 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, i64 1 }) ret { ptr, i64 } %call 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.554, 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.280 @@ -6009,7 +6028,7 @@ if.merge.280: ; preds = %if.then.279, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -6026,7 +6045,7 @@ 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.555, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.558, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.281 @@ -6043,12 +6062,12 @@ while.body.282: ; preds = %while.hdr.281 while.exit.283: ; preds = %while.hdr.281 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.559, i64 1 }) ret { ptr, i64 } %call 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.557, 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.285 @@ -6076,7 +6095,7 @@ 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.558, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.561, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.286 @@ -6093,12 +6112,12 @@ while.body.287: ; preds = %while.hdr.286 while.exit.288: ; preds = %while.hdr.286 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.559, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.562, i64 1 }) ret { ptr, i64 } %call 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.560, 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.290 @@ -6127,7 +6146,7 @@ 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.561, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.564, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.291 @@ -6144,12 +6163,12 @@ while.body.292: ; preds = %while.hdr.291 while.exit.293: ; preds = %while.hdr.291 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.562, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.565, i64 1 }) ret { ptr, i64 } %call 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.563, i64 2 }) + %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.295 @@ -6178,7 +6197,7 @@ 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.564, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.567, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.296 @@ -6195,12 +6214,12 @@ while.body.297: ; preds = %while.hdr.296 while.exit.298: ; preds = %while.hdr.296 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.565, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.568, i64 1 }) ret { ptr, i64 } %call 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.566, 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 br label %if.merge.300 @@ -6230,7 +6249,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.567, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.570, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.308 @@ -6249,12 +6268,12 @@ while.body.309: ; preds = %while.hdr.308 while.exit.310: ; preds = %while.hdr.308 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.568, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.571, i64 1 }) ret { ptr, i64 } %call 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.569, 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.312 @@ -6283,7 +6302,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.570, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.573, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.313 @@ -6302,12 +6321,12 @@ while.body.314: ; preds = %while.hdr.313 while.exit.315: ; preds = %while.hdr.313 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.571, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 1 }) ret { ptr, i64 } %call 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.572, 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.317 @@ -6336,7 +6355,7 @@ 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.573, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.576, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.318 @@ -6355,12 +6374,12 @@ while.body.319: ; preds = %while.hdr.318 while.exit.320: ; preds = %while.hdr.318 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.577, i64 1 }) ret { ptr, i64 } %call 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.575, i64 2 }) + %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.322 @@ -6373,7 +6392,7 @@ if.merge.322: ; preds = %if.then.321, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -6390,7 +6409,7 @@ 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.576, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.579, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.323 @@ -6409,12 +6428,12 @@ while.body.324: ; preds = %while.hdr.323 while.exit.325: ; preds = %while.hdr.323 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.577, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.580, i64 1 }) ret { ptr, i64 } %call 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.578, 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.327 @@ -6427,7 +6446,7 @@ if.merge.327: ; preds = %if.then.326, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -6444,7 +6463,7 @@ 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.579, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.582, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.328 @@ -6463,12 +6482,12 @@ while.body.329: ; preds = %while.hdr.328 while.exit.330: ; preds = %while.hdr.328 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.580, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.583, i64 1 }) ret { ptr, i64 } %call 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.581, i64 2 }) + %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.332 @@ -6510,12 +6529,12 @@ if.then.366: ; preds = %entry if.else.367: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.584, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.583, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.587, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.586, i64 5 }, { ptr, i64 } %callN) br label %if.merge.368 if.merge.368: ; preds = %if.else.367, %if.then.366 - %bp = phi { ptr, i64 } [ { ptr @str.582, i64 4 }, %if.then.366 ], [ %callN, %if.else.367 ] + %bp = phi { ptr, i64 } [ { ptr @str.585, i64 4 }, %if.then.366 ], [ %callN, %if.else.367 ] ret { ptr, i64 } %bp } @@ -6538,12 +6557,12 @@ if.then.382: ; preds = %entry if.else.383: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.587, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.586, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.590, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.589, i64 11 }, { ptr, i64 } %callN) br label %if.merge.384 if.merge.384: ; preds = %if.else.383, %if.then.382 - %bp = phi { ptr, i64 } [ { ptr @str.585, i64 4 }, %if.then.382 ], [ %callN, %if.else.383 ] + %bp = phi { ptr, i64 } [ { ptr @str.588, i64 4 }, %if.then.382 ], [ %callN, %if.else.383 ] ret { ptr, i64 } %bp } @@ -6566,12 +6585,12 @@ if.then.385: ; preds = %entry if.else.386: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.590, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.589, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.593, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 4 }, { ptr, i64 } %callN) br label %if.merge.387 if.merge.387: ; preds = %if.else.386, %if.then.385 - %bp = phi { ptr, i64 } [ { ptr @str.588, i64 4 }, %if.then.385 ], [ %callN, %if.else.386 ] + %bp = phi { ptr, i64 } [ { ptr @str.591, i64 4 }, %if.then.385 ], [ %callN, %if.else.386 ] ret { ptr, i64 } %bp } @@ -6594,12 +6613,12 @@ if.then.388: ; preds = %entry if.else.389: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.593, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.596, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.595, i64 11 }, { ptr, i64 } %callN) br label %if.merge.390 if.merge.390: ; preds = %if.else.389, %if.then.388 - %bp = phi { ptr, i64 } [ { ptr @str.591, i64 4 }, %if.then.388 ], [ %callN, %if.else.389 ] + %bp = phi { ptr, i64 } [ { ptr @str.594, i64 4 }, %if.then.388 ], [ %callN, %if.else.389 ] ret { ptr, i64 } %bp } @@ -6622,12 +6641,12 @@ if.then.391: ; preds = %entry if.else.392: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.596, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.595, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 6 }, { ptr, i64 } %callN) br label %if.merge.393 if.merge.393: ; preds = %if.else.392, %if.then.391 - %bp = phi { ptr, i64 } [ { ptr @str.594, i64 4 }, %if.then.391 ], [ %callN, %if.else.392 ] + %bp = phi { ptr, i64 } [ { ptr @str.597, i64 4 }, %if.then.391 ], [ %callN, %if.else.392 ] ret { ptr, i64 } %bp } @@ -6649,12 +6668,12 @@ if.then.394: ; preds = %entry if.else.395: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.602, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 5 }, { ptr, i64 } %callN) br label %if.merge.396 if.merge.396: ; preds = %if.else.395, %if.then.394 - %bp = phi { ptr, i64 } [ { ptr @str.597, i64 4 }, %if.then.394 ], [ %callN, %if.else.395 ] + %bp = phi { ptr, i64 } [ { ptr @str.600, i64 4 }, %if.then.394 ], [ %callN, %if.else.395 ] ret { ptr, i64 } %bp } @@ -6677,12 +6696,12 @@ if.then.397: ; preds = %entry if.else.398: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.602, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, i64 9 }, { ptr, i64 } %callN) br label %if.merge.399 if.merge.399: ; preds = %if.else.398, %if.then.397 - %bp = phi { ptr, i64 } [ { ptr @str.600, i64 4 }, %if.then.397 ], [ %callN, %if.else.398 ] + %bp = phi { ptr, i64 } [ { ptr @str.603, i64 4 }, %if.then.397 ], [ %callN, %if.else.398 ] ret { ptr, i64 } %bp } @@ -6705,12 +6724,12 @@ if.then.400: ; preds = %entry if.else.401: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.608, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.607, i64 18 }, { ptr, i64 } %callN) br label %if.merge.402 if.merge.402: ; preds = %if.else.401, %if.then.400 - %bp = phi { ptr, i64 } [ { ptr @str.603, i64 4 }, %if.then.400 ], [ %callN, %if.else.401 ] + %bp = phi { ptr, i64 } [ { ptr @str.606, i64 4 }, %if.then.400 ], [ %callN, %if.else.401 ] ret { ptr, i64 } %bp } @@ -6733,17 +6752,17 @@ if.then.403: ; preds = %entry if.else.404: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.608, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.607, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.611, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.610, i64 5 }, { ptr, i64 } %callN) br label %if.merge.405 if.merge.405: ; preds = %if.else.404, %if.then.403 - %bp = phi { ptr, i64 } [ { ptr @str.606, i64 4 }, %if.then.403 ], [ %callN, %if.else.404 ] + %bp = phi { ptr, i64 } [ { ptr @str.609, i64 4 }, %if.then.403 ], [ %callN, %if.else.404 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6761,17 +6780,17 @@ if.then.406: ; preds = %entry 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.611, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.610, i64 3 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.614, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 4 }, { ptr, i64 } %callN) br label %if.merge.408 if.merge.408: ; preds = %if.else.407, %if.then.406 - %bp = phi { ptr, i64 } [ { ptr @str.609, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] + %bp = phi { ptr, i64 } [ { ptr @str.612, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6789,17 +6808,17 @@ if.then.409: ; preds = %entry if.else.410: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.614, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.617, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.616, i64 9 }, { ptr, i64 } %callN) br label %if.merge.411 if.merge.411: ; preds = %if.else.410, %if.then.409 - %bp = phi { ptr, i64 } [ { ptr @str.612, i64 4 }, %if.then.409 ], [ %callN, %if.else.410 ] + %bp = phi { ptr, i64 } [ { ptr @str.615, i64 4 }, %if.then.409 ], [ %callN, %if.else.410 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6817,40 +6836,12 @@ if.then.412: ; preds = %entry 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.617, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.616, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.620, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, i64 4 }, { ptr, i64 } %callN) br label %if.merge.414 if.merge.414: ; preds = %if.else.413, %if.then.412 - %bp = phi { ptr, i64 } [ { ptr @str.615, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.415, label %if.else.416 - -if.then.415: ; preds = %entry - br label %if.merge.417 - -if.else.416: ; preds = %entry - %loadN = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.620, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.417 - -if.merge.417: ; preds = %if.else.416, %if.then.415 - %bp = phi { ptr, i64 } [ { ptr @str.618, i64 4 }, %if.then.415 ], [ %callN, %if.else.416 ] + %bp = phi { ptr, i64 } [ { ptr @str.618, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] ret { ptr, i64 } %bp } @@ -6864,20 +6855,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.418, label %if.else.419 + br i1 %icmp, label %if.then.415, label %if.else.416 -if.then.418: ; preds = %entry - br label %if.merge.420 +if.then.415: ; preds = %entry + br label %if.merge.417 -if.else.419: ; preds = %entry +if.else.416: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.623, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.622, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.420 + br label %if.merge.417 -if.merge.420: ; preds = %if.else.419, %if.then.418 - %bp = phi { ptr, i64 } [ { ptr @str.621, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] +if.merge.417: ; preds = %if.else.416, %if.then.415 + %bp = phi { ptr, i64 } [ { ptr @str.621, i64 4 }, %if.then.415 ], [ %callN, %if.else.416 ] ret { ptr, i64 } %bp } @@ -6892,20 +6883,20 @@ entry: store i64 %pti, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.421, label %if.else.422 + br i1 %icmp, label %if.then.418, label %if.else.419 -if.then.421: ; preds = %entry - br label %if.merge.423 +if.then.418: ; preds = %entry + br label %if.merge.420 -if.else.422: ; preds = %entry +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.626, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.625, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.423 + br label %if.merge.420 -if.merge.423: ; preds = %if.else.422, %if.then.421 - %bp = phi { ptr, i64 } [ { ptr @str.624, i64 4 }, %if.then.421 ], [ %callN, %if.else.422 ] +if.merge.420: ; preds = %if.else.419, %if.then.418 + %bp = phi { ptr, i64 } [ { ptr @str.624, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] ret { ptr, i64 } %bp } @@ -6919,6 +6910,34 @@ 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.421, label %if.else.422 + +if.then.421: ; preds = %entry + br label %if.merge.423 + +if.else.422: ; preds = %entry + %loadN = load i64, ptr %allocaN, align 8 + %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.629, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.423 + +if.merge.423: ; preds = %if.else.422, %if.then.421 + %bp = phi { ptr, i64 } [ { ptr @str.627, i64 4 }, %if.then.421 ], [ %callN, %if.else.422 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.424, label %if.else.425 if.then.424: ; preds = %entry @@ -6927,17 +6946,17 @@ if.then.424: ; preds = %entry if.else.425: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.629, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.632, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.631, i64 7 }, { ptr, i64 } %callN) br label %if.merge.426 if.merge.426: ; preds = %if.else.425, %if.then.424 - %bp = phi { ptr, i64 } [ { ptr @str.627, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] + %bp = phi { ptr, i64 } [ { ptr @str.630, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6955,17 +6974,17 @@ if.then.427: ; preds = %entry 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.632, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.631, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.635, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.634, i64 5 }, { ptr, i64 } %callN) br label %if.merge.429 if.merge.429: ; preds = %if.else.428, %if.then.427 - %bp = phi { ptr, i64 } [ { ptr @str.630, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] + %bp = phi { ptr, i64 } [ { ptr @str.633, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6983,17 +7002,17 @@ if.then.430: ; preds = %entry 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.635, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.634, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.638, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.637, i64 7 }, { ptr, i64 } %callN) br label %if.merge.432 if.merge.432: ; preds = %if.else.431, %if.then.430 - %bp = phi { ptr, i64 } [ { ptr @str.633, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] + %bp = phi { ptr, i64 } [ { ptr @str.636, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7011,17 +7030,17 @@ if.then.433: ; preds = %entry 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.638, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.637, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.641, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, 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.636, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] + %bp = phi { ptr, i64 } [ { ptr @str.639, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7039,17 +7058,17 @@ if.then.436: ; preds = %entry 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.641, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.644, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.643, i64 7 }, { ptr, i64 } %callN) br label %if.merge.438 if.merge.438: ; preds = %if.else.437, %if.then.436 - %bp = phi { ptr, i64 } [ { ptr @str.639, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] + %bp = phi { ptr, i64 } [ { ptr @str.642, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7067,17 +7086,17 @@ if.then.439: ; preds = %entry 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.644, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.643, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.647, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.646, 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.642, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] + %bp = phi { ptr, i64 } [ { ptr @str.645, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7095,17 +7114,17 @@ if.then.442: ; preds = %entry 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.647, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.646, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 7 }, { ptr, i64 } %callN) br label %if.merge.444 if.merge.444: ; preds = %if.else.443, %if.then.442 - %bp = phi { ptr, i64 } [ { ptr @str.645, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] + %bp = phi { ptr, i64 } [ { ptr @str.648, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7123,17 +7142,17 @@ 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.650, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.653, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 12 }, { ptr, i64 } %callN) br label %if.merge.447 if.merge.447: ; preds = %if.else.446, %if.then.445 - %bp = phi { ptr, i64 } [ { ptr @str.648, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] + %bp = phi { ptr, i64 } [ { ptr @str.651, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7151,17 +7170,17 @@ 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.653, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 12 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.656, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 6 }, { ptr, i64 } %callN) br label %if.merge.450 if.merge.450: ; preds = %if.else.449, %if.then.448 - %bp = phi { ptr, i64 } [ { ptr @str.651, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] + %bp = phi { ptr, i64 } [ { ptr @str.654, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7179,17 +7198,17 @@ if.then.451: ; preds = %entry 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.656, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.658, i64 4 }, { ptr, i64 } %callN) br label %if.merge.453 if.merge.453: ; preds = %if.else.452, %if.then.451 - %bp = phi { ptr, i64 } [ { ptr @str.654, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] + %bp = phi { ptr, i64 } [ { ptr @str.657, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7207,17 +7226,17 @@ if.then.454: ; preds = %entry 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.659, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.658, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.456 if.merge.456: ; preds = %if.else.455, %if.then.454 - %bp = phi { ptr, i64 } [ { ptr @str.657, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] + %bp = phi { ptr, i64 } [ { ptr @str.660, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7235,17 +7254,17 @@ if.then.457: ; preds = %entry 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.662, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.661, i64 7 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.459 if.merge.459: ; preds = %if.else.458, %if.then.457 - %bp = phi { ptr, i64 } [ { ptr @str.660, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] + %bp = phi { ptr, i64 } [ { ptr @str.663, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7263,17 +7282,17 @@ 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.665, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.664, i64 6 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.462 if.merge.462: ; preds = %if.else.461, %if.then.460 - %bp = phi { ptr, i64 } [ { ptr @str.663, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] + %bp = phi { ptr, i64 } [ { ptr @str.666, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7291,12 +7310,12 @@ if.then.463: ; preds = %entry 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.668, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.667, i64 7 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.465 if.merge.465: ; preds = %if.else.464, %if.then.463 - %bp = phi { ptr, i64 } [ { ptr @str.666, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] + %bp = phi { ptr, i64 } [ { ptr @str.669, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] ret { ptr, i64 } %bp } @@ -7319,12 +7338,12 @@ if.then.466: ; preds = %entry 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.671, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.670, i64 5 }, { ptr, i64 } %callN) + %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 5 }, { ptr, i64 } %callN) br label %if.merge.468 if.merge.468: ; preds = %if.else.467, %if.then.466 - %bp = phi { ptr, i64 } [ { ptr @str.669, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] + %bp = phi { ptr, i64 } [ { ptr @str.672, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] ret { ptr, i64 } %bp } @@ -7347,12 +7366,12 @@ if.then.469: ; preds = %entry 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.674, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.673, i64 4 }, { ptr, i64 } %callN) + %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 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.672, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] + %bp = phi { ptr, i64 } [ { ptr @str.675, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] ret { ptr, i64 } %bp } @@ -7365,17 +7384,17 @@ 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.478, label %if.merge.479 + br i1 %lnot, label %if.then.479, label %if.merge.480 -if.then.478: ; preds = %entry - ret { ptr, i64 } { ptr @str.675, i64 4 } +if.then.479: ; preds = %entry + ret { ptr, i64 } { ptr @str.678, i64 4 } -if.merge.479: ; preds = %entry +if.merge.480: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7389,12 +7408,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.480, label %if.merge.481 + br i1 %lnot, label %if.then.481, label %if.merge.482 -if.then.480: ; preds = %entry - ret { ptr, i64 } { ptr @str.676, i64 4 } +if.then.481: ; preds = %entry + ret { ptr, i64 } { ptr @str.679, i64 4 } -if.merge.481: ; preds = %entry +if.merge.482: ; 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 @@ -7404,6 +7423,27 @@ if.merge.481: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.483, label %if.merge.484 + +if.then.483: ; preds = %entry + ret { ptr, i64 } { ptr @str.680, i64 4 } + +if.merge.484: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -7413,17 +7453,17 @@ 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.482, label %if.merge.483 + br i1 %lnot, label %if.then.485, label %if.merge.486 -if.then.482: ; preds = %entry - ret { ptr, i64 } { ptr @str.677, i64 4 } +if.then.485: ; preds = %entry + ret { ptr, i64 } { ptr @str.681, i64 4 } -if.merge.483: ; preds = %entry +if.merge.486: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7437,17 +7477,17 @@ 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.484, label %if.merge.485 + br i1 %lnot, label %if.then.487, label %if.merge.488 -if.then.484: ; preds = %entry - ret { ptr, i64 } { ptr @str.678, i64 4 } +if.then.487: ; preds = %entry + ret { ptr, i64 } { ptr @str.682, i64 4 } -if.merge.485: ; preds = %entry +if.merge.488: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } diff --git a/examples/expected/0528-packs-protocol-pack-methods.ir b/examples/expected/0528-packs-protocol-pack-methods.ir index e0f8327..db3f82b 100644 --- a/examples/expected/0528-packs-protocol-pack-methods.ir +++ b/examples/expected/0528-packs-protocol-pack-methods.ir @@ -7,7 +7,7 @@ @str.78 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.79 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.80 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [176 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] +@__sx_type_is_unsigned = private constant [179 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.81 = private constant [9 x i8] c"Overflow\00" @tag.str.82 = private constant [3 x i8] c"Io\00" @@ -41,492 +41,492 @@ @tn.str.108 = private constant [6 x i8] c"isize\00" @tn.str.109 = private constant [6 x i8] c"usize\00" @tn.str.110 = private constant [5 x i8] c"void\00" -@tn.str.111 = private constant [6 x i8] c"*void\00" -@tn.str.112 = private constant [16 x i8] c"Source_Location\00" -@tn.str.113 = private constant [10 x i8] c"Allocator\00" -@tn.str.114 = private constant [8 x i8] c"Context\00" -@tn.str.115 = private constant [7 x i8] c"[4]i64\00" -@tn.str.116 = private constant [9 x i8] c"[]string\00" -@tn.str.117 = private constant [11 x i8] c"CAllocator\00" -@tn.str.118 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.119 = private constant [4 x i8] c"GPA\00" -@tn.str.120 = private constant [5 x i8] c"*GPA\00" -@tn.str.121 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.122 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.123 = private constant [6 x i8] c"Arena\00" -@tn.str.124 = private constant [7 x i8] c"*Arena\00" -@tn.str.125 = private constant [6 x i8] c"[*]u8\00" -@tn.str.126 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.127 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.128 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.129 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.130 = private constant [9 x i8] c"OpenMode\00" -@tn.str.131 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.132 = private constant [5 x i8] c"File\00" -@tn.str.133 = private constant [6 x i8] c"*File\00" -@tn.str.134 = private constant [6 x i8] c"?File\00" -@tn.str.135 = private constant [8 x i8] c"?string\00" -@tn.str.136 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.137 = private constant [4 x i8] c"*u8\00" -@tn.str.138 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.139 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.140 = private constant [5 x i8] c"*i32\00" -@tn.str.141 = private constant [9 x i8] c"SockAddr\00" -@tn.str.142 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.143 = private constant [5 x i8] c"*u32\00" -@tn.str.144 = private constant [10 x i8] c"JsonError\00" -@tn.str.145 = private constant [6 x i8] c"Array\00" -@tn.str.146 = private constant [7 x i8] c"Object\00" -@tn.str.147 = private constant [6 x i8] c"Value\00" -@tn.str.148 = private constant [7 x i8] c"Member\00" -@tn.str.149 = private constant [9 x i8] c"[*]Value\00" -@tn.str.150 = private constant [7 x i8] c"*Array\00" -@tn.str.151 = private constant [10 x i8] c"[*]Member\00" -@tn.str.152 = private constant [8 x i8] c"*Object\00" -@tn.str.153 = private constant [5 x i8] c"[]u8\00" -@tn.str.154 = private constant [5 x i8] c"Sink\00" -@tn.str.155 = private constant [6 x i8] c"*Sink\00" -@tn.str.156 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.157 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.158 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.159 = private constant [7 x i8] c"Parser\00" -@tn.str.160 = private constant [8 x i8] c"*Parser\00" -@tn.str.161 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.162 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.163 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.164 = private constant [13 x i8] c"Architecture\00" -@tn.str.165 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.166 = private constant [11 x i8] c"() -> bool\00" -@tn.str.167 = private constant [5 x i8] c"*i64\00" -@tn.str.168 = private constant [9 x i8] c"CliError\00" -@tn.str.169 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.170 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.171 = private constant [8 x i8] c"Command\00" -@tn.str.172 = private constant [10 x i8] c"FlagValue\00" -@tn.str.173 = private constant [5 x i8] c"Diag\00" -@tn.str.174 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.175 = private constant [7 x i8] c"Parsed\00" -@tn.str.176 = private constant [8 x i8] c"*Parsed\00" -@tn.str.177 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.178 = private constant [10 x i8] c"[]Command\00" -@tn.str.179 = private constant [6 x i8] c"*Diag\00" -@tn.str.180 = private constant [7 x i8] c"[8]i64\00" -@tn.str.181 = private constant [7 x i8] c"[64]u8\00" -@tn.str.182 = private constant [7 x i8] c"Sha256\00" -@tn.str.183 = private constant [8 x i8] c"*Sha256\00" -@tn.str.184 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.185 = private constant [8 x i8] c"[64]i64\00" -@tn.str.186 = private constant [8 x i8] c"Greeter\00" -@tn.str.187 = private constant [18 x i8] c"__Greeter__Vtable\00" -@tn.str.188 = private constant [4 x i8] c"Dog\00" -@tn.str.189 = private constant [4 x i8] c"Cat\00" -@tn.str.190 = private constant [5 x i8] c"*Dog\00" -@tn.str.191 = private constant [5 x i8] c"*Cat\00" -@tn.str.192 = private constant [10 x i8] c"[]Greeter\00" -@tn.str.193 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.194 = private constant [7 x i8] c"**void\00" -@tn.str.195 = private constant [6 x i8] c"[]Any\00" -@tn.str.196 = private constant [5 x i8] c"*Any\00" -@tn.str.197 = private constant [7 x i8] c"[2]Any\00" -@tn.str.198 = private constant [8 x i8] c"*[2]Any\00" -@tn.str.199 = private constant [7 x i8] c"*[]Any\00" -@tn.str.200 = private constant [6 x i8] c"**Dog\00" -@tn.str.201 = private constant [6 x i8] c"**Cat\00" -@tn.str.202 = private constant [8 x i8] c"*string\00" -@tn.str.203 = private constant [7 x i8] c"[1]Any\00" -@tn.str.204 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.205 = private constant [6 x i8] c"*bool\00" -@tn.str.206 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.207 = private constant [5 x i8] c"*f64\00" -@tn.str.208 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.209 = private constant [11 x i8] c"*Allocator\00" -@tn.str.210 = private constant [9 x i8] c"*Context\00" -@tn.str.211 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.212 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.213 = private constant [8 x i8] c"*Member\00" -@tn.str.214 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.215 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.216 = private constant [9 x i8] c"*Command\00" -@tn.str.217 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.218 = private constant [9 x i8] c"*Greeter\00" -@tn.str.219 = private constant [19 x i8] c"*__Greeter__Vtable\00" -@tn.str.220 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.221 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.222 = private constant [7 x i8] c"*Value\00" -@tn.str.223 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.224 = private constant [14 x i8] c"*Architecture\00" -@tn.str.225 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.226 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.227 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.228 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.229 = private constant [10 x i8] c"*[]string\00" -@tn.str.230 = private constant [6 x i8] c"*[]u8\00" -@tn.str.231 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.232 = private constant [11 x i8] c"*[]Command\00" -@tn.str.233 = private constant [11 x i8] c"*[]Greeter\00" -@tn.str.234 = private constant [6 x i8] c"**GPA\00" -@tn.str.235 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.236 = private constant [8 x i8] c"**Arena\00" -@tn.str.237 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.238 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.239 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.240 = private constant [7 x i8] c"**File\00" -@tn.str.241 = private constant [5 x i8] c"**u8\00" -@tn.str.242 = private constant [6 x i8] c"**i32\00" -@tn.str.243 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.244 = private constant [6 x i8] c"**u32\00" -@tn.str.245 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.246 = private constant [8 x i8] c"**Array\00" -@tn.str.247 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.248 = private constant [9 x i8] c"**Object\00" -@tn.str.249 = private constant [7 x i8] c"**Sink\00" -@tn.str.250 = private constant [9 x i8] c"**Parser\00" -@tn.str.251 = private constant [6 x i8] c"**i64\00" -@tn.str.252 = private constant [9 x i8] c"**Parsed\00" -@tn.str.253 = private constant [7 x i8] c"**Diag\00" -@tn.str.254 = private constant [9 x i8] c"**Sha256\00" -@tn.str.255 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.256 = private constant [8 x i8] c"***void\00" -@tn.str.257 = private constant [6 x i8] c"**Any\00" -@tn.str.258 = private constant [9 x i8] c"**[2]Any\00" -@tn.str.259 = private constant [8 x i8] c"**[]Any\00" -@tn.str.260 = private constant [7 x i8] c"***Dog\00" -@tn.str.261 = private constant [7 x i8] c"***Cat\00" -@tn.str.262 = private constant [9 x i8] c"**string\00" -@tn.str.263 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.264 = private constant [7 x i8] c"**bool\00" -@tn.str.265 = private constant [7 x i8] c"*?File\00" -@tn.str.266 = private constant [9 x i8] c"*?string\00" -@tn.str.267 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.268 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [176 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 15 }, { ptr, i64 } { ptr @tn.str.113, i64 9 }, { ptr, i64 } { ptr @tn.str.114, i64 7 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 8 }, { ptr, i64 } { ptr @tn.str.117, i64 10 }, { ptr, i64 } { ptr @tn.str.118, i64 11 }, { ptr, i64 } { ptr @tn.str.119, i64 3 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 10 }, { ptr, i64 } { ptr @tn.str.122, i64 11 }, { ptr, i64 } { ptr @tn.str.123, i64 5 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 5 }, { ptr, i64 } { ptr @tn.str.126, i64 8 }, { ptr, i64 } { ptr @tn.str.127, i64 9 }, { ptr, i64 } { ptr @tn.str.128, i64 17 }, { ptr, i64 } { ptr @tn.str.129, i64 18 }, { ptr, i64 } { ptr @tn.str.130, i64 8 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 4 }, { ptr, i64 } { ptr @tn.str.133, i64 5 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 7 }, { ptr, i64 } { ptr @tn.str.136, i64 10 }, { ptr, i64 } { ptr @tn.str.137, i64 3 }, { ptr, i64 } { ptr @tn.str.138, i64 13 }, { ptr, i64 } { ptr @tn.str.139, i64 14 }, { ptr, i64 } { ptr @tn.str.140, i64 4 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 9 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 9 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 6 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 6 }, { ptr, i64 } { ptr @tn.str.149, i64 8 }, { ptr, i64 } { ptr @tn.str.150, i64 6 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 7 }, { ptr, i64 } { ptr @tn.str.153, i64 4 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 5 }, { ptr, i64 } { ptr @tn.str.156, i64 16 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 21 }, { ptr, i64 } { ptr @tn.str.159, i64 6 }, { ptr, i64 } { ptr @tn.str.160, i64 7 }, { ptr, i64 } { ptr @tn.str.161, i64 24 }, { ptr, i64 } { ptr @tn.str.162, i64 23 }, { ptr, i64 } { ptr @tn.str.163, i64 15 }, { ptr, i64 } { ptr @tn.str.164, i64 12 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 10 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 8 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 10 }, { ptr, i64 } { ptr @tn.str.171, i64 7 }, { ptr, i64 } { ptr @tn.str.172, i64 9 }, { ptr, i64 } { ptr @tn.str.173, i64 4 }, { ptr, i64 } { ptr @tn.str.174, i64 13 }, { ptr, i64 } { ptr @tn.str.175, i64 6 }, { ptr, i64 } { ptr @tn.str.176, i64 7 }, { ptr, i64 } { ptr @tn.str.177, i64 18 }, { ptr, i64 } { ptr @tn.str.178, i64 9 }, { ptr, i64 } { ptr @tn.str.179, i64 5 }, { ptr, i64 } { ptr @tn.str.180, i64 6 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 17 }, { ptr, i64 } { ptr @tn.str.188, i64 3 }, { ptr, i64 } { ptr @tn.str.189, i64 3 }, { ptr, i64 } { ptr @tn.str.190, i64 4 }, { ptr, i64 } { ptr @tn.str.191, i64 4 }, { ptr, i64 } { ptr @tn.str.192, i64 9 }, { ptr, i64 } { ptr @tn.str.193, i64 12 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 5 }, { ptr, i64 } { ptr @tn.str.196, i64 4 }, { ptr, i64 } { ptr @tn.str.197, i64 6 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 6 }, { ptr, i64 } { ptr @tn.str.200, i64 5 }, { ptr, i64 } { ptr @tn.str.201, i64 5 }, { ptr, i64 } { ptr @tn.str.202, i64 7 }, { ptr, i64 } { ptr @tn.str.203, i64 6 }, { ptr, i64 } { ptr @tn.str.204, i64 7 }, { ptr, i64 } { ptr @tn.str.205, i64 5 }, { ptr, i64 } { ptr @tn.str.206, i64 7 }, { ptr, i64 } { ptr @tn.str.207, i64 4 }, { ptr, i64 } { ptr @tn.str.208, i64 16 }, { ptr, i64 } { ptr @tn.str.209, i64 10 }, { ptr, i64 } { ptr @tn.str.210, i64 8 }, { ptr, i64 } { ptr @tn.str.211, i64 11 }, { ptr, i64 } { ptr @tn.str.212, i64 14 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 13 }, { ptr, i64 } { ptr @tn.str.215, i64 9 }, { ptr, i64 } { ptr @tn.str.216, i64 8 }, { ptr, i64 } { ptr @tn.str.217, i64 10 }, { ptr, i64 } { ptr @tn.str.218, i64 8 }, { ptr, i64 } { ptr @tn.str.219, i64 18 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 9 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 16 }, { ptr, i64 } { ptr @tn.str.224, i64 13 }, { ptr, i64 } { ptr @tn.str.225, i64 14 }, { ptr, i64 } { ptr @tn.str.226, i64 7 }, { ptr, i64 } { ptr @tn.str.227, i64 7 }, { ptr, i64 } { ptr @tn.str.228, i64 8 }, { ptr, i64 } { ptr @tn.str.229, i64 9 }, { ptr, i64 } { ptr @tn.str.230, i64 5 }, { ptr, i64 } { ptr @tn.str.231, i64 11 }, { ptr, i64 } { ptr @tn.str.232, i64 10 }, { ptr, i64 } { ptr @tn.str.233, i64 10 }, { ptr, i64 } { ptr @tn.str.234, i64 5 }, { ptr, i64 } { ptr @tn.str.235, i64 12 }, { ptr, i64 } { ptr @tn.str.236, i64 7 }, { ptr, i64 } { ptr @tn.str.237, i64 6 }, { ptr, i64 } { ptr @tn.str.238, i64 10 }, { ptr, i64 } { ptr @tn.str.239, i64 19 }, { ptr, i64 } { ptr @tn.str.240, i64 6 }, { ptr, i64 } { ptr @tn.str.241, i64 4 }, { ptr, i64 } { ptr @tn.str.242, i64 5 }, { ptr, i64 } { ptr @tn.str.243, i64 10 }, { ptr, i64 } { ptr @tn.str.244, i64 5 }, { ptr, i64 } { ptr @tn.str.245, i64 9 }, { ptr, i64 } { ptr @tn.str.246, i64 7 }, { ptr, i64 } { ptr @tn.str.247, i64 10 }, { ptr, i64 } { ptr @tn.str.248, i64 8 }, { ptr, i64 } { ptr @tn.str.249, i64 6 }, { ptr, i64 } { ptr @tn.str.250, i64 8 }, { ptr, i64 } { ptr @tn.str.251, i64 5 }, { ptr, i64 } { ptr @tn.str.252, i64 8 }, { ptr, i64 } { ptr @tn.str.253, i64 6 }, { ptr, i64 } { ptr @tn.str.254, i64 8 }, { ptr, i64 } { ptr @tn.str.255, i64 13 }, { ptr, i64 } { ptr @tn.str.256, i64 7 }, { ptr, i64 } { ptr @tn.str.257, i64 5 }, { ptr, i64 } { ptr @tn.str.258, i64 8 }, { ptr, i64 } { ptr @tn.str.259, i64 7 }, { ptr, i64 } { ptr @tn.str.260, i64 6 }, { ptr, i64 } { ptr @tn.str.261, i64 6 }, { ptr, i64 } { ptr @tn.str.262, i64 8 }, { ptr, i64 } { ptr @tn.str.263, i64 8 }, { ptr, i64 } { ptr @tn.str.264, i64 6 }, { ptr, i64 } { ptr @tn.str.265, i64 6 }, { ptr, i64 } { ptr @tn.str.266, i64 8 }, { ptr, i64 } { ptr @tn.str.267, i64 15 }, { ptr, i64 } { ptr @tn.str.268, i64 8 }] -@str.269 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.270 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.271 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@tn.str.111 = private constant [8 x i8] c"cstring\00" +@tn.str.112 = private constant [6 x i8] c"*void\00" +@tn.str.113 = private constant [16 x i8] c"Source_Location\00" +@tn.str.114 = private constant [10 x i8] c"Allocator\00" +@tn.str.115 = private constant [8 x i8] c"Context\00" +@tn.str.116 = private constant [7 x i8] c"[4]i64\00" +@tn.str.117 = private constant [9 x i8] c"[]string\00" +@tn.str.118 = private constant [11 x i8] c"CAllocator\00" +@tn.str.119 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.120 = private constant [4 x i8] c"GPA\00" +@tn.str.121 = private constant [5 x i8] c"*GPA\00" +@tn.str.122 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.123 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.124 = private constant [6 x i8] c"Arena\00" +@tn.str.125 = private constant [7 x i8] c"*Arena\00" +@tn.str.126 = private constant [6 x i8] c"[*]u8\00" +@tn.str.127 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.128 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.129 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.130 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.131 = private constant [9 x i8] c"OpenMode\00" +@tn.str.132 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.133 = private constant [5 x i8] c"File\00" +@tn.str.134 = private constant [6 x i8] c"*File\00" +@tn.str.135 = private constant [6 x i8] c"?File\00" +@tn.str.136 = private constant [8 x i8] c"?string\00" +@tn.str.137 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.138 = private constant [9 x i8] c"?cstring\00" +@tn.str.139 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.140 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.141 = private constant [5 x i8] c"*i32\00" +@tn.str.142 = private constant [9 x i8] c"SockAddr\00" +@tn.str.143 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.144 = private constant [5 x i8] c"*u32\00" +@tn.str.145 = private constant [10 x i8] c"JsonError\00" +@tn.str.146 = private constant [6 x i8] c"Array\00" +@tn.str.147 = private constant [7 x i8] c"Object\00" +@tn.str.148 = private constant [6 x i8] c"Value\00" +@tn.str.149 = private constant [7 x i8] c"Member\00" +@tn.str.150 = private constant [9 x i8] c"[*]Value\00" +@tn.str.151 = private constant [7 x i8] c"*Array\00" +@tn.str.152 = private constant [10 x i8] c"[*]Member\00" +@tn.str.153 = private constant [8 x i8] c"*Object\00" +@tn.str.154 = private constant [5 x i8] c"[]u8\00" +@tn.str.155 = private constant [5 x i8] c"Sink\00" +@tn.str.156 = private constant [6 x i8] c"*Sink\00" +@tn.str.157 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.158 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.159 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.160 = private constant [7 x i8] c"Parser\00" +@tn.str.161 = private constant [8 x i8] c"*Parser\00" +@tn.str.162 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.163 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.164 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.165 = private constant [13 x i8] c"Architecture\00" +@tn.str.166 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.167 = private constant [11 x i8] c"() -> bool\00" +@tn.str.168 = private constant [5 x i8] c"*i64\00" +@tn.str.169 = private constant [9 x i8] c"CliError\00" +@tn.str.170 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.171 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.172 = private constant [8 x i8] c"Command\00" +@tn.str.173 = private constant [10 x i8] c"FlagValue\00" +@tn.str.174 = private constant [5 x i8] c"Diag\00" +@tn.str.175 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.176 = private constant [7 x i8] c"Parsed\00" +@tn.str.177 = private constant [8 x i8] c"*Parsed\00" +@tn.str.178 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.179 = private constant [10 x i8] c"[]Command\00" +@tn.str.180 = private constant [6 x i8] c"*Diag\00" +@tn.str.181 = private constant [7 x i8] c"[8]i64\00" +@tn.str.182 = private constant [7 x i8] c"[64]u8\00" +@tn.str.183 = private constant [7 x i8] c"Sha256\00" +@tn.str.184 = private constant [8 x i8] c"*Sha256\00" +@tn.str.185 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.186 = private constant [8 x i8] c"[64]i64\00" +@tn.str.187 = private constant [8 x i8] c"Greeter\00" +@tn.str.188 = private constant [18 x i8] c"__Greeter__Vtable\00" +@tn.str.189 = private constant [4 x i8] c"Dog\00" +@tn.str.190 = private constant [4 x i8] c"Cat\00" +@tn.str.191 = private constant [5 x i8] c"*Dog\00" +@tn.str.192 = private constant [5 x i8] c"*Cat\00" +@tn.str.193 = private constant [10 x i8] c"[]Greeter\00" +@tn.str.194 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.195 = private constant [7 x i8] c"**void\00" +@tn.str.196 = private constant [6 x i8] c"[]Any\00" +@tn.str.197 = private constant [5 x i8] c"*Any\00" +@tn.str.198 = private constant [7 x i8] c"[2]Any\00" +@tn.str.199 = private constant [8 x i8] c"*[2]Any\00" +@tn.str.200 = private constant [7 x i8] c"*[]Any\00" +@tn.str.201 = private constant [6 x i8] c"**Dog\00" +@tn.str.202 = private constant [6 x i8] c"**Cat\00" +@tn.str.203 = private constant [8 x i8] c"*string\00" +@tn.str.204 = private constant [7 x i8] c"[1]Any\00" +@tn.str.205 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.206 = private constant [4 x i8] c"*u8\00" +@tn.str.207 = private constant [6 x i8] c"*bool\00" +@tn.str.208 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.209 = private constant [5 x i8] c"*f64\00" +@tn.str.210 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.211 = private constant [11 x i8] c"*Allocator\00" +@tn.str.212 = private constant [9 x i8] c"*Context\00" +@tn.str.213 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.214 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.215 = private constant [8 x i8] c"*Member\00" +@tn.str.216 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.217 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.218 = private constant [9 x i8] c"*Command\00" +@tn.str.219 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.220 = private constant [9 x i8] c"*Greeter\00" +@tn.str.221 = private constant [19 x i8] c"*__Greeter__Vtable\00" +@tn.str.222 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.223 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.224 = private constant [7 x i8] c"*Value\00" +@tn.str.225 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.226 = private constant [14 x i8] c"*Architecture\00" +@tn.str.227 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.228 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.229 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.230 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.231 = private constant [10 x i8] c"*[]string\00" +@tn.str.232 = private constant [6 x i8] c"*[]u8\00" +@tn.str.233 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.234 = private constant [11 x i8] c"*[]Command\00" +@tn.str.235 = private constant [11 x i8] c"*[]Greeter\00" +@tn.str.236 = private constant [6 x i8] c"**GPA\00" +@tn.str.237 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.238 = private constant [8 x i8] c"**Arena\00" +@tn.str.239 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.240 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.241 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.242 = private constant [7 x i8] c"**File\00" +@tn.str.243 = private constant [6 x i8] c"**i32\00" +@tn.str.244 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.245 = private constant [6 x i8] c"**u32\00" +@tn.str.246 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.247 = private constant [8 x i8] c"**Array\00" +@tn.str.248 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.249 = private constant [9 x i8] c"**Object\00" +@tn.str.250 = private constant [7 x i8] c"**Sink\00" +@tn.str.251 = private constant [9 x i8] c"**Parser\00" +@tn.str.252 = private constant [6 x i8] c"**i64\00" +@tn.str.253 = private constant [9 x i8] c"**Parsed\00" +@tn.str.254 = private constant [7 x i8] c"**Diag\00" +@tn.str.255 = private constant [9 x i8] c"**Sha256\00" +@tn.str.256 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.257 = private constant [8 x i8] c"***void\00" +@tn.str.258 = private constant [6 x i8] c"**Any\00" +@tn.str.259 = private constant [9 x i8] c"**[2]Any\00" +@tn.str.260 = private constant [8 x i8] c"**[]Any\00" +@tn.str.261 = private constant [7 x i8] c"***Dog\00" +@tn.str.262 = private constant [7 x i8] c"***Cat\00" +@tn.str.263 = private constant [9 x i8] c"**string\00" +@tn.str.264 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.265 = private constant [5 x i8] c"**u8\00" +@tn.str.266 = private constant [7 x i8] c"**bool\00" +@tn.str.267 = private constant [7 x i8] c"*?File\00" +@tn.str.268 = private constant [9 x i8] c"*?string\00" +@tn.str.269 = private constant [10 x i8] c"*?cstring\00" +@tn.str.270 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.271 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [179 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 7 }, { ptr, i64 } { ptr @tn.str.112, i64 5 }, { ptr, i64 } { ptr @tn.str.113, i64 15 }, { ptr, i64 } { ptr @tn.str.114, i64 9 }, { ptr, i64 } { ptr @tn.str.115, i64 7 }, { ptr, i64 } { ptr @tn.str.116, i64 6 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 10 }, { ptr, i64 } { ptr @tn.str.119, i64 11 }, { ptr, i64 } { ptr @tn.str.120, i64 3 }, { ptr, i64 } { ptr @tn.str.121, i64 4 }, { ptr, i64 } { ptr @tn.str.122, i64 10 }, { ptr, i64 } { ptr @tn.str.123, i64 11 }, { ptr, i64 } { ptr @tn.str.124, i64 5 }, { ptr, i64 } { ptr @tn.str.125, i64 6 }, { ptr, i64 } { ptr @tn.str.126, i64 5 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 9 }, { ptr, i64 } { ptr @tn.str.129, i64 17 }, { ptr, i64 } { ptr @tn.str.130, i64 18 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 8 }, { ptr, i64 } { ptr @tn.str.133, i64 4 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 7 }, { ptr, i64 } { ptr @tn.str.137, i64 10 }, { ptr, i64 } { ptr @tn.str.138, i64 8 }, { ptr, i64 } { ptr @tn.str.139, i64 13 }, { ptr, i64 } { ptr @tn.str.140, i64 14 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 9 }, { ptr, i64 } { ptr @tn.str.144, i64 4 }, { ptr, i64 } { ptr @tn.str.145, i64 9 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 6 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 6 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 6 }, { ptr, i64 } { ptr @tn.str.152, i64 9 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 5 }, { ptr, i64 } { ptr @tn.str.157, i64 16 }, { ptr, i64 } { ptr @tn.str.158, i64 14 }, { ptr, i64 } { ptr @tn.str.159, i64 21 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 7 }, { ptr, i64 } { ptr @tn.str.162, i64 24 }, { ptr, i64 } { ptr @tn.str.163, i64 23 }, { ptr, i64 } { ptr @tn.str.164, i64 15 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 12 }, { ptr, i64 } { ptr @tn.str.167, i64 10 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 8 }, { ptr, i64 } { ptr @tn.str.171, i64 10 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 9 }, { ptr, i64 } { ptr @tn.str.174, i64 4 }, { ptr, i64 } { ptr @tn.str.175, i64 13 }, { ptr, i64 } { ptr @tn.str.176, i64 6 }, { ptr, i64 } { ptr @tn.str.177, i64 7 }, { ptr, i64 } { ptr @tn.str.178, i64 18 }, { ptr, i64 } { ptr @tn.str.179, i64 9 }, { ptr, i64 } { ptr @tn.str.180, i64 5 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 7 }, { ptr, i64 } { ptr @tn.str.188, i64 17 }, { ptr, i64 } { ptr @tn.str.189, i64 3 }, { ptr, i64 } { ptr @tn.str.190, i64 3 }, { ptr, i64 } { ptr @tn.str.191, i64 4 }, { ptr, i64 } { ptr @tn.str.192, i64 4 }, { ptr, i64 } { ptr @tn.str.193, i64 9 }, { ptr, i64 } { ptr @tn.str.194, i64 12 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 5 }, { ptr, i64 } { ptr @tn.str.197, i64 4 }, { ptr, i64 } { ptr @tn.str.198, i64 6 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 5 }, { ptr, i64 } { ptr @tn.str.202, i64 5 }, { ptr, i64 } { ptr @tn.str.203, i64 7 }, { ptr, i64 } { ptr @tn.str.204, i64 6 }, { ptr, i64 } { ptr @tn.str.205, i64 7 }, { ptr, i64 } { ptr @tn.str.206, i64 3 }, { ptr, i64 } { ptr @tn.str.207, i64 5 }, { ptr, i64 } { ptr @tn.str.208, i64 7 }, { ptr, i64 } { ptr @tn.str.209, i64 4 }, { ptr, i64 } { ptr @tn.str.210, i64 16 }, { ptr, i64 } { ptr @tn.str.211, i64 10 }, { ptr, i64 } { ptr @tn.str.212, i64 8 }, { ptr, i64 } { ptr @tn.str.213, i64 11 }, { ptr, i64 } { ptr @tn.str.214, i64 14 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 13 }, { ptr, i64 } { ptr @tn.str.217, i64 9 }, { ptr, i64 } { ptr @tn.str.218, i64 8 }, { ptr, i64 } { ptr @tn.str.219, i64 10 }, { ptr, i64 } { ptr @tn.str.220, i64 8 }, { ptr, i64 } { ptr @tn.str.221, i64 18 }, { ptr, i64 } { ptr @tn.str.222, i64 9 }, { ptr, i64 } { ptr @tn.str.223, i64 9 }, { ptr, i64 } { ptr @tn.str.224, i64 6 }, { ptr, i64 } { ptr @tn.str.225, i64 16 }, { ptr, i64 } { ptr @tn.str.226, i64 13 }, { ptr, i64 } { ptr @tn.str.227, i64 14 }, { ptr, i64 } { ptr @tn.str.228, i64 7 }, { ptr, i64 } { ptr @tn.str.229, i64 7 }, { ptr, i64 } { ptr @tn.str.230, i64 8 }, { ptr, i64 } { ptr @tn.str.231, i64 9 }, { ptr, i64 } { ptr @tn.str.232, i64 5 }, { ptr, i64 } { ptr @tn.str.233, i64 11 }, { ptr, i64 } { ptr @tn.str.234, i64 10 }, { ptr, i64 } { ptr @tn.str.235, i64 10 }, { ptr, i64 } { ptr @tn.str.236, i64 5 }, { ptr, i64 } { ptr @tn.str.237, i64 12 }, { ptr, i64 } { ptr @tn.str.238, i64 7 }, { ptr, i64 } { ptr @tn.str.239, i64 6 }, { ptr, i64 } { ptr @tn.str.240, i64 10 }, { ptr, i64 } { ptr @tn.str.241, i64 19 }, { ptr, i64 } { ptr @tn.str.242, i64 6 }, { ptr, i64 } { ptr @tn.str.243, i64 5 }, { ptr, i64 } { ptr @tn.str.244, i64 10 }, { ptr, i64 } { ptr @tn.str.245, i64 5 }, { ptr, i64 } { ptr @tn.str.246, i64 9 }, { ptr, i64 } { ptr @tn.str.247, i64 7 }, { ptr, i64 } { ptr @tn.str.248, i64 10 }, { ptr, i64 } { ptr @tn.str.249, i64 8 }, { ptr, i64 } { ptr @tn.str.250, i64 6 }, { ptr, i64 } { ptr @tn.str.251, i64 8 }, { ptr, i64 } { ptr @tn.str.252, i64 5 }, { ptr, i64 } { ptr @tn.str.253, i64 8 }, { ptr, i64 } { ptr @tn.str.254, i64 6 }, { ptr, i64 } { ptr @tn.str.255, i64 8 }, { ptr, i64 } { ptr @tn.str.256, i64 13 }, { ptr, i64 } { ptr @tn.str.257, i64 7 }, { ptr, i64 } { ptr @tn.str.258, i64 5 }, { ptr, i64 } { ptr @tn.str.259, i64 8 }, { ptr, i64 } { ptr @tn.str.260, i64 7 }, { ptr, i64 } { ptr @tn.str.261, i64 6 }, { ptr, i64 } { ptr @tn.str.262, i64 6 }, { ptr, i64 } { ptr @tn.str.263, i64 8 }, { ptr, i64 } { ptr @tn.str.264, i64 8 }, { ptr, i64 } { ptr @tn.str.265, i64 4 }, { ptr, i64 } { ptr @tn.str.266, i64 6 }, { ptr, i64 } { ptr @tn.str.267, i64 6 }, { ptr, i64 } { ptr @tn.str.268, i64 8 }, { ptr, i64 } { ptr @tn.str.269, i64 9 }, { ptr, i64 } { ptr @tn.str.270, i64 15 }, { ptr, i64 } { ptr @tn.str.271, i64 8 }] @str.272 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.273 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.274 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.275 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.276 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.277 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.278 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.279 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.280 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.281 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.282 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.283 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.275 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.276 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.277 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.278 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.279 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.280 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.281 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.282 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.283 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.284 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.285 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.286 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @str.287 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.288 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.289 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.290 = private unnamed_addr constant [12 x i8] c"dog+cat={}\0A\00", align 1 -@str.291 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.292 = private unnamed_addr constant [12 x i8] c"dog+cat={}\0A\00", align 1 -@str.293 = private unnamed_addr constant [12 x i8] c"cat+dog={}\0A\00", align 1 +@str.290 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.291 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.292 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.293 = private unnamed_addr constant [12 x i8] c"dog+cat={}\0A\00", align 1 @str.294 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.295 = private unnamed_addr constant [12 x i8] c"cat+dog={}\0A\00", align 1 -@str.296 = private unnamed_addr constant [12 x i8] c"dog+dog={}\0A\00", align 1 +@str.295 = private unnamed_addr constant [12 x i8] c"dog+cat={}\0A\00", align 1 +@str.296 = private unnamed_addr constant [12 x i8] c"cat+dog={}\0A\00", align 1 @str.297 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.298 = private unnamed_addr constant [12 x i8] c"dog+dog={}\0A\00", align 1 -@str.299 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.300 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.301 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.302 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.298 = private unnamed_addr constant [12 x i8] c"cat+dog={}\0A\00", align 1 +@str.299 = private unnamed_addr constant [12 x i8] c"dog+dog={}\0A\00", align 1 +@str.300 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.301 = private unnamed_addr constant [12 x i8] c"dog+dog={}\0A\00", align 1 +@str.302 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.303 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.304 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.305 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.303 = private constant [5 x i8] c"line\00" -@fld.str.304 = private constant [4 x i8] c"col\00" -@fld.str.305 = 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.303, i64 4 }, { ptr, i64 } { ptr @fld.str.304, i64 3 }, { ptr, i64 } { ptr @fld.str.305, i64 4 }] -@str.306 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.307 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.308 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.309 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.310 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.311 = private constant [4 x i8] c"ctx\00" -@fld.str.312 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.313 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.314 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.311, i64 3 }, { ptr, i64 } { ptr @fld.str.312, i64 11 }, { ptr, i64 } { ptr @fld.str.313, i64 13 }] -@str.315 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.316 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.317 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.318 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.319 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.320 = private constant [10 x i8] c"allocator\00" -@fld.str.321 = private constant [5 x i8] c"data\00" -@field_names.322 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.320, i64 9 }, { ptr, i64 } { ptr @fld.str.321, i64 4 }] -@str.323 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.324 = private unnamed_addr constant [11 x i8] c"CAllocator\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.327 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.328 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.329 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.330 = private unnamed_addr constant [4 x i8] c"GPA\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 [12 x i8] c"alloc_count\00" -@field_names.335 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.334, i64 11 }] -@str.336 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.337 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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.341 = private constant [5 x i8] c"next\00" -@fld.str.342 = private constant [4 x i8] c"cap\00" -@field_names.343 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.341, i64 4 }, { ptr, i64 } { ptr @fld.str.342, i64 3 }] -@str.344 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.345 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" -@fld.str.350 = private constant [10 x i8] c"end_index\00" -@fld.str.351 = private constant [7 x i8] c"parent\00" -@field_names.352 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.349, i64 5 }, { ptr, i64 } { ptr @fld.str.350, i64 9 }, { ptr, i64 } { ptr @fld.str.351, i64 6 }] -@str.353 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.354 = private unnamed_addr constant [9 x i8] c"BufAlloc\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"buf\00" -@fld.str.359 = private constant [4 x i8] c"len\00" -@fld.str.360 = private constant [4 x i8] c"pos\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 3 }, { 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 [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" -@fld.str.368 = private constant [12 x i8] c"alloc_count\00" -@fld.str.369 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.370 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.371 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.367, i64 6 }, { ptr, i64 } { ptr @fld.str.368, i64 11 }, { ptr, i64 } { ptr @fld.str.369, i64 13 }, { ptr, i64 } { ptr @fld.str.370, i64 17 }] -@str.372 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.373 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" -@field_names.378 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.377, i64 2 }] -@str.379 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.380 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" -@fld.str.385 = private constant [5 x i8] c"line\00" -@fld.str.386 = private constant [4 x i8] c"col\00" -@fld.str.387 = private constant [5 x i8] c"func\00" -@fld.str.388 = private constant [10 x i8] c"line_text\00" -@field_names.389 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.384, i64 4 }, { ptr, i64 } { ptr @fld.str.385, i64 4 }, { ptr, i64 } { ptr @fld.str.386, i64 3 }, { ptr, i64 } { ptr @fld.str.387, i64 4 }, { ptr, i64 } { ptr @fld.str.388, i64 9 }] -@str.390 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.391 = private unnamed_addr constant [14 x i8] c"ProcessResult\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"exit_code\00" -@fld.str.396 = private constant [7 x i8] c"stdout\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 6 }] -@str.398 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.399 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.404 = private constant [11 x i8] c"sin_family\00" -@fld.str.405 = private constant [9 x i8] c"sin_port\00" -@fld.str.406 = private constant [9 x i8] c"sin_addr\00" -@fld.str.407 = private constant [9 x i8] c"sin_zero\00" -@field_names.408 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.403, i64 7 }, { ptr, i64 } { ptr @fld.str.404, i64 10 }, { ptr, i64 } { ptr @fld.str.405, i64 8 }, { ptr, i64 } { ptr @fld.str.406, i64 8 }, { ptr, i64 } { ptr @fld.str.407, i64 8 }] -@str.409 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.410 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" -@fld.str.415 = private constant [4 x i8] c"len\00" -@fld.str.416 = private constant [4 x i8] c"cap\00" -@field_names.417 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.414, i64 5 }, { ptr, i64 } { ptr @fld.str.415, i64 3 }, { 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 [7 x i8] c"Object\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"items\00" -@fld.str.424 = private constant [4 x i8] c"len\00" -@fld.str.425 = private constant [4 x i8] c"cap\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 3 }, { ptr, i64 } { ptr @fld.str.425, i64 3 }] -@str.427 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.428 = private unnamed_addr constant [7 x i8] c"Member\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"key\00" -@fld.str.433 = private constant [4 x i8] c"val\00" -@field_names.434 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.432, i64 3 }, { ptr, i64 } { ptr @fld.str.433, i64 3 }] -@str.435 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.436 = private unnamed_addr constant [5 x i8] c"Sink\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 [4 x i8] c"dst\00" -@fld.str.441 = private constant [4 x i8] c"pos\00" -@fld.str.442 = private constant [5 x i8] c"file\00" -@field_names.443 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.440, i64 3 }, { ptr, i64 } { ptr @fld.str.441, i64 3 }, { ptr, i64 } { ptr @fld.str.442, i64 4 }] -@str.444 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.445 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" -@fld.str.450 = private constant [4 x i8] c"pos\00" -@fld.str.451 = private constant [6 x i8] c"alloc\00" -@field_names.452 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.449, i64 3 }, { ptr, i64 } { ptr @fld.str.450, i64 3 }, { ptr, i64 } { ptr @fld.str.451, i64 5 }] -@str.453 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.454 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.458 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.459 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.460 = private unnamed_addr constant [9 x i8] c"FlagSpec\00", align 1 -@str.461 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.462 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.463 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.464 = private constant [5 x i8] c"name\00" -@fld.str.465 = private constant [12 x i8] c"takes_value\00" -@fld.str.466 = private constant [9 x i8] c"required\00" -@field_names.467 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.464, i64 4 }, { ptr, i64 } { ptr @fld.str.465, i64 11 }, { ptr, i64 } { ptr @fld.str.466, i64 8 }] -@str.468 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.469 = private unnamed_addr constant [8 x i8] c"Command\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 [6 x i8] c"group\00" -@fld.str.474 = private constant [8 x i8] c"command\00" -@fld.str.475 = private constant [6 x i8] c"flags\00" -@field_names.476 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.473, i64 5 }, { ptr, i64 } { ptr @fld.str.474, i64 7 }, { ptr, i64 } { ptr @fld.str.475, i64 5 }] -@str.477 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.478 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" -@fld.str.483 = private constant [6 x i8] c"value\00" -@field_names.484 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.482, i64 3 }, { ptr, i64 } { ptr @fld.str.483, i64 5 }] -@str.485 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.486 = private unnamed_addr constant [5 x i8] c"Diag\00", align 1 -@str.487 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.488 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.489 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.490 = private constant [6 x i8] c"index\00" -@fld.str.491 = private constant [6 x i8] c"token\00" -@field_names.492 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.490, i64 5 }, { 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 [7 x i8] c"Parsed\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 [10 x i8] c"cmd_index\00" -@fld.str.501 = private constant [5 x i8] c"json\00" -@fld.str.502 = private constant [5 x i8] c"rest\00" -@fld.str.503 = private constant [5 x i8] c"spec\00" -@fld.str.504 = private constant [7 x i8] c"values\00" -@field_names.505 = private constant [7 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 9 }, { ptr, i64 } { ptr @fld.str.501, i64 4 }, { ptr, i64 } { ptr @fld.str.502, i64 4 }, { ptr, i64 } { ptr @fld.str.503, i64 4 }, { ptr, i64 } { ptr @fld.str.504, i64 6 }] -@str.506 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.507 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" -@fld.str.512 = private constant [4 x i8] c"buf\00" -@fld.str.513 = private constant [8 x i8] c"buf_len\00" -@fld.str.514 = private constant [10 x i8] c"total_len\00" -@field_names.515 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.511, i64 1 }, { ptr, i64 } { ptr @fld.str.512, i64 3 }, { ptr, i64 } { ptr @fld.str.513, i64 7 }, { ptr, i64 } { ptr @fld.str.514, i64 9 }] -@str.516 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.517 = private unnamed_addr constant [8 x i8] c"Greeter\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"ctx\00" -@fld.str.522 = private constant [9 x i8] c"__vtable\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 8 }] -@str.524 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.525 = private unnamed_addr constant [18 x i8] c"__Greeter__Vtable\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"greet\00" -@field_names.530 = private constant [1 x { ptr, i64 }] [{ 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 [4 x i8] c"Dog\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"age\00" -@field_names.537 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.536, i64 3 }] -@str.538 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.539 = private unnamed_addr constant [4 x i8] c"Cat\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"lives\00" -@field_names.544 = private constant [1 x { ptr, i64 }] [{ 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 [2 x i8] c".\00", align 1 -@fld.str.547 = private constant [5 x i8] c"read\00" -@fld.str.548 = private constant [6 x i8] c"write\00" -@fld.str.549 = private constant [7 x i8] c"append\00" -@fld.str.550 = private constant [11 x i8] c"read_write\00" -@field_names.551 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.547, i64 4 }, { ptr, i64 } { ptr @fld.str.548, i64 5 }, { ptr, i64 } { ptr @fld.str.549, i64 6 }, { ptr, i64 } { ptr @fld.str.550, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.555 = private constant [4 x i8] c"set\00" -@fld.str.556 = private constant [8 x i8] c"current\00" -@fld.str.557 = private constant [4 x i8] c"end\00" -@field_names.558 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.555, i64 3 }, { ptr, i64 } { ptr @fld.str.556, i64 7 }, { ptr, i64 } { ptr @fld.str.557, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.562 = private constant [6 x i8] c"null_\00" -@fld.str.563 = private constant [6 x i8] c"bool_\00" -@fld.str.564 = private constant [5 x i8] c"int_\00" -@fld.str.565 = private constant [4 x i8] c"str\00" -@fld.str.566 = private constant [6 x i8] c"array\00" -@fld.str.567 = private constant [7 x i8] c"object\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 5 }, { ptr, i64 } { ptr @fld.str.564, i64 4 }, { ptr, i64 } { ptr @fld.str.565, i64 3 }, { ptr, i64 } { ptr @fld.str.566, i64 5 }, { ptr, i64 } { ptr @fld.str.567, i64 6 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.572 = private constant [6 x i8] c"macos\00" -@fld.str.573 = private constant [6 x i8] c"linux\00" -@fld.str.574 = private constant [8 x i8] c"windows\00" -@fld.str.575 = private constant [5 x i8] c"wasm\00" -@fld.str.576 = private constant [4 x i8] c"ios\00" -@fld.str.577 = private constant [8 x i8] c"android\00" -@fld.str.578 = private constant [8 x i8] c"unknown\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 5 }, { ptr, i64 } { ptr @fld.str.574, i64 7 }, { ptr, i64 } { ptr @fld.str.575, i64 4 }, { ptr, i64 } { ptr @fld.str.576, i64 3 }, { ptr, i64 } { ptr @fld.str.577, i64 7 }, { ptr, i64 } { ptr @fld.str.578, i64 7 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.583 = private constant [8 x i8] c"aarch64\00" -@fld.str.584 = private constant [7 x i8] c"x86_64\00" -@fld.str.585 = private constant [7 x i8] c"wasm32\00" -@fld.str.586 = private constant [7 x i8] c"wasm64\00" -@fld.str.587 = private constant [8 x i8] c"unknown\00" -@field_names.588 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.583, i64 7 }, { ptr, i64 } { ptr @fld.str.584, i64 6 }, { ptr, i64 } { ptr @fld.str.585, i64 6 }, { ptr, i64 } { ptr @fld.str.586, i64 6 }, { ptr, i64 } { ptr @fld.str.587, i64 7 }] -@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 [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.306 = private constant [5 x i8] c"line\00" +@fld.str.307 = private constant [4 x i8] c"col\00" +@fld.str.308 = 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.306, i64 4 }, { ptr, i64 } { ptr @fld.str.307, i64 3 }, { ptr, i64 } { ptr @fld.str.308, i64 4 }] +@str.309 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.310 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.311 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.312 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.313 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.314 = private constant [4 x i8] c"ctx\00" +@fld.str.315 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.316 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.317 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.314, i64 3 }, { ptr, i64 } { ptr @fld.str.315, i64 11 }, { ptr, i64 } { ptr @fld.str.316, i64 13 }] +@str.318 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.319 = private unnamed_addr constant [8 x i8] c"Context\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 +@fld.str.323 = private constant [10 x i8] c"allocator\00" +@fld.str.324 = private constant [5 x i8] c"data\00" +@field_names.325 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.323, i64 9 }, { ptr, i64 } { ptr @fld.str.324, i64 4 }] +@str.326 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.327 = private unnamed_addr constant [11 x i8] c"CAllocator\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 +@field_names.331 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.332 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.333 = private unnamed_addr constant [4 x i8] c"GPA\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.337 = private constant [12 x i8] c"alloc_count\00" +@field_names.338 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.337, i64 11 }] +@str.339 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.340 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" +@fld.str.345 = private constant [4 x i8] c"cap\00" +@field_names.346 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.344, i64 4 }, { ptr, i64 } { ptr @fld.str.345, i64 3 }] +@str.347 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.348 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" +@fld.str.353 = private constant [10 x i8] c"end_index\00" +@fld.str.354 = private constant [7 x i8] c"parent\00" +@field_names.355 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.352, i64 5 }, { ptr, i64 } { ptr @fld.str.353, i64 9 }, { ptr, i64 } { ptr @fld.str.354, i64 6 }] +@str.356 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.357 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" +@fld.str.362 = private constant [4 x i8] c"len\00" +@fld.str.363 = private constant [4 x i8] c"pos\00" +@field_names.364 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.361, i64 3 }, { ptr, i64 } { ptr @fld.str.362, i64 3 }, { ptr, i64 } { ptr @fld.str.363, i64 3 }] +@str.365 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.366 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 +@fld.str.370 = private constant [7 x i8] c"parent\00" +@fld.str.371 = private constant [12 x i8] c"alloc_count\00" +@fld.str.372 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.373 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.374 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.370, i64 6 }, { ptr, i64 } { ptr @fld.str.371, i64 11 }, { ptr, i64 } { ptr @fld.str.372, i64 13 }, { ptr, i64 } { ptr @fld.str.373, i64 17 }] +@str.375 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.376 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" +@field_names.381 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.380, i64 2 }] +@str.382 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.383 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" +@fld.str.388 = private constant [5 x i8] c"line\00" +@fld.str.389 = private constant [4 x i8] c"col\00" +@fld.str.390 = private constant [5 x i8] c"func\00" +@fld.str.391 = private constant [10 x i8] c"line_text\00" +@field_names.392 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.387, i64 4 }, { ptr, i64 } { ptr @fld.str.388, i64 4 }, { ptr, i64 } { ptr @fld.str.389, i64 3 }, { ptr, i64 } { ptr @fld.str.390, i64 4 }, { ptr, i64 } { ptr @fld.str.391, i64 9 }] +@str.393 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.394 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" +@fld.str.399 = private constant [7 x i8] c"stdout\00" +@field_names.400 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.398, i64 9 }, { ptr, i64 } { ptr @fld.str.399, i64 6 }] +@str.401 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.402 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" +@fld.str.407 = private constant [11 x i8] c"sin_family\00" +@fld.str.408 = private constant [9 x i8] c"sin_port\00" +@fld.str.409 = private constant [9 x i8] c"sin_addr\00" +@fld.str.410 = private constant [9 x i8] c"sin_zero\00" +@field_names.411 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.406, i64 7 }, { ptr, i64 } { ptr @fld.str.407, i64 10 }, { ptr, i64 } { ptr @fld.str.408, i64 8 }, { ptr, i64 } { ptr @fld.str.409, i64 8 }, { ptr, i64 } { ptr @fld.str.410, i64 8 }] +@str.412 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.413 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" +@fld.str.418 = private constant [4 x i8] c"len\00" +@fld.str.419 = private constant [4 x i8] c"cap\00" +@field_names.420 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.417, i64 5 }, { ptr, i64 } { ptr @fld.str.418, i64 3 }, { ptr, i64 } { ptr @fld.str.419, i64 3 }] +@str.421 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.422 = private unnamed_addr constant [7 x i8] c"Object\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 [6 x i8] c"items\00" +@fld.str.427 = private constant [4 x i8] c"len\00" +@fld.str.428 = private constant [4 x i8] c"cap\00" +@field_names.429 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.426, i64 5 }, { ptr, i64 } { ptr @fld.str.427, i64 3 }, { ptr, i64 } { ptr @fld.str.428, i64 3 }] +@str.430 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.431 = private unnamed_addr constant [7 x i8] c"Member\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 [4 x i8] c"key\00" +@fld.str.436 = private constant [4 x i8] c"val\00" +@field_names.437 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.435, i64 3 }, { 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 [5 x i8] c"Sink\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 [4 x i8] c"dst\00" +@fld.str.444 = private constant [4 x i8] c"pos\00" +@fld.str.445 = private constant [5 x i8] c"file\00" +@field_names.446 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.443, i64 3 }, { ptr, i64 } { ptr @fld.str.444, i64 3 }, { ptr, i64 } { ptr @fld.str.445, i64 4 }] +@str.447 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.448 = private unnamed_addr constant [7 x i8] c"Parser\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"src\00" +@fld.str.453 = private constant [4 x i8] c"pos\00" +@fld.str.454 = private constant [6 x i8] c"alloc\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 5 }] +@str.456 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.457 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 +@field_names.461 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.462 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.463 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" +@fld.str.468 = private constant [12 x i8] c"takes_value\00" +@fld.str.469 = private constant [9 x i8] c"required\00" +@field_names.470 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.467, i64 4 }, { ptr, i64 } { ptr @fld.str.468, i64 11 }, { ptr, i64 } { ptr @fld.str.469, i64 8 }] +@str.471 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.472 = private unnamed_addr constant [8 x i8] c"Command\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"group\00" +@fld.str.477 = private constant [8 x i8] c"command\00" +@fld.str.478 = private constant [6 x i8] c"flags\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 7 }, { 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 [10 x i8] c"FlagValue\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"set\00" +@fld.str.486 = private constant [6 x i8] c"value\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 5 }] +@str.488 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.489 = private unnamed_addr constant [5 x i8] c"Diag\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"index\00" +@fld.str.494 = private constant [6 x i8] c"token\00" +@field_names.495 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.493, i64 5 }, { 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 [7 x i8] c"Parsed\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 [6 x i8] c"group\00" +@fld.str.502 = private constant [8 x i8] c"command\00" +@fld.str.503 = private constant [10 x i8] c"cmd_index\00" +@fld.str.504 = private constant [5 x i8] c"json\00" +@fld.str.505 = private constant [5 x i8] c"rest\00" +@fld.str.506 = private constant [5 x i8] c"spec\00" +@fld.str.507 = private constant [7 x i8] c"values\00" +@field_names.508 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.501, i64 5 }, { ptr, i64 } { ptr @fld.str.502, i64 7 }, { ptr, i64 } { ptr @fld.str.503, i64 9 }, { ptr, i64 } { ptr @fld.str.504, i64 4 }, { ptr, i64 } { ptr @fld.str.505, i64 4 }, { ptr, i64 } { ptr @fld.str.506, i64 4 }, { ptr, i64 } { ptr @fld.str.507, i64 6 }] +@str.509 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.510 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" +@fld.str.515 = private constant [4 x i8] c"buf\00" +@fld.str.516 = private constant [8 x i8] c"buf_len\00" +@fld.str.517 = private constant [10 x i8] c"total_len\00" +@field_names.518 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.514, i64 1 }, { ptr, i64 } { ptr @fld.str.515, i64 3 }, { ptr, i64 } { ptr @fld.str.516, i64 7 }, { ptr, i64 } { ptr @fld.str.517, i64 9 }] +@str.519 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.520 = private unnamed_addr constant [8 x i8] c"Greeter\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"ctx\00" +@fld.str.525 = private constant [9 x i8] c"__vtable\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 8 }] +@str.527 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.528 = private unnamed_addr constant [18 x i8] c"__Greeter__Vtable\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"greet\00" +@field_names.533 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.532, i64 5 }] +@str.534 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.535 = private unnamed_addr constant [4 x i8] c"Dog\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"age\00" +@field_names.540 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.539, i64 3 }] +@str.541 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.542 = private unnamed_addr constant [4 x i8] c"Cat\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 [6 x i8] c"lives\00" +@field_names.547 = private constant [1 x { ptr, i64 }] [{ 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 [2 x i8] c".\00", align 1 +@fld.str.550 = private constant [5 x i8] c"read\00" +@fld.str.551 = private constant [6 x i8] c"write\00" +@fld.str.552 = private constant [7 x i8] c"append\00" +@fld.str.553 = private constant [11 x i8] c"read_write\00" +@field_names.554 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.550, i64 4 }, { ptr, i64 } { ptr @fld.str.551, i64 5 }, { ptr, i64 } { ptr @fld.str.552, i64 6 }, { ptr, i64 } { ptr @fld.str.553, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.558 = private constant [4 x i8] c"set\00" +@fld.str.559 = private constant [8 x i8] c"current\00" +@fld.str.560 = private constant [4 x i8] c"end\00" +@field_names.561 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.558, i64 3 }, { ptr, i64 } { ptr @fld.str.559, i64 7 }, { ptr, i64 } { ptr @fld.str.560, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.565 = private constant [6 x i8] c"null_\00" +@fld.str.566 = private constant [6 x i8] c"bool_\00" +@fld.str.567 = private constant [5 x i8] c"int_\00" +@fld.str.568 = private constant [4 x i8] c"str\00" +@fld.str.569 = private constant [6 x i8] c"array\00" +@fld.str.570 = private constant [7 x i8] c"object\00" +@field_names.571 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.565, i64 5 }, { ptr, i64 } { ptr @fld.str.566, i64 5 }, { ptr, i64 } { ptr @fld.str.567, i64 4 }, { ptr, i64 } { ptr @fld.str.568, i64 3 }, { ptr, i64 } { ptr @fld.str.569, i64 5 }, { ptr, i64 } { ptr @fld.str.570, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.575 = private constant [6 x i8] c"macos\00" +@fld.str.576 = private constant [6 x i8] c"linux\00" +@fld.str.577 = private constant [8 x i8] c"windows\00" +@fld.str.578 = private constant [5 x i8] c"wasm\00" +@fld.str.579 = private constant [4 x i8] c"ios\00" +@fld.str.580 = private constant [8 x i8] c"android\00" +@fld.str.581 = private constant [8 x i8] c"unknown\00" +@field_names.582 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.575, i64 5 }, { ptr, i64 } { ptr @fld.str.576, i64 5 }, { ptr, i64 } { ptr @fld.str.577, i64 7 }, { ptr, i64 } { ptr @fld.str.578, i64 4 }, { ptr, i64 } { ptr @fld.str.579, i64 3 }, { ptr, i64 } { ptr @fld.str.580, i64 7 }, { ptr, i64 } { ptr @fld.str.581, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.586 = private constant [8 x i8] c"aarch64\00" +@fld.str.587 = private constant [7 x i8] c"x86_64\00" +@fld.str.588 = private constant [7 x i8] c"wasm32\00" +@fld.str.589 = private constant [7 x i8] c"wasm64\00" +@fld.str.590 = private constant [8 x i8] c"unknown\00" +@field_names.591 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.586, i64 7 }, { ptr, i64 } { ptr @fld.str.587, i64 6 }, { ptr, i64 } { ptr @fld.str.588, i64 6 }, { ptr, i64 } { ptr @fld.str.589, i64 6 }, { ptr, i64 } { ptr @fld.str.590, i64 7 }] +@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 @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 @@ -563,35 +563,35 @@ @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 [5 x i8] c"null\00", align 1 -@str.631 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.632 = private unnamed_addr constant [4 x i8] c"@0x\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 [5 x i8] c"null\00", align 1 -@str.634 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.634 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.635 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.636 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.637 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.637 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.638 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.639 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.640 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.640 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.641 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.642 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.643 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.643 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.644 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.645 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.646 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 +@str.646 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.647 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.648 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.649 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 +@str.649 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.650 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.651 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.652 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.652 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.653 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.654 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.655 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.655 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.656 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.657 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.658 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.658 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.659 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.660 = private unnamed_addr constant [5 x i8] c"null\00", align 1 @str.661 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @@ -666,12 +666,16 @@ @str.730 = private unnamed_addr constant [8 x i8] c"*[1]Any\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 [6 x i8] c"*bool\00", align 1 +@str.733 = private unnamed_addr constant [4 x i8] c"*u8\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 [5 x i8] c"null\00", align 1 -@str.737 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.736 = private unnamed_addr constant [6 x i8] c"*bool\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"null\00", align 1 +@str.740 = private unnamed_addr constant [5 x i8] c"null\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"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -688,7 +692,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -739,7 +743,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -829,7 +833,7 @@ if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.66 @@ -1032,7 +1036,7 @@ if.merge.91: ; preds = %if.else.90, %if.the %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1275,7 +1279,7 @@ if.merge.410: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1347,7 +1351,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1378,7 +1382,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1393,6 +1397,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1435,95 +1448,96 @@ entry: i64 1, label %match.arm.41 i64 10, label %match.arm.42 i64 11, label %match.arm.42 - i64 19, label %match.arm.43 i64 20, label %match.arm.43 i64 21, label %match.arm.43 - i64 24, label %match.arm.43 - i64 26, label %match.arm.43 - i64 28, label %match.arm.43 - i64 30, label %match.arm.43 - i64 33, label %match.arm.43 - i64 35, label %match.arm.43 - i64 39, label %match.arm.43 - i64 43, label %match.arm.43 - i64 45, label %match.arm.43 - i64 48, label %match.arm.43 - i64 52, label %match.arm.43 + i64 22, label %match.arm.43 + i64 25, label %match.arm.43 + i64 27, label %match.arm.43 + i64 29, label %match.arm.43 + i64 31, label %match.arm.43 + i64 34, label %match.arm.43 + i64 36, label %match.arm.43 + i64 40, label %match.arm.43 + i64 44, label %match.arm.43 + i64 46, label %match.arm.43 + i64 49, label %match.arm.43 i64 53, label %match.arm.43 - i64 55, label %match.arm.43 - i64 61, label %match.arm.43 - i64 66, label %match.arm.43 - i64 72, label %match.arm.43 - i64 76, label %match.arm.43 - i64 78, label %match.arm.43 + i64 54, label %match.arm.43 + i64 56, label %match.arm.43 + i64 62, label %match.arm.43 + i64 67, label %match.arm.43 + i64 73, label %match.arm.43 + i64 77, label %match.arm.43 i64 79, label %match.arm.43 i64 80, label %match.arm.43 - i64 82, label %match.arm.43 - i64 89, label %match.arm.43 - i64 93, label %match.arm.43 + i64 81, label %match.arm.43 + i64 83, label %match.arm.43 + i64 90, label %match.arm.43 i64 94, label %match.arm.43 i64 95, label %match.arm.43 i64 96, label %match.arm.43 - i64 37, label %match.arm.44 + i64 97, label %match.arm.43 i64 38, label %match.arm.44 - i64 54, label %match.arm.44 - i64 70, label %match.arm.44 + i64 39, label %match.arm.44 + i64 55, label %match.arm.44 i64 71, label %match.arm.44 - i64 51, label %match.arm.45 - i64 64, label %match.arm.45 - i64 75, label %match.arm.45 - i64 22, label %match.arm.47 - i64 81, label %match.arm.47 - i64 87, label %match.arm.47 + i64 72, label %match.arm.44 + i64 52, label %match.arm.45 + i64 65, label %match.arm.45 + i64 76, label %match.arm.45 + i64 23, label %match.arm.47 + i64 82, label %match.arm.47 i64 88, label %match.arm.47 - i64 92, label %match.arm.47 - i64 104, label %match.arm.47 - i64 110, label %match.arm.47 - i64 23, label %match.arm.48 - i64 60, label %match.arm.48 - i64 77, label %match.arm.48 - i64 85, label %match.arm.48 - i64 99, label %match.arm.48 - i64 102, label %match.arm.48 - i64 18, label %match.arm.49 - i64 25, label %match.arm.49 - i64 27, label %match.arm.49 - i64 29, label %match.arm.49 - i64 31, label %match.arm.49 + i64 89, label %match.arm.47 + i64 93, label %match.arm.47 + i64 105, label %match.arm.47 + i64 111, label %match.arm.47 + i64 24, label %match.arm.48 + i64 61, label %match.arm.48 + i64 78, label %match.arm.48 + i64 86, label %match.arm.48 + i64 100, label %match.arm.48 + i64 103, label %match.arm.48 + i64 19, label %match.arm.49 + i64 26, label %match.arm.49 + i64 28, label %match.arm.49 + i64 30, label %match.arm.49 i64 32, label %match.arm.49 - i64 34, label %match.arm.49 - i64 36, label %match.arm.49 - i64 40, label %match.arm.49 - i64 44, label %match.arm.49 - i64 47, label %match.arm.49 - i64 49, label %match.arm.49 + i64 33, label %match.arm.49 + i64 35, label %match.arm.49 + i64 37, label %match.arm.49 + i64 41, label %match.arm.49 + i64 48, label %match.arm.49 i64 50, label %match.arm.49 - i64 56, label %match.arm.49 + i64 51, label %match.arm.49 i64 57, label %match.arm.49 i64 58, label %match.arm.49 i64 59, label %match.arm.49 - i64 62, label %match.arm.49 - i64 67, label %match.arm.49 - i64 74, label %match.arm.49 - i64 83, label %match.arm.49 - i64 86, label %match.arm.49 - i64 90, label %match.arm.49 - i64 97, label %match.arm.49 + i64 60, label %match.arm.49 + i64 63, label %match.arm.49 + i64 68, label %match.arm.49 + i64 75, label %match.arm.49 + i64 84, label %match.arm.49 + i64 87, label %match.arm.49 + i64 91, label %match.arm.49 i64 98, label %match.arm.49 - i64 100, label %match.arm.49 + i64 99, label %match.arm.49 i64 101, label %match.arm.49 - i64 103, label %match.arm.49 - i64 105, label %match.arm.49 + i64 102, label %match.arm.49 + i64 104, label %match.arm.49 i64 106, label %match.arm.49 i64 107, label %match.arm.49 i64 108, label %match.arm.49 i64 109, label %match.arm.49 - i64 111, label %match.arm.49 + i64 110, label %match.arm.49 i64 112, label %match.arm.49 - i64 41, label %match.arm.50 + i64 113, label %match.arm.49 + i64 114, label %match.arm.49 i64 42, label %match.arm.50 - i64 46, label %match.arm.50 - i64 91, label %match.arm.50 + i64 43, label %match.arm.50 + i64 45, label %match.arm.50 + i64 47, label %match.arm.50 + i64 92, label %match.arm.50 i64 13, label %match.arm.51 ] @@ -1541,7 +1555,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 [176 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [179 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 @@ -1574,35 +1588,35 @@ match.arm.43: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.95 [ - i64 19, label %dispatch.case.96 - i64 20, label %dispatch.case.97 - i64 21, label %dispatch.case.98 - i64 24, label %dispatch.case.99 - i64 26, label %dispatch.case.100 - i64 28, label %dispatch.case.101 - i64 30, label %dispatch.case.102 - i64 33, label %dispatch.case.103 - i64 35, label %dispatch.case.104 - i64 39, label %dispatch.case.105 - i64 43, label %dispatch.case.106 - i64 45, label %dispatch.case.107 - i64 48, label %dispatch.case.108 - i64 52, label %dispatch.case.109 - i64 53, label %dispatch.case.110 - i64 55, label %dispatch.case.111 - i64 61, label %dispatch.case.112 - i64 66, label %dispatch.case.113 - i64 72, label %dispatch.case.114 - i64 76, label %dispatch.case.115 - i64 78, label %dispatch.case.116 - i64 79, label %dispatch.case.117 - i64 80, label %dispatch.case.118 - i64 82, label %dispatch.case.119 - i64 89, label %dispatch.case.120 - i64 93, label %dispatch.case.121 - i64 94, label %dispatch.case.122 - i64 95, label %dispatch.case.123 - i64 96, label %dispatch.case.124 + i64 20, label %dispatch.case.96 + i64 21, label %dispatch.case.97 + i64 22, label %dispatch.case.98 + i64 25, label %dispatch.case.99 + i64 27, label %dispatch.case.100 + i64 29, label %dispatch.case.101 + i64 31, label %dispatch.case.102 + i64 34, label %dispatch.case.103 + i64 36, label %dispatch.case.104 + i64 40, label %dispatch.case.105 + i64 44, label %dispatch.case.106 + i64 46, label %dispatch.case.107 + i64 49, label %dispatch.case.108 + i64 53, label %dispatch.case.109 + i64 54, label %dispatch.case.110 + i64 56, label %dispatch.case.111 + i64 62, label %dispatch.case.112 + i64 67, label %dispatch.case.113 + i64 73, label %dispatch.case.114 + i64 77, label %dispatch.case.115 + i64 79, label %dispatch.case.116 + i64 80, label %dispatch.case.117 + i64 81, label %dispatch.case.118 + i64 83, label %dispatch.case.119 + i64 90, label %dispatch.case.120 + i64 94, label %dispatch.case.121 + i64 95, label %dispatch.case.122 + i64 96, label %dispatch.case.123 + i64 97, label %dispatch.case.124 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1610,11 +1624,11 @@ match.arm.44: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.271 [ - i64 37, label %dispatch.case.272 - i64 38, label %dispatch.case.273 - i64 54, label %dispatch.case.274 - i64 70, label %dispatch.case.275 - i64 71, label %dispatch.case.276 + i64 38, label %dispatch.case.272 + i64 39, label %dispatch.case.273 + i64 55, label %dispatch.case.274 + i64 71, label %dispatch.case.275 + i64 72, label %dispatch.case.276 ] match.arm.45: ; preds = %entry, %entry, %entry @@ -1637,13 +1651,13 @@ match.arm.47: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.288 [ - i64 22, label %dispatch.case.289 - i64 81, label %dispatch.case.290 - i64 87, label %dispatch.case.291 - i64 88, label %dispatch.case.292 - i64 92, label %dispatch.case.293 - i64 104, label %dispatch.case.294 - i64 110, label %dispatch.case.295 + i64 23, label %dispatch.case.289 + i64 82, label %dispatch.case.290 + i64 88, label %dispatch.case.291 + i64 89, label %dispatch.case.292 + i64 93, label %dispatch.case.293 + i64 105, label %dispatch.case.294 + i64 111, label %dispatch.case.295 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry, %entry @@ -1651,12 +1665,12 @@ match.arm.48: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.332 [ - i64 23, label %dispatch.case.333 - i64 60, label %dispatch.case.334 - i64 77, label %dispatch.case.335 - i64 85, label %dispatch.case.336 - i64 99, label %dispatch.case.337 - i64 102, label %dispatch.case.338 + i64 24, label %dispatch.case.333 + i64 61, label %dispatch.case.334 + i64 78, label %dispatch.case.335 + i64 86, label %dispatch.case.336 + i64 100, label %dispatch.case.337 + i64 103, label %dispatch.case.338 ] 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 @@ -1664,52 +1678,53 @@ match.arm.49: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.370 [ - i64 18, label %dispatch.case.371 - i64 25, label %dispatch.case.372 - i64 27, label %dispatch.case.373 - i64 29, label %dispatch.case.374 - i64 31, label %dispatch.case.375 - i64 32, label %dispatch.case.376 - i64 34, label %dispatch.case.377 - i64 36, label %dispatch.case.378 - i64 40, label %dispatch.case.379 - i64 44, label %dispatch.case.380 - i64 47, label %dispatch.case.381 - i64 49, label %dispatch.case.382 - i64 50, label %dispatch.case.383 - i64 56, label %dispatch.case.384 - i64 57, label %dispatch.case.385 - i64 58, label %dispatch.case.386 - i64 59, label %dispatch.case.387 - i64 62, label %dispatch.case.388 - i64 67, label %dispatch.case.389 - i64 74, label %dispatch.case.390 - i64 83, label %dispatch.case.391 - i64 86, label %dispatch.case.392 - i64 90, label %dispatch.case.393 - i64 97, label %dispatch.case.394 - i64 98, label %dispatch.case.395 - i64 100, label %dispatch.case.396 - i64 101, label %dispatch.case.397 - i64 103, label %dispatch.case.398 - i64 105, label %dispatch.case.399 - i64 106, label %dispatch.case.400 - i64 107, label %dispatch.case.401 - i64 108, label %dispatch.case.402 - i64 109, label %dispatch.case.403 - i64 111, label %dispatch.case.404 - i64 112, label %dispatch.case.405 + 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 57, label %dispatch.case.383 + i64 58, label %dispatch.case.384 + i64 59, label %dispatch.case.385 + i64 60, label %dispatch.case.386 + i64 63, label %dispatch.case.387 + i64 68, label %dispatch.case.388 + i64 75, label %dispatch.case.389 + i64 84, label %dispatch.case.390 + i64 87, label %dispatch.case.391 + i64 91, label %dispatch.case.392 + i64 98, label %dispatch.case.393 + i64 99, label %dispatch.case.394 + i64 101, label %dispatch.case.395 + i64 102, label %dispatch.case.396 + i64 104, label %dispatch.case.397 + i64 106, label %dispatch.case.398 + i64 107, label %dispatch.case.399 + i64 108, label %dispatch.case.400 + i64 109, label %dispatch.case.401 + i64 110, label %dispatch.case.402 + i64 112, label %dispatch.case.403 + i64 113, label %dispatch.case.404 + i64 114, label %dispatch.case.405 ] -match.arm.50: ; preds = %entry, %entry, %entry, %entry +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 41, label %dispatch.case.526 - i64 42, label %dispatch.case.527 - i64 46, label %dispatch.case.528 - i64 91, label %dispatch.case.529 + 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 92, label %dispatch.case.530 ] match.arm.51: ; preds = %entry @@ -1718,7 +1733,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 [176 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [179 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 @@ -1769,7 +1784,7 @@ dispatch.merge.94: ; preds = %dispatch.case.124, br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.269, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.272, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -2010,7 +2025,7 @@ dispatch.merge.270: ; preds = %dispatch.case.276, br label %match.merge.37 dispatch.default.271: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.270, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.273, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.270 dispatch.case.272: ; preds = %match.arm.44 @@ -2051,7 +2066,7 @@ dispatch.merge.287: ; preds = %dispatch.case.295, br label %match.merge.37 dispatch.default.288: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.271, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.274, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.287 dispatch.case.289: ; preds = %match.arm.47 @@ -2116,7 +2131,7 @@ dispatch.merge.331: ; preds = %dispatch.case.338, br label %match.merge.37 dispatch.default.332: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.272, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.275, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.331 dispatch.case.333: ; preds = %match.arm.48 @@ -2173,7 +2188,7 @@ dispatch.merge.369: ; preds = %dispatch.case.405, br label %match.merge.37 dispatch.default.370: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.273, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.276, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.371: ; preds = %match.arm.49 @@ -2242,175 +2257,175 @@ dispatch.case.379: ; preds = %match.arm.49 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_u8(ptr %0, ptr %iNp271) + %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_i32(ptr %0, ptr %iNp274) + %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_SockAddr(ptr %0, ptr %iNp277) + %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__ptr_u32(ptr %0, ptr %iNp280) + %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__mptr_Value(ptr %0, ptr %iNp283) + %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__ptr_Array(ptr %0, ptr %iNp286) + %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__mptr_Member(ptr %0, ptr %iNp289) + %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_Object(ptr %0, ptr %iNp292) + %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_Sink(ptr %0, ptr %iNp295) + %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_Parser(ptr %0, ptr %iNp298) + %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_i64(ptr %0, ptr %iNp301) + %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_Parsed(ptr %0, ptr %iNp304) + %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_Diag(ptr %0, ptr %iNp307) + %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_Sha256(ptr %0, ptr %iNp310) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Dog(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_Dog(ptr %0, ptr %iNp313) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Cat(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_Cat(ptr %0, ptr %iNp316) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(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_ptr_CAllocator(ptr %0, ptr %iNp319) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(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_void(ptr %0, ptr %iNp322) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(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_Any(ptr %0, ptr %iNp325) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_2_Any(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_AR_2_Any(ptr %0, ptr %iNp328) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_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_SL_Any(ptr %0, ptr %iNp331) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_Dog(ptr %0, ptr %iNp331) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 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_ptr_Dog(ptr %0, ptr %iNp334) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_Cat(ptr %0, ptr %iNp334) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 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_ptr_Cat(ptr %0, ptr %iNp337) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp337) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 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_string(ptr %0, ptr %iNp340) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp340) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 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_AR_1_Any(ptr %0, ptr %iNp343) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp343) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 @@ -2421,13 +2436,13 @@ dispatch.case.405: ; preds = %match.arm.49 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 -dispatch.merge.524: ; preds = %dispatch.case.529, %dispatch.case.528, %dispatch.case.527, %dispatch.case.526, %dispatch.default.525 +dispatch.merge.524: ; preds = %dispatch.case.530, %dispatch.case.529, %dispatch.case.528, %dispatch.case.527, %dispatch.case.526, %dispatch.default.525 %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.274, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.277, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.524 dispatch.case.526: ; preds = %match.arm.50 @@ -2448,17 +2463,24 @@ dispatch.case.527: ; preds = %match.arm.50 dispatch.case.528: ; preds = %match.arm.50 %ua.raw357 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr358 = inttoptr i64 %ua.raw357 to ptr - %ua.load359 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr358, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load359) + %iNp358 = inttoptr i64 %ua.raw357 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp358) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.524 dispatch.case.529: ; preds = %match.arm.50 - %ua.raw361 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr362 = inttoptr i64 %ua.raw361 to ptr - %ua.load363 = load { [64 x i8], i1 }, ptr %ua.ptr362, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load363) + %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) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.524 + +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) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.524 } @@ -2469,7 +2491,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.275, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.278, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2565,7 +2587,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.276, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.279, 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 @@ -2573,7 +2595,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.277, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.280, 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 @@ -2583,13 +2605,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.278, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.281, 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.279, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.282, 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 @@ -2597,7 +2619,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.280, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.283, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2611,7 +2633,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.281, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.284, 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 @@ -2619,7 +2641,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.282, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.285, 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 @@ -2630,7 +2652,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.283, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.286, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2687,7 +2709,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.284, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.287, 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 @@ -2695,7 +2717,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.285, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.288, 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 @@ -2706,7 +2728,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.286, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.289, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2726,7 +2748,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.287, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.290, 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 @@ -2734,7 +2756,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.288, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.291, 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 @@ -2745,7 +2767,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.289, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.292, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -2966,9 +2988,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3561,14 +3580,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 95, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 96, 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 96, i64 undef }, i64 %ba.p2i5, 1 + %ba.val6 = insertvalue { i64, i64 } { i64 97, 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 @@ -3591,96 +3610,6 @@ entry: ; Function Attrs: nounwind 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.290, 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 - %load = load i64, ptr %allocaN, align 8 - %ba.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %load, 1 - %igp.ptr = getelementptr { i64, i64 }, ptr %allocaN, i64 0 - store { i64, i64 } %ba.val, ptr %igp.ptr, align 8 - %allocaN = alloca { ptr, i64 }, align 8 - %igp.ptr4 = getelementptr { i64, i64 }, ptr %allocaN, i64 0 - %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 - store ptr %igp.ptr4, ptr %gep, align 8 - %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.291, 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) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %ba.val12 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %loadN, 1 - %callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val12) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %alloca, align 8 - %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 10, i64 1) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %str.ptr = extractvalue { ptr, i64 } %loadN, 0 - %str.len = extractvalue { ptr, i64 } %loadN, 1 - %2 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len) - ret void -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @__insert_0(ptr %0) #0 { -entry: - %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.292, i64 11 }) - ret { ptr, i64 } %call -} - -; Function Attrs: nounwind -define internal i64 @pair_sum__pack_Cat_Dog(ptr %0, { i64 } %1, { i64 } %2) #0 { -entry: - %alloca = alloca { i64 }, align 8 - store { i64 } %1, ptr %alloca, align 8 - %allocaN = alloca { i64 }, align 8 - store { i64 } %2, ptr %allocaN, align 8 - %allocaN = alloca [2 x { i64, i64 }], align 8 - %load = load { i64 }, ptr %alloca, align 8 - %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 96, 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 95, 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 - %igp.ptr9 = getelementptr { i64, i64 }, ptr %allocaN, i64 0 - %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 - store ptr %igp.ptr9, ptr %gep, align 8 - %gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1 - store i64 2, ptr %gepN, align 8 - %loadN = load { i64 }, ptr %alloca, align 8 - %allocaN = alloca { i64 }, align 8 - store { i64 } %loadN, ptr %allocaN, align 8 - %call = call i64 @Cat.greet(ptr %0, ptr %allocaN) - %loadN = load { i64 }, ptr %allocaN, align 8 - %allocaN = alloca { i64 }, align 8 - store { i64 } %loadN, ptr %allocaN, align 8 - %callN = call i64 @Dog.greet(ptr %0, ptr %allocaN) - %add = add i64 %call, %callN - ret i64 %add -} - -; Function Attrs: nounwind -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.293, i64 11 }, ptr %alloca, align 8 @@ -3723,14 +3652,14 @@ entry: } ; Function Attrs: nounwind -define internal { ptr, i64 } @__insert_1(ptr %0) #0 { +define internal { ptr, i64 } @__insert_0(ptr %0) #0 { entry: %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.295, i64 11 }) ret { ptr, i64 } %call } ; Function Attrs: nounwind -define internal i64 @pair_sum__pack_Dog_Dog(ptr %0, { i64 } %1, { i64 } %2) #0 { +define internal i64 @pair_sum__pack_Cat_Dog(ptr %0, { i64 } %1, { i64 } %2) #0 { entry: %alloca = alloca { i64 }, align 8 store { i64 } %1, ptr %alloca, align 8 @@ -3741,14 +3670,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 95, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 97, 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 95, i64 undef }, i64 %ba.p2i5, 1 + %ba.val6 = insertvalue { i64, i64 } { i64 96, 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 @@ -3760,7 +3689,7 @@ entry: %loadN = load { i64 }, ptr %alloca, align 8 %allocaN = alloca { i64 }, align 8 store { i64 } %loadN, ptr %allocaN, align 8 - %call = call i64 @Dog.greet(ptr %0, ptr %allocaN) + %call = call i64 @Cat.greet(ptr %0, ptr %allocaN) %loadN = load { i64 }, ptr %allocaN, align 8 %allocaN = alloca { i64 }, align 8 store { i64 } %loadN, ptr %allocaN, align 8 @@ -3770,7 +3699,7 @@ entry: } ; Function Attrs: nounwind -define internal void @print__ct_s1a602d8c97d1af91__pack_i64(ptr %0, i64 %1) #0 { +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.296, i64 11 }, ptr %alloca, align 8 @@ -3813,12 +3742,102 @@ entry: } ; Function Attrs: nounwind -define internal { ptr, i64 } @__insert_2(ptr %0) #0 { +define internal { ptr, i64 } @__insert_1(ptr %0) #0 { entry: %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.298, i64 11 }) ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal i64 @pair_sum__pack_Dog_Dog(ptr %0, { i64 } %1, { i64 } %2) #0 { +entry: + %alloca = alloca { i64 }, align 8 + store { i64 } %1, ptr %alloca, align 8 + %allocaN = alloca { i64 }, align 8 + store { i64 } %2, ptr %allocaN, align 8 + %allocaN = alloca [2 x { i64, i64 }], align 8 + %load = load { i64 }, ptr %alloca, align 8 + %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 96, 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 96, 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 + %igp.ptr9 = getelementptr { i64, i64 }, ptr %allocaN, i64 0 + %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 + store ptr %igp.ptr9, ptr %gep, align 8 + %gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1 + store i64 2, ptr %gepN, align 8 + %loadN = load { i64 }, ptr %alloca, align 8 + %allocaN = alloca { i64 }, align 8 + store { i64 } %loadN, ptr %allocaN, align 8 + %call = call i64 @Dog.greet(ptr %0, ptr %allocaN) + %loadN = load { i64 }, ptr %allocaN, align 8 + %allocaN = alloca { i64 }, align 8 + store { i64 } %loadN, ptr %allocaN, align 8 + %callN = call i64 @Dog.greet(ptr %0, ptr %allocaN) + %add = add i64 %call, %callN + ret i64 %add +} + +; Function Attrs: nounwind +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.299, 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 + %load = load i64, ptr %allocaN, align 8 + %ba.val = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %load, 1 + %igp.ptr = getelementptr { i64, i64 }, ptr %allocaN, i64 0 + store { i64, i64 } %ba.val, ptr %igp.ptr, align 8 + %allocaN = alloca { ptr, i64 }, align 8 + %igp.ptr4 = getelementptr { i64, i64 }, ptr %allocaN, i64 0 + %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 + store ptr %igp.ptr4, ptr %gep, align 8 + %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.300, 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) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %ba.val12 = insertvalue { i64, i64 } { i64 5, i64 undef }, i64 %loadN, 1 + %callN = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val12) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %alloca, align 8 + %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 10, i64 1) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %str.ptr = extractvalue { ptr, i64 } %loadN, 0 + %str.len = extractvalue { ptr, i64 } %loadN, 1 + %2 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len) + ret void +} + +; 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.301, i64 11 }) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @struct_to_string__Source_Location(ptr %0, { { ptr, i64 }, i32, i32, { ptr, i64 } } %1) #0 { entry: @@ -3826,7 +3845,7 @@ 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.299, i64 15 }, { ptr, i64 } { ptr @str.300, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.302, i64 15 }, { ptr, i64 } { ptr @str.303, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3845,12 +3864,12 @@ while.body.126: ; preds = %while.hdr.125 while.exit.127: ; preds = %while.hdr.125 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.301, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.304, i64 1 }) ret { ptr, i64 } %callN if.then.128: ; preds = %while.body.126 %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.305, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.129 @@ -3862,7 +3881,7 @@ if.merge.129: ; preds = %if.then.128, %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.306, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.309, 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 @@ -3919,7 +3938,7 @@ 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.307, i64 9 }, { ptr, i64 } { ptr @str.308, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.310, i64 9 }, { ptr, i64 } { ptr @str.311, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3938,24 +3957,24 @@ while.body.131: ; preds = %while.hdr.130 while.exit.132: ; preds = %while.hdr.130 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.309, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.312, i64 1 }) ret { ptr, i64 } %callN if.then.133: ; preds = %while.body.131 %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.313, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.134 if.merge.134: ; preds = %if.then.133, %while.body.131 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.314, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.317, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.318, 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 @@ -3982,19 +4001,19 @@ fv.default: ; preds = %if.merge.134 fv.case: ; preds = %if.merge.134 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.134 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge fv.case21: ; preds = %if.merge.134 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -4004,7 +4023,7 @@ 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.316, i64 7 }, { ptr, i64 } { ptr @str.317, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.319, i64 7 }, { ptr, i64 } { ptr @str.320, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4023,24 +4042,24 @@ while.body.136: ; preds = %while.hdr.135 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.318, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.321, i64 1 }) ret { ptr, i64 } %callN 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.319, 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 br label %if.merge.139 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 [2 x { ptr, i64 }], ptr @field_names.322, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.325, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.326, 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 @@ -4067,13 +4086,13 @@ fv.case: ; preds = %if.merge.139 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.139 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 - %fv.val19 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -4082,7 +4101,7 @@ 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.324, i64 10 }, { ptr, i64 } { ptr @str.325, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.327, i64 10 }, { ptr, i64 } { ptr @str.328, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4101,24 +4120,24 @@ while.body.141: ; preds = %while.hdr.140 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.326, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, i64 1 }) ret { ptr, i64 } %callN 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.327, 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 br label %if.merge.144 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 [0 x { ptr, i64 }], ptr @field_names.328, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.331, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.332, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4137,7 +4156,7 @@ 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.330, i64 3 }, { ptr, i64 } { ptr @str.331, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.333, i64 3 }, { 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 @@ -4156,24 +4175,24 @@ while.body.146: ; preds = %while.hdr.145 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.332, 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.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.333, 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.149 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 [1 x { ptr, i64 }], ptr @field_names.335, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.338, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.339, 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 @@ -4206,7 +4225,7 @@ 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.337, i64 10 }, { ptr, i64 } { ptr @str.338, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.340, i64 10 }, { 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 @@ -4225,24 +4244,24 @@ while.body.151: ; preds = %while.hdr.150 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.339, 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.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.340, 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.154 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 [2 x { ptr, i64 }], ptr @field_names.343, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.346, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %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.347, 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 @@ -4268,7 +4287,7 @@ fv.default: ; preds = %if.merge.154 fv.case: ; preds = %if.merge.154 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.154 @@ -4283,7 +4302,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.345, i64 5 }, { ptr, i64 } { ptr @str.346, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.348, i64 5 }, { ptr, i64 } { ptr @str.349, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4302,24 +4321,24 @@ while.body.156: ; preds = %while.hdr.155 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.347, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.350, i64 1 }) ret { ptr, i64 } %callN 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.348, 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 br label %if.merge.159 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 [3 x { ptr, i64 }], ptr @field_names.352, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.353, 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, i64, { ptr, ptr, ptr } }, ptr %alloca, align 8 @@ -4346,7 +4365,7 @@ fv.default: ; preds = %if.merge.159 fv.case: ; preds = %if.merge.159 %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.159 @@ -4358,7 +4377,7 @@ fv.case20: ; preds = %if.merge.159 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -4367,7 +4386,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.354, i64 8 }, { ptr, i64 } { ptr @str.355, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.357, i64 8 }, { 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 @@ -4386,24 +4405,24 @@ while.body.161: ; preds = %while.hdr.160 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.356, 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.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.357, 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.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.361, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.362, 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, i64, i64 }, ptr %alloca, align 8 @@ -4430,7 +4449,7 @@ fv.default: ; preds = %if.merge.164 fv.case: ; preds = %if.merge.164 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.164 @@ -4450,7 +4469,7 @@ 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.363, i64 17 }, { ptr, i64 } { ptr @str.364, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.366, i64 17 }, { 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 @@ -4469,24 +4488,24 @@ 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.365, 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.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.366, 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.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 [4 x { ptr, i64 }], ptr @field_names.371, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.372, 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 { { ptr, ptr, ptr }, i64, i64, i64 }, ptr %alloca, align 8 @@ -4515,7 +4534,7 @@ fv.case: ; preds = %if.merge.169 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.169 @@ -4539,7 +4558,7 @@ 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.373, i64 4 }, { ptr, i64 } { ptr @str.374, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.376, i64 4 }, { 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 @@ -4558,24 +4577,24 @@ while.body.171: ; preds = %while.hdr.170 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.375, 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.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.376, 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.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 [1 x { ptr, i64 }], ptr @field_names.378, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.379, 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 { i32 }, ptr %alloca, align 4 @@ -4612,7 +4631,7 @@ 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.380, i64 10 }, { ptr, i64 } { ptr @str.381, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.383, i64 10 }, { 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 @@ -4631,24 +4650,24 @@ while.body.176: ; preds = %while.hdr.175 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.382, 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.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.383, 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.179 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 [5 x { ptr, i64 }], ptr @field_names.389, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.390, 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 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -4714,7 +4733,7 @@ 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.391, i64 13 }, { ptr, i64 } { ptr @str.392, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.394, i64 13 }, { 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 @@ -4733,24 +4752,24 @@ while.body.181: ; preds = %while.hdr.180 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.393, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.396, i64 1 }) ret { ptr, i64 } %callN 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.394, 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 br label %if.merge.184 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 [2 x { ptr, i64 }], ptr @field_names.397, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.398, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4792,7 +4811,7 @@ 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.399, i64 8 }, { ptr, i64 } { ptr @str.400, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.402, i64 8 }, { 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 @@ -4811,24 +4830,24 @@ while.body.186: ; preds = %while.hdr.185 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.401, 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.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.402, 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.189 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.408, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.409, 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 { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -4889,7 +4908,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.410, i64 5 }, { ptr, i64 } { ptr @str.411, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.413, i64 5 }, { 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 @@ -4908,24 +4927,24 @@ while.body.191: ; preds = %while.hdr.190 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.412, 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.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.413, 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.194 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 [3 x { ptr, i64 }], ptr @field_names.417, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.418, 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, i64, i64 }, ptr %alloca, align 8 @@ -4952,7 +4971,7 @@ fv.default: ; preds = %if.merge.194 fv.case: ; preds = %if.merge.194 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.194 @@ -4971,7 +4990,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.419, i64 6 }, { ptr, i64 } { ptr @str.420, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.422, i64 6 }, { 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 @@ -4990,24 +5009,24 @@ while.body.196: ; preds = %while.hdr.195 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.421, 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.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.422, 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.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.426, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.427, 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, i64 }, ptr %alloca, align 8 @@ -5034,7 +5053,7 @@ fv.default: ; preds = %if.merge.199 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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.199 @@ -5055,7 +5074,7 @@ entry: %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.428, i64 6 }, { ptr, i64 } { ptr @str.429, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.431, i64 6 }, { 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 @@ -5074,24 +5093,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.430, 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.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.431, 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.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 [2 x { ptr, i64 }], ptr @field_names.434, 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.435, 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 }, { i64, [24 x i8] } }, ptr %alloca, align 8 @@ -5125,7 +5144,7 @@ fv.case17: ; preds = %if.merge.204 %fv.field18 = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 1 store { i64, [24 x i8] } %fv.field18, ptr %ba.tmp19, align 8 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -5135,7 +5154,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.436, i64 4 }, { ptr, i64 } { ptr @str.437, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.439, i64 4 }, { 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 @@ -5154,24 +5173,24 @@ 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.438, 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.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.439, 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.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 [3 x { ptr, i64 }], ptr @field_names.443, 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.444, 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 }, ptr %alloca, align 8 @@ -5199,7 +5218,7 @@ fv.case: ; preds = %if.merge.209 %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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.209 @@ -5210,7 +5229,7 @@ fv.case17: ; preds = %if.merge.209 fv.case20: ; preds = %if.merge.209 %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -5221,7 +5240,7 @@ entry: %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.445, i64 6 }, { ptr, i64 } { ptr @str.446, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.448, i64 6 }, { 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 @@ -5240,24 +5259,24 @@ while.body.211: ; preds = %while.hdr.210 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.447, 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.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.448, 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.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.452, 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.453, 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, ptr, ptr } }, ptr %alloca, align 8 @@ -5297,7 +5316,7 @@ fv.case20: ; preds = %if.merge.214 %fv.field21 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 2 store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8 %ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -5306,7 +5325,7 @@ 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.454, i64 12 }, { ptr, i64 } { ptr @str.455, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.457, i64 12 }, { 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 @@ -5325,24 +5344,24 @@ 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.456, 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.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.457, 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.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 [0 x { ptr, i64 }], ptr @field_names.458, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.459, 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 {}, ptr %alloca, align 1 @@ -5362,7 +5381,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.460, i64 8 }, { ptr, i64 } { ptr @str.461, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.463, i64 8 }, { 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 @@ -5381,24 +5400,24 @@ while.body.221: ; preds = %while.hdr.220 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.462, 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.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.463, 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.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.467, 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.468, 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 }, i1, i1 }, ptr %alloca, align 8 @@ -5450,7 +5469,7 @@ entry: %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.469, i64 7 }, { ptr, i64 } { ptr @str.470, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.472, i64 7 }, { 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 @@ -5469,24 +5488,24 @@ while.body.226: ; preds = %while.hdr.225 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.471, 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.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.472, 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.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.476, 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.477, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5528,7 +5547,7 @@ fv.case22: ; preds = %if.merge.229 %fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2 store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8 %ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5538,7 +5557,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.478, i64 9 }, { ptr, i64 } { ptr @str.479, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.481, i64 9 }, { 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 @@ -5557,24 +5576,24 @@ 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.480, 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.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.481, 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.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 [2 x { ptr, i64 }], ptr @field_names.484, i64 0, i64 %loadN + %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.485, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -5617,7 +5636,7 @@ 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.486, i64 4 }, { ptr, i64 } { ptr @str.487, 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 @@ -5636,24 +5655,24 @@ while.body.236: ; preds = %while.hdr.235 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.488, 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.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.489, 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.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.492, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.495, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.496, 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 @@ -5699,7 +5718,7 @@ 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.494, i64 6 }, { ptr, i64 } { ptr @str.495, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.497, i64 6 }, { 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 @@ -5718,24 +5737,24 @@ 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.496, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.499, 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.497, i64 2 }) + %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.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 [7 x { ptr, i64 }], ptr @field_names.505, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.508, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.509, 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 @@ -5792,21 +5811,21 @@ fv.case28: ; preds = %if.merge.244 %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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge fv.case33: ; preds = %if.merge.244 %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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge fv.case38: ; preds = %if.merge.244 %fv.field39 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 6 store [16 x { i1, { ptr, i64 } }] %fv.field39, ptr %ba.tmp40, align 8 %ba.p2i41 = ptrtoint ptr %ba.tmp40 to i64 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -5817,7 +5836,7 @@ 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.507, i64 6 }, { ptr, i64 } { ptr @str.508, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.510, i64 6 }, { 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 @@ -5836,24 +5855,24 @@ while.body.246: ; preds = %while.hdr.245 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.509, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.512, 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.510, 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 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 [4 x { ptr, i64 }], ptr @field_names.515, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.516, 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 { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -5882,14 +5901,14 @@ fv.case: ; preds = %if.merge.249 %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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.249 %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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.249 @@ -5908,7 +5927,7 @@ define internal { ptr, i64 } @struct_to_string__Greeter(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.517, i64 7 }, { ptr, i64 } { ptr @str.518, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.520, i64 7 }, { 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 @@ -5927,24 +5946,24 @@ while.body.251: ; preds = %while.hdr.250 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.519, 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.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.520, 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.254 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 [2 x { ptr, i64 }], ptr @field_names.523, 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.524, 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 { ptr, ptr }, ptr %alloca, align 8 @@ -5970,13 +5989,13 @@ fv.default: ; preds = %if.merge.254 fv.case: ; preds = %if.merge.254 %fv.field = extractvalue { ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.254 %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge } @@ -5985,7 +6004,7 @@ 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.525, i64 17 }, { ptr, i64 } { ptr @str.526, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.528, i64 17 }, { 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 @@ -6004,24 +6023,24 @@ while.body.256: ; preds = %while.hdr.255 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.527, 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.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.528, 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.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 [1 x { ptr, i64 }], ptr @field_names.530, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.531, 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 }, ptr %alloca, align 8 @@ -6046,7 +6065,7 @@ fv.default: ; preds = %if.merge.259 fv.case: ; preds = %if.merge.259 %fv.field = extractvalue { ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -6055,7 +6074,7 @@ 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.532, i64 3 }, { ptr, i64 } { ptr @str.533, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.535, i64 3 }, { 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 @@ -6074,24 +6093,24 @@ 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.534, 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.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.535, 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.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 [1 x { ptr, i64 }], ptr @field_names.537, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.540, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.541, 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 @@ -6124,7 +6143,7 @@ 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.539, i64 3 }, { ptr, i64 } { ptr @str.540, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.542, i64 3 }, { 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 @@ -6143,24 +6162,24 @@ while.body.266: ; preds = %while.hdr.265 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.541, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.544, 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.542, 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 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 [1 x { ptr, i64 }], ptr @field_names.544, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.545, 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 { i64 }, ptr %alloca, align 8 @@ -6197,9 +6216,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.551, 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 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.546, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.549, 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 @@ -6218,8 +6237,8 @@ entry: if.then.277: ; 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.553, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.552, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.555, 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.278 @@ -6238,9 +6257,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.558, 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 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.554, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.557, 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 @@ -6259,8 +6278,8 @@ entry: if.then.279: ; 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.560, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.559, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.563, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.562, 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.280 @@ -6290,9 +6309,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.568, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.571, 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.561, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.564, 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 @@ -6309,8 +6328,8 @@ entry: if.then.281: ; 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.570, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.569, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.572, 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.282 @@ -6366,7 +6385,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -6375,7 +6394,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -6388,9 +6407,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.579, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.582, 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.571, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.574, 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 @@ -6409,8 +6428,8 @@ entry: if.then.283: ; 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.581, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.580, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.584, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.583, 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 @@ -6429,9 +6448,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.588, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.591, 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.582, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.585, 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 @@ -6450,8 +6469,8 @@ entry: if.then.285: ; 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.590, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.589, i64 1 }, { ptr, i64 } %callN) + %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 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.286 @@ -6468,7 +6487,7 @@ 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.591, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.594, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.296 @@ -6485,12 +6504,12 @@ while.body.297: ; preds = %while.hdr.296 while.exit.298: ; preds = %while.hdr.296 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.592, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.595, i64 1 }) ret { ptr, i64 } %call 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.593, 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 br label %if.merge.300 @@ -6519,7 +6538,7 @@ 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.594, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.597, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.301 @@ -6536,12 +6555,12 @@ while.body.302: ; preds = %while.hdr.301 while.exit.303: ; preds = %while.hdr.301 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.595, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.598, i64 1 }) ret { ptr, i64 } %call 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.596, 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.305 @@ -6554,7 +6573,7 @@ if.merge.305: ; preds = %if.then.304, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -6571,7 +6590,7 @@ 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.597, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.600, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.306 @@ -6588,12 +6607,12 @@ while.body.307: ; preds = %while.hdr.306 while.exit.308: ; preds = %while.hdr.306 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.598, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.601, i64 1 }) ret { ptr, i64 } %call 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.599, 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.310 @@ -6621,7 +6640,7 @@ 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.600, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.603, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.311 @@ -6638,12 +6657,12 @@ while.body.312: ; preds = %while.hdr.311 while.exit.313: ; preds = %while.hdr.311 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.601, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.604, i64 1 }) ret { ptr, i64 } %call 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.602, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.605, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.315 @@ -6672,7 +6691,7 @@ 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.603, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.606, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.316 @@ -6689,12 +6708,12 @@ while.body.317: ; preds = %while.hdr.316 while.exit.318: ; preds = %while.hdr.316 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.604, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.607, i64 1 }) ret { ptr, i64 } %call 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.605, 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.320 @@ -6723,7 +6742,7 @@ 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.606, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.609, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.321 @@ -6740,12 +6759,12 @@ while.body.322: ; preds = %while.hdr.321 while.exit.323: ; preds = %while.hdr.321 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.607, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.610, i64 1 }) ret { ptr, i64 } %call 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.608, 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 br label %if.merge.325 @@ -6776,7 +6795,7 @@ 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.609, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.612, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.326 @@ -6793,12 +6812,12 @@ while.body.327: ; preds = %while.hdr.326 while.exit.328: ; preds = %while.hdr.326 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.610, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.613, i64 1 }) ret { ptr, i64 } %call 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.611, 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.330 @@ -6828,7 +6847,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.612, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.615, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.339 @@ -6847,12 +6866,12 @@ while.body.340: ; preds = %while.hdr.339 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.613, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.616, i64 1 }) ret { ptr, i64 } %call 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.614, 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 br label %if.merge.343 @@ -6881,7 +6900,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.615, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.618, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.344 @@ -6900,12 +6919,12 @@ while.body.345: ; preds = %while.hdr.344 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.616, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.619, i64 1 }) ret { ptr, i64 } %call 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.617, i64 2 }) + %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.348 @@ -6934,7 +6953,7 @@ 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.618, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.621, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.349 @@ -6953,12 +6972,12 @@ while.body.350: ; preds = %while.hdr.349 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.619, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.622, i64 1 }) ret { ptr, i64 } %call 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.620, 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.353 @@ -6971,7 +6990,7 @@ if.merge.353: ; preds = %if.then.352, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -6988,7 +7007,7 @@ 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.621, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.624, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.354 @@ -7007,12 +7026,12 @@ while.body.355: ; preds = %while.hdr.354 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.622, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.625, i64 1 }) ret { ptr, i64 } %call 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.623, i64 2 }) + %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.358 @@ -7025,7 +7044,7 @@ if.merge.358: ; preds = %if.then.357, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -7042,7 +7061,7 @@ entry: %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.624, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.627, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.359 @@ -7061,12 +7080,12 @@ while.body.360: ; preds = %while.hdr.359 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.625, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.628, i64 1 }) ret { ptr, i64 } %call 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.626, i64 2 }) + %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 br label %if.merge.363 @@ -7079,7 +7098,7 @@ if.merge.363: ; preds = %if.then.362, %while %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 93, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 94, 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 @@ -7096,7 +7115,7 @@ 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.627, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.630, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.364 @@ -7115,12 +7134,12 @@ while.body.365: ; preds = %while.hdr.364 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.628, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.631, i64 1 }) ret { ptr, i64 } %call 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.629, 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.368 @@ -7162,12 +7181,12 @@ if.then.406: ; preds = %entry 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.632, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.631, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.635, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.634, 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.630, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] + %bp = phi { ptr, i64 } [ { ptr @str.633, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] ret { ptr, i64 } %bp } @@ -7190,12 +7209,12 @@ if.then.422: ; preds = %entry 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.635, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.634, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.638, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.637, 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.633, i64 4 }, %if.then.422 ], [ %callN, %if.else.423 ] + %bp = phi { ptr, i64 } [ { ptr @str.636, i64 4 }, %if.then.422 ], [ %callN, %if.else.423 ] ret { ptr, i64 } %bp } @@ -7218,12 +7237,12 @@ if.then.425: ; preds = %entry 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.638, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.637, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.641, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, 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.636, i64 4 }, %if.then.425 ], [ %callN, %if.else.426 ] + %bp = phi { ptr, i64 } [ { ptr @str.639, i64 4 }, %if.then.425 ], [ %callN, %if.else.426 ] ret { ptr, i64 } %bp } @@ -7246,12 +7265,12 @@ if.then.428: ; preds = %entry 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.641, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.644, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.643, 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.639, i64 4 }, %if.then.428 ], [ %callN, %if.else.429 ] + %bp = phi { ptr, i64 } [ { ptr @str.642, i64 4 }, %if.then.428 ], [ %callN, %if.else.429 ] ret { ptr, i64 } %bp } @@ -7274,12 +7293,12 @@ if.then.431: ; preds = %entry 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.644, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.643, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.647, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.646, 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.642, i64 4 }, %if.then.431 ], [ %callN, %if.else.432 ] + %bp = phi { ptr, i64 } [ { ptr @str.645, i64 4 }, %if.then.431 ], [ %callN, %if.else.432 ] ret { ptr, i64 } %bp } @@ -7301,12 +7320,12 @@ if.then.434: ; preds = %entry 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.647, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.646, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, 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.645, i64 4 }, %if.then.434 ], [ %callN, %if.else.435 ] + %bp = phi { ptr, i64 } [ { ptr @str.648, i64 4 }, %if.then.434 ], [ %callN, %if.else.435 ] ret { ptr, i64 } %bp } @@ -7329,12 +7348,12 @@ if.then.437: ; preds = %entry 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.650, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.653, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, 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.648, i64 4 }, %if.then.437 ], [ %callN, %if.else.438 ] + %bp = phi { ptr, i64 } [ { ptr @str.651, i64 4 }, %if.then.437 ], [ %callN, %if.else.438 ] ret { ptr, i64 } %bp } @@ -7357,12 +7376,12 @@ 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.653, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.656, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 18 }, { ptr, i64 } %callN) br label %if.merge.442 if.merge.442: ; preds = %if.else.441, %if.then.440 - %bp = phi { ptr, i64 } [ { ptr @str.651, i64 4 }, %if.then.440 ], [ %callN, %if.else.441 ] + %bp = phi { ptr, i64 } [ { ptr @str.654, i64 4 }, %if.then.440 ], [ %callN, %if.else.441 ] ret { ptr, i64 } %bp } @@ -7385,17 +7404,17 @@ if.then.443: ; preds = %entry 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.656, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.658, i64 5 }, { ptr, i64 } %callN) br label %if.merge.445 if.merge.445: ; preds = %if.else.444, %if.then.443 - %bp = phi { ptr, i64 } [ { ptr @str.654, i64 4 }, %if.then.443 ], [ %callN, %if.else.444 ] + %bp = phi { ptr, i64 } [ { ptr @str.657, i64 4 }, %if.then.443 ], [ %callN, %if.else.444 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7413,17 +7432,17 @@ 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.659, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.658, i64 3 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.448 if.merge.448: ; preds = %if.else.447, %if.then.446 - %bp = phi { ptr, i64 } [ { ptr @str.657, i64 4 }, %if.then.446 ], [ %callN, %if.else.447 ] + %bp = phi { ptr, i64 } [ { ptr @str.660, i64 4 }, %if.then.446 ], [ %callN, %if.else.447 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7441,17 +7460,17 @@ if.then.449: ; preds = %entry 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.662, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.661, i64 4 }, { ptr, i64 } %callN) + %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 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.660, i64 4 }, %if.then.449 ], [ %callN, %if.else.450 ] + %bp = phi { ptr, i64 } [ { ptr @str.663, i64 4 }, %if.then.449 ], [ %callN, %if.else.450 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7469,40 +7488,12 @@ 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.665, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.664, i64 9 }, { ptr, i64 } %callN) + %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.454 if.merge.454: ; preds = %if.else.453, %if.then.452 - %bp = phi { ptr, i64 } [ { ptr @str.663, i64 4 }, %if.then.452 ], [ %callN, %if.else.453 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.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.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.457 - -if.merge.457: ; preds = %if.else.456, %if.then.455 - %bp = phi { ptr, i64 } [ { ptr @str.666, i64 4 }, %if.then.455 ], [ %callN, %if.else.456 ] + %bp = phi { ptr, i64 } [ { ptr @str.666, i64 4 }, %if.then.452 ], [ %callN, %if.else.453 ] ret { ptr, i64 } %bp } @@ -7516,20 +7507,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.458, label %if.else.459 + br i1 %icmp, label %if.then.455, label %if.else.456 -if.then.458: ; preds = %entry - br label %if.merge.460 +if.then.455: ; preds = %entry + br label %if.merge.457 -if.else.459: ; preds = %entry +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.671, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.670, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.460 + br label %if.merge.457 -if.merge.460: ; preds = %if.else.459, %if.then.458 - %bp = phi { ptr, i64 } [ { ptr @str.669, i64 4 }, %if.then.458 ], [ %callN, %if.else.459 ] +if.merge.457: ; preds = %if.else.456, %if.then.455 + %bp = phi { ptr, i64 } [ { ptr @str.669, i64 4 }, %if.then.455 ], [ %callN, %if.else.456 ] ret { ptr, i64 } %bp } @@ -7544,20 +7535,20 @@ entry: store i64 %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.458, label %if.else.459 -if.then.461: ; preds = %entry - br label %if.merge.463 +if.then.458: ; preds = %entry + br label %if.merge.460 -if.else.462: ; preds = %entry +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.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.463 + br label %if.merge.460 -if.merge.463: ; preds = %if.else.462, %if.then.461 - %bp = phi { ptr, i64 } [ { ptr @str.672, i64 4 }, %if.then.461 ], [ %callN, %if.else.462 ] +if.merge.460: ; preds = %if.else.459, %if.then.458 + %bp = phi { ptr, i64 } [ { ptr @str.672, i64 4 }, %if.then.458 ], [ %callN, %if.else.459 ] ret { ptr, i64 } %bp } @@ -7571,6 +7562,34 @@ 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 + +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.677, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.676, 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.675, i64 4 }, %if.then.461 ], [ %callN, %if.else.462 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.464, label %if.else.465 if.then.464: ; preds = %entry @@ -7579,17 +7598,17 @@ 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.677, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.676, i64 9 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.466 if.merge.466: ; preds = %if.else.465, %if.then.464 - %bp = phi { ptr, i64 } [ { ptr @str.675, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] + %bp = phi { ptr, i64 } [ { ptr @str.678, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7607,17 +7626,17 @@ if.then.467: ; preds = %entry 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.680, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.679, i64 7 }, { ptr, i64 } %callN) + %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.469 if.merge.469: ; preds = %if.else.468, %if.then.467 - %bp = phi { ptr, i64 } [ { ptr @str.678, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] + %bp = phi { ptr, i64 } [ { ptr @str.681, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7635,17 +7654,17 @@ 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.683, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.682, i64 5 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.472 if.merge.472: ; preds = %if.else.471, %if.then.470 - %bp = phi { ptr, i64 } [ { ptr @str.681, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] + %bp = phi { ptr, i64 } [ { ptr @str.684, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7663,17 +7682,17 @@ if.then.473: ; preds = %entry 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.686, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.685, i64 7 }, { ptr, i64 } %callN) + %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.475 if.merge.475: ; preds = %if.else.474, %if.then.473 - %bp = phi { ptr, i64 } [ { ptr @str.684, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] + %bp = phi { ptr, i64 } [ { ptr @str.687, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7691,17 +7710,17 @@ if.then.476: ; preds = %entry 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.689, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.688, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.478 if.merge.478: ; preds = %if.else.477, %if.then.476 - %bp = phi { ptr, i64 } [ { ptr @str.687, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] + %bp = phi { ptr, i64 } [ { ptr @str.690, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7719,17 +7738,17 @@ if.then.479: ; preds = %entry 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.692, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.691, i64 7 }, { ptr, i64 } %callN) + %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 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.690, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] + %bp = phi { ptr, i64 } [ { ptr @str.693, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7747,17 +7766,17 @@ 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.695, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.694, i64 5 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.484 if.merge.484: ; preds = %if.else.483, %if.then.482 - %bp = phi { ptr, i64 } [ { ptr @str.693, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] + %bp = phi { ptr, i64 } [ { ptr @str.696, i64 4 }, %if.then.482 ], [ %callN, %if.else.483 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Dog(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7775,17 +7794,17 @@ if.then.485: ; 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.698, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.697, i64 7 }, { ptr, i64 } %callN) + %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.487 if.merge.487: ; preds = %if.else.486, %if.then.485 - %bp = phi { ptr, i64 } [ { ptr @str.696, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] + %bp = phi { ptr, i64 } [ { ptr @str.699, i64 4 }, %if.then.485 ], [ %callN, %if.else.486 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Dog(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Cat(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7803,17 +7822,17 @@ if.then.488: ; 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.701, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.700, i64 4 }, { ptr, i64 } %callN) + %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.490 if.merge.490: ; preds = %if.else.489, %if.then.488 - %bp = phi { ptr, i64 } [ { ptr @str.699, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] + %bp = phi { ptr, i64 } [ { ptr @str.702, i64 4 }, %if.then.488 ], [ %callN, %if.else.489 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Cat(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7831,17 +7850,17 @@ if.then.491: ; 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.704, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.703, i64 4 }, { ptr, i64 } %callN) + %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 12 }, { ptr, i64 } %callN) br label %if.merge.493 if.merge.493: ; preds = %if.else.492, %if.then.491 - %bp = phi { ptr, i64 } [ { ptr @str.702, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] + %bp = phi { ptr, i64 } [ { ptr @str.705, i64 4 }, %if.then.491 ], [ %callN, %if.else.492 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7859,17 +7878,17 @@ 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.707, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.706, i64 12 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.496 if.merge.496: ; preds = %if.else.495, %if.then.494 - %bp = phi { ptr, i64 } [ { ptr @str.705, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] + %bp = phi { ptr, i64 } [ { ptr @str.708, i64 4 }, %if.then.494 ], [ %callN, %if.else.495 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7887,17 +7906,17 @@ if.then.497: ; 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.710, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.709, i64 6 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.499 if.merge.499: ; preds = %if.else.498, %if.then.497 - %bp = phi { ptr, i64 } [ { ptr @str.708, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] + %bp = phi { ptr, i64 } [ { ptr @str.711, i64 4 }, %if.then.497 ], [ %callN, %if.else.498 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_2_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7915,17 +7934,17 @@ if.then.500: ; 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.713, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.712, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.502 if.merge.502: ; preds = %if.else.501, %if.then.500 - %bp = phi { ptr, i64 } [ { ptr @str.711, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] + %bp = phi { ptr, i64 } [ { ptr @str.714, i64 4 }, %if.then.500 ], [ %callN, %if.else.501 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_2_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7943,17 +7962,17 @@ if.then.503: ; 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.716, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.715, i64 7 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.505 if.merge.505: ; preds = %if.else.504, %if.then.503 - %bp = phi { ptr, i64 } [ { ptr @str.714, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] + %bp = phi { ptr, i64 } [ { ptr @str.717, i64 4 }, %if.then.503 ], [ %callN, %if.else.504 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_Dog(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7971,17 +7990,17 @@ if.then.506: ; 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.719, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.718, i64 6 }, { ptr, i64 } %callN) + %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.508 if.merge.508: ; preds = %if.else.507, %if.then.506 - %bp = phi { ptr, i64 } [ { ptr @str.717, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] + %bp = phi { ptr, i64 } [ { ptr @str.720, i64 4 }, %if.then.506 ], [ %callN, %if.else.507 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_Dog(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_Cat(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7999,17 +8018,17 @@ if.then.509: ; 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.722, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.721, i64 5 }, { ptr, i64 } %callN) + %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.511 if.merge.511: ; preds = %if.else.510, %if.then.509 - %bp = phi { ptr, i64 } [ { ptr @str.720, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] + %bp = phi { ptr, i64 } [ { ptr @str.723, i64 4 }, %if.then.509 ], [ %callN, %if.else.510 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_Cat(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8027,17 +8046,17 @@ if.then.512: ; 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.725, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.724, i64 5 }, { ptr, i64 } %callN) + %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.514 if.merge.514: ; preds = %if.else.513, %if.then.512 - %bp = phi { ptr, i64 } [ { ptr @str.723, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] + %bp = phi { ptr, i64 } [ { ptr @str.726, i64 4 }, %if.then.512 ], [ %callN, %if.else.513 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8055,17 +8074,17 @@ if.then.515: ; 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.728, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.727, i64 7 }, { ptr, i64 } %callN) + %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.517 if.merge.517: ; preds = %if.else.516, %if.then.515 - %bp = phi { ptr, i64 } [ { ptr @str.726, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] + %bp = phi { ptr, i64 } [ { ptr @str.729, i64 4 }, %if.then.515 ], [ %callN, %if.else.516 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8083,12 +8102,12 @@ if.then.518: ; 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.731, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.730, i64 7 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.520 if.merge.520: ; preds = %if.else.519, %if.then.518 - %bp = phi { ptr, i64 } [ { ptr @str.729, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] + %bp = phi { ptr, i64 } [ { ptr @str.732, i64 4 }, %if.then.518 ], [ %callN, %if.else.519 ] ret { ptr, i64 } %bp } @@ -8111,12 +8130,12 @@ if.then.521: ; 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.734, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.733, i64 5 }, { ptr, i64 } %callN) + %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.523 if.merge.523: ; preds = %if.else.522, %if.then.521 - %bp = phi { ptr, i64 } [ { ptr @str.732, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] + %bp = phi { ptr, i64 } [ { ptr @str.735, i64 4 }, %if.then.521 ], [ %callN, %if.else.522 ] ret { ptr, i64 } %bp } @@ -8129,17 +8148,17 @@ 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.530, label %if.merge.531 + br i1 %lnot, label %if.then.531, label %if.merge.532 -if.then.530: ; preds = %entry - ret { ptr, i64 } { ptr @str.735, i64 4 } +if.then.531: ; preds = %entry + ret { ptr, i64 } { ptr @str.738, i64 4 } -if.merge.531: ; preds = %entry +if.merge.532: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -8153,12 +8172,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.532, label %if.merge.533 + br i1 %lnot, label %if.then.533, label %if.merge.534 -if.then.532: ; preds = %entry - ret { ptr, i64 } { ptr @str.736, i64 4 } +if.then.533: ; preds = %entry + ret { ptr, i64 } { ptr @str.739, i64 4 } -if.merge.533: ; preds = %entry +if.merge.534: ; 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 @@ -8168,6 +8187,27 @@ if.merge.533: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.535, label %if.merge.536 + +if.then.535: ; preds = %entry + ret { ptr, i64 } { ptr @str.740, i64 4 } + +if.merge.536: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -8177,17 +8217,17 @@ 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.534, label %if.merge.535 + br i1 %lnot, label %if.then.537, label %if.merge.538 -if.then.534: ; preds = %entry - ret { ptr, i64 } { ptr @str.737, i64 4 } +if.then.537: ; preds = %entry + ret { ptr, i64 } { ptr @str.741, i64 4 } -if.merge.535: ; preds = %entry +if.merge.538: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -8201,17 +8241,17 @@ 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.536, label %if.merge.537 + br i1 %lnot, label %if.then.539, label %if.merge.540 -if.then.536: ; preds = %entry - ret { ptr, i64 } { ptr @str.738, i64 4 } +if.then.539: ; preds = %entry + ret { ptr, i64 } { ptr @str.742, i64 4 } -if.merge.537: ; preds = %entry +if.merge.540: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } diff --git a/examples/expected/0903-optionals-optional-roundtrip.ir b/examples/expected/0903-optionals-optional-roundtrip.ir index 311f08e..cf2ff5c 100644 --- a/examples/expected/0903-optionals-optional-roundtrip.ir +++ b/examples/expected/0903-optionals-optional-roundtrip.ir @@ -8,7 +8,7 @@ @str.78 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.79 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.80 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [177 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] +@__sx_type_is_unsigned = private constant [180 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.81 = private constant [9 x i8] c"Overflow\00" @tag.str.82 = private constant [3 x i8] c"Io\00" @@ -42,514 +42,514 @@ @tn.str.108 = private constant [6 x i8] c"isize\00" @tn.str.109 = private constant [6 x i8] c"usize\00" @tn.str.110 = private constant [5 x i8] c"void\00" -@tn.str.111 = private constant [6 x i8] c"*void\00" -@tn.str.112 = private constant [16 x i8] c"Source_Location\00" -@tn.str.113 = private constant [10 x i8] c"Allocator\00" -@tn.str.114 = private constant [8 x i8] c"Context\00" -@tn.str.115 = private constant [7 x i8] c"[4]i64\00" -@tn.str.116 = private constant [9 x i8] c"[]string\00" -@tn.str.117 = private constant [11 x i8] c"CAllocator\00" -@tn.str.118 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.119 = private constant [4 x i8] c"GPA\00" -@tn.str.120 = private constant [5 x i8] c"*GPA\00" -@tn.str.121 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.122 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.123 = private constant [6 x i8] c"Arena\00" -@tn.str.124 = private constant [7 x i8] c"*Arena\00" -@tn.str.125 = private constant [6 x i8] c"[*]u8\00" -@tn.str.126 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.127 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.128 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.129 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.130 = private constant [9 x i8] c"OpenMode\00" -@tn.str.131 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.132 = private constant [5 x i8] c"File\00" -@tn.str.133 = private constant [6 x i8] c"*File\00" -@tn.str.134 = private constant [6 x i8] c"?File\00" -@tn.str.135 = private constant [8 x i8] c"?string\00" -@tn.str.136 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.137 = private constant [4 x i8] c"*u8\00" -@tn.str.138 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.139 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.140 = private constant [5 x i8] c"*i32\00" -@tn.str.141 = private constant [9 x i8] c"SockAddr\00" -@tn.str.142 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.143 = private constant [5 x i8] c"*u32\00" -@tn.str.144 = private constant [10 x i8] c"JsonError\00" -@tn.str.145 = private constant [6 x i8] c"Array\00" -@tn.str.146 = private constant [7 x i8] c"Object\00" -@tn.str.147 = private constant [6 x i8] c"Value\00" -@tn.str.148 = private constant [7 x i8] c"Member\00" -@tn.str.149 = private constant [9 x i8] c"[*]Value\00" -@tn.str.150 = private constant [7 x i8] c"*Array\00" -@tn.str.151 = private constant [10 x i8] c"[*]Member\00" -@tn.str.152 = private constant [8 x i8] c"*Object\00" -@tn.str.153 = private constant [5 x i8] c"[]u8\00" -@tn.str.154 = private constant [5 x i8] c"Sink\00" -@tn.str.155 = private constant [6 x i8] c"*Sink\00" -@tn.str.156 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.157 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.158 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.159 = private constant [7 x i8] c"Parser\00" -@tn.str.160 = private constant [8 x i8] c"*Parser\00" -@tn.str.161 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.162 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.163 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.164 = private constant [13 x i8] c"Architecture\00" -@tn.str.165 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.166 = private constant [11 x i8] c"() -> bool\00" -@tn.str.167 = private constant [5 x i8] c"*i64\00" -@tn.str.168 = private constant [9 x i8] c"CliError\00" -@tn.str.169 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.170 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.171 = private constant [8 x i8] c"Command\00" -@tn.str.172 = private constant [10 x i8] c"FlagValue\00" -@tn.str.173 = private constant [5 x i8] c"Diag\00" -@tn.str.174 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.175 = private constant [7 x i8] c"Parsed\00" -@tn.str.176 = private constant [8 x i8] c"*Parsed\00" -@tn.str.177 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.178 = private constant [10 x i8] c"[]Command\00" -@tn.str.179 = private constant [6 x i8] c"*Diag\00" -@tn.str.180 = private constant [7 x i8] c"[8]i64\00" -@tn.str.181 = private constant [7 x i8] c"[64]u8\00" -@tn.str.182 = private constant [7 x i8] c"Sha256\00" -@tn.str.183 = private constant [8 x i8] c"*Sha256\00" -@tn.str.184 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.185 = private constant [8 x i8] c"[64]i64\00" -@tn.str.186 = private constant [5 x i8] c"?f32\00" -@tn.str.187 = private constant [13 x i8] c"ProposedSize\00" -@tn.str.188 = private constant [8 x i8] c"Sizable\00" -@tn.str.189 = private constant [18 x i8] c"__Sizable__Vtable\00" -@tn.str.190 = private constant [7 x i8] c"Widget\00" -@tn.str.191 = private constant [8 x i8] c"*Widget\00" -@tn.str.192 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.193 = private constant [7 x i8] c"**void\00" -@tn.str.194 = private constant [8 x i8] c"*string\00" -@tn.str.195 = private constant [6 x i8] c"[]Any\00" -@tn.str.196 = private constant [5 x i8] c"*Any\00" -@tn.str.197 = private constant [7 x i8] c"*[]Any\00" -@tn.str.198 = private constant [6 x i8] c"*bool\00" -@tn.str.199 = private constant [14 x i8] c"*ProposedSize\00" -@tn.str.200 = private constant [5 x i8] c"*f32\00" -@tn.str.201 = private constant [5 x i8] c"*f64\00" -@tn.str.202 = private constant [7 x i8] c"[1]Any\00" -@tn.str.203 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.204 = private constant [9 x i8] c"*Sizable\00" -@tn.str.205 = private constant [9 x i8] c"**Widget\00" -@tn.str.206 = private constant [19 x i8] c"*__Sizable__Vtable\00" -@tn.str.207 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.208 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.209 = private constant [11 x i8] c"*Allocator\00" -@tn.str.210 = private constant [9 x i8] c"*Context\00" -@tn.str.211 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.212 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.213 = private constant [8 x i8] c"*Member\00" -@tn.str.214 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.215 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.216 = private constant [9 x i8] c"*Command\00" -@tn.str.217 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.218 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.219 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.220 = private constant [7 x i8] c"*Value\00" -@tn.str.221 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.222 = private constant [14 x i8] c"*Architecture\00" -@tn.str.223 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.224 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.225 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.226 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.227 = private constant [10 x i8] c"*[]string\00" -@tn.str.228 = private constant [6 x i8] c"*[]u8\00" -@tn.str.229 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.230 = private constant [11 x i8] c"*[]Command\00" -@tn.str.231 = private constant [6 x i8] c"**GPA\00" -@tn.str.232 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.233 = private constant [8 x i8] c"**Arena\00" -@tn.str.234 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.235 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.236 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.237 = private constant [7 x i8] c"**File\00" -@tn.str.238 = private constant [5 x i8] c"**u8\00" -@tn.str.239 = private constant [6 x i8] c"**i32\00" -@tn.str.240 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.241 = private constant [6 x i8] c"**u32\00" -@tn.str.242 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.243 = private constant [8 x i8] c"**Array\00" -@tn.str.244 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.245 = private constant [9 x i8] c"**Object\00" -@tn.str.246 = private constant [7 x i8] c"**Sink\00" -@tn.str.247 = private constant [9 x i8] c"**Parser\00" -@tn.str.248 = private constant [6 x i8] c"**i64\00" -@tn.str.249 = private constant [9 x i8] c"**Parsed\00" -@tn.str.250 = private constant [7 x i8] c"**Diag\00" -@tn.str.251 = private constant [9 x i8] c"**Sha256\00" -@tn.str.252 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.253 = private constant [8 x i8] c"***void\00" -@tn.str.254 = private constant [9 x i8] c"**string\00" -@tn.str.255 = private constant [6 x i8] c"**Any\00" -@tn.str.256 = private constant [8 x i8] c"**[]Any\00" -@tn.str.257 = private constant [7 x i8] c"**bool\00" -@tn.str.258 = private constant [15 x i8] c"**ProposedSize\00" -@tn.str.259 = private constant [6 x i8] c"**f32\00" -@tn.str.260 = private constant [6 x i8] c"**f64\00" -@tn.str.261 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.262 = private constant [10 x i8] c"**Sizable\00" -@tn.str.263 = private constant [10 x i8] c"***Widget\00" -@tn.str.264 = private constant [20 x i8] c"**__Sizable__Vtable\00" -@tn.str.265 = private constant [7 x i8] c"*?File\00" -@tn.str.266 = private constant [9 x i8] c"*?string\00" -@tn.str.267 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.268 = private constant [9 x i8] c"*?[64]u8\00" -@tn.str.269 = private constant [6 x i8] c"*?f32\00" -@__sx_type_names = private constant [177 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 15 }, { ptr, i64 } { ptr @tn.str.113, i64 9 }, { ptr, i64 } { ptr @tn.str.114, i64 7 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 8 }, { ptr, i64 } { ptr @tn.str.117, i64 10 }, { ptr, i64 } { ptr @tn.str.118, i64 11 }, { ptr, i64 } { ptr @tn.str.119, i64 3 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 10 }, { ptr, i64 } { ptr @tn.str.122, i64 11 }, { ptr, i64 } { ptr @tn.str.123, i64 5 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 5 }, { ptr, i64 } { ptr @tn.str.126, i64 8 }, { ptr, i64 } { ptr @tn.str.127, i64 9 }, { ptr, i64 } { ptr @tn.str.128, i64 17 }, { ptr, i64 } { ptr @tn.str.129, i64 18 }, { ptr, i64 } { ptr @tn.str.130, i64 8 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 4 }, { ptr, i64 } { ptr @tn.str.133, i64 5 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 7 }, { ptr, i64 } { ptr @tn.str.136, i64 10 }, { ptr, i64 } { ptr @tn.str.137, i64 3 }, { ptr, i64 } { ptr @tn.str.138, i64 13 }, { ptr, i64 } { ptr @tn.str.139, i64 14 }, { ptr, i64 } { ptr @tn.str.140, i64 4 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 9 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 9 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 6 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 6 }, { ptr, i64 } { ptr @tn.str.149, i64 8 }, { ptr, i64 } { ptr @tn.str.150, i64 6 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 7 }, { ptr, i64 } { ptr @tn.str.153, i64 4 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 5 }, { ptr, i64 } { ptr @tn.str.156, i64 16 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 21 }, { ptr, i64 } { ptr @tn.str.159, i64 6 }, { ptr, i64 } { ptr @tn.str.160, i64 7 }, { ptr, i64 } { ptr @tn.str.161, i64 24 }, { ptr, i64 } { ptr @tn.str.162, i64 23 }, { ptr, i64 } { ptr @tn.str.163, i64 15 }, { ptr, i64 } { ptr @tn.str.164, i64 12 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 10 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 8 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 10 }, { ptr, i64 } { ptr @tn.str.171, i64 7 }, { ptr, i64 } { ptr @tn.str.172, i64 9 }, { ptr, i64 } { ptr @tn.str.173, i64 4 }, { ptr, i64 } { ptr @tn.str.174, i64 13 }, { ptr, i64 } { ptr @tn.str.175, i64 6 }, { ptr, i64 } { ptr @tn.str.176, i64 7 }, { ptr, i64 } { ptr @tn.str.177, i64 18 }, { ptr, i64 } { ptr @tn.str.178, i64 9 }, { ptr, i64 } { ptr @tn.str.179, i64 5 }, { ptr, i64 } { ptr @tn.str.180, i64 6 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 4 }, { ptr, i64 } { ptr @tn.str.187, i64 12 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 17 }, { ptr, i64 } { ptr @tn.str.190, i64 6 }, { ptr, i64 } { ptr @tn.str.191, i64 7 }, { ptr, i64 } { ptr @tn.str.192, i64 12 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 7 }, { ptr, i64 } { ptr @tn.str.195, i64 5 }, { ptr, i64 } { ptr @tn.str.196, i64 4 }, { ptr, i64 } { ptr @tn.str.197, i64 6 }, { ptr, i64 } { ptr @tn.str.198, i64 5 }, { ptr, i64 } { ptr @tn.str.199, i64 13 }, { ptr, i64 } { ptr @tn.str.200, i64 4 }, { ptr, i64 } { ptr @tn.str.201, i64 4 }, { ptr, i64 } { ptr @tn.str.202, i64 6 }, { ptr, i64 } { ptr @tn.str.203, i64 7 }, { ptr, i64 } { ptr @tn.str.204, i64 8 }, { ptr, i64 } { ptr @tn.str.205, i64 8 }, { ptr, i64 } { ptr @tn.str.206, i64 18 }, { ptr, i64 } { ptr @tn.str.207, i64 7 }, { ptr, i64 } { ptr @tn.str.208, i64 16 }, { ptr, i64 } { ptr @tn.str.209, i64 10 }, { ptr, i64 } { ptr @tn.str.210, i64 8 }, { ptr, i64 } { ptr @tn.str.211, i64 11 }, { ptr, i64 } { ptr @tn.str.212, i64 14 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 13 }, { ptr, i64 } { ptr @tn.str.215, i64 9 }, { ptr, i64 } { ptr @tn.str.216, i64 8 }, { ptr, i64 } { ptr @tn.str.217, i64 10 }, { ptr, i64 } { ptr @tn.str.218, i64 9 }, { ptr, i64 } { ptr @tn.str.219, i64 9 }, { ptr, i64 } { ptr @tn.str.220, i64 6 }, { ptr, i64 } { ptr @tn.str.221, i64 16 }, { ptr, i64 } { ptr @tn.str.222, i64 13 }, { ptr, i64 } { ptr @tn.str.223, i64 14 }, { 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 9 }, { ptr, i64 } { ptr @tn.str.228, i64 5 }, { ptr, i64 } { ptr @tn.str.229, i64 11 }, { ptr, i64 } { ptr @tn.str.230, i64 10 }, { ptr, i64 } { ptr @tn.str.231, i64 5 }, { ptr, i64 } { ptr @tn.str.232, i64 12 }, { ptr, i64 } { ptr @tn.str.233, i64 7 }, { ptr, i64 } { ptr @tn.str.234, i64 6 }, { ptr, i64 } { ptr @tn.str.235, i64 10 }, { ptr, i64 } { ptr @tn.str.236, i64 19 }, { ptr, i64 } { ptr @tn.str.237, i64 6 }, { ptr, i64 } { ptr @tn.str.238, i64 4 }, { ptr, i64 } { ptr @tn.str.239, i64 5 }, { ptr, i64 } { ptr @tn.str.240, i64 10 }, { ptr, i64 } { ptr @tn.str.241, i64 5 }, { ptr, i64 } { ptr @tn.str.242, i64 9 }, { ptr, i64 } { ptr @tn.str.243, i64 7 }, { ptr, i64 } { ptr @tn.str.244, i64 10 }, { ptr, i64 } { ptr @tn.str.245, i64 8 }, { ptr, i64 } { ptr @tn.str.246, i64 6 }, { ptr, i64 } { ptr @tn.str.247, i64 8 }, { ptr, i64 } { ptr @tn.str.248, i64 5 }, { ptr, i64 } { ptr @tn.str.249, i64 8 }, { ptr, i64 } { ptr @tn.str.250, i64 6 }, { ptr, i64 } { ptr @tn.str.251, i64 8 }, { ptr, i64 } { ptr @tn.str.252, i64 13 }, { ptr, i64 } { ptr @tn.str.253, i64 7 }, { ptr, i64 } { ptr @tn.str.254, i64 8 }, { ptr, i64 } { ptr @tn.str.255, i64 5 }, { ptr, i64 } { ptr @tn.str.256, i64 7 }, { ptr, i64 } { ptr @tn.str.257, i64 6 }, { ptr, i64 } { ptr @tn.str.258, i64 14 }, { ptr, i64 } { ptr @tn.str.259, i64 5 }, { ptr, i64 } { ptr @tn.str.260, i64 5 }, { ptr, i64 } { ptr @tn.str.261, i64 8 }, { ptr, i64 } { ptr @tn.str.262, i64 9 }, { ptr, i64 } { ptr @tn.str.263, i64 9 }, { ptr, i64 } { ptr @tn.str.264, i64 19 }, { ptr, i64 } { ptr @tn.str.265, i64 6 }, { ptr, i64 } { ptr @tn.str.266, i64 8 }, { ptr, i64 } { ptr @tn.str.267, i64 15 }, { ptr, i64 } { ptr @tn.str.268, i64 8 }, { ptr, i64 } { ptr @tn.str.269, i64 5 }] -@str.270 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.271 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.272 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@tn.str.111 = private constant [8 x i8] c"cstring\00" +@tn.str.112 = private constant [6 x i8] c"*void\00" +@tn.str.113 = private constant [16 x i8] c"Source_Location\00" +@tn.str.114 = private constant [10 x i8] c"Allocator\00" +@tn.str.115 = private constant [8 x i8] c"Context\00" +@tn.str.116 = private constant [7 x i8] c"[4]i64\00" +@tn.str.117 = private constant [9 x i8] c"[]string\00" +@tn.str.118 = private constant [11 x i8] c"CAllocator\00" +@tn.str.119 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.120 = private constant [4 x i8] c"GPA\00" +@tn.str.121 = private constant [5 x i8] c"*GPA\00" +@tn.str.122 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.123 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.124 = private constant [6 x i8] c"Arena\00" +@tn.str.125 = private constant [7 x i8] c"*Arena\00" +@tn.str.126 = private constant [6 x i8] c"[*]u8\00" +@tn.str.127 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.128 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.129 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.130 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.131 = private constant [9 x i8] c"OpenMode\00" +@tn.str.132 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.133 = private constant [5 x i8] c"File\00" +@tn.str.134 = private constant [6 x i8] c"*File\00" +@tn.str.135 = private constant [6 x i8] c"?File\00" +@tn.str.136 = private constant [8 x i8] c"?string\00" +@tn.str.137 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.138 = private constant [9 x i8] c"?cstring\00" +@tn.str.139 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.140 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.141 = private constant [5 x i8] c"*i32\00" +@tn.str.142 = private constant [9 x i8] c"SockAddr\00" +@tn.str.143 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.144 = private constant [5 x i8] c"*u32\00" +@tn.str.145 = private constant [10 x i8] c"JsonError\00" +@tn.str.146 = private constant [6 x i8] c"Array\00" +@tn.str.147 = private constant [7 x i8] c"Object\00" +@tn.str.148 = private constant [6 x i8] c"Value\00" +@tn.str.149 = private constant [7 x i8] c"Member\00" +@tn.str.150 = private constant [9 x i8] c"[*]Value\00" +@tn.str.151 = private constant [7 x i8] c"*Array\00" +@tn.str.152 = private constant [10 x i8] c"[*]Member\00" +@tn.str.153 = private constant [8 x i8] c"*Object\00" +@tn.str.154 = private constant [5 x i8] c"[]u8\00" +@tn.str.155 = private constant [5 x i8] c"Sink\00" +@tn.str.156 = private constant [6 x i8] c"*Sink\00" +@tn.str.157 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.158 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.159 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.160 = private constant [7 x i8] c"Parser\00" +@tn.str.161 = private constant [8 x i8] c"*Parser\00" +@tn.str.162 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.163 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.164 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.165 = private constant [13 x i8] c"Architecture\00" +@tn.str.166 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.167 = private constant [11 x i8] c"() -> bool\00" +@tn.str.168 = private constant [5 x i8] c"*i64\00" +@tn.str.169 = private constant [9 x i8] c"CliError\00" +@tn.str.170 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.171 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.172 = private constant [8 x i8] c"Command\00" +@tn.str.173 = private constant [10 x i8] c"FlagValue\00" +@tn.str.174 = private constant [5 x i8] c"Diag\00" +@tn.str.175 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.176 = private constant [7 x i8] c"Parsed\00" +@tn.str.177 = private constant [8 x i8] c"*Parsed\00" +@tn.str.178 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.179 = private constant [10 x i8] c"[]Command\00" +@tn.str.180 = private constant [6 x i8] c"*Diag\00" +@tn.str.181 = private constant [7 x i8] c"[8]i64\00" +@tn.str.182 = private constant [7 x i8] c"[64]u8\00" +@tn.str.183 = private constant [7 x i8] c"Sha256\00" +@tn.str.184 = private constant [8 x i8] c"*Sha256\00" +@tn.str.185 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.186 = private constant [8 x i8] c"[64]i64\00" +@tn.str.187 = private constant [5 x i8] c"?f32\00" +@tn.str.188 = private constant [13 x i8] c"ProposedSize\00" +@tn.str.189 = private constant [8 x i8] c"Sizable\00" +@tn.str.190 = private constant [18 x i8] c"__Sizable__Vtable\00" +@tn.str.191 = private constant [7 x i8] c"Widget\00" +@tn.str.192 = private constant [8 x i8] c"*Widget\00" +@tn.str.193 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.194 = private constant [7 x i8] c"**void\00" +@tn.str.195 = private constant [8 x i8] c"*string\00" +@tn.str.196 = private constant [6 x i8] c"[]Any\00" +@tn.str.197 = private constant [5 x i8] c"*Any\00" +@tn.str.198 = private constant [7 x i8] c"*[]Any\00" +@tn.str.199 = private constant [4 x i8] c"*u8\00" +@tn.str.200 = private constant [6 x i8] c"*bool\00" +@tn.str.201 = private constant [14 x i8] c"*ProposedSize\00" +@tn.str.202 = private constant [5 x i8] c"*f32\00" +@tn.str.203 = private constant [5 x i8] c"*f64\00" +@tn.str.204 = private constant [7 x i8] c"[1]Any\00" +@tn.str.205 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.206 = private constant [9 x i8] c"*Sizable\00" +@tn.str.207 = private constant [9 x i8] c"**Widget\00" +@tn.str.208 = private constant [19 x i8] c"*__Sizable__Vtable\00" +@tn.str.209 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.210 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.211 = private constant [11 x i8] c"*Allocator\00" +@tn.str.212 = private constant [9 x i8] c"*Context\00" +@tn.str.213 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.214 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.215 = private constant [8 x i8] c"*Member\00" +@tn.str.216 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.217 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.218 = private constant [9 x i8] c"*Command\00" +@tn.str.219 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.220 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.221 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.222 = private constant [7 x i8] c"*Value\00" +@tn.str.223 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.224 = private constant [14 x i8] c"*Architecture\00" +@tn.str.225 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.226 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.227 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.228 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.229 = private constant [10 x i8] c"*[]string\00" +@tn.str.230 = private constant [6 x i8] c"*[]u8\00" +@tn.str.231 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.232 = private constant [11 x i8] c"*[]Command\00" +@tn.str.233 = private constant [6 x i8] c"**GPA\00" +@tn.str.234 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.235 = private constant [8 x i8] c"**Arena\00" +@tn.str.236 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.237 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.238 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.239 = private constant [7 x i8] c"**File\00" +@tn.str.240 = private constant [6 x i8] c"**i32\00" +@tn.str.241 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.242 = private constant [6 x i8] c"**u32\00" +@tn.str.243 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.244 = private constant [8 x i8] c"**Array\00" +@tn.str.245 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.246 = private constant [9 x i8] c"**Object\00" +@tn.str.247 = private constant [7 x i8] c"**Sink\00" +@tn.str.248 = private constant [9 x i8] c"**Parser\00" +@tn.str.249 = private constant [6 x i8] c"**i64\00" +@tn.str.250 = private constant [9 x i8] c"**Parsed\00" +@tn.str.251 = private constant [7 x i8] c"**Diag\00" +@tn.str.252 = private constant [9 x i8] c"**Sha256\00" +@tn.str.253 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.254 = private constant [8 x i8] c"***void\00" +@tn.str.255 = private constant [9 x i8] c"**string\00" +@tn.str.256 = private constant [6 x i8] c"**Any\00" +@tn.str.257 = private constant [8 x i8] c"**[]Any\00" +@tn.str.258 = private constant [5 x i8] c"**u8\00" +@tn.str.259 = private constant [7 x i8] c"**bool\00" +@tn.str.260 = private constant [15 x i8] c"**ProposedSize\00" +@tn.str.261 = private constant [6 x i8] c"**f32\00" +@tn.str.262 = private constant [6 x i8] c"**f64\00" +@tn.str.263 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.264 = private constant [10 x i8] c"**Sizable\00" +@tn.str.265 = private constant [10 x i8] c"***Widget\00" +@tn.str.266 = private constant [20 x i8] c"**__Sizable__Vtable\00" +@tn.str.267 = private constant [7 x i8] c"*?File\00" +@tn.str.268 = private constant [9 x i8] c"*?string\00" +@tn.str.269 = private constant [10 x i8] c"*?cstring\00" +@tn.str.270 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.271 = private constant [9 x i8] c"*?[64]u8\00" +@tn.str.272 = private constant [6 x i8] c"*?f32\00" +@__sx_type_names = private constant [180 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 7 }, { ptr, i64 } { ptr @tn.str.112, i64 5 }, { ptr, i64 } { ptr @tn.str.113, i64 15 }, { ptr, i64 } { ptr @tn.str.114, i64 9 }, { ptr, i64 } { ptr @tn.str.115, i64 7 }, { ptr, i64 } { ptr @tn.str.116, i64 6 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 10 }, { ptr, i64 } { ptr @tn.str.119, i64 11 }, { ptr, i64 } { ptr @tn.str.120, i64 3 }, { ptr, i64 } { ptr @tn.str.121, i64 4 }, { ptr, i64 } { ptr @tn.str.122, i64 10 }, { ptr, i64 } { ptr @tn.str.123, i64 11 }, { ptr, i64 } { ptr @tn.str.124, i64 5 }, { ptr, i64 } { ptr @tn.str.125, i64 6 }, { ptr, i64 } { ptr @tn.str.126, i64 5 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 9 }, { ptr, i64 } { ptr @tn.str.129, i64 17 }, { ptr, i64 } { ptr @tn.str.130, i64 18 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 8 }, { ptr, i64 } { ptr @tn.str.133, i64 4 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 7 }, { ptr, i64 } { ptr @tn.str.137, i64 10 }, { ptr, i64 } { ptr @tn.str.138, i64 8 }, { ptr, i64 } { ptr @tn.str.139, i64 13 }, { ptr, i64 } { ptr @tn.str.140, i64 14 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 9 }, { ptr, i64 } { ptr @tn.str.144, i64 4 }, { ptr, i64 } { ptr @tn.str.145, i64 9 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 6 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 6 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 6 }, { ptr, i64 } { ptr @tn.str.152, i64 9 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 5 }, { ptr, i64 } { ptr @tn.str.157, i64 16 }, { ptr, i64 } { ptr @tn.str.158, i64 14 }, { ptr, i64 } { ptr @tn.str.159, i64 21 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 7 }, { ptr, i64 } { ptr @tn.str.162, i64 24 }, { ptr, i64 } { ptr @tn.str.163, i64 23 }, { ptr, i64 } { ptr @tn.str.164, i64 15 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 12 }, { ptr, i64 } { ptr @tn.str.167, i64 10 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 8 }, { ptr, i64 } { ptr @tn.str.171, i64 10 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 9 }, { ptr, i64 } { ptr @tn.str.174, i64 4 }, { ptr, i64 } { ptr @tn.str.175, i64 13 }, { ptr, i64 } { ptr @tn.str.176, i64 6 }, { ptr, i64 } { ptr @tn.str.177, i64 7 }, { ptr, i64 } { ptr @tn.str.178, i64 18 }, { ptr, i64 } { ptr @tn.str.179, i64 9 }, { ptr, i64 } { ptr @tn.str.180, i64 5 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 4 }, { ptr, i64 } { ptr @tn.str.188, i64 12 }, { ptr, i64 } { ptr @tn.str.189, i64 7 }, { ptr, i64 } { ptr @tn.str.190, i64 17 }, { ptr, i64 } { ptr @tn.str.191, i64 6 }, { ptr, i64 } { ptr @tn.str.192, i64 7 }, { ptr, i64 } { ptr @tn.str.193, i64 12 }, { ptr, i64 } { ptr @tn.str.194, i64 6 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 5 }, { ptr, i64 } { ptr @tn.str.197, i64 4 }, { ptr, i64 } { ptr @tn.str.198, i64 6 }, { ptr, i64 } { ptr @tn.str.199, i64 3 }, { ptr, i64 } { ptr @tn.str.200, i64 5 }, { ptr, i64 } { ptr @tn.str.201, i64 13 }, { ptr, i64 } { ptr @tn.str.202, i64 4 }, { ptr, i64 } { ptr @tn.str.203, i64 4 }, { ptr, i64 } { ptr @tn.str.204, i64 6 }, { ptr, i64 } { ptr @tn.str.205, i64 7 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 8 }, { ptr, i64 } { ptr @tn.str.208, i64 18 }, { ptr, i64 } { ptr @tn.str.209, i64 7 }, { ptr, i64 } { ptr @tn.str.210, i64 16 }, { ptr, i64 } { ptr @tn.str.211, i64 10 }, { ptr, i64 } { ptr @tn.str.212, i64 8 }, { ptr, i64 } { ptr @tn.str.213, i64 11 }, { ptr, i64 } { ptr @tn.str.214, i64 14 }, { ptr, i64 } { ptr @tn.str.215, i64 7 }, { ptr, i64 } { ptr @tn.str.216, i64 13 }, { ptr, i64 } { ptr @tn.str.217, i64 9 }, { ptr, i64 } { ptr @tn.str.218, i64 8 }, { ptr, i64 } { ptr @tn.str.219, i64 10 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 9 }, { ptr, i64 } { ptr @tn.str.222, i64 6 }, { ptr, i64 } { ptr @tn.str.223, i64 16 }, { ptr, i64 } { ptr @tn.str.224, i64 13 }, { ptr, i64 } { ptr @tn.str.225, i64 14 }, { ptr, i64 } { ptr @tn.str.226, i64 7 }, { ptr, i64 } { ptr @tn.str.227, i64 7 }, { ptr, i64 } { ptr @tn.str.228, i64 8 }, { ptr, i64 } { ptr @tn.str.229, i64 9 }, { ptr, i64 } { ptr @tn.str.230, i64 5 }, { ptr, i64 } { ptr @tn.str.231, i64 11 }, { ptr, i64 } { ptr @tn.str.232, i64 10 }, { ptr, i64 } { ptr @tn.str.233, i64 5 }, { ptr, i64 } { ptr @tn.str.234, i64 12 }, { ptr, i64 } { ptr @tn.str.235, i64 7 }, { ptr, i64 } { ptr @tn.str.236, i64 6 }, { ptr, i64 } { ptr @tn.str.237, i64 10 }, { ptr, i64 } { ptr @tn.str.238, i64 19 }, { ptr, i64 } { ptr @tn.str.239, i64 6 }, { ptr, i64 } { ptr @tn.str.240, i64 5 }, { ptr, i64 } { ptr @tn.str.241, i64 10 }, { ptr, i64 } { ptr @tn.str.242, i64 5 }, { ptr, i64 } { ptr @tn.str.243, i64 9 }, { ptr, i64 } { ptr @tn.str.244, i64 7 }, { ptr, i64 } { ptr @tn.str.245, i64 10 }, { ptr, i64 } { ptr @tn.str.246, i64 8 }, { ptr, i64 } { ptr @tn.str.247, i64 6 }, { ptr, i64 } { ptr @tn.str.248, i64 8 }, { ptr, i64 } { ptr @tn.str.249, i64 5 }, { ptr, i64 } { ptr @tn.str.250, i64 8 }, { ptr, i64 } { ptr @tn.str.251, i64 6 }, { ptr, i64 } { ptr @tn.str.252, i64 8 }, { ptr, i64 } { ptr @tn.str.253, i64 13 }, { ptr, i64 } { ptr @tn.str.254, i64 7 }, { ptr, i64 } { ptr @tn.str.255, i64 8 }, { ptr, i64 } { ptr @tn.str.256, i64 5 }, { ptr, i64 } { ptr @tn.str.257, i64 7 }, { ptr, i64 } { ptr @tn.str.258, i64 4 }, { ptr, i64 } { ptr @tn.str.259, i64 6 }, { ptr, i64 } { ptr @tn.str.260, i64 14 }, { ptr, i64 } { ptr @tn.str.261, i64 5 }, { ptr, i64 } { ptr @tn.str.262, i64 5 }, { ptr, i64 } { ptr @tn.str.263, i64 8 }, { ptr, i64 } { ptr @tn.str.264, i64 9 }, { ptr, i64 } { ptr @tn.str.265, i64 9 }, { ptr, i64 } { ptr @tn.str.266, i64 19 }, { ptr, i64 } { ptr @tn.str.267, i64 6 }, { ptr, i64 } { ptr @tn.str.268, i64 8 }, { ptr, i64 } { ptr @tn.str.269, i64 9 }, { ptr, i64 } { ptr @tn.str.270, i64 15 }, { ptr, i64 } { ptr @tn.str.271, i64 8 }, { ptr, i64 } { ptr @tn.str.272, i64 5 }] @str.273 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.274 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.275 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.276 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.277 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.278 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.279 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.280 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.281 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.282 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.283 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.284 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.276 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.277 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.278 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.279 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.280 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.281 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.282 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.283 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.284 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.285 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.286 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.287 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @str.288 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.289 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.290 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.291 = private unnamed_addr constant [22 x i8] c"=== Direct calls ===\0A\00", align 1 -@str.292 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.293 = private unnamed_addr constant [22 x i8] c"=== Direct calls ===\0A\00", align 1 -@str.294 = private unnamed_addr constant [9 x i8] c"d1 = {}\0A\00", align 1 +@str.291 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.292 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.293 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.294 = private unnamed_addr constant [22 x i8] c"=== Direct calls ===\0A\00", align 1 @str.295 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.296 = private unnamed_addr constant [9 x i8] c"d1 = {}\0A\00", align 1 -@str.297 = private unnamed_addr constant [9 x i8] c"d2 = {}\0A\00", align 1 +@str.296 = private unnamed_addr constant [22 x i8] c"=== Direct calls ===\0A\00", align 1 +@str.297 = private unnamed_addr constant [9 x i8] c"d1 = {}\0A\00", align 1 @str.298 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.299 = private unnamed_addr constant [9 x i8] c"d2 = {}\0A\00", align 1 -@str.300 = private unnamed_addr constant [9 x i8] c"d3 = {}\0A\00", align 1 +@str.299 = private unnamed_addr constant [9 x i8] c"d1 = {}\0A\00", align 1 +@str.300 = private unnamed_addr constant [9 x i8] c"d2 = {}\0A\00", align 1 @str.301 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.302 = private unnamed_addr constant [9 x i8] c"d3 = {}\0A\00", align 1 -@str.303 = private unnamed_addr constant [9 x i8] c"d4 = {}\0A\00", align 1 +@str.302 = private unnamed_addr constant [9 x i8] c"d2 = {}\0A\00", align 1 +@str.303 = private unnamed_addr constant [9 x i8] c"d3 = {}\0A\00", align 1 @str.304 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.305 = private unnamed_addr constant [9 x i8] c"d4 = {}\0A\00", align 1 -@str.306 = private unnamed_addr constant [27 x i8] c"=== Protocol dispatch ===\0A\00", align 1 +@str.305 = private unnamed_addr constant [9 x i8] c"d3 = {}\0A\00", align 1 +@str.306 = private unnamed_addr constant [9 x i8] c"d4 = {}\0A\00", align 1 @str.307 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.308 = private unnamed_addr constant [27 x i8] c"=== Protocol dispatch ===\0A\00", align 1 -@str.309 = private unnamed_addr constant [9 x i8] c"r1 = {}\0A\00", align 1 +@str.308 = private unnamed_addr constant [9 x i8] c"d4 = {}\0A\00", align 1 +@str.309 = private unnamed_addr constant [27 x i8] c"=== Protocol dispatch ===\0A\00", align 1 @str.310 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.311 = private unnamed_addr constant [9 x i8] c"r1 = {}\0A\00", align 1 -@str.312 = private unnamed_addr constant [9 x i8] c"r2 = {}\0A\00", align 1 +@str.311 = private unnamed_addr constant [27 x i8] c"=== Protocol dispatch ===\0A\00", align 1 +@str.312 = private unnamed_addr constant [9 x i8] c"r1 = {}\0A\00", align 1 @str.313 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.314 = private unnamed_addr constant [9 x i8] c"r2 = {}\0A\00", align 1 -@str.315 = private unnamed_addr constant [9 x i8] c"r3 = {}\0A\00", align 1 +@str.314 = private unnamed_addr constant [9 x i8] c"r1 = {}\0A\00", align 1 +@str.315 = private unnamed_addr constant [9 x i8] c"r2 = {}\0A\00", align 1 @str.316 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.317 = private unnamed_addr constant [9 x i8] c"r3 = {}\0A\00", align 1 -@str.318 = private unnamed_addr constant [9 x i8] c"r4 = {}\0A\00", align 1 +@str.317 = private unnamed_addr constant [9 x i8] c"r2 = {}\0A\00", align 1 +@str.318 = private unnamed_addr constant [9 x i8] c"r3 = {}\0A\00", align 1 @str.319 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.320 = private unnamed_addr constant [9 x i8] c"r4 = {}\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 +@str.320 = private unnamed_addr constant [9 x i8] c"r3 = {}\0A\00", align 1 +@str.321 = private unnamed_addr constant [9 x i8] c"r4 = {}\0A\00", align 1 +@str.322 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.323 = private unnamed_addr constant [9 x i8] c"r4 = {}\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 +@str.327 = 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 }] -@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.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 [13 x i8] c"ProposedSize\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"width\00" -@fld.str.544 = private constant [7 x i8] c"height\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 6 }] -@str.546 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.547 = private unnamed_addr constant [8 x i8] c"Sizable\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 [4 x i8] c"ctx\00" -@fld.str.552 = private constant [9 x i8] c"__vtable\00" -@field_names.553 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.551, i64 3 }, { ptr, i64 } { ptr @fld.str.552, i64 8 }] -@str.554 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.555 = private unnamed_addr constant [18 x i8] c"__Sizable__Vtable\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 -@fld.str.559 = private constant [5 x i8] c"size\00" -@field_names.560 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.559, i64 4 }] -@str.561 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.562 = private unnamed_addr constant [7 x i8] c"Widget\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 -@field_names.566 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.567 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.568 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.569 = private constant [5 x i8] c"read\00" -@fld.str.570 = private constant [6 x i8] c"write\00" -@fld.str.571 = private constant [7 x i8] c"append\00" -@fld.str.572 = private constant [11 x i8] c"read_write\00" -@field_names.573 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.569, i64 4 }, { ptr, i64 } { ptr @fld.str.570, i64 5 }, { ptr, i64 } { ptr @fld.str.571, i64 6 }, { ptr, i64 } { ptr @fld.str.572, i64 10 }] -@str.574 = private unnamed_addr constant [2 x i8] c"(\00", align 1 -@str.575 = private unnamed_addr constant [2 x i8] c")\00", align 1 -@str.576 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.577 = private constant [4 x i8] c"set\00" -@fld.str.578 = private constant [8 x i8] c"current\00" -@fld.str.579 = private constant [4 x i8] c"end\00" -@field_names.580 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.577, i64 3 }, { ptr, i64 } { ptr @fld.str.578, i64 7 }, { ptr, i64 } { ptr @fld.str.579, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.584 = private constant [6 x i8] c"null_\00" -@fld.str.585 = private constant [6 x i8] c"bool_\00" -@fld.str.586 = private constant [5 x i8] c"int_\00" -@fld.str.587 = private constant [4 x i8] c"str\00" -@fld.str.588 = private constant [6 x i8] c"array\00" -@fld.str.589 = private constant [7 x i8] c"object\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 5 }, { ptr, i64 } { ptr @fld.str.586, i64 4 }, { ptr, i64 } { ptr @fld.str.587, i64 3 }, { ptr, i64 } { ptr @fld.str.588, i64 5 }, { ptr, i64 } { ptr @fld.str.589, i64 6 }] -@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"macos\00" -@fld.str.595 = private constant [6 x i8] c"linux\00" -@fld.str.596 = private constant [8 x i8] c"windows\00" -@fld.str.597 = private constant [5 x i8] c"wasm\00" -@fld.str.598 = private constant [4 x i8] c"ios\00" -@fld.str.599 = private constant [8 x i8] c"android\00" -@fld.str.600 = private constant [8 x i8] c"unknown\00" -@field_names.601 = private constant [7 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 7 }, { ptr, i64 } { ptr @fld.str.597, i64 4 }, { ptr, i64 } { ptr @fld.str.598, i64 3 }, { ptr, i64 } { ptr @fld.str.599, i64 7 }, { ptr, i64 } { ptr @fld.str.600, i64 7 }] -@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 [8 x i8] c"aarch64\00" -@fld.str.606 = private constant [7 x i8] c"x86_64\00" -@fld.str.607 = private constant [7 x i8] c"wasm32\00" -@fld.str.608 = private constant [7 x i8] c"wasm64\00" -@fld.str.609 = private constant [8 x i8] c"unknown\00" -@field_names.610 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.605, i64 7 }, { ptr, i64 } { ptr @fld.str.606, i64 6 }, { ptr, i64 } { ptr @fld.str.607, i64 6 }, { ptr, i64 } { ptr @fld.str.608, i64 6 }, { ptr, i64 } { ptr @fld.str.609, i64 7 }] -@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 [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.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 }] +@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.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 [13 x i8] c"ProposedSize\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 [6 x i8] c"width\00" +@fld.str.547 = private constant [7 x i8] c"height\00" +@field_names.548 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.546, i64 5 }, { ptr, i64 } { ptr @fld.str.547, i64 6 }] +@str.549 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.550 = private unnamed_addr constant [8 x i8] c"Sizable\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"ctx\00" +@fld.str.555 = private constant [9 x i8] c"__vtable\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 8 }] +@str.557 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.558 = private unnamed_addr constant [18 x i8] c"__Sizable__Vtable\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 [5 x i8] c"size\00" +@field_names.563 = private constant [1 x { ptr, i64 }] [{ 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 [7 x i8] c"Widget\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 +@field_names.569 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.570 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.571 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.572 = private constant [5 x i8] c"read\00" +@fld.str.573 = private constant [6 x i8] c"write\00" +@fld.str.574 = private constant [7 x i8] c"append\00" +@fld.str.575 = private constant [11 x i8] c"read_write\00" +@field_names.576 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.572, i64 4 }, { ptr, i64 } { ptr @fld.str.573, i64 5 }, { ptr, i64 } { ptr @fld.str.574, i64 6 }, { ptr, i64 } { ptr @fld.str.575, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.580 = private constant [4 x i8] c"set\00" +@fld.str.581 = private constant [8 x i8] c"current\00" +@fld.str.582 = private constant [4 x i8] c"end\00" +@field_names.583 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.580, i64 3 }, { ptr, i64 } { ptr @fld.str.581, i64 7 }, { ptr, i64 } { ptr @fld.str.582, i64 3 }] +@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 [6 x i8] c"null_\00" +@fld.str.588 = private constant [6 x i8] c"bool_\00" +@fld.str.589 = private constant [5 x i8] c"int_\00" +@fld.str.590 = private constant [4 x i8] c"str\00" +@fld.str.591 = private constant [6 x i8] c"array\00" +@fld.str.592 = private constant [7 x i8] c"object\00" +@field_names.593 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.587, i64 5 }, { ptr, i64 } { ptr @fld.str.588, i64 5 }, { ptr, i64 } { ptr @fld.str.589, i64 4 }, { ptr, i64 } { ptr @fld.str.590, i64 3 }, { ptr, i64 } { ptr @fld.str.591, i64 5 }, { ptr, i64 } { ptr @fld.str.592, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.597 = private constant [6 x i8] c"macos\00" +@fld.str.598 = private constant [6 x i8] c"linux\00" +@fld.str.599 = private constant [8 x i8] c"windows\00" +@fld.str.600 = private constant [5 x i8] c"wasm\00" +@fld.str.601 = private constant [4 x i8] c"ios\00" +@fld.str.602 = private constant [8 x i8] c"android\00" +@fld.str.603 = private constant [8 x i8] c"unknown\00" +@field_names.604 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.597, i64 5 }, { ptr, i64 } { ptr @fld.str.598, i64 5 }, { ptr, i64 } { ptr @fld.str.599, i64 7 }, { ptr, i64 } { ptr @fld.str.600, i64 4 }, { ptr, i64 } { ptr @fld.str.601, i64 3 }, { ptr, i64 } { ptr @fld.str.602, i64 7 }, { ptr, i64 } { ptr @fld.str.603, i64 7 }] +@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 [8 x i8] c"aarch64\00" +@fld.str.609 = private constant [7 x i8] c"x86_64\00" +@fld.str.610 = private constant [7 x i8] c"wasm32\00" +@fld.str.611 = private constant [7 x i8] c"wasm64\00" +@fld.str.612 = private constant [8 x i8] c"unknown\00" +@field_names.613 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.608, i64 7 }, { ptr, i64 } { ptr @fld.str.609, i64 6 }, { ptr, i64 } { ptr @fld.str.610, i64 6 }, { ptr, i64 } { ptr @fld.str.611, i64 6 }, { ptr, i64 } { ptr @fld.str.612, i64 7 }] +@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 [2 x i8] c"[\00", align 1 @str.617 = private unnamed_addr constant [2 x i8] c"]\00", align 1 @str.618 = private unnamed_addr constant [3 x i8] c", \00", align 1 @@ -580,35 +580,35 @@ @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 [5 x i8] c"null\00", align 1 -@str.647 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.648 = private unnamed_addr constant [4 x i8] c"@0x\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 [5 x i8] c"null\00", align 1 -@str.650 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.650 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.651 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.652 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.653 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.653 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.654 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.655 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.656 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.656 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.657 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.658 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.659 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.659 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.660 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.661 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.662 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 +@str.662 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.663 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.664 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.665 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 +@str.665 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.666 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.667 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.668 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.668 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.669 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.670 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.671 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.671 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.672 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.673 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.674 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.674 = private unnamed_addr constant [6 x i8] c"*File\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 [5 x i8] c"*i32\00", align 1 @@ -668,34 +668,38 @@ @str.731 = private unnamed_addr constant [7 x i8] c"*[]Any\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"*bool\00", align 1 +@str.734 = private unnamed_addr constant [4 x i8] c"*u8\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 [14 x i8] c"*ProposedSize\00", align 1 +@str.737 = private unnamed_addr constant [6 x i8] c"*bool\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 [5 x i8] c"*f32\00", align 1 +@str.740 = private unnamed_addr constant [14 x i8] c"*ProposedSize\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 [5 x i8] c"*f64\00", align 1 +@str.743 = private unnamed_addr constant [5 x i8] c"*f32\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 [8 x i8] c"*[1]Any\00", align 1 +@str.746 = private unnamed_addr constant [5 x i8] c"*f64\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 [9 x i8] c"*Sizable\00", align 1 +@str.749 = private unnamed_addr constant [8 x i8] c"*[1]Any\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 [9 x i8] c"**Widget\00", align 1 +@str.752 = private unnamed_addr constant [9 x i8] c"*Sizable\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 [19 x i8] c"*__Sizable__Vtable\00", align 1 +@str.755 = private unnamed_addr constant [9 x i8] c"**Widget\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"null\00", align 1 -@str.759 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.758 = private unnamed_addr constant [19 x i8] c"*__Sizable__Vtable\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 [5 x i8] c"null\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"null\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 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -712,7 +716,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -763,7 +767,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -853,7 +857,7 @@ if.merge.69: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.78 @@ -1056,7 +1060,7 @@ if.merge.103: ; preds = %if.else.102, %if.th %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1299,7 +1303,7 @@ if.merge.412: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1371,7 +1375,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1402,7 +1406,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1417,6 +1421,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1459,96 +1472,97 @@ entry: i64 1, label %match.arm.53 i64 10, label %match.arm.54 i64 11, label %match.arm.54 - i64 19, label %match.arm.55 i64 20, label %match.arm.55 i64 21, label %match.arm.55 - i64 24, label %match.arm.55 - i64 26, label %match.arm.55 - i64 28, label %match.arm.55 - i64 30, label %match.arm.55 - i64 33, label %match.arm.55 - i64 35, label %match.arm.55 - i64 39, label %match.arm.55 - i64 43, label %match.arm.55 - i64 45, label %match.arm.55 - i64 48, label %match.arm.55 - i64 52, label %match.arm.55 + i64 22, label %match.arm.55 + i64 25, label %match.arm.55 + i64 27, label %match.arm.55 + i64 29, label %match.arm.55 + i64 31, label %match.arm.55 + i64 34, label %match.arm.55 + i64 36, label %match.arm.55 + i64 40, label %match.arm.55 + i64 44, label %match.arm.55 + i64 46, label %match.arm.55 + i64 49, label %match.arm.55 i64 53, label %match.arm.55 - i64 55, label %match.arm.55 - i64 61, label %match.arm.55 - i64 66, label %match.arm.55 - i64 72, label %match.arm.55 - i64 76, label %match.arm.55 - i64 78, label %match.arm.55 + i64 54, label %match.arm.55 + i64 56, label %match.arm.55 + i64 62, label %match.arm.55 + i64 67, label %match.arm.55 + i64 73, label %match.arm.55 + i64 77, label %match.arm.55 i64 79, label %match.arm.55 i64 80, label %match.arm.55 - i64 82, label %match.arm.55 - i64 89, label %match.arm.55 - i64 94, label %match.arm.55 + i64 81, label %match.arm.55 + i64 83, label %match.arm.55 + i64 90, label %match.arm.55 i64 95, label %match.arm.55 i64 96, label %match.arm.55 i64 97, label %match.arm.55 - i64 37, label %match.arm.56 + i64 98, label %match.arm.55 i64 38, label %match.arm.56 - i64 54, label %match.arm.56 - i64 70, label %match.arm.56 + i64 39, label %match.arm.56 + i64 55, label %match.arm.56 i64 71, label %match.arm.56 - i64 51, label %match.arm.57 - i64 64, label %match.arm.57 - i64 75, label %match.arm.57 - i64 22, label %match.arm.59 - i64 81, label %match.arm.59 - i64 87, label %match.arm.59 + i64 72, label %match.arm.56 + i64 52, label %match.arm.57 + i64 65, label %match.arm.57 + i64 76, label %match.arm.57 + i64 23, label %match.arm.59 + i64 82, label %match.arm.59 i64 88, label %match.arm.59 - i64 92, label %match.arm.59 - i64 109, label %match.arm.59 - i64 23, label %match.arm.60 - i64 60, label %match.arm.60 - i64 77, label %match.arm.60 - i64 85, label %match.arm.60 - i64 102, label %match.arm.60 - i64 18, label %match.arm.61 - i64 25, label %match.arm.61 - i64 27, label %match.arm.61 - i64 29, label %match.arm.61 - i64 31, label %match.arm.61 + i64 89, label %match.arm.59 + i64 93, label %match.arm.59 + i64 111, label %match.arm.59 + i64 24, label %match.arm.60 + i64 61, label %match.arm.60 + i64 78, label %match.arm.60 + i64 86, label %match.arm.60 + i64 103, label %match.arm.60 + i64 19, label %match.arm.61 + i64 26, label %match.arm.61 + i64 28, label %match.arm.61 + i64 30, label %match.arm.61 i64 32, label %match.arm.61 - i64 34, label %match.arm.61 - i64 36, label %match.arm.61 - i64 40, label %match.arm.61 - i64 44, label %match.arm.61 - i64 47, label %match.arm.61 - i64 49, label %match.arm.61 + i64 33, label %match.arm.61 + i64 35, label %match.arm.61 + i64 37, label %match.arm.61 + i64 41, label %match.arm.61 + i64 48, label %match.arm.61 i64 50, label %match.arm.61 - i64 56, label %match.arm.61 + i64 51, label %match.arm.61 i64 57, label %match.arm.61 i64 58, label %match.arm.61 i64 59, label %match.arm.61 - i64 62, label %match.arm.61 - i64 67, label %match.arm.61 - i64 74, label %match.arm.61 - i64 83, label %match.arm.61 - i64 86, label %match.arm.61 - i64 90, label %match.arm.61 - i64 98, label %match.arm.61 + i64 60, label %match.arm.61 + i64 63, label %match.arm.61 + i64 68, label %match.arm.61 + i64 75, label %match.arm.61 + i64 84, label %match.arm.61 + i64 87, label %match.arm.61 + i64 91, label %match.arm.61 i64 99, label %match.arm.61 i64 100, label %match.arm.61 i64 101, label %match.arm.61 - i64 103, label %match.arm.61 + i64 102, label %match.arm.61 i64 104, label %match.arm.61 i64 105, label %match.arm.61 i64 106, label %match.arm.61 i64 107, label %match.arm.61 i64 108, label %match.arm.61 + i64 109, label %match.arm.61 i64 110, label %match.arm.61 - i64 111, label %match.arm.61 i64 112, label %match.arm.61 i64 113, label %match.arm.61 - i64 41, label %match.arm.62 + i64 114, label %match.arm.61 + i64 115, label %match.arm.61 i64 42, label %match.arm.62 - i64 46, label %match.arm.62 - i64 91, label %match.arm.62 - i64 93, label %match.arm.62 + i64 43, label %match.arm.62 + i64 45, label %match.arm.62 + i64 47, label %match.arm.62 + i64 92, label %match.arm.62 + i64 94, label %match.arm.62 i64 13, label %match.arm.63 ] @@ -1566,7 +1580,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 [177 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [180 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 @@ -1599,35 +1613,35 @@ match.arm.55: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.107 [ - i64 19, label %dispatch.case.108 - i64 20, label %dispatch.case.109 - i64 21, label %dispatch.case.110 - i64 24, label %dispatch.case.111 - i64 26, label %dispatch.case.112 - i64 28, label %dispatch.case.113 - i64 30, label %dispatch.case.114 - i64 33, label %dispatch.case.115 - i64 35, label %dispatch.case.116 - i64 39, label %dispatch.case.117 - i64 43, label %dispatch.case.118 - i64 45, label %dispatch.case.119 - i64 48, label %dispatch.case.120 - i64 52, label %dispatch.case.121 - i64 53, label %dispatch.case.122 - i64 55, label %dispatch.case.123 - i64 61, label %dispatch.case.124 - i64 66, label %dispatch.case.125 - i64 72, label %dispatch.case.126 - i64 76, label %dispatch.case.127 - i64 78, label %dispatch.case.128 - i64 79, label %dispatch.case.129 - i64 80, label %dispatch.case.130 - i64 82, label %dispatch.case.131 - i64 89, label %dispatch.case.132 - i64 94, label %dispatch.case.133 - i64 95, label %dispatch.case.134 - i64 96, label %dispatch.case.135 - i64 97, label %dispatch.case.136 + i64 20, label %dispatch.case.108 + i64 21, label %dispatch.case.109 + i64 22, label %dispatch.case.110 + i64 25, label %dispatch.case.111 + i64 27, label %dispatch.case.112 + i64 29, label %dispatch.case.113 + i64 31, label %dispatch.case.114 + i64 34, label %dispatch.case.115 + i64 36, label %dispatch.case.116 + i64 40, label %dispatch.case.117 + i64 44, label %dispatch.case.118 + i64 46, label %dispatch.case.119 + i64 49, label %dispatch.case.120 + i64 53, label %dispatch.case.121 + i64 54, label %dispatch.case.122 + i64 56, label %dispatch.case.123 + i64 62, label %dispatch.case.124 + i64 67, label %dispatch.case.125 + i64 73, label %dispatch.case.126 + i64 77, label %dispatch.case.127 + i64 79, label %dispatch.case.128 + i64 80, label %dispatch.case.129 + i64 81, label %dispatch.case.130 + i64 83, label %dispatch.case.131 + i64 90, label %dispatch.case.132 + i64 95, label %dispatch.case.133 + i64 96, label %dispatch.case.134 + i64 97, label %dispatch.case.135 + i64 98, label %dispatch.case.136 ] match.arm.56: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1635,11 +1649,11 @@ match.arm.56: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.283 [ - i64 37, label %dispatch.case.284 - i64 38, label %dispatch.case.285 - i64 54, label %dispatch.case.286 - i64 70, label %dispatch.case.287 - i64 71, label %dispatch.case.288 + i64 38, label %dispatch.case.284 + i64 39, label %dispatch.case.285 + i64 55, label %dispatch.case.286 + i64 71, label %dispatch.case.287 + i64 72, label %dispatch.case.288 ] match.arm.57: ; preds = %entry, %entry, %entry @@ -1662,12 +1676,12 @@ match.arm.59: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.300 [ - i64 22, label %dispatch.case.301 - i64 81, label %dispatch.case.302 - i64 87, label %dispatch.case.303 - i64 88, label %dispatch.case.304 - i64 92, label %dispatch.case.305 - i64 109, label %dispatch.case.306 + i64 23, label %dispatch.case.301 + i64 82, label %dispatch.case.302 + i64 88, label %dispatch.case.303 + i64 89, label %dispatch.case.304 + i64 93, label %dispatch.case.305 + i64 111, label %dispatch.case.306 ] match.arm.60: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1675,11 +1689,11 @@ match.arm.60: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.338 [ - i64 23, label %dispatch.case.339 - i64 60, label %dispatch.case.340 - i64 77, label %dispatch.case.341 - i64 85, label %dispatch.case.342 - i64 102, label %dispatch.case.343 + i64 24, label %dispatch.case.339 + i64 61, label %dispatch.case.340 + i64 78, label %dispatch.case.341 + i64 86, label %dispatch.case.342 + i64 103, label %dispatch.case.343 ] 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 @@ -1687,55 +1701,56 @@ match.arm.61: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.370 [ - i64 18, label %dispatch.case.371 - i64 25, label %dispatch.case.372 - i64 27, label %dispatch.case.373 - i64 29, label %dispatch.case.374 - i64 31, label %dispatch.case.375 - i64 32, label %dispatch.case.376 - i64 34, label %dispatch.case.377 - i64 36, label %dispatch.case.378 - i64 40, label %dispatch.case.379 - i64 44, label %dispatch.case.380 - i64 47, label %dispatch.case.381 - i64 49, label %dispatch.case.382 - i64 50, label %dispatch.case.383 - i64 56, label %dispatch.case.384 - i64 57, label %dispatch.case.385 - i64 58, label %dispatch.case.386 - i64 59, label %dispatch.case.387 - i64 62, label %dispatch.case.388 - i64 67, label %dispatch.case.389 - i64 74, label %dispatch.case.390 - i64 83, label %dispatch.case.391 - i64 86, label %dispatch.case.392 - i64 90, label %dispatch.case.393 - i64 98, label %dispatch.case.394 - i64 99, label %dispatch.case.395 - i64 100, label %dispatch.case.396 - i64 101, label %dispatch.case.397 - i64 103, label %dispatch.case.398 - i64 104, label %dispatch.case.399 - i64 105, label %dispatch.case.400 - i64 106, label %dispatch.case.401 - i64 107, label %dispatch.case.402 - i64 108, label %dispatch.case.403 - i64 110, label %dispatch.case.404 - i64 111, label %dispatch.case.405 - i64 112, label %dispatch.case.406 - i64 113, label %dispatch.case.407 + 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 57, label %dispatch.case.383 + i64 58, label %dispatch.case.384 + i64 59, label %dispatch.case.385 + i64 60, label %dispatch.case.386 + i64 63, label %dispatch.case.387 + i64 68, label %dispatch.case.388 + i64 75, label %dispatch.case.389 + i64 84, label %dispatch.case.390 + i64 87, label %dispatch.case.391 + i64 91, label %dispatch.case.392 + i64 99, label %dispatch.case.393 + i64 100, label %dispatch.case.394 + i64 101, label %dispatch.case.395 + i64 102, label %dispatch.case.396 + i64 104, label %dispatch.case.397 + i64 105, label %dispatch.case.398 + i64 106, label %dispatch.case.399 + i64 107, label %dispatch.case.400 + i64 108, label %dispatch.case.401 + i64 109, label %dispatch.case.402 + i64 110, label %dispatch.case.403 + i64 112, label %dispatch.case.404 + i64 113, label %dispatch.case.405 + i64 114, label %dispatch.case.406 + i64 115, label %dispatch.case.407 ] -match.arm.62: ; preds = %entry, %entry, %entry, %entry, %entry +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.533 [ - i64 41, label %dispatch.case.534 - i64 42, label %dispatch.case.535 - i64 46, label %dispatch.case.536 - i64 91, label %dispatch.case.537 - i64 93, label %dispatch.case.538 + i64 42, label %dispatch.case.534 + i64 43, label %dispatch.case.535 + i64 45, label %dispatch.case.536 + i64 47, label %dispatch.case.537 + i64 92, label %dispatch.case.538 + i64 94, label %dispatch.case.539 ] match.arm.63: ; preds = %entry @@ -1744,7 +1759,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 [177 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [180 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 @@ -1795,7 +1810,7 @@ dispatch.merge.106: ; preds = %dispatch.case.136, br label %match.merge.49 dispatch.default.107: ; preds = %match.arm.55 - store { ptr, i64 } { ptr @str.270, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.273, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.106 dispatch.case.108: ; preds = %match.arm.55 @@ -2036,7 +2051,7 @@ dispatch.merge.282: ; preds = %dispatch.case.288, br label %match.merge.49 dispatch.default.283: ; preds = %match.arm.56 - store { ptr, i64 } { ptr @str.271, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.274, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.282 dispatch.case.284: ; preds = %match.arm.56 @@ -2077,7 +2092,7 @@ dispatch.merge.299: ; preds = %dispatch.case.306, br label %match.merge.49 dispatch.default.300: ; preds = %match.arm.59 - store { ptr, i64 } { ptr @str.272, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.275, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.299 dispatch.case.301: ; preds = %match.arm.59 @@ -2134,7 +2149,7 @@ dispatch.merge.337: ; preds = %dispatch.case.343, br label %match.merge.49 dispatch.default.338: ; preds = %match.arm.60 - store { ptr, i64 } { ptr @str.273, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.276, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.337 dispatch.case.339: ; preds = %match.arm.60 @@ -2183,7 +2198,7 @@ dispatch.merge.369: ; preds = %dispatch.case.407, br label %match.merge.49 dispatch.default.370: ; preds = %match.arm.61 - store { ptr, i64 } { ptr @str.274, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.277, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.371: ; preds = %match.arm.61 @@ -2252,140 +2267,140 @@ dispatch.case.379: ; preds = %match.arm.61 dispatch.case.380: ; 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_u8(ptr %0, ptr %iNp263) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp263) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.381: ; 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_i32(ptr %0, ptr %iNp266) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp266) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.382: ; 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_SockAddr(ptr %0, ptr %iNp269) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp269) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.383: ; 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_u32(ptr %0, ptr %iNp272) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp272) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.384: ; 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_Value(ptr %0, ptr %iNp275) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp275) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.385: ; 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_Array(ptr %0, ptr %iNp278) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp278) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.386: ; 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__mptr_Member(ptr %0, ptr %iNp281) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp281) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.387: ; 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_Object(ptr %0, ptr %iNp284) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp284) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.388: ; 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_Sink(ptr %0, ptr %iNp287) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp287) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.389: ; 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_Parser(ptr %0, ptr %iNp290) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp290) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.390: ; 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_i64(ptr %0, ptr %iNp293) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp293) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.391: ; 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__ptr_Parsed(ptr %0, ptr %iNp296) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp296) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.392: ; 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_Diag(ptr %0, ptr %iNp299) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp299) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.393: ; 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__ptr_Sha256(ptr %0, ptr %iNp302) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Widget(ptr %0, ptr %iNp302) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.394: ; 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_Widget(ptr %0, ptr %iNp305) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp305) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.395: ; 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_ptr_CAllocator(ptr %0, ptr %iNp308) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp308) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.396: ; 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_ptr_void(ptr %0, ptr %iNp311) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp311) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.397: ; 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_string(ptr %0, ptr %iNp314) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp314) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.398: ; 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_Any(ptr %0, ptr %iNp317) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp317) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 dispatch.case.399: ; 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_SL_Any(ptr %0, ptr %iNp320) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp320) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 @@ -2445,13 +2460,13 @@ dispatch.case.407: ; preds = %match.arm.61 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.369 -dispatch.merge.532: ; preds = %dispatch.case.538, %dispatch.case.537, %dispatch.case.536, %dispatch.case.535, %dispatch.case.534, %dispatch.default.533 +dispatch.merge.532: ; preds = %dispatch.case.539, %dispatch.case.538, %dispatch.case.537, %dispatch.case.536, %dispatch.case.535, %dispatch.case.534, %dispatch.default.533 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.49 dispatch.default.533: ; preds = %match.arm.62 - store { ptr, i64 } { ptr @str.275, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.278, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.532 dispatch.case.534: ; preds = %match.arm.62 @@ -2472,25 +2487,32 @@ dispatch.case.535: ; preds = %match.arm.62 dispatch.case.536: ; preds = %match.arm.62 %ua.raw355 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr356 = inttoptr i64 %ua.raw355 to ptr - %ua.load357 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr356, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load357) + %iNp356 = inttoptr i64 %ua.raw355 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp356) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.532 dispatch.case.537: ; preds = %match.arm.62 - %ua.raw359 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr360 = inttoptr i64 %ua.raw359 to ptr - %ua.load361 = load { [64 x i8], i1 }, ptr %ua.ptr360, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load361) + %ua.raw358 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr359 = inttoptr i64 %ua.raw358 to ptr + %ua.load360 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr359, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load360) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.532 dispatch.case.538: ; preds = %match.arm.62 - %ua.raw363 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr364 = inttoptr i64 %ua.raw363 to ptr - %ua.load365 = load { float, i1 }, ptr %ua.ptr364, align 4 - %callN = call { ptr, i64 } @optional_to_string__opt_f32(ptr %0, { float, i1 } %ua.load365) + %ua.raw362 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr363 = inttoptr i64 %ua.raw362 to ptr + %ua.load364 = load { [64 x i8], i1 }, ptr %ua.ptr363, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load364) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.532 + +dispatch.case.539: ; preds = %match.arm.62 + %ua.raw366 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr367 = inttoptr i64 %ua.raw366 to ptr + %ua.load368 = load { float, i1 }, ptr %ua.ptr367, align 4 + %callN = call { ptr, i64 } @optional_to_string__opt_f32(ptr %0, { float, i1 } %ua.load368) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.532 } @@ -2501,7 +2523,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.276, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.279, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2597,7 +2619,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.277, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.280, 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 @@ -2605,7 +2627,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.278, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.281, 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 @@ -2615,13 +2637,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.279, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.282, 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.280, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.283, 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 @@ -2629,7 +2651,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.281, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.284, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2643,7 +2665,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.282, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.285, 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 @@ -2651,7 +2673,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.283, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.286, 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 @@ -2662,7 +2684,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.284, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.287, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2719,7 +2741,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.285, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.288, 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 @@ -2727,7 +2749,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.286, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.289, 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 @@ -2738,7 +2760,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.287, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.290, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2758,7 +2780,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.288, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.291, 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 @@ -2766,7 +2788,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.289, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.292, 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 @@ -2777,7 +2799,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.290, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.293, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -2998,9 +3020,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3719,14 +3738,14 @@ entry: define internal void @print__ct_safaf8808e13137c9__pack(ptr %0) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.291, i64 21 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.294, 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.292, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.295, 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) @@ -3742,66 +3761,12 @@ 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.293, i64 21 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.296, i64 21 }) ret { ptr, i64 } %call } ; Function Attrs: nounwind 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.294, 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 - %load = load float, ptr %allocaN, align 4 - %fNi32 = bitcast float %load to i32 - %zN = zext i32 %fNi32 to i64 - %ba.val = insertvalue { i64, i64 } { i64 10, i64 undef }, i64 %zN, 1 - %igp.ptr = getelementptr { i64, i64 }, ptr %allocaN, i64 0 - store { i64, i64 } %ba.val, ptr %igp.ptr, align 8 - %allocaN = alloca { ptr, i64 }, align 8 - %igp.ptr4 = getelementptr { i64, i64 }, ptr %allocaN, i64 0 - %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 - store ptr %igp.ptr4, ptr %gep, align 8 - %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.295, i64 0 }, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %alloca, align 8 - %call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 5) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load float, ptr %allocaN, align 4 - %fNi3212 = bitcast float %loadN to i32 - %zN = zext i32 %fNi3212 to i64 - %ba.val14 = insertvalue { i64, i64 } { i64 10, i64 undef }, i64 %zN, 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 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %alloca, align 8 - %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 7, i64 1) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %str.ptr = extractvalue { ptr, i64 } %loadN, 0 - %str.len = extractvalue { ptr, i64 } %loadN, 1 - %2 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len) - ret void -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @__insert_1(ptr %0) #0 { -entry: - %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.296, i64 8 }) - ret { ptr, i64 } %call -} - -; Function Attrs: nounwind -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.297, i64 8 }, ptr %alloca, align 8 @@ -3848,14 +3813,14 @@ entry: } ; Function Attrs: nounwind -define internal { ptr, i64 } @__insert_2(ptr %0) #0 { +define internal { ptr, i64 } @__insert_1(ptr %0) #0 { entry: %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.299, i64 8 }) ret { ptr, i64 } %call } ; Function Attrs: nounwind -define internal void @print__ct_scf4d64fa60dbbfb4__pack_f32(ptr %0, float %1) #0 { +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.300, i64 8 }, ptr %alloca, align 8 @@ -3902,14 +3867,14 @@ entry: } ; Function Attrs: nounwind -define internal { ptr, i64 } @__insert_3(ptr %0) #0 { +define internal { ptr, i64 } @__insert_2(ptr %0) #0 { entry: %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.302, i64 8 }) ret { ptr, i64 } %call } ; Function Attrs: nounwind -define internal void @print__ct_s1c39af9abf6a4a07__pack_f32(ptr %0, float %1) #0 { +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.303, i64 8 }, ptr %alloca, align 8 @@ -3956,55 +3921,17 @@ entry: } ; Function Attrs: nounwind -define internal { ptr, i64 } @__insert_4(ptr %0) #0 { +define internal { ptr, i64 } @__insert_3(ptr %0) #0 { entry: %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.305, i64 8 }) ret { ptr, i64 } %call } ; Function Attrs: nounwind -define internal void @print__ct_s1982bb0332b7dace__pack(ptr %0) #0 { +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.306, 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.307, 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) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call) - store { ptr, i64 } %callN, ptr %allocaN, align 8 - %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %str.ptr = extractvalue { ptr, i64 } %loadN, 0 - %str.len = extractvalue { ptr, i64 } %loadN, 1 - %1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len) - ret void -} - -; 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.308, i64 26 }) - ret { ptr, i64 } %call -} - -; Function Attrs: nounwind -define internal float @__thunk_Widget_Sizable_size(ptr %0, ptr %1, { { float, i1 }, { float, i1 } } %2) #0 { -entry: - %call = call float @Widget.size(ptr %0, ptr %1, { { float, i1 }, { float, i1 } } %2) - ret float %call -} - -; Function Attrs: nounwind -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.309, i64 8 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.306, 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 @@ -4021,7 +3948,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.307, 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) @@ -4048,14 +3975,52 @@ entry: } ; Function Attrs: nounwind -define internal { ptr, i64 } @__insert_6(ptr %0) #0 { +define internal { ptr, i64 } @__insert_4(ptr %0) #0 { entry: - %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.311, i64 8 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.308, i64 8 }) ret { ptr, i64 } %call } ; Function Attrs: nounwind -define internal void @print__ct_sad2d86d80b81462__pack_f32(ptr %0, float %1) #0 { +define internal void @print__ct_s1982bb0332b7dace__pack(ptr %0) #0 { +entry: + %alloca = alloca { ptr, i64 }, align 8 + store { ptr, i64 } { ptr @str.309, 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.310, 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) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %str.ptr = extractvalue { ptr, i64 } %loadN, 0 + %str.len = extractvalue { ptr, i64 } %loadN, 1 + %1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len) + ret void +} + +; 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.311, i64 26 }) + ret { ptr, i64 } %call +} + +; Function Attrs: nounwind +define internal float @__thunk_Widget_Sizable_size(ptr %0, ptr %1, { { float, i1 }, { float, i1 } } %2) #0 { +entry: + %call = call float @Widget.size(ptr %0, ptr %1, { { float, i1 }, { float, i1 } } %2) + ret float %call +} + +; Function Attrs: nounwind +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.312, i64 8 }, ptr %alloca, align 8 @@ -4102,14 +4067,14 @@ entry: } ; Function Attrs: nounwind -define internal { ptr, i64 } @__insert_7(ptr %0) #0 { +define internal { ptr, i64 } @__insert_6(ptr %0) #0 { entry: %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.314, i64 8 }) ret { ptr, i64 } %call } ; Function Attrs: nounwind -define internal void @print__ct_s356f7a97ffec319e__pack_f32(ptr %0, float %1) #0 { +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.315, i64 8 }, ptr %alloca, align 8 @@ -4156,14 +4121,14 @@ entry: } ; Function Attrs: nounwind -define internal { ptr, i64 } @__insert_8(ptr %0) #0 { +define internal { ptr, i64 } @__insert_7(ptr %0) #0 { entry: %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.317, i64 8 }) ret { ptr, i64 } %call } ; Function Attrs: nounwind -define internal void @print__ct_sc1a70412aecae073__pack_f32(ptr %0, float %1) #0 { +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.318, i64 8 }, ptr %alloca, align 8 @@ -4210,12 +4175,66 @@ entry: } ; Function Attrs: nounwind -define internal { ptr, i64 } @__insert_9(ptr %0) #0 { +define internal { ptr, i64 } @__insert_8(ptr %0) #0 { entry: %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.320, i64 8 }) ret { ptr, i64 } %call } +; Function Attrs: nounwind +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.321, 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 + %load = load float, ptr %allocaN, align 4 + %fNi32 = bitcast float %load to i32 + %zN = zext i32 %fNi32 to i64 + %ba.val = insertvalue { i64, i64 } { i64 10, i64 undef }, i64 %zN, 1 + %igp.ptr = getelementptr { i64, i64 }, ptr %allocaN, i64 0 + store { i64, i64 } %ba.val, ptr %igp.ptr, align 8 + %allocaN = alloca { ptr, i64 }, align 8 + %igp.ptr4 = getelementptr { i64, i64 }, ptr %allocaN, i64 0 + %gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0 + store ptr %igp.ptr4, ptr %gep, align 8 + %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.322, i64 0 }, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %alloca, align 8 + %call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 5) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %call) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load float, ptr %allocaN, align 4 + %fNi3212 = bitcast float %loadN to i32 + %zN = zext i32 %fNi3212 to i64 + %ba.val14 = insertvalue { i64, i64 } { i64 10, i64 undef }, i64 %zN, 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 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %alloca, align 8 + %callN = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 7, i64 1) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + %loadN = load { ptr, i64 }, ptr %allocaN, align 8 + %str.ptr = extractvalue { ptr, i64 } %loadN, 0 + %str.len = extractvalue { ptr, i64 } %loadN, 1 + %2 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len) + ret void +} + +; 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.323, i64 8 }) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @struct_to_string__Source_Location(ptr %0, { { ptr, i64 }, i32, i32, { ptr, i64 } } %1) #0 { entry: @@ -4223,7 +4242,7 @@ 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.324, i64 15 }, { ptr, i64 } { ptr @str.325, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4242,12 +4261,12 @@ while.body.138: ; preds = %while.hdr.137 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.323, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.326, i64 1 }) ret { ptr, i64 } %callN 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.324, 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 br label %if.merge.141 @@ -4259,7 +4278,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.328, 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 }, i32, i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4316,7 +4335,7 @@ 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.332, i64 9 }, { 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 @@ -4335,24 +4354,24 @@ while.body.143: ; preds = %while.hdr.142 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.331, 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.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.332, 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.146 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.336, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.339, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.340, 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 @@ -4379,19 +4398,19 @@ fv.default: ; preds = %if.merge.146 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 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge 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 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge 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 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -4401,7 +4420,7 @@ 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.341, i64 7 }, { 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 @@ -4420,24 +4439,24 @@ while.body.148: ; preds = %while.hdr.147 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.340, 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.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.341, 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.151 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.344, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.345, 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 }, ptr %alloca, align 8 @@ -4464,13 +4483,13 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge 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 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -4479,7 +4498,7 @@ 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.349, i64 10 }, { 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 @@ -4498,24 +4517,24 @@ while.body.153: ; preds = %while.hdr.152 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.348, 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.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.349, 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.156 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.350, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.351, 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 %alloca, align 1 @@ -4534,7 +4553,7 @@ 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.355, i64 3 }, { 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 @@ -4553,24 +4572,24 @@ while.body.158: ; preds = %while.hdr.157 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.354, 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.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.355, 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.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 [1 x { ptr, i64 }], ptr @field_names.357, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.358, 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 { i64 }, ptr %alloca, align 8 @@ -4603,7 +4622,7 @@ 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.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 @@ -4622,24 +4641,24 @@ 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.361, 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.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.362, 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.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 [2 x { ptr, i64 }], ptr @field_names.365, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.366, 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, i64 }, ptr %alloca, align 8 @@ -4665,7 +4684,7 @@ fv.default: ; preds = %if.merge.166 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 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.166 @@ -4680,7 +4699,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 }) + %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 @@ -4699,24 +4718,24 @@ 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.369, 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.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.370, 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.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.374, i64 0, i64 %loadN + %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.375, 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, ptr, ptr } }, ptr %alloca, align 8 @@ -4743,7 +4762,7 @@ fv.default: ; preds = %if.merge.171 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 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.171 @@ -4755,7 +4774,7 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -4764,7 +4783,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.376, i64 8 }, { ptr, i64 } { ptr @str.377, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.379, i64 8 }, { 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 @@ -4783,24 +4802,24 @@ 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.378, 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.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.379, 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.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.383, 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.384, 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 @@ -4827,7 +4846,7 @@ fv.default: ; preds = %if.merge.176 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 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.176 @@ -4847,7 +4866,7 @@ 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.388, i64 17 }, { 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 @@ -4866,24 +4885,24 @@ 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.387, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.390, 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.388, 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 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 [4 x { ptr, i64 }], ptr @field_names.393, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.394, 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, ptr, ptr }, i64, i64, i64 }, ptr %alloca, align 8 @@ -4912,7 +4931,7 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.181 @@ -4936,7 +4955,7 @@ 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.398, i64 4 }, { 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 @@ -4955,24 +4974,24 @@ while.body.183: ; preds = %while.hdr.182 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.397, 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.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.398, 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.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 [1 x { ptr, i64 }], ptr @field_names.400, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.401, 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 { i32 }, ptr %alloca, align 4 @@ -5009,7 +5028,7 @@ 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.405, i64 10 }, { 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 @@ -5028,24 +5047,24 @@ while.body.188: ; preds = %while.hdr.187 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.404, 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.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.405, 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.191 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.411, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.412, 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, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5111,7 +5130,7 @@ 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.416, i64 13 }, { 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 @@ -5130,24 +5149,24 @@ while.body.193: ; preds = %while.hdr.192 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.415, 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.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.416, 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.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 [2 x { ptr, i64 }], ptr @field_names.419, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.420, 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 { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -5189,7 +5208,7 @@ 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.424, i64 8 }, { 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 @@ -5208,24 +5227,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.423, 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.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.424, 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.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 [5 x { ptr, i64 }], ptr @field_names.430, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.431, 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 { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -5286,7 +5305,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 }) + %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 @@ -5305,24 +5324,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.434, 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.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.435, 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.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.439, i64 0, i64 %loadN + %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.440, 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, i64 }, ptr %alloca, align 8 @@ -5349,7 +5368,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 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.206 @@ -5368,7 +5387,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.441, i64 6 }, { ptr, i64 } { ptr @str.442, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.444, i64 6 }, { 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 @@ -5387,24 +5406,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.443, 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.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.444, 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.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.448, 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.449, 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 @@ -5431,7 +5450,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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.211 @@ -5452,7 +5471,7 @@ entry: %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 }) + %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 @@ -5471,24 +5490,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.452, 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.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.453, 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.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.456, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.457, 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, [24 x i8] } }, ptr %alloca, align 8 @@ -5522,7 +5541,7 @@ 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 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -5532,7 +5551,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 }) + %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 @@ -5551,24 +5570,24 @@ 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.460, 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.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.461, 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.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.465, 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.466, 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 }, ptr %alloca, align 8 @@ -5596,7 +5615,7 @@ 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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.221 @@ -5607,7 +5626,7 @@ fv.case17: ; preds = %if.merge.221 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 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -5618,7 +5637,7 @@ entry: %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.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 @@ -5637,24 +5656,24 @@ 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.469, 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.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.470, 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.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.474, 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.475, 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, ptr } }, ptr %alloca, align 8 @@ -5694,7 +5713,7 @@ 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 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -5703,7 +5722,7 @@ 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.479, i64 12 }, { 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 @@ -5722,24 +5741,24 @@ 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.478, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.481, 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.479, 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 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 [0 x { ptr, i64 }], ptr @field_names.480, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.481, 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 %alloca, align 1 @@ -5759,7 +5778,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 }) + %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 @@ -5778,24 +5797,24 @@ 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.484, 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.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.485, 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.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.489, 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.490, 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 }, i1, i1 }, ptr %alloca, align 8 @@ -5847,7 +5866,7 @@ entry: %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.494, i64 7 }, { 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 @@ -5866,24 +5885,24 @@ 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.493, 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.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.494, 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.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.498, 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.499, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5925,7 +5944,7 @@ 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 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5935,7 +5954,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 }) + %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 @@ -5954,24 +5973,24 @@ 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.502, 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.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.503, 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.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.506, i64 0, i64 %loadN + %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.507, 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 { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -6014,7 +6033,7 @@ 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.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 @@ -6033,24 +6052,24 @@ 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.510, 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.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.511, 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.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.514, 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.515, 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 @@ -6096,7 +6115,7 @@ 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.519, i64 6 }, { 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 @@ -6115,24 +6134,24 @@ 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.518, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.521, 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.519, 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 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 [7 x { ptr, i64 }], ptr @field_names.527, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 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.528, 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 %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 @@ -6189,21 +6208,21 @@ 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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge 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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge 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 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -6214,7 +6233,7 @@ 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.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 @@ -6233,24 +6252,24 @@ 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.531, 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.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.532, 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.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 [4 x { ptr, i64 }], ptr @field_names.537, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.540, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.541, 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 @@ -6279,14 +6298,14 @@ 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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge 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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.261 @@ -6307,7 +6326,7 @@ 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.539, i64 12 }, { ptr, i64 } { ptr @str.540, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.542, i64 12 }, { 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 @@ -6326,24 +6345,24 @@ 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.541, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.544, 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.542, 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 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.545, i64 0, i64 %loadN + %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.546, 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 { { float, i1 }, { float, i1 } }, ptr %alloca, align 4 @@ -6370,14 +6389,14 @@ fv.case: ; preds = %if.merge.266 %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 93, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 94, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.266 %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 93, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 94, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -6386,7 +6405,7 @@ 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.547, i64 7 }, { ptr, i64 } { ptr @str.548, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.550, i64 7 }, { 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 @@ -6405,24 +6424,24 @@ 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.549, 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.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.550, 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.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.553, i64 0, i64 %loadN + %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.554, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, ptr }, ptr %alloca, align 8 @@ -6448,13 +6467,13 @@ fv.default: ; preds = %if.merge.271 fv.case: ; preds = %if.merge.271 %fv.field = extractvalue { ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.271 %fv.field18 = extractvalue { ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge } @@ -6463,7 +6482,7 @@ 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.555, i64 17 }, { ptr, i64 } { ptr @str.556, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.558, i64 17 }, { 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 @@ -6482,24 +6501,24 @@ 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.557, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, 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.558, 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 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 [1 x { ptr, i64 }], ptr @field_names.560, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.563, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.564, 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 @@ -6524,7 +6543,7 @@ fv.default: ; preds = %if.merge.276 fv.case: ; preds = %if.merge.276 %fv.field = extractvalue { ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -6533,7 +6552,7 @@ 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.562, i64 6 }, { ptr, i64 } { ptr @str.563, i64 1 }) + %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 @@ -6552,24 +6571,24 @@ while.body.278: ; preds = %while.hdr.277 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.564, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, 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.565, i64 2 }) + %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.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 [0 x { ptr, i64 }], ptr @field_names.566, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.567, 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 {}, ptr %alloca, align 1 @@ -6592,9 +6611,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.573, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.576, 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.568, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.571, 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 @@ -6613,8 +6632,8 @@ entry: if.then.289: ; 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.575, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.574, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.577, 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 @@ -6633,9 +6652,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.580, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.583, 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.576, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.579, 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 @@ -6654,8 +6673,8 @@ entry: if.then.291: ; 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.582, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.581, i64 1 }, { ptr, i64 } %callN) + %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 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.292 @@ -6685,9 +6704,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.590, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.593, 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.583, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.586, 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 @@ -6704,8 +6723,8 @@ entry: if.then.293: ; 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.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.595, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.594, 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 @@ -6761,7 +6780,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -6770,7 +6789,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -6783,9 +6802,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.601, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.604, 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.596, 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 @@ -6804,8 +6823,8 @@ entry: if.then.295: ; 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.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.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 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.296 @@ -6824,9 +6843,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.610, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.613, 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.607, 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 @@ -6845,8 +6864,8 @@ entry: if.then.297: ; 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.612, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.611, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.614, 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 @@ -6863,7 +6882,7 @@ 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.613, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.616, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.307 @@ -6880,12 +6899,12 @@ while.body.308: ; preds = %while.hdr.307 while.exit.309: ; preds = %while.hdr.307 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.614, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.617, i64 1 }) ret { ptr, i64 } %call 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.615, 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 br label %if.merge.311 @@ -6914,7 +6933,7 @@ 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.616, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.619, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.312 @@ -6931,12 +6950,12 @@ while.body.313: ; preds = %while.hdr.312 while.exit.314: ; preds = %while.hdr.312 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.617, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.620, i64 1 }) ret { ptr, i64 } %call 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.618, i64 2 }) + %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.316 @@ -6949,7 +6968,7 @@ if.merge.316: ; preds = %if.then.315, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -6966,7 +6985,7 @@ 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.619, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.622, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.317 @@ -6983,12 +7002,12 @@ while.body.318: ; preds = %while.hdr.317 while.exit.319: ; preds = %while.hdr.317 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.620, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.623, i64 1 }) ret { ptr, i64 } %call 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.621, i64 2 }) + %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.321 @@ -7016,7 +7035,7 @@ 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.622, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.625, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.322 @@ -7033,12 +7052,12 @@ while.body.323: ; preds = %while.hdr.322 while.exit.324: ; preds = %while.hdr.322 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.623, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.626, i64 1 }) ret { ptr, i64 } %call 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.624, 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 br label %if.merge.326 @@ -7067,7 +7086,7 @@ 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.625, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.628, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.327 @@ -7084,12 +7103,12 @@ while.body.328: ; preds = %while.hdr.327 while.exit.329: ; preds = %while.hdr.327 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.626, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.629, i64 1 }) ret { ptr, i64 } %call 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.627, i64 2 }) + %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 br label %if.merge.331 @@ -7118,7 +7137,7 @@ 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.628, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.631, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.332 @@ -7135,12 +7154,12 @@ while.body.333: ; preds = %while.hdr.332 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.629, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, i64 1 }) ret { ptr, i64 } %call 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.630, i64 2 }) + %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.336 @@ -7170,7 +7189,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.631, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.634, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.344 @@ -7189,12 +7208,12 @@ while.body.345: ; preds = %while.hdr.344 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.632, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.635, i64 1 }) ret { ptr, i64 } %call 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.633, 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.348 @@ -7223,7 +7242,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.634, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.637, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.349 @@ -7242,12 +7261,12 @@ while.body.350: ; preds = %while.hdr.349 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.635, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.638, i64 1 }) ret { ptr, i64 } %call 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.636, 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 br label %if.merge.353 @@ -7276,7 +7295,7 @@ 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.637, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.640, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.354 @@ -7295,12 +7314,12 @@ while.body.355: ; preds = %while.hdr.354 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.638, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.641, i64 1 }) ret { ptr, i64 } %call 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.639, 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.358 @@ -7313,7 +7332,7 @@ if.merge.358: ; preds = %if.then.357, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -7330,7 +7349,7 @@ 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.640, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.643, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.359 @@ -7349,12 +7368,12 @@ while.body.360: ; preds = %while.hdr.359 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.641, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.644, i64 1 }) ret { ptr, i64 } %call 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.642, 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.363 @@ -7367,7 +7386,7 @@ if.merge.363: ; preds = %if.then.362, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -7384,7 +7403,7 @@ 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.643, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.646, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.364 @@ -7403,12 +7422,12 @@ while.body.365: ; preds = %while.hdr.364 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.644, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.647, i64 1 }) ret { ptr, i64 } %call 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.645, 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 br label %if.merge.368 @@ -7450,12 +7469,12 @@ if.then.408: ; preds = %entry if.else.409: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.648, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.647, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 5 }, { ptr, i64 } %callN) br label %if.merge.410 if.merge.410: ; preds = %if.else.409, %if.then.408 - %bp = phi { ptr, i64 } [ { ptr @str.646, i64 4 }, %if.then.408 ], [ %callN, %if.else.409 ] + %bp = phi { ptr, i64 } [ { ptr @str.649, i64 4 }, %if.then.408 ], [ %callN, %if.else.409 ] ret { ptr, i64 } %bp } @@ -7478,12 +7497,12 @@ if.then.424: ; preds = %entry if.else.425: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.653, i64 11 }, { ptr, i64 } %callN) br label %if.merge.426 if.merge.426: ; preds = %if.else.425, %if.then.424 - %bp = phi { ptr, i64 } [ { ptr @str.649, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] + %bp = phi { ptr, i64 } [ { ptr @str.652, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] ret { ptr, i64 } %bp } @@ -7506,12 +7525,12 @@ if.then.427: ; preds = %entry 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.654, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.653, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.656, i64 4 }, { ptr, i64 } %callN) br label %if.merge.429 if.merge.429: ; preds = %if.else.428, %if.then.427 - %bp = phi { ptr, i64 } [ { ptr @str.652, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] + %bp = phi { ptr, i64 } [ { ptr @str.655, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] ret { ptr, i64 } %bp } @@ -7534,12 +7553,12 @@ if.then.430: ; preds = %entry 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.657, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.656, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.660, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, 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.655, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] + %bp = phi { ptr, i64 } [ { ptr @str.658, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] ret { ptr, i64 } %bp } @@ -7562,12 +7581,12 @@ if.then.433: ; preds = %entry 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.660, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.663, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.662, i64 6 }, { ptr, i64 } %callN) br label %if.merge.435 if.merge.435: ; preds = %if.else.434, %if.then.433 - %bp = phi { ptr, i64 } [ { ptr @str.658, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] + %bp = phi { ptr, i64 } [ { ptr @str.661, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] ret { ptr, i64 } %bp } @@ -7589,12 +7608,12 @@ if.then.436: ; preds = %entry 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.663, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.662, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.666, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.665, 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.661, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] + %bp = phi { ptr, i64 } [ { ptr @str.664, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] ret { ptr, i64 } %bp } @@ -7617,12 +7636,12 @@ if.then.439: ; preds = %entry 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.666, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.665, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.668, i64 9 }, { ptr, i64 } %callN) br label %if.merge.441 if.merge.441: ; preds = %if.else.440, %if.then.439 - %bp = phi { ptr, i64 } [ { ptr @str.664, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] + %bp = phi { ptr, i64 } [ { ptr @str.667, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] ret { ptr, i64 } %bp } @@ -7645,12 +7664,12 @@ if.then.442: ; preds = %entry 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.669, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.668, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.671, i64 18 }, { ptr, i64 } %callN) br label %if.merge.444 if.merge.444: ; preds = %if.else.443, %if.then.442 - %bp = phi { ptr, i64 } [ { ptr @str.667, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] + %bp = phi { ptr, i64 } [ { ptr @str.670, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] ret { ptr, i64 } %bp } @@ -7673,17 +7692,17 @@ 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.672, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.671, i64 5 }, { ptr, i64 } %callN) + %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.447 if.merge.447: ; preds = %if.else.446, %if.then.445 - %bp = phi { ptr, i64 } [ { ptr @str.670, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] + %bp = phi { ptr, i64 } [ { ptr @str.673, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7701,17 +7720,17 @@ 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.675, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.674, i64 3 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.450 if.merge.450: ; preds = %if.else.449, %if.then.448 - %bp = phi { ptr, i64 } [ { ptr @str.673, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] + %bp = phi { ptr, i64 } [ { ptr @str.676, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7729,17 +7748,17 @@ if.then.451: ; preds = %entry 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.678, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.677, i64 4 }, { ptr, i64 } %callN) + %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 9 }, { ptr, i64 } %callN) br label %if.merge.453 if.merge.453: ; preds = %if.else.452, %if.then.451 - %bp = phi { ptr, i64 } [ { ptr @str.676, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] + %bp = phi { ptr, i64 } [ { ptr @str.679, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7757,40 +7776,12 @@ if.then.454: ; preds = %entry 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.681, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.680, i64 9 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.456 if.merge.456: ; preds = %if.else.455, %if.then.454 - %bp = phi { ptr, i64 } [ { ptr @str.679, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.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.684, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.683, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.459 - -if.merge.459: ; preds = %if.else.458, %if.then.457 - %bp = phi { ptr, i64 } [ { ptr @str.682, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] + %bp = phi { ptr, i64 } [ { ptr @str.682, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] ret { ptr, i64 } %bp } @@ -7804,20 +7795,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.457, label %if.else.458 -if.then.460: ; preds = %entry - br label %if.merge.462 +if.then.457: ; preds = %entry + br label %if.merge.459 -if.else.461: ; preds = %entry +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.687, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.686, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.462 + br label %if.merge.459 -if.merge.462: ; preds = %if.else.461, %if.then.460 - %bp = phi { ptr, i64 } [ { ptr @str.685, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] +if.merge.459: ; preds = %if.else.458, %if.then.457 + %bp = phi { ptr, i64 } [ { ptr @str.685, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] ret { ptr, i64 } %bp } @@ -7832,20 +7823,20 @@ entry: store i64 %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.460, label %if.else.461 -if.then.463: ; preds = %entry - br label %if.merge.465 +if.then.460: ; preds = %entry + br label %if.merge.462 -if.else.464: ; 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.690, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.689, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.465 + br label %if.merge.462 -if.merge.465: ; preds = %if.else.464, %if.then.463 - %bp = phi { ptr, i64 } [ { ptr @str.688, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] +if.merge.462: ; preds = %if.else.461, %if.then.460 + %bp = phi { ptr, i64 } [ { ptr @str.688, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] ret { ptr, i64 } %bp } @@ -7859,6 +7850,34 @@ 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 + +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.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.465 + +if.merge.465: ; preds = %if.else.464, %if.then.463 + %bp = phi { ptr, i64 } [ { ptr @str.691, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.466, label %if.else.467 if.then.466: ; preds = %entry @@ -7867,17 +7886,17 @@ if.then.466: ; preds = %entry 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.693, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.692, i64 9 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.468 if.merge.468: ; preds = %if.else.467, %if.then.466 - %bp = phi { ptr, i64 } [ { ptr @str.691, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] + %bp = phi { ptr, i64 } [ { ptr @str.694, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7895,17 +7914,17 @@ if.then.469: ; preds = %entry 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.696, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.695, i64 7 }, { ptr, i64 } %callN) + %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.471 if.merge.471: ; preds = %if.else.470, %if.then.469 - %bp = phi { ptr, i64 } [ { ptr @str.694, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] + %bp = phi { ptr, i64 } [ { ptr @str.697, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7923,17 +7942,17 @@ if.then.472: ; preds = %entry 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.699, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.698, i64 5 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.474 if.merge.474: ; preds = %if.else.473, %if.then.472 - %bp = phi { ptr, i64 } [ { ptr @str.697, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] + %bp = phi { ptr, i64 } [ { ptr @str.700, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7951,17 +7970,17 @@ 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.702, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.701, i64 7 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.477 if.merge.477: ; preds = %if.else.476, %if.then.475 - %bp = phi { ptr, i64 } [ { ptr @str.700, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] + %bp = phi { ptr, i64 } [ { ptr @str.703, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7979,17 +7998,17 @@ if.then.478: ; preds = %entry 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.705, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.704, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.480 if.merge.480: ; preds = %if.else.479, %if.then.478 - %bp = phi { ptr, i64 } [ { ptr @str.703, i64 4 }, %if.then.478 ], [ %callN, %if.else.479 ] + %bp = phi { ptr, i64 } [ { ptr @str.706, i64 4 }, %if.then.478 ], [ %callN, %if.else.479 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8007,17 +8026,17 @@ 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.708, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.707, i64 7 }, { ptr, i64 } %callN) + %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 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.706, i64 4 }, %if.then.481 ], [ %callN, %if.else.482 ] + %bp = phi { ptr, i64 } [ { ptr @str.709, i64 4 }, %if.then.481 ], [ %callN, %if.else.482 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8035,17 +8054,17 @@ if.then.484: ; preds = %entry 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.711, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.710, i64 5 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.486 if.merge.486: ; preds = %if.else.485, %if.then.484 - %bp = phi { ptr, i64 } [ { ptr @str.709, i64 4 }, %if.then.484 ], [ %callN, %if.else.485 ] + %bp = phi { ptr, i64 } [ { ptr @str.712, i64 4 }, %if.then.484 ], [ %callN, %if.else.485 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Widget(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8063,17 +8082,17 @@ if.then.487: ; 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.714, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.713, i64 7 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.489 if.merge.489: ; preds = %if.else.488, %if.then.487 - %bp = phi { ptr, i64 } [ { ptr @str.712, i64 4 }, %if.then.487 ], [ %callN, %if.else.488 ] + %bp = phi { ptr, i64 } [ { ptr @str.715, i64 4 }, %if.then.487 ], [ %callN, %if.else.488 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Widget(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8091,17 +8110,17 @@ if.then.490: ; 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.717, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.716, i64 7 }, { ptr, i64 } %callN) + %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 12 }, { ptr, i64 } %callN) br label %if.merge.492 if.merge.492: ; preds = %if.else.491, %if.then.490 - %bp = phi { ptr, i64 } [ { ptr @str.715, i64 4 }, %if.then.490 ], [ %callN, %if.else.491 ] + %bp = phi { ptr, i64 } [ { ptr @str.718, i64 4 }, %if.then.490 ], [ %callN, %if.else.491 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8119,17 +8138,17 @@ if.then.493: ; 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.720, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.719, i64 12 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.495 if.merge.495: ; preds = %if.else.494, %if.then.493 - %bp = phi { ptr, i64 } [ { ptr @str.718, i64 4 }, %if.then.493 ], [ %callN, %if.else.494 ] + %bp = phi { ptr, i64 } [ { ptr @str.721, i64 4 }, %if.then.493 ], [ %callN, %if.else.494 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8147,17 +8166,17 @@ if.then.496: ; 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.723, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.722, i64 6 }, { ptr, i64 } %callN) + %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.498 if.merge.498: ; preds = %if.else.497, %if.then.496 - %bp = phi { ptr, i64 } [ { ptr @str.721, i64 4 }, %if.then.496 ], [ %callN, %if.else.497 ] + %bp = phi { ptr, i64 } [ { ptr @str.724, i64 4 }, %if.then.496 ], [ %callN, %if.else.497 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8175,17 +8194,17 @@ if.then.499: ; 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.726, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.725, i64 7 }, { ptr, i64 } %callN) + %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.501 if.merge.501: ; preds = %if.else.500, %if.then.499 - %bp = phi { ptr, i64 } [ { ptr @str.724, i64 4 }, %if.then.499 ], [ %callN, %if.else.500 ] + %bp = phi { ptr, i64 } [ { ptr @str.727, i64 4 }, %if.then.499 ], [ %callN, %if.else.500 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8203,17 +8222,17 @@ if.then.502: ; 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.729, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.728, i64 4 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.504 if.merge.504: ; preds = %if.else.503, %if.then.502 - %bp = phi { ptr, i64 } [ { ptr @str.727, i64 4 }, %if.then.502 ], [ %callN, %if.else.503 ] + %bp = phi { ptr, i64 } [ { ptr @str.730, i64 4 }, %if.then.502 ], [ %callN, %if.else.503 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8231,12 +8250,12 @@ 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.732, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.731, i64 6 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.507 if.merge.507: ; preds = %if.else.506, %if.then.505 - %bp = phi { ptr, i64 } [ { ptr @str.730, i64 4 }, %if.then.505 ], [ %callN, %if.else.506 ] + %bp = phi { ptr, i64 } [ { ptr @str.733, i64 4 }, %if.then.505 ], [ %callN, %if.else.506 ] ret { ptr, i64 } %bp } @@ -8259,12 +8278,12 @@ if.then.508: ; 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.735, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.734, i64 5 }, { ptr, i64 } %callN) + %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 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.733, i64 4 }, %if.then.508 ], [ %callN, %if.else.509 ] + %bp = phi { ptr, i64 } [ { ptr @str.736, i64 4 }, %if.then.508 ], [ %callN, %if.else.509 ] ret { ptr, i64 } %bp } @@ -8287,12 +8306,12 @@ if.then.511: ; 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.738, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.737, i64 13 }, { ptr, i64 } %callN) + %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 13 }, { ptr, i64 } %callN) br label %if.merge.513 if.merge.513: ; preds = %if.else.512, %if.then.511 - %bp = phi { ptr, i64 } [ { ptr @str.736, i64 4 }, %if.then.511 ], [ %callN, %if.else.512 ] + %bp = phi { ptr, i64 } [ { ptr @str.739, i64 4 }, %if.then.511 ], [ %callN, %if.else.512 ] ret { ptr, i64 } %bp } @@ -8315,12 +8334,12 @@ if.then.514: ; 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.741, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.740, i64 4 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.516 if.merge.516: ; preds = %if.else.515, %if.then.514 - %bp = phi { ptr, i64 } [ { ptr @str.739, i64 4 }, %if.then.514 ], [ %callN, %if.else.515 ] + %bp = phi { ptr, i64 } [ { ptr @str.742, i64 4 }, %if.then.514 ], [ %callN, %if.else.515 ] ret { ptr, i64 } %bp } @@ -8343,12 +8362,12 @@ if.then.517: ; 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.744, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.743, i64 4 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.519 if.merge.519: ; preds = %if.else.518, %if.then.517 - %bp = phi { ptr, i64 } [ { ptr @str.742, i64 4 }, %if.then.517 ], [ %callN, %if.else.518 ] + %bp = phi { ptr, i64 } [ { ptr @str.745, i64 4 }, %if.then.517 ], [ %callN, %if.else.518 ] ret { ptr, i64 } %bp } @@ -8371,12 +8390,12 @@ if.then.520: ; 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.747, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.746, i64 7 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.522 if.merge.522: ; preds = %if.else.521, %if.then.520 - %bp = phi { ptr, i64 } [ { ptr @str.745, i64 4 }, %if.then.520 ], [ %callN, %if.else.521 ] + %bp = phi { ptr, i64 } [ { ptr @str.748, i64 4 }, %if.then.520 ], [ %callN, %if.else.521 ] ret { ptr, i64 } %bp } @@ -8399,12 +8418,12 @@ if.then.523: ; 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.750, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.749, i64 8 }, { ptr, i64 } %callN) + %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 8 }, { ptr, i64 } %callN) br label %if.merge.525 if.merge.525: ; preds = %if.else.524, %if.then.523 - %bp = phi { ptr, i64 } [ { ptr @str.748, i64 4 }, %if.then.523 ], [ %callN, %if.else.524 ] + %bp = phi { ptr, i64 } [ { ptr @str.751, i64 4 }, %if.then.523 ], [ %callN, %if.else.524 ] ret { ptr, i64 } %bp } @@ -8427,12 +8446,12 @@ if.then.526: ; 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.753, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.752, i64 8 }, { ptr, i64 } %callN) + %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 8 }, { ptr, i64 } %callN) br label %if.merge.528 if.merge.528: ; preds = %if.else.527, %if.then.526 - %bp = phi { ptr, i64 } [ { ptr @str.751, i64 4 }, %if.then.526 ], [ %callN, %if.else.527 ] + %bp = phi { ptr, i64 } [ { ptr @str.754, i64 4 }, %if.then.526 ], [ %callN, %if.else.527 ] ret { ptr, i64 } %bp } @@ -8455,12 +8474,12 @@ if.then.529: ; 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.756, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.755, 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 18 }, { ptr, i64 } %callN) br label %if.merge.531 if.merge.531: ; preds = %if.else.530, %if.then.529 - %bp = phi { ptr, i64 } [ { ptr @str.754, i64 4 }, %if.then.529 ], [ %callN, %if.else.530 ] + %bp = phi { ptr, i64 } [ { ptr @str.757, i64 4 }, %if.then.529 ], [ %callN, %if.else.530 ] ret { ptr, i64 } %bp } @@ -8473,17 +8492,17 @@ 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.540, label %if.merge.541 -if.then.539: ; preds = %entry - ret { ptr, i64 } { ptr @str.757, i64 4 } +if.then.540: ; preds = %entry + ret { ptr, i64 } { ptr @str.760, i64 4 } -if.merge.540: ; preds = %entry +if.merge.541: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -8497,12 +8516,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.542, label %if.merge.543 -if.then.541: ; preds = %entry - ret { ptr, i64 } { ptr @str.758, i64 4 } +if.then.542: ; preds = %entry + ret { ptr, i64 } { ptr @str.761, i64 4 } -if.merge.542: ; preds = %entry +if.merge.543: ; 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 @@ -8512,6 +8531,27 @@ if.merge.542: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.544, label %if.merge.545 + +if.then.544: ; preds = %entry + ret { ptr, i64 } { ptr @str.762, i64 4 } + +if.merge.545: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -8521,17 +8561,17 @@ 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.546, label %if.merge.547 -if.then.543: ; preds = %entry - ret { ptr, i64 } { ptr @str.759, i64 4 } +if.then.546: ; preds = %entry + ret { ptr, i64 } { ptr @str.763, i64 4 } -if.merge.544: ; preds = %entry +if.merge.547: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -8545,17 +8585,17 @@ 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.548, label %if.merge.549 -if.then.545: ; preds = %entry - ret { ptr, i64 } { ptr @str.760, i64 4 } +if.then.548: ; preds = %entry + ret { ptr, i64 } { ptr @str.764, i64 4 } -if.merge.546: ; preds = %entry +if.merge.549: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -8568,12 +8608,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.547, label %if.merge.548 + br i1 %lnot, label %if.then.550, label %if.merge.551 -if.then.547: ; preds = %entry - ret { ptr, i64 } { ptr @str.761, i64 4 } +if.then.550: ; preds = %entry + ret { ptr, i64 } { ptr @str.765, i64 4 } -if.merge.548: ; preds = %entry +if.merge.551: ; 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 cafc133..2ea3de5 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.78 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.79 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.80 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [166 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] +@__sx_type_is_unsigned = private constant [169 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.81 = private constant [9 x i8] c"Overflow\00" @tag.str.82 = private constant [3 x i8] c"Io\00" @@ -41,457 +41,457 @@ @tn.str.108 = private constant [6 x i8] c"isize\00" @tn.str.109 = private constant [6 x i8] c"usize\00" @tn.str.110 = private constant [5 x i8] c"void\00" -@tn.str.111 = private constant [6 x i8] c"*void\00" -@tn.str.112 = private constant [16 x i8] c"Source_Location\00" -@tn.str.113 = private constant [10 x i8] c"Allocator\00" -@tn.str.114 = private constant [8 x i8] c"Context\00" -@tn.str.115 = private constant [7 x i8] c"[4]i64\00" -@tn.str.116 = private constant [9 x i8] c"[]string\00" -@tn.str.117 = private constant [11 x i8] c"CAllocator\00" -@tn.str.118 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.119 = private constant [4 x i8] c"GPA\00" -@tn.str.120 = private constant [5 x i8] c"*GPA\00" -@tn.str.121 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.122 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.123 = private constant [6 x i8] c"Arena\00" -@tn.str.124 = private constant [7 x i8] c"*Arena\00" -@tn.str.125 = private constant [6 x i8] c"[*]u8\00" -@tn.str.126 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.127 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.128 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.129 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.130 = private constant [9 x i8] c"OpenMode\00" -@tn.str.131 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.132 = private constant [5 x i8] c"File\00" -@tn.str.133 = private constant [6 x i8] c"*File\00" -@tn.str.134 = private constant [6 x i8] c"?File\00" -@tn.str.135 = private constant [8 x i8] c"?string\00" -@tn.str.136 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.137 = private constant [4 x i8] c"*u8\00" -@tn.str.138 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.139 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.140 = private constant [5 x i8] c"*i32\00" -@tn.str.141 = private constant [9 x i8] c"SockAddr\00" -@tn.str.142 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.143 = private constant [5 x i8] c"*u32\00" -@tn.str.144 = private constant [10 x i8] c"JsonError\00" -@tn.str.145 = private constant [6 x i8] c"Array\00" -@tn.str.146 = private constant [7 x i8] c"Object\00" -@tn.str.147 = private constant [6 x i8] c"Value\00" -@tn.str.148 = private constant [7 x i8] c"Member\00" -@tn.str.149 = private constant [9 x i8] c"[*]Value\00" -@tn.str.150 = private constant [7 x i8] c"*Array\00" -@tn.str.151 = private constant [10 x i8] c"[*]Member\00" -@tn.str.152 = private constant [8 x i8] c"*Object\00" -@tn.str.153 = private constant [5 x i8] c"[]u8\00" -@tn.str.154 = private constant [5 x i8] c"Sink\00" -@tn.str.155 = private constant [6 x i8] c"*Sink\00" -@tn.str.156 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.157 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.158 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.159 = private constant [7 x i8] c"Parser\00" -@tn.str.160 = private constant [8 x i8] c"*Parser\00" -@tn.str.161 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.162 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.163 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.164 = private constant [13 x i8] c"Architecture\00" -@tn.str.165 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.166 = private constant [11 x i8] c"() -> bool\00" -@tn.str.167 = private constant [5 x i8] c"*i64\00" -@tn.str.168 = private constant [9 x i8] c"CliError\00" -@tn.str.169 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.170 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.171 = private constant [8 x i8] c"Command\00" -@tn.str.172 = private constant [10 x i8] c"FlagValue\00" -@tn.str.173 = private constant [5 x i8] c"Diag\00" -@tn.str.174 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.175 = private constant [7 x i8] c"Parsed\00" -@tn.str.176 = private constant [8 x i8] c"*Parsed\00" -@tn.str.177 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.178 = private constant [10 x i8] c"[]Command\00" -@tn.str.179 = private constant [6 x i8] c"*Diag\00" -@tn.str.180 = private constant [7 x i8] c"[8]i64\00" -@tn.str.181 = private constant [7 x i8] c"[64]u8\00" -@tn.str.182 = private constant [7 x i8] c"Sha256\00" -@tn.str.183 = private constant [8 x i8] c"*Sha256\00" -@tn.str.184 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.185 = private constant [8 x i8] c"[64]i64\00" -@tn.str.186 = private constant [5 x i8] c"?i64\00" -@tn.str.187 = private constant [6 x i8] c"?bool\00" -@tn.str.188 = private constant [2 x i8] c"S\00" -@tn.str.189 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.190 = private constant [7 x i8] c"**void\00" -@tn.str.191 = private constant [3 x i8] c"*S\00" -@tn.str.192 = private constant [8 x i8] c"*string\00" -@tn.str.193 = private constant [6 x i8] c"[]Any\00" -@tn.str.194 = private constant [5 x i8] c"*Any\00" -@tn.str.195 = private constant [7 x i8] c"[1]Any\00" -@tn.str.196 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.197 = private constant [7 x i8] c"*[]Any\00" -@tn.str.198 = private constant [6 x i8] c"*bool\00" -@tn.str.199 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.200 = private constant [5 x i8] c"*f64\00" -@tn.str.201 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.202 = private constant [11 x i8] c"*Allocator\00" -@tn.str.203 = private constant [9 x i8] c"*Context\00" -@tn.str.204 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.205 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.206 = private constant [8 x i8] c"*Member\00" -@tn.str.207 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.208 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.209 = private constant [9 x i8] c"*Command\00" -@tn.str.210 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.211 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.212 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.213 = private constant [7 x i8] c"*Value\00" -@tn.str.214 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.215 = private constant [14 x i8] c"*Architecture\00" -@tn.str.216 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.217 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.218 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.219 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.220 = private constant [10 x i8] c"*[]string\00" -@tn.str.221 = private constant [6 x i8] c"*[]u8\00" -@tn.str.222 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.223 = private constant [11 x i8] c"*[]Command\00" -@tn.str.224 = private constant [6 x i8] c"**GPA\00" -@tn.str.225 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.226 = private constant [8 x i8] c"**Arena\00" -@tn.str.227 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.228 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.229 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.230 = private constant [7 x i8] c"**File\00" -@tn.str.231 = private constant [5 x i8] c"**u8\00" -@tn.str.232 = private constant [6 x i8] c"**i32\00" -@tn.str.233 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.234 = private constant [6 x i8] c"**u32\00" -@tn.str.235 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.236 = private constant [8 x i8] c"**Array\00" -@tn.str.237 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.238 = private constant [9 x i8] c"**Object\00" -@tn.str.239 = private constant [7 x i8] c"**Sink\00" -@tn.str.240 = private constant [9 x i8] c"**Parser\00" -@tn.str.241 = private constant [6 x i8] c"**i64\00" -@tn.str.242 = private constant [9 x i8] c"**Parsed\00" -@tn.str.243 = private constant [7 x i8] c"**Diag\00" -@tn.str.244 = private constant [9 x i8] c"**Sha256\00" -@tn.str.245 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.246 = private constant [8 x i8] c"***void\00" -@tn.str.247 = private constant [4 x i8] c"**S\00" -@tn.str.248 = private constant [9 x i8] c"**string\00" -@tn.str.249 = private constant [6 x i8] c"**Any\00" -@tn.str.250 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.251 = private constant [8 x i8] c"**[]Any\00" -@tn.str.252 = private constant [7 x i8] c"**bool\00" -@tn.str.253 = private constant [7 x i8] c"*?File\00" -@tn.str.254 = private constant [9 x i8] c"*?string\00" -@tn.str.255 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.256 = private constant [9 x i8] c"*?[64]u8\00" -@tn.str.257 = private constant [6 x i8] c"*?i64\00" -@tn.str.258 = private constant [7 x i8] c"*?bool\00" -@__sx_type_names = private constant [166 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 15 }, { ptr, i64 } { ptr @tn.str.113, i64 9 }, { ptr, i64 } { ptr @tn.str.114, i64 7 }, { ptr, i64 } { ptr @tn.str.115, i64 6 }, { ptr, i64 } { ptr @tn.str.116, i64 8 }, { ptr, i64 } { ptr @tn.str.117, i64 10 }, { ptr, i64 } { ptr @tn.str.118, i64 11 }, { ptr, i64 } { ptr @tn.str.119, i64 3 }, { ptr, i64 } { ptr @tn.str.120, i64 4 }, { ptr, i64 } { ptr @tn.str.121, i64 10 }, { ptr, i64 } { ptr @tn.str.122, i64 11 }, { ptr, i64 } { ptr @tn.str.123, i64 5 }, { ptr, i64 } { ptr @tn.str.124, i64 6 }, { ptr, i64 } { ptr @tn.str.125, i64 5 }, { ptr, i64 } { ptr @tn.str.126, i64 8 }, { ptr, i64 } { ptr @tn.str.127, i64 9 }, { ptr, i64 } { ptr @tn.str.128, i64 17 }, { ptr, i64 } { ptr @tn.str.129, i64 18 }, { ptr, i64 } { ptr @tn.str.130, i64 8 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 4 }, { ptr, i64 } { ptr @tn.str.133, i64 5 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 7 }, { ptr, i64 } { ptr @tn.str.136, i64 10 }, { ptr, i64 } { ptr @tn.str.137, i64 3 }, { ptr, i64 } { ptr @tn.str.138, i64 13 }, { ptr, i64 } { ptr @tn.str.139, i64 14 }, { ptr, i64 } { ptr @tn.str.140, i64 4 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 9 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 9 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 6 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 6 }, { ptr, i64 } { ptr @tn.str.149, i64 8 }, { ptr, i64 } { ptr @tn.str.150, i64 6 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 7 }, { ptr, i64 } { ptr @tn.str.153, i64 4 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 5 }, { ptr, i64 } { ptr @tn.str.156, i64 16 }, { ptr, i64 } { ptr @tn.str.157, i64 14 }, { ptr, i64 } { ptr @tn.str.158, i64 21 }, { ptr, i64 } { ptr @tn.str.159, i64 6 }, { ptr, i64 } { ptr @tn.str.160, i64 7 }, { ptr, i64 } { ptr @tn.str.161, i64 24 }, { ptr, i64 } { ptr @tn.str.162, i64 23 }, { ptr, i64 } { ptr @tn.str.163, i64 15 }, { ptr, i64 } { ptr @tn.str.164, i64 12 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 10 }, { ptr, i64 } { ptr @tn.str.167, i64 4 }, { ptr, i64 } { ptr @tn.str.168, i64 8 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 10 }, { ptr, i64 } { ptr @tn.str.171, i64 7 }, { ptr, i64 } { ptr @tn.str.172, i64 9 }, { ptr, i64 } { ptr @tn.str.173, i64 4 }, { ptr, i64 } { ptr @tn.str.174, i64 13 }, { ptr, i64 } { ptr @tn.str.175, i64 6 }, { ptr, i64 } { ptr @tn.str.176, i64 7 }, { ptr, i64 } { ptr @tn.str.177, i64 18 }, { ptr, i64 } { ptr @tn.str.178, i64 9 }, { ptr, i64 } { ptr @tn.str.179, i64 5 }, { ptr, i64 } { ptr @tn.str.180, i64 6 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 7 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 4 }, { ptr, i64 } { ptr @tn.str.187, i64 5 }, { ptr, i64 } { ptr @tn.str.188, i64 1 }, { ptr, i64 } { ptr @tn.str.189, i64 12 }, { ptr, i64 } { ptr @tn.str.190, i64 6 }, { ptr, i64 } { ptr @tn.str.191, i64 2 }, { ptr, i64 } { ptr @tn.str.192, i64 7 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 4 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 6 }, { ptr, i64 } { ptr @tn.str.198, i64 5 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 4 }, { ptr, i64 } { ptr @tn.str.201, i64 16 }, { ptr, i64 } { ptr @tn.str.202, i64 10 }, { ptr, i64 } { ptr @tn.str.203, i64 8 }, { ptr, i64 } { ptr @tn.str.204, i64 11 }, { ptr, i64 } { ptr @tn.str.205, i64 14 }, { ptr, i64 } { ptr @tn.str.206, i64 7 }, { ptr, i64 } { ptr @tn.str.207, i64 13 }, { ptr, i64 } { ptr @tn.str.208, i64 9 }, { ptr, i64 } { ptr @tn.str.209, i64 8 }, { ptr, i64 } { ptr @tn.str.210, i64 10 }, { ptr, i64 } { ptr @tn.str.211, i64 9 }, { ptr, i64 } { ptr @tn.str.212, i64 9 }, { ptr, i64 } { ptr @tn.str.213, i64 6 }, { ptr, i64 } { ptr @tn.str.214, i64 16 }, { ptr, i64 } { ptr @tn.str.215, i64 13 }, { ptr, i64 } { ptr @tn.str.216, i64 14 }, { ptr, i64 } { ptr @tn.str.217, i64 7 }, { ptr, i64 } { ptr @tn.str.218, i64 7 }, { ptr, i64 } { ptr @tn.str.219, i64 8 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 5 }, { ptr, i64 } { ptr @tn.str.222, i64 11 }, { ptr, i64 } { ptr @tn.str.223, i64 10 }, { ptr, i64 } { ptr @tn.str.224, i64 5 }, { ptr, i64 } { ptr @tn.str.225, i64 12 }, { ptr, i64 } { ptr @tn.str.226, i64 7 }, { ptr, i64 } { ptr @tn.str.227, i64 6 }, { ptr, i64 } { ptr @tn.str.228, i64 10 }, { ptr, i64 } { ptr @tn.str.229, i64 19 }, { ptr, i64 } { ptr @tn.str.230, i64 6 }, { ptr, i64 } { ptr @tn.str.231, i64 4 }, { ptr, i64 } { ptr @tn.str.232, i64 5 }, { ptr, i64 } { ptr @tn.str.233, i64 10 }, { ptr, i64 } { ptr @tn.str.234, i64 5 }, { ptr, i64 } { ptr @tn.str.235, i64 9 }, { ptr, i64 } { ptr @tn.str.236, i64 7 }, { ptr, i64 } { ptr @tn.str.237, i64 10 }, { ptr, i64 } { ptr @tn.str.238, i64 8 }, { ptr, i64 } { ptr @tn.str.239, i64 6 }, { ptr, i64 } { ptr @tn.str.240, i64 8 }, { ptr, i64 } { ptr @tn.str.241, i64 5 }, { ptr, i64 } { ptr @tn.str.242, i64 8 }, { ptr, i64 } { ptr @tn.str.243, i64 6 }, { ptr, i64 } { ptr @tn.str.244, i64 8 }, { ptr, i64 } { ptr @tn.str.245, i64 13 }, { ptr, i64 } { ptr @tn.str.246, i64 7 }, { ptr, i64 } { ptr @tn.str.247, i64 3 }, { ptr, i64 } { ptr @tn.str.248, i64 8 }, { ptr, i64 } { ptr @tn.str.249, i64 5 }, { ptr, i64 } { ptr @tn.str.250, i64 8 }, { ptr, i64 } { ptr @tn.str.251, i64 7 }, { ptr, i64 } { ptr @tn.str.252, i64 6 }, { ptr, i64 } { ptr @tn.str.253, i64 6 }, { ptr, i64 } { ptr @tn.str.254, i64 8 }, { ptr, i64 } { ptr @tn.str.255, i64 15 }, { ptr, i64 } { ptr @tn.str.256, i64 8 }, { ptr, i64 } { ptr @tn.str.257, i64 5 }, { ptr, i64 } { ptr @tn.str.258, i64 6 }] -@str.259 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.260 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.261 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@tn.str.111 = private constant [8 x i8] c"cstring\00" +@tn.str.112 = private constant [6 x i8] c"*void\00" +@tn.str.113 = private constant [16 x i8] c"Source_Location\00" +@tn.str.114 = private constant [10 x i8] c"Allocator\00" +@tn.str.115 = private constant [8 x i8] c"Context\00" +@tn.str.116 = private constant [7 x i8] c"[4]i64\00" +@tn.str.117 = private constant [9 x i8] c"[]string\00" +@tn.str.118 = private constant [11 x i8] c"CAllocator\00" +@tn.str.119 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.120 = private constant [4 x i8] c"GPA\00" +@tn.str.121 = private constant [5 x i8] c"*GPA\00" +@tn.str.122 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.123 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.124 = private constant [6 x i8] c"Arena\00" +@tn.str.125 = private constant [7 x i8] c"*Arena\00" +@tn.str.126 = private constant [6 x i8] c"[*]u8\00" +@tn.str.127 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.128 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.129 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.130 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.131 = private constant [9 x i8] c"OpenMode\00" +@tn.str.132 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.133 = private constant [5 x i8] c"File\00" +@tn.str.134 = private constant [6 x i8] c"*File\00" +@tn.str.135 = private constant [6 x i8] c"?File\00" +@tn.str.136 = private constant [8 x i8] c"?string\00" +@tn.str.137 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.138 = private constant [9 x i8] c"?cstring\00" +@tn.str.139 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.140 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.141 = private constant [5 x i8] c"*i32\00" +@tn.str.142 = private constant [9 x i8] c"SockAddr\00" +@tn.str.143 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.144 = private constant [5 x i8] c"*u32\00" +@tn.str.145 = private constant [10 x i8] c"JsonError\00" +@tn.str.146 = private constant [6 x i8] c"Array\00" +@tn.str.147 = private constant [7 x i8] c"Object\00" +@tn.str.148 = private constant [6 x i8] c"Value\00" +@tn.str.149 = private constant [7 x i8] c"Member\00" +@tn.str.150 = private constant [9 x i8] c"[*]Value\00" +@tn.str.151 = private constant [7 x i8] c"*Array\00" +@tn.str.152 = private constant [10 x i8] c"[*]Member\00" +@tn.str.153 = private constant [8 x i8] c"*Object\00" +@tn.str.154 = private constant [5 x i8] c"[]u8\00" +@tn.str.155 = private constant [5 x i8] c"Sink\00" +@tn.str.156 = private constant [6 x i8] c"*Sink\00" +@tn.str.157 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.158 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.159 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.160 = private constant [7 x i8] c"Parser\00" +@tn.str.161 = private constant [8 x i8] c"*Parser\00" +@tn.str.162 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.163 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.164 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.165 = private constant [13 x i8] c"Architecture\00" +@tn.str.166 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.167 = private constant [11 x i8] c"() -> bool\00" +@tn.str.168 = private constant [5 x i8] c"*i64\00" +@tn.str.169 = private constant [9 x i8] c"CliError\00" +@tn.str.170 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.171 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.172 = private constant [8 x i8] c"Command\00" +@tn.str.173 = private constant [10 x i8] c"FlagValue\00" +@tn.str.174 = private constant [5 x i8] c"Diag\00" +@tn.str.175 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.176 = private constant [7 x i8] c"Parsed\00" +@tn.str.177 = private constant [8 x i8] c"*Parsed\00" +@tn.str.178 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.179 = private constant [10 x i8] c"[]Command\00" +@tn.str.180 = private constant [6 x i8] c"*Diag\00" +@tn.str.181 = private constant [7 x i8] c"[8]i64\00" +@tn.str.182 = private constant [7 x i8] c"[64]u8\00" +@tn.str.183 = private constant [7 x i8] c"Sha256\00" +@tn.str.184 = private constant [8 x i8] c"*Sha256\00" +@tn.str.185 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.186 = private constant [8 x i8] c"[64]i64\00" +@tn.str.187 = private constant [5 x i8] c"?i64\00" +@tn.str.188 = private constant [6 x i8] c"?bool\00" +@tn.str.189 = private constant [2 x i8] c"S\00" +@tn.str.190 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.191 = private constant [7 x i8] c"**void\00" +@tn.str.192 = private constant [3 x i8] c"*S\00" +@tn.str.193 = private constant [8 x i8] c"*string\00" +@tn.str.194 = private constant [6 x i8] c"[]Any\00" +@tn.str.195 = private constant [5 x i8] c"*Any\00" +@tn.str.196 = private constant [7 x i8] c"[1]Any\00" +@tn.str.197 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.198 = private constant [7 x i8] c"*[]Any\00" +@tn.str.199 = private constant [4 x i8] c"*u8\00" +@tn.str.200 = private constant [6 x i8] c"*bool\00" +@tn.str.201 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.202 = private constant [5 x i8] c"*f64\00" +@tn.str.203 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.204 = private constant [11 x i8] c"*Allocator\00" +@tn.str.205 = private constant [9 x i8] c"*Context\00" +@tn.str.206 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.207 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.208 = private constant [8 x i8] c"*Member\00" +@tn.str.209 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.210 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.211 = private constant [9 x i8] c"*Command\00" +@tn.str.212 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.213 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.214 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.215 = private constant [7 x i8] c"*Value\00" +@tn.str.216 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.217 = private constant [14 x i8] c"*Architecture\00" +@tn.str.218 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.219 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.220 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.221 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.222 = private constant [10 x i8] c"*[]string\00" +@tn.str.223 = private constant [6 x i8] c"*[]u8\00" +@tn.str.224 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.225 = private constant [11 x i8] c"*[]Command\00" +@tn.str.226 = private constant [6 x i8] c"**GPA\00" +@tn.str.227 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.228 = private constant [8 x i8] c"**Arena\00" +@tn.str.229 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.230 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.231 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.232 = private constant [7 x i8] c"**File\00" +@tn.str.233 = private constant [6 x i8] c"**i32\00" +@tn.str.234 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.235 = private constant [6 x i8] c"**u32\00" +@tn.str.236 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.237 = private constant [8 x i8] c"**Array\00" +@tn.str.238 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.239 = private constant [9 x i8] c"**Object\00" +@tn.str.240 = private constant [7 x i8] c"**Sink\00" +@tn.str.241 = private constant [9 x i8] c"**Parser\00" +@tn.str.242 = private constant [6 x i8] c"**i64\00" +@tn.str.243 = private constant [9 x i8] c"**Parsed\00" +@tn.str.244 = private constant [7 x i8] c"**Diag\00" +@tn.str.245 = private constant [9 x i8] c"**Sha256\00" +@tn.str.246 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.247 = private constant [8 x i8] c"***void\00" +@tn.str.248 = private constant [4 x i8] c"**S\00" +@tn.str.249 = private constant [9 x i8] c"**string\00" +@tn.str.250 = private constant [6 x i8] c"**Any\00" +@tn.str.251 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.252 = private constant [8 x i8] c"**[]Any\00" +@tn.str.253 = private constant [5 x i8] c"**u8\00" +@tn.str.254 = private constant [7 x i8] c"**bool\00" +@tn.str.255 = private constant [7 x i8] c"*?File\00" +@tn.str.256 = private constant [9 x i8] c"*?string\00" +@tn.str.257 = private constant [10 x i8] c"*?cstring\00" +@tn.str.258 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.259 = private constant [9 x i8] c"*?[64]u8\00" +@tn.str.260 = private constant [6 x i8] c"*?i64\00" +@tn.str.261 = private constant [7 x i8] c"*?bool\00" +@__sx_type_names = private constant [169 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.94, i64 4 }, { ptr, i64 } { ptr @tn.str.95, i64 2 }, { ptr, i64 } { ptr @tn.str.96, i64 3 }, { ptr, i64 } { ptr @tn.str.97, i64 3 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 2 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { ptr, i64 } { ptr @tn.str.104, i64 3 }, { ptr, i64 } { ptr @tn.str.105, i64 6 }, { ptr, i64 } { ptr @tn.str.106, i64 3 }, { ptr, i64 } { ptr @tn.str.107, i64 8 }, { ptr, i64 } { ptr @tn.str.108, i64 5 }, { ptr, i64 } { ptr @tn.str.109, i64 5 }, { ptr, i64 } { ptr @tn.str.110, i64 4 }, { ptr, i64 } { ptr @tn.str.111, i64 7 }, { ptr, i64 } { ptr @tn.str.112, i64 5 }, { ptr, i64 } { ptr @tn.str.113, i64 15 }, { ptr, i64 } { ptr @tn.str.114, i64 9 }, { ptr, i64 } { ptr @tn.str.115, i64 7 }, { ptr, i64 } { ptr @tn.str.116, i64 6 }, { ptr, i64 } { ptr @tn.str.117, i64 8 }, { ptr, i64 } { ptr @tn.str.118, i64 10 }, { ptr, i64 } { ptr @tn.str.119, i64 11 }, { ptr, i64 } { ptr @tn.str.120, i64 3 }, { ptr, i64 } { ptr @tn.str.121, i64 4 }, { ptr, i64 } { ptr @tn.str.122, i64 10 }, { ptr, i64 } { ptr @tn.str.123, i64 11 }, { ptr, i64 } { ptr @tn.str.124, i64 5 }, { ptr, i64 } { ptr @tn.str.125, i64 6 }, { ptr, i64 } { ptr @tn.str.126, i64 5 }, { ptr, i64 } { ptr @tn.str.127, i64 8 }, { ptr, i64 } { ptr @tn.str.128, i64 9 }, { ptr, i64 } { ptr @tn.str.129, i64 17 }, { ptr, i64 } { ptr @tn.str.130, i64 18 }, { ptr, i64 } { ptr @tn.str.131, i64 8 }, { ptr, i64 } { ptr @tn.str.132, i64 8 }, { ptr, i64 } { ptr @tn.str.133, i64 4 }, { ptr, i64 } { ptr @tn.str.134, i64 5 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 7 }, { ptr, i64 } { ptr @tn.str.137, i64 10 }, { ptr, i64 } { ptr @tn.str.138, i64 8 }, { ptr, i64 } { ptr @tn.str.139, i64 13 }, { ptr, i64 } { ptr @tn.str.140, i64 14 }, { ptr, i64 } { ptr @tn.str.141, i64 4 }, { ptr, i64 } { ptr @tn.str.142, i64 8 }, { ptr, i64 } { ptr @tn.str.143, i64 9 }, { ptr, i64 } { ptr @tn.str.144, i64 4 }, { ptr, i64 } { ptr @tn.str.145, i64 9 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 6 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 6 }, { ptr, i64 } { ptr @tn.str.150, i64 8 }, { ptr, i64 } { ptr @tn.str.151, i64 6 }, { ptr, i64 } { ptr @tn.str.152, i64 9 }, { ptr, i64 } { ptr @tn.str.153, i64 7 }, { ptr, i64 } { ptr @tn.str.154, i64 4 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 5 }, { ptr, i64 } { ptr @tn.str.157, i64 16 }, { ptr, i64 } { ptr @tn.str.158, i64 14 }, { ptr, i64 } { ptr @tn.str.159, i64 21 }, { ptr, i64 } { ptr @tn.str.160, i64 6 }, { ptr, i64 } { ptr @tn.str.161, i64 7 }, { ptr, i64 } { ptr @tn.str.162, i64 24 }, { ptr, i64 } { ptr @tn.str.163, i64 23 }, { ptr, i64 } { ptr @tn.str.164, i64 15 }, { ptr, i64 } { ptr @tn.str.165, i64 12 }, { ptr, i64 } { ptr @tn.str.166, i64 12 }, { ptr, i64 } { ptr @tn.str.167, i64 10 }, { ptr, i64 } { ptr @tn.str.168, i64 4 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 8 }, { ptr, i64 } { ptr @tn.str.171, i64 10 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 9 }, { ptr, i64 } { ptr @tn.str.174, i64 4 }, { ptr, i64 } { ptr @tn.str.175, i64 13 }, { ptr, i64 } { ptr @tn.str.176, i64 6 }, { ptr, i64 } { ptr @tn.str.177, i64 7 }, { ptr, i64 } { ptr @tn.str.178, i64 18 }, { ptr, i64 } { ptr @tn.str.179, i64 9 }, { ptr, i64 } { ptr @tn.str.180, i64 5 }, { ptr, i64 } { ptr @tn.str.181, i64 6 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 7 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 4 }, { ptr, i64 } { ptr @tn.str.188, i64 5 }, { ptr, i64 } { ptr @tn.str.189, i64 1 }, { ptr, i64 } { ptr @tn.str.190, i64 12 }, { ptr, i64 } { ptr @tn.str.191, i64 6 }, { ptr, i64 } { ptr @tn.str.192, i64 2 }, { ptr, i64 } { ptr @tn.str.193, i64 7 }, { ptr, i64 } { ptr @tn.str.194, i64 5 }, { ptr, i64 } { ptr @tn.str.195, i64 4 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 6 }, { ptr, i64 } { ptr @tn.str.199, i64 3 }, { ptr, i64 } { ptr @tn.str.200, i64 5 }, { ptr, i64 } { ptr @tn.str.201, i64 7 }, { ptr, i64 } { ptr @tn.str.202, i64 4 }, { ptr, i64 } { ptr @tn.str.203, i64 16 }, { ptr, i64 } { ptr @tn.str.204, i64 10 }, { ptr, i64 } { ptr @tn.str.205, i64 8 }, { ptr, i64 } { ptr @tn.str.206, i64 11 }, { ptr, i64 } { ptr @tn.str.207, i64 14 }, { ptr, i64 } { ptr @tn.str.208, i64 7 }, { ptr, i64 } { ptr @tn.str.209, i64 13 }, { ptr, i64 } { ptr @tn.str.210, i64 9 }, { ptr, i64 } { ptr @tn.str.211, i64 8 }, { ptr, i64 } { ptr @tn.str.212, i64 10 }, { ptr, i64 } { ptr @tn.str.213, i64 9 }, { ptr, i64 } { ptr @tn.str.214, i64 9 }, { ptr, i64 } { ptr @tn.str.215, i64 6 }, { ptr, i64 } { ptr @tn.str.216, i64 16 }, { ptr, i64 } { ptr @tn.str.217, i64 13 }, { ptr, i64 } { ptr @tn.str.218, i64 14 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 7 }, { ptr, i64 } { ptr @tn.str.221, i64 8 }, { ptr, i64 } { ptr @tn.str.222, i64 9 }, { ptr, i64 } { ptr @tn.str.223, i64 5 }, { ptr, i64 } { ptr @tn.str.224, i64 11 }, { ptr, i64 } { ptr @tn.str.225, i64 10 }, { ptr, i64 } { ptr @tn.str.226, i64 5 }, { ptr, i64 } { ptr @tn.str.227, i64 12 }, { ptr, i64 } { ptr @tn.str.228, i64 7 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 10 }, { ptr, i64 } { ptr @tn.str.231, i64 19 }, { ptr, i64 } { ptr @tn.str.232, i64 6 }, { ptr, i64 } { ptr @tn.str.233, i64 5 }, { ptr, i64 } { ptr @tn.str.234, i64 10 }, { ptr, i64 } { ptr @tn.str.235, i64 5 }, { ptr, i64 } { ptr @tn.str.236, i64 9 }, { ptr, i64 } { ptr @tn.str.237, i64 7 }, { ptr, i64 } { ptr @tn.str.238, i64 10 }, { ptr, i64 } { ptr @tn.str.239, i64 8 }, { ptr, i64 } { ptr @tn.str.240, i64 6 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 5 }, { ptr, i64 } { ptr @tn.str.243, i64 8 }, { ptr, i64 } { ptr @tn.str.244, i64 6 }, { ptr, i64 } { ptr @tn.str.245, i64 8 }, { ptr, i64 } { ptr @tn.str.246, i64 13 }, { ptr, i64 } { ptr @tn.str.247, i64 7 }, { ptr, i64 } { ptr @tn.str.248, i64 3 }, { ptr, i64 } { ptr @tn.str.249, i64 8 }, { ptr, i64 } { ptr @tn.str.250, i64 5 }, { ptr, i64 } { ptr @tn.str.251, i64 8 }, { ptr, i64 } { ptr @tn.str.252, i64 7 }, { ptr, i64 } { ptr @tn.str.253, i64 4 }, { ptr, i64 } { ptr @tn.str.254, i64 6 }, { ptr, i64 } { ptr @tn.str.255, i64 6 }, { ptr, i64 } { ptr @tn.str.256, i64 8 }, { ptr, i64 } { ptr @tn.str.257, i64 9 }, { ptr, i64 } { ptr @tn.str.258, i64 15 }, { ptr, i64 } { ptr @tn.str.259, i64 8 }, { ptr, i64 } { ptr @tn.str.260, i64 5 }, { ptr, i64 } { ptr @tn.str.261, i64 6 }] @str.262 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.263 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.264 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.265 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.266 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.267 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.268 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.269 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.270 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.271 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.272 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.273 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.265 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.266 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.267 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.268 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.269 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.270 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.271 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.272 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.273 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.274 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.275 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.276 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @str.277 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.278 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.279 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.280 = private unnamed_addr constant [3 x i8] c"hi\00", align 1 -@str.281 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 -@str.282 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.283 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 -@str.284 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.285 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.286 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.287 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.280 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.281 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.282 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.283 = private unnamed_addr constant [3 x i8] c"hi\00", align 1 +@str.284 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.285 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.286 = private unnamed_addr constant [4 x i8] c"{}\0A\00", align 1 +@str.287 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.288 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.289 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.290 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.288 = private constant [5 x i8] c"line\00" -@fld.str.289 = private constant [4 x i8] c"col\00" -@fld.str.290 = 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.288, i64 4 }, { ptr, i64 } { ptr @fld.str.289, i64 3 }, { ptr, i64 } { ptr @fld.str.290, i64 4 }] -@str.291 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.292 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.293 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.294 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.295 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.296 = private constant [4 x i8] c"ctx\00" -@fld.str.297 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.298 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.299 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.296, i64 3 }, { ptr, i64 } { ptr @fld.str.297, i64 11 }, { ptr, i64 } { ptr @fld.str.298, i64 13 }] -@str.300 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.301 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.302 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.303 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.304 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.305 = private constant [10 x i8] c"allocator\00" -@fld.str.306 = private constant [5 x i8] c"data\00" -@field_names.307 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.305, i64 9 }, { ptr, i64 } { ptr @fld.str.306, i64 4 }] -@str.308 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.309 = private unnamed_addr constant [11 x i8] c"CAllocator\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"}\00", align 1 -@str.312 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.313 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.314 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.315 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 -@str.316 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.317 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.318 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.319 = private constant [12 x i8] c"alloc_count\00" -@field_names.320 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.319, i64 11 }] -@str.321 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.322 = private unnamed_addr constant [11 x i8] c"ArenaChunk\00", align 1 -@str.323 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.324 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.325 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.326 = private constant [5 x i8] c"next\00" -@fld.str.327 = private constant [4 x i8] c"cap\00" -@field_names.328 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.326, i64 4 }, { ptr, i64 } { ptr @fld.str.327, i64 3 }] -@str.329 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.330 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" -@fld.str.335 = private constant [10 x i8] c"end_index\00" -@fld.str.336 = private constant [7 x i8] c"parent\00" -@field_names.337 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.334, i64 5 }, { ptr, i64 } { ptr @fld.str.335, i64 9 }, { ptr, i64 } { ptr @fld.str.336, i64 6 }] -@str.338 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.339 = private unnamed_addr constant [9 x i8] c"BufAlloc\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.343 = private constant [4 x i8] c"buf\00" -@fld.str.344 = private constant [4 x i8] c"len\00" -@fld.str.345 = private constant [4 x i8] c"pos\00" -@field_names.346 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.343, i64 3 }, { ptr, i64 } { ptr @fld.str.344, i64 3 }, { ptr, i64 } { ptr @fld.str.345, i64 3 }] -@str.347 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.348 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" -@fld.str.353 = private constant [12 x i8] c"alloc_count\00" -@fld.str.354 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.355 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.356 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.352, i64 6 }, { ptr, i64 } { ptr @fld.str.353, i64 11 }, { ptr, i64 } { ptr @fld.str.354, i64 13 }, { ptr, i64 } { ptr @fld.str.355, i64 17 }] -@str.357 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.358 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" -@field_names.363 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.362, i64 2 }] -@str.364 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.365 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" -@fld.str.370 = private constant [5 x i8] c"line\00" -@fld.str.371 = private constant [4 x i8] c"col\00" -@fld.str.372 = private constant [5 x i8] c"func\00" -@fld.str.373 = private constant [10 x i8] c"line_text\00" -@field_names.374 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.369, i64 4 }, { ptr, i64 } { ptr @fld.str.370, i64 4 }, { ptr, i64 } { ptr @fld.str.371, i64 3 }, { ptr, i64 } { ptr @fld.str.372, i64 4 }, { ptr, i64 } { ptr @fld.str.373, i64 9 }] -@str.375 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.376 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" -@fld.str.381 = private constant [7 x i8] c"stdout\00" -@field_names.382 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.380, i64 9 }, { ptr, i64 } { ptr @fld.str.381, i64 6 }] -@str.383 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.384 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.389 = private constant [11 x i8] c"sin_family\00" -@fld.str.390 = private constant [9 x i8] c"sin_port\00" -@fld.str.391 = private constant [9 x i8] c"sin_addr\00" -@fld.str.392 = private constant [9 x i8] c"sin_zero\00" -@field_names.393 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.388, i64 7 }, { ptr, i64 } { ptr @fld.str.389, i64 10 }, { ptr, i64 } { ptr @fld.str.390, i64 8 }, { ptr, i64 } { ptr @fld.str.391, i64 8 }, { ptr, i64 } { ptr @fld.str.392, i64 8 }] -@str.394 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.395 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" -@fld.str.400 = private constant [4 x i8] c"len\00" -@fld.str.401 = private constant [4 x i8] c"cap\00" -@field_names.402 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.399, i64 5 }, { ptr, i64 } { ptr @fld.str.400, i64 3 }, { ptr, i64 } { ptr @fld.str.401, i64 3 }] -@str.403 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.404 = private unnamed_addr constant [7 x i8] c"Object\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 [6 x i8] c"items\00" -@fld.str.409 = private constant [4 x i8] c"len\00" -@fld.str.410 = private constant [4 x i8] c"cap\00" -@field_names.411 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.408, i64 5 }, { ptr, i64 } { ptr @fld.str.409, i64 3 }, { ptr, i64 } { ptr @fld.str.410, i64 3 }] -@str.412 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.413 = private unnamed_addr constant [7 x i8] c"Member\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 [4 x i8] c"key\00" -@fld.str.418 = private constant [4 x i8] c"val\00" -@field_names.419 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.417, i64 3 }, { ptr, i64 } { ptr @fld.str.418, i64 3 }] -@str.420 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.421 = private unnamed_addr constant [5 x i8] c"Sink\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 [4 x i8] c"dst\00" -@fld.str.426 = private constant [4 x i8] c"pos\00" -@fld.str.427 = private constant [5 x i8] c"file\00" -@field_names.428 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.425, i64 3 }, { ptr, i64 } { ptr @fld.str.426, i64 3 }, { ptr, i64 } { ptr @fld.str.427, i64 4 }] -@str.429 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.430 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" -@fld.str.435 = private constant [4 x i8] c"pos\00" -@fld.str.436 = private constant [6 x i8] c"alloc\00" -@field_names.437 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.434, i64 3 }, { ptr, i64 } { ptr @fld.str.435, i64 3 }, { ptr, i64 } { ptr @fld.str.436, i64 5 }] -@str.438 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.439 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.443 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.444 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.445 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" -@fld.str.450 = private constant [12 x i8] c"takes_value\00" -@fld.str.451 = private constant [9 x i8] c"required\00" -@field_names.452 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.449, i64 4 }, { ptr, i64 } { ptr @fld.str.450, i64 11 }, { ptr, i64 } { ptr @fld.str.451, i64 8 }] -@str.453 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.454 = private unnamed_addr constant [8 x i8] c"Command\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"group\00" -@fld.str.459 = private constant [8 x i8] c"command\00" -@fld.str.460 = private constant [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.460, i64 5 }] -@str.462 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.463 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" -@fld.str.468 = private constant [6 x i8] c"value\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 5 }] -@str.470 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.471 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" -@fld.str.476 = private constant [6 x i8] c"token\00" -@field_names.477 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.475, i64 5 }, { 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 [7 x i8] c"Parsed\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 [6 x i8] c"group\00" -@fld.str.484 = private constant [8 x i8] c"command\00" -@fld.str.485 = private constant [10 x i8] c"cmd_index\00" -@fld.str.486 = private constant [5 x i8] c"json\00" -@fld.str.487 = private constant [5 x i8] c"rest\00" -@fld.str.488 = private constant [5 x i8] c"spec\00" -@fld.str.489 = private constant [7 x i8] c"values\00" -@field_names.490 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.483, i64 5 }, { ptr, i64 } { ptr @fld.str.484, i64 7 }, { ptr, i64 } { ptr @fld.str.485, i64 9 }, { ptr, i64 } { ptr @fld.str.486, i64 4 }, { ptr, i64 } { ptr @fld.str.487, i64 4 }, { ptr, i64 } { ptr @fld.str.488, i64 4 }, { ptr, i64 } { ptr @fld.str.489, i64 6 }] -@str.491 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.492 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" -@fld.str.497 = private constant [4 x i8] c"buf\00" -@fld.str.498 = private constant [8 x i8] c"buf_len\00" -@fld.str.499 = private constant [10 x i8] c"total_len\00" -@field_names.500 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.496, i64 1 }, { ptr, i64 } { ptr @fld.str.497, i64 3 }, { ptr, i64 } { ptr @fld.str.498, i64 7 }, { ptr, i64 } { ptr @fld.str.499, i64 9 }] -@str.501 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.502 = private unnamed_addr constant [2 x i8] c"S\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 [2 x i8] c"a\00" -@fld.str.507 = private constant [2 x i8] c"b\00" -@fld.str.508 = private constant [2 x i8] c"c\00" -@field_names.509 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.506, i64 1 }, { ptr, i64 } { ptr @fld.str.507, i64 1 }, { ptr, i64 } { ptr @fld.str.508, i64 1 }] -@str.510 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.511 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.512 = private constant [5 x i8] c"read\00" -@fld.str.513 = private constant [6 x i8] c"write\00" -@fld.str.514 = private constant [7 x i8] c"append\00" -@fld.str.515 = private constant [11 x i8] c"read_write\00" -@field_names.516 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.512, i64 4 }, { ptr, i64 } { ptr @fld.str.513, i64 5 }, { ptr, i64 } { ptr @fld.str.514, i64 6 }, { ptr, i64 } { ptr @fld.str.515, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.520 = private constant [4 x i8] c"set\00" -@fld.str.521 = private constant [8 x i8] c"current\00" -@fld.str.522 = private constant [4 x i8] c"end\00" -@field_names.523 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.520, i64 3 }, { ptr, i64 } { ptr @fld.str.521, i64 7 }, { ptr, i64 } { ptr @fld.str.522, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.527 = private constant [6 x i8] c"null_\00" -@fld.str.528 = private constant [6 x i8] c"bool_\00" -@fld.str.529 = private constant [5 x i8] c"int_\00" -@fld.str.530 = private constant [4 x i8] c"str\00" -@fld.str.531 = private constant [6 x i8] c"array\00" -@fld.str.532 = private constant [7 x i8] c"object\00" -@field_names.533 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.527, i64 5 }, { ptr, i64 } { ptr @fld.str.528, i64 5 }, { ptr, i64 } { ptr @fld.str.529, i64 4 }, { ptr, i64 } { ptr @fld.str.530, i64 3 }, { ptr, i64 } { ptr @fld.str.531, i64 5 }, { ptr, i64 } { ptr @fld.str.532, i64 6 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.537 = private constant [6 x i8] c"macos\00" -@fld.str.538 = private constant [6 x i8] c"linux\00" -@fld.str.539 = private constant [8 x i8] c"windows\00" -@fld.str.540 = private constant [5 x i8] c"wasm\00" -@fld.str.541 = private constant [4 x i8] c"ios\00" -@fld.str.542 = private constant [8 x i8] c"android\00" -@fld.str.543 = private constant [8 x i8] c"unknown\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 5 }, { ptr, i64 } { ptr @fld.str.539, i64 7 }, { ptr, i64 } { ptr @fld.str.540, i64 4 }, { ptr, i64 } { ptr @fld.str.541, i64 3 }, { ptr, i64 } { ptr @fld.str.542, i64 7 }, { ptr, i64 } { ptr @fld.str.543, i64 7 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.548 = private constant [8 x i8] c"aarch64\00" -@fld.str.549 = private constant [7 x i8] c"x86_64\00" -@fld.str.550 = private constant [7 x i8] c"wasm32\00" -@fld.str.551 = private constant [7 x i8] c"wasm64\00" -@fld.str.552 = private constant [8 x i8] c"unknown\00" -@field_names.553 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.548, i64 7 }, { ptr, i64 } { ptr @fld.str.549, i64 6 }, { ptr, i64 } { ptr @fld.str.550, i64 6 }, { ptr, i64 } { ptr @fld.str.551, i64 6 }, { ptr, i64 } { ptr @fld.str.552, i64 7 }] -@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 [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 +@fld.str.291 = private constant [5 x i8] c"line\00" +@fld.str.292 = private constant [4 x i8] c"col\00" +@fld.str.293 = 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.291, i64 4 }, { ptr, i64 } { ptr @fld.str.292, i64 3 }, { ptr, i64 } { ptr @fld.str.293, i64 4 }] +@str.294 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.295 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.296 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.297 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.298 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.299 = private constant [4 x i8] c"ctx\00" +@fld.str.300 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.301 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.302 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.299, i64 3 }, { ptr, i64 } { ptr @fld.str.300, i64 11 }, { ptr, i64 } { ptr @fld.str.301, i64 13 }] +@str.303 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.304 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.305 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.306 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.307 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.308 = private constant [10 x i8] c"allocator\00" +@fld.str.309 = private constant [5 x i8] c"data\00" +@field_names.310 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.308, i64 9 }, { ptr, i64 } { ptr @fld.str.309, i64 4 }] +@str.311 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.312 = private unnamed_addr constant [11 x i8] c"CAllocator\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 +@field_names.316 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.317 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.318 = private unnamed_addr constant [4 x i8] c"GPA\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.322 = private constant [12 x i8] c"alloc_count\00" +@field_names.323 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.322, i64 11 }] +@str.324 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.325 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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.328 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.329 = private constant [5 x i8] c"next\00" +@fld.str.330 = private constant [4 x i8] c"cap\00" +@field_names.331 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.329, i64 4 }, { ptr, i64 } { ptr @fld.str.330, i64 3 }] +@str.332 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.333 = private unnamed_addr constant [6 x i8] c"Arena\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.337 = private constant [6 x i8] c"first\00" +@fld.str.338 = private constant [10 x i8] c"end_index\00" +@fld.str.339 = private constant [7 x i8] c"parent\00" +@field_names.340 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.337, i64 5 }, { ptr, i64 } { ptr @fld.str.338, i64 9 }, { ptr, i64 } { ptr @fld.str.339, i64 6 }] +@str.341 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.342 = private unnamed_addr constant [9 x i8] c"BufAlloc\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"buf\00" +@fld.str.347 = private constant [4 x i8] c"len\00" +@fld.str.348 = private constant [4 x i8] c"pos\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 3 }, { ptr, i64 } { ptr @fld.str.348, i64 3 }] +@str.350 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.351 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" +@fld.str.356 = private constant [12 x i8] c"alloc_count\00" +@fld.str.357 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.358 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.359 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.355, i64 6 }, { ptr, i64 } { ptr @fld.str.356, i64 11 }, { ptr, i64 } { ptr @fld.str.357, i64 13 }, { ptr, i64 } { ptr @fld.str.358, i64 17 }] +@str.360 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.361 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" +@field_names.366 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.365, i64 2 }] +@str.367 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.368 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" +@fld.str.373 = private constant [5 x i8] c"line\00" +@fld.str.374 = private constant [4 x i8] c"col\00" +@fld.str.375 = private constant [5 x i8] c"func\00" +@fld.str.376 = private constant [10 x i8] c"line_text\00" +@field_names.377 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.372, i64 4 }, { ptr, i64 } { ptr @fld.str.373, i64 4 }, { ptr, i64 } { ptr @fld.str.374, i64 3 }, { ptr, i64 } { ptr @fld.str.375, i64 4 }, { ptr, i64 } { ptr @fld.str.376, i64 9 }] +@str.378 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.379 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" +@fld.str.384 = private constant [7 x i8] c"stdout\00" +@field_names.385 = private constant [2 x { ptr, i64 }] [{ 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"SockAddr\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 [8 x i8] c"sin_len\00" +@fld.str.392 = private constant [11 x i8] c"sin_family\00" +@fld.str.393 = private constant [9 x i8] c"sin_port\00" +@fld.str.394 = private constant [9 x i8] c"sin_addr\00" +@fld.str.395 = private constant [9 x i8] c"sin_zero\00" +@field_names.396 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.391, i64 7 }, { ptr, i64 } { ptr @fld.str.392, i64 10 }, { ptr, i64 } { ptr @fld.str.393, i64 8 }, { ptr, i64 } { ptr @fld.str.394, i64 8 }, { ptr, i64 } { ptr @fld.str.395, i64 8 }] +@str.397 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.398 = private unnamed_addr constant [6 x i8] c"Array\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"items\00" +@fld.str.403 = private constant [4 x i8] c"len\00" +@fld.str.404 = private constant [4 x i8] c"cap\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 3 }, { ptr, i64 } { ptr @fld.str.404, i64 3 }] +@str.406 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.407 = private unnamed_addr constant [7 x i8] c"Object\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 [6 x i8] c"items\00" +@fld.str.412 = private constant [4 x i8] c"len\00" +@fld.str.413 = private constant [4 x i8] c"cap\00" +@field_names.414 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.411, i64 5 }, { 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 [7 x i8] c"Member\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 [4 x i8] c"key\00" +@fld.str.421 = private constant [4 x i8] c"val\00" +@field_names.422 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.420, i64 3 }, { ptr, i64 } { ptr @fld.str.421, i64 3 }] +@str.423 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.424 = private unnamed_addr constant [5 x i8] c"Sink\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 [4 x i8] c"dst\00" +@fld.str.429 = private constant [4 x i8] c"pos\00" +@fld.str.430 = private constant [5 x i8] c"file\00" +@field_names.431 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.428, i64 3 }, { ptr, i64 } { ptr @fld.str.429, i64 3 }, { ptr, i64 } { ptr @fld.str.430, i64 4 }] +@str.432 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.433 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" +@fld.str.438 = private constant [4 x i8] c"pos\00" +@fld.str.439 = private constant [6 x i8] c"alloc\00" +@field_names.440 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.437, i64 3 }, { ptr, i64 } { ptr @fld.str.438, i64 3 }, { ptr, i64 } { ptr @fld.str.439, i64 5 }] +@str.441 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.442 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 +@field_names.446 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.447 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.448 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" +@fld.str.453 = private constant [12 x i8] c"takes_value\00" +@fld.str.454 = private constant [9 x i8] c"required\00" +@field_names.455 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.452, i64 4 }, { ptr, i64 } { ptr @fld.str.453, i64 11 }, { 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 [8 x i8] c"Command\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"group\00" +@fld.str.462 = private constant [8 x i8] c"command\00" +@fld.str.463 = private constant [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.463, i64 5 }] +@str.465 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.466 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" +@fld.str.471 = private constant [6 x i8] c"value\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 5 }] +@str.473 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.474 = private unnamed_addr constant [5 x i8] c"Diag\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"index\00" +@fld.str.479 = private constant [6 x i8] c"token\00" +@field_names.480 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.478, i64 5 }, { ptr, i64 } { ptr @fld.str.479, i64 5 }] +@str.481 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.482 = private unnamed_addr constant [7 x i8] c"Parsed\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 [10 x i8] c"cmd_index\00" +@fld.str.489 = private constant [5 x i8] c"json\00" +@fld.str.490 = private constant [5 x i8] c"rest\00" +@fld.str.491 = private constant [5 x i8] c"spec\00" +@fld.str.492 = private constant [7 x i8] c"values\00" +@field_names.493 = private constant [7 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 9 }, { ptr, i64 } { ptr @fld.str.489, i64 4 }, { ptr, i64 } { ptr @fld.str.490, i64 4 }, { ptr, i64 } { ptr @fld.str.491, i64 4 }, { ptr, i64 } { ptr @fld.str.492, i64 6 }] +@str.494 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.495 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" +@fld.str.500 = private constant [4 x i8] c"buf\00" +@fld.str.501 = private constant [8 x i8] c"buf_len\00" +@fld.str.502 = private constant [10 x i8] c"total_len\00" +@field_names.503 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.499, i64 1 }, { ptr, i64 } { ptr @fld.str.500, i64 3 }, { ptr, i64 } { ptr @fld.str.501, i64 7 }, { ptr, i64 } { ptr @fld.str.502, i64 9 }] +@str.504 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.505 = private unnamed_addr constant [2 x i8] c"S\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 [2 x i8] c"a\00" +@fld.str.510 = private constant [2 x i8] c"b\00" +@fld.str.511 = private constant [2 x i8] c"c\00" +@field_names.512 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.509, i64 1 }, { ptr, i64 } { ptr @fld.str.510, i64 1 }, { ptr, i64 } { ptr @fld.str.511, i64 1 }] +@str.513 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.514 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.515 = private constant [5 x i8] c"read\00" +@fld.str.516 = private constant [6 x i8] c"write\00" +@fld.str.517 = private constant [7 x i8] c"append\00" +@fld.str.518 = private constant [11 x i8] c"read_write\00" +@field_names.519 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.515, i64 4 }, { ptr, i64 } { ptr @fld.str.516, i64 5 }, { ptr, i64 } { ptr @fld.str.517, i64 6 }, { ptr, i64 } { ptr @fld.str.518, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.523 = private constant [4 x i8] c"set\00" +@fld.str.524 = private constant [8 x i8] c"current\00" +@fld.str.525 = private constant [4 x i8] c"end\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 7 }, { ptr, i64 } { ptr @fld.str.525, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.530 = private constant [6 x i8] c"null_\00" +@fld.str.531 = private constant [6 x i8] c"bool_\00" +@fld.str.532 = private constant [5 x i8] c"int_\00" +@fld.str.533 = private constant [4 x i8] c"str\00" +@fld.str.534 = private constant [6 x i8] c"array\00" +@fld.str.535 = private constant [7 x i8] c"object\00" +@field_names.536 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.530, i64 5 }, { ptr, i64 } { ptr @fld.str.531, i64 5 }, { ptr, i64 } { ptr @fld.str.532, i64 4 }, { ptr, i64 } { ptr @fld.str.533, i64 3 }, { ptr, i64 } { ptr @fld.str.534, i64 5 }, { ptr, i64 } { ptr @fld.str.535, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.540 = private constant [6 x i8] c"macos\00" +@fld.str.541 = private constant [6 x i8] c"linux\00" +@fld.str.542 = private constant [8 x i8] c"windows\00" +@fld.str.543 = private constant [5 x i8] c"wasm\00" +@fld.str.544 = private constant [4 x i8] c"ios\00" +@fld.str.545 = private constant [8 x i8] c"android\00" +@fld.str.546 = private constant [8 x i8] c"unknown\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 5 }, { ptr, i64 } { ptr @fld.str.542, i64 7 }, { ptr, i64 } { ptr @fld.str.543, i64 4 }, { ptr, i64 } { ptr @fld.str.544, i64 3 }, { ptr, i64 } { ptr @fld.str.545, i64 7 }, { ptr, i64 } { ptr @fld.str.546, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.551 = private constant [8 x i8] c"aarch64\00" +@fld.str.552 = private constant [7 x i8] c"x86_64\00" +@fld.str.553 = private constant [7 x i8] c"wasm32\00" +@fld.str.554 = private constant [7 x i8] c"wasm64\00" +@fld.str.555 = private constant [8 x i8] c"unknown\00" +@field_names.556 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.551, i64 7 }, { ptr, i64 } { ptr @fld.str.552, i64 6 }, { ptr, i64 } { ptr @fld.str.553, i64 6 }, { ptr, i64 } { ptr @fld.str.554, i64 6 }, { ptr, i64 } { ptr @fld.str.555, i64 7 }] +@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 [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 @@ -522,35 +522,35 @@ @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 -@str.589 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.590 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.591 = private unnamed_addr constant [4 x i8] c"@0x\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 @str.592 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.593 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.593 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.594 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.595 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.596 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.596 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.597 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.598 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.599 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.599 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.600 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.601 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.602 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.602 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.603 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.604 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.605 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 +@str.605 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.606 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.607 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.608 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 +@str.608 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.609 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.610 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.611 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.611 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.612 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.613 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.614 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.614 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.615 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.616 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.617 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.617 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.618 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.619 = private unnamed_addr constant [5 x i8] c"null\00", align 1 @str.620 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @@ -613,14 +613,18 @@ @str.677 = private unnamed_addr constant [7 x i8] c"*[]Any\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 [6 x i8] c"*bool\00", align 1 +@str.680 = private unnamed_addr constant [4 x i8] c"*u8\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 [5 x i8] c"null\00", align 1 -@str.684 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.683 = private unnamed_addr constant [6 x i8] c"*bool\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 [5 x i8] c"null\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"null\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"null\00", align 1 +@str.691 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -637,7 +641,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -688,7 +692,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -778,7 +782,7 @@ if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.66 @@ -981,7 +985,7 @@ if.merge.91: ; preds = %if.else.90, %if.the %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1224,7 +1228,7 @@ if.merge.376: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1296,7 +1300,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1327,7 +1331,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1342,6 +1346,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1384,88 +1397,89 @@ entry: i64 1, label %match.arm.41 i64 10, label %match.arm.42 i64 11, label %match.arm.42 - i64 19, label %match.arm.43 i64 20, label %match.arm.43 i64 21, label %match.arm.43 - i64 24, label %match.arm.43 - i64 26, label %match.arm.43 - i64 28, label %match.arm.43 - i64 30, label %match.arm.43 - i64 33, label %match.arm.43 - i64 35, label %match.arm.43 - i64 39, label %match.arm.43 - i64 43, label %match.arm.43 - i64 45, label %match.arm.43 - i64 48, label %match.arm.43 - i64 52, label %match.arm.43 + i64 22, label %match.arm.43 + i64 25, label %match.arm.43 + i64 27, label %match.arm.43 + i64 29, label %match.arm.43 + i64 31, label %match.arm.43 + i64 34, label %match.arm.43 + i64 36, label %match.arm.43 + i64 40, label %match.arm.43 + i64 44, label %match.arm.43 + i64 46, label %match.arm.43 + i64 49, label %match.arm.43 i64 53, label %match.arm.43 - i64 55, label %match.arm.43 - i64 61, label %match.arm.43 - i64 66, label %match.arm.43 - i64 72, label %match.arm.43 - i64 76, label %match.arm.43 - i64 78, label %match.arm.43 + i64 54, label %match.arm.43 + i64 56, label %match.arm.43 + i64 62, label %match.arm.43 + i64 67, label %match.arm.43 + i64 73, label %match.arm.43 + i64 77, label %match.arm.43 i64 79, label %match.arm.43 i64 80, label %match.arm.43 - i64 82, label %match.arm.43 - i64 89, label %match.arm.43 - i64 95, label %match.arm.43 - i64 37, label %match.arm.44 + i64 81, label %match.arm.43 + i64 83, label %match.arm.43 + i64 90, label %match.arm.43 + i64 96, label %match.arm.43 i64 38, label %match.arm.44 - i64 54, label %match.arm.44 - i64 70, label %match.arm.44 + i64 39, label %match.arm.44 + i64 55, label %match.arm.44 i64 71, label %match.arm.44 - i64 51, label %match.arm.45 - i64 64, label %match.arm.45 - i64 75, label %match.arm.45 - i64 22, label %match.arm.47 - i64 81, label %match.arm.47 - i64 87, label %match.arm.47 + i64 72, label %match.arm.44 + i64 52, label %match.arm.45 + i64 65, label %match.arm.45 + i64 76, label %match.arm.45 + i64 23, label %match.arm.47 + i64 82, label %match.arm.47 i64 88, label %match.arm.47 - i64 92, label %match.arm.47 - i64 102, label %match.arm.47 - i64 23, label %match.arm.48 - i64 60, label %match.arm.48 - i64 77, label %match.arm.48 - i64 85, label %match.arm.48 - i64 100, label %match.arm.48 - i64 18, label %match.arm.49 - i64 25, label %match.arm.49 - i64 27, label %match.arm.49 - i64 29, label %match.arm.49 - i64 31, label %match.arm.49 + i64 89, label %match.arm.47 + i64 93, label %match.arm.47 + i64 103, label %match.arm.47 + i64 24, label %match.arm.48 + i64 61, label %match.arm.48 + i64 78, label %match.arm.48 + i64 86, label %match.arm.48 + i64 101, label %match.arm.48 + i64 19, label %match.arm.49 + i64 26, label %match.arm.49 + i64 28, label %match.arm.49 + i64 30, label %match.arm.49 i64 32, label %match.arm.49 - i64 34, label %match.arm.49 - i64 36, label %match.arm.49 - i64 40, label %match.arm.49 - i64 44, label %match.arm.49 - i64 47, label %match.arm.49 - i64 49, label %match.arm.49 + i64 33, label %match.arm.49 + i64 35, label %match.arm.49 + i64 37, label %match.arm.49 + i64 41, label %match.arm.49 + i64 48, label %match.arm.49 i64 50, label %match.arm.49 - i64 56, label %match.arm.49 + i64 51, label %match.arm.49 i64 57, label %match.arm.49 i64 58, label %match.arm.49 i64 59, label %match.arm.49 - i64 62, label %match.arm.49 - i64 67, label %match.arm.49 - i64 74, label %match.arm.49 - i64 83, label %match.arm.49 - i64 86, label %match.arm.49 - i64 90, label %match.arm.49 - i64 96, label %match.arm.49 + i64 60, label %match.arm.49 + i64 63, label %match.arm.49 + i64 68, label %match.arm.49 + i64 75, label %match.arm.49 + i64 84, label %match.arm.49 + i64 87, label %match.arm.49 + i64 91, label %match.arm.49 i64 97, label %match.arm.49 i64 98, label %match.arm.49 i64 99, label %match.arm.49 - i64 101, label %match.arm.49 - i64 103, label %match.arm.49 + i64 100, label %match.arm.49 + i64 102, label %match.arm.49 i64 104, label %match.arm.49 i64 105, label %match.arm.49 - i64 41, label %match.arm.50 + i64 106, label %match.arm.49 + i64 107, label %match.arm.49 i64 42, label %match.arm.50 - i64 46, label %match.arm.50 - i64 91, label %match.arm.50 - i64 93, label %match.arm.50 + i64 43, label %match.arm.50 + i64 45, label %match.arm.50 + i64 47, label %match.arm.50 + i64 92, label %match.arm.50 i64 94, label %match.arm.50 + i64 95, label %match.arm.50 i64 13, label %match.arm.51 ] @@ -1483,7 +1497,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 [166 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [169 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 @@ -1516,32 +1530,32 @@ match.arm.43: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.95 [ - i64 19, label %dispatch.case.96 - i64 20, label %dispatch.case.97 - i64 21, label %dispatch.case.98 - i64 24, label %dispatch.case.99 - i64 26, label %dispatch.case.100 - i64 28, label %dispatch.case.101 - i64 30, label %dispatch.case.102 - i64 33, label %dispatch.case.103 - i64 35, label %dispatch.case.104 - i64 39, label %dispatch.case.105 - i64 43, label %dispatch.case.106 - i64 45, label %dispatch.case.107 - i64 48, label %dispatch.case.108 - i64 52, label %dispatch.case.109 - i64 53, label %dispatch.case.110 - i64 55, label %dispatch.case.111 - i64 61, label %dispatch.case.112 - i64 66, label %dispatch.case.113 - i64 72, label %dispatch.case.114 - i64 76, label %dispatch.case.115 - i64 78, label %dispatch.case.116 - i64 79, label %dispatch.case.117 - i64 80, label %dispatch.case.118 - i64 82, label %dispatch.case.119 - i64 89, label %dispatch.case.120 - i64 95, label %dispatch.case.121 + i64 20, label %dispatch.case.96 + i64 21, label %dispatch.case.97 + i64 22, label %dispatch.case.98 + i64 25, label %dispatch.case.99 + i64 27, label %dispatch.case.100 + i64 29, label %dispatch.case.101 + i64 31, label %dispatch.case.102 + i64 34, label %dispatch.case.103 + i64 36, label %dispatch.case.104 + i64 40, label %dispatch.case.105 + i64 44, label %dispatch.case.106 + i64 46, label %dispatch.case.107 + i64 49, label %dispatch.case.108 + i64 53, label %dispatch.case.109 + i64 54, label %dispatch.case.110 + i64 56, label %dispatch.case.111 + i64 62, label %dispatch.case.112 + i64 67, label %dispatch.case.113 + i64 73, label %dispatch.case.114 + i64 77, label %dispatch.case.115 + i64 79, label %dispatch.case.116 + i64 80, label %dispatch.case.117 + i64 81, label %dispatch.case.118 + i64 83, label %dispatch.case.119 + i64 90, label %dispatch.case.120 + i64 96, label %dispatch.case.121 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1549,11 +1563,11 @@ match.arm.44: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.253 [ - i64 37, label %dispatch.case.254 - i64 38, label %dispatch.case.255 - i64 54, label %dispatch.case.256 - i64 70, label %dispatch.case.257 - i64 71, label %dispatch.case.258 + i64 38, label %dispatch.case.254 + i64 39, label %dispatch.case.255 + i64 55, label %dispatch.case.256 + i64 71, label %dispatch.case.257 + i64 72, label %dispatch.case.258 ] match.arm.45: ; preds = %entry, %entry, %entry @@ -1576,12 +1590,12 @@ match.arm.47: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.270 [ - i64 22, label %dispatch.case.271 - i64 81, label %dispatch.case.272 - i64 87, label %dispatch.case.273 - i64 88, label %dispatch.case.274 - i64 92, label %dispatch.case.275 - i64 102, label %dispatch.case.276 + i64 23, label %dispatch.case.271 + i64 82, label %dispatch.case.272 + i64 88, label %dispatch.case.273 + i64 89, label %dispatch.case.274 + i64 93, label %dispatch.case.275 + i64 103, label %dispatch.case.276 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1589,11 +1603,11 @@ match.arm.48: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.308 [ - i64 23, label %dispatch.case.309 - i64 60, label %dispatch.case.310 - i64 77, label %dispatch.case.311 - i64 85, label %dispatch.case.312 - i64 100, label %dispatch.case.313 + i64 24, label %dispatch.case.309 + i64 61, label %dispatch.case.310 + i64 78, label %dispatch.case.311 + i64 86, label %dispatch.case.312 + i64 101, label %dispatch.case.313 ] 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 @@ -1601,50 +1615,51 @@ match.arm.49: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.340 [ - i64 18, label %dispatch.case.341 - i64 25, label %dispatch.case.342 - i64 27, label %dispatch.case.343 - i64 29, label %dispatch.case.344 - i64 31, label %dispatch.case.345 - i64 32, label %dispatch.case.346 - i64 34, label %dispatch.case.347 - i64 36, label %dispatch.case.348 - i64 40, label %dispatch.case.349 - i64 44, label %dispatch.case.350 - i64 47, label %dispatch.case.351 - i64 49, label %dispatch.case.352 - i64 50, label %dispatch.case.353 - i64 56, label %dispatch.case.354 - i64 57, label %dispatch.case.355 - i64 58, label %dispatch.case.356 - i64 59, label %dispatch.case.357 - i64 62, label %dispatch.case.358 - i64 67, label %dispatch.case.359 - i64 74, label %dispatch.case.360 - i64 83, label %dispatch.case.361 - i64 86, label %dispatch.case.362 - i64 90, label %dispatch.case.363 - i64 96, label %dispatch.case.364 - i64 97, label %dispatch.case.365 - i64 98, label %dispatch.case.366 - i64 99, label %dispatch.case.367 - i64 101, label %dispatch.case.368 - i64 103, label %dispatch.case.369 - i64 104, label %dispatch.case.370 - i64 105, label %dispatch.case.371 + i64 19, label %dispatch.case.341 + i64 26, label %dispatch.case.342 + i64 28, label %dispatch.case.343 + i64 30, label %dispatch.case.344 + i64 32, label %dispatch.case.345 + i64 33, label %dispatch.case.346 + i64 35, label %dispatch.case.347 + i64 37, label %dispatch.case.348 + i64 41, label %dispatch.case.349 + i64 48, label %dispatch.case.350 + i64 50, label %dispatch.case.351 + i64 51, label %dispatch.case.352 + i64 57, label %dispatch.case.353 + i64 58, label %dispatch.case.354 + i64 59, label %dispatch.case.355 + i64 60, label %dispatch.case.356 + i64 63, label %dispatch.case.357 + i64 68, label %dispatch.case.358 + i64 75, label %dispatch.case.359 + i64 84, label %dispatch.case.360 + i64 87, label %dispatch.case.361 + i64 91, label %dispatch.case.362 + i64 97, label %dispatch.case.363 + i64 98, label %dispatch.case.364 + i64 99, label %dispatch.case.365 + i64 100, label %dispatch.case.366 + i64 102, label %dispatch.case.367 + i64 104, label %dispatch.case.368 + i64 105, label %dispatch.case.369 + i64 106, label %dispatch.case.370 + i64 107, label %dispatch.case.371 ] -match.arm.50: ; preds = %entry, %entry, %entry, %entry, %entry, %entry +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.479 [ - i64 41, label %dispatch.case.480 - i64 42, label %dispatch.case.481 - i64 46, label %dispatch.case.482 - i64 91, label %dispatch.case.483 - i64 93, label %dispatch.case.484 + i64 42, label %dispatch.case.480 + i64 43, label %dispatch.case.481 + i64 45, label %dispatch.case.482 + i64 47, label %dispatch.case.483 + i64 92, label %dispatch.case.484 i64 94, label %dispatch.case.485 + i64 95, label %dispatch.case.486 ] match.arm.51: ; preds = %entry @@ -1653,7 +1668,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 [166 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [169 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 @@ -1704,7 +1719,7 @@ dispatch.merge.94: ; preds = %dispatch.case.121, br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.259, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.262, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -1921,7 +1936,7 @@ dispatch.merge.252: ; preds = %dispatch.case.258, br label %match.merge.37 dispatch.default.253: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.260, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.263, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.252 dispatch.case.254: ; preds = %match.arm.44 @@ -1962,7 +1977,7 @@ dispatch.merge.269: ; preds = %dispatch.case.276, br label %match.merge.37 dispatch.default.270: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.261, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.264, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.269 dispatch.case.271: ; preds = %match.arm.47 @@ -2019,7 +2034,7 @@ dispatch.merge.307: ; preds = %dispatch.case.313, br label %match.merge.37 dispatch.default.308: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.262, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.265, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.307 dispatch.case.309: ; preds = %match.arm.48 @@ -2068,7 +2083,7 @@ dispatch.merge.339: ; preds = %dispatch.case.371, br label %match.merge.37 dispatch.default.340: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.263, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.266, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.341: ; preds = %match.arm.49 @@ -2137,147 +2152,147 @@ dispatch.case.349: ; preds = %match.arm.49 dispatch.case.350: ; 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_u8(ptr %0, ptr %iNp251) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp251) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.351: ; 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_i32(ptr %0, ptr %iNp254) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp254) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.352: ; 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_SockAddr(ptr %0, ptr %iNp257) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp257) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.353: ; 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_u32(ptr %0, ptr %iNp260) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp260) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.354: ; 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_Value(ptr %0, ptr %iNp263) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp263) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.355: ; 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_Array(ptr %0, ptr %iNp266) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp266) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.356: ; 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__mptr_Member(ptr %0, ptr %iNp269) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp269) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.357: ; 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_Object(ptr %0, ptr %iNp272) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp272) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.358: ; 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_Sink(ptr %0, ptr %iNp275) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp275) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.359: ; 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_Parser(ptr %0, ptr %iNp278) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp278) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.360: ; 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_i64(ptr %0, ptr %iNp281) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp281) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.361: ; 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_Parsed(ptr %0, ptr %iNp284) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp284) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.362: ; 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_Diag(ptr %0, ptr %iNp287) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp287) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.363: ; 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_Sha256(ptr %0, ptr %iNp290) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp290) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.364: ; 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_ptr_CAllocator(ptr %0, ptr %iNp293) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp293) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.365: ; 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_ptr_void(ptr %0, ptr %iNp296) + %callN = call { ptr, i64 } @pointer_to_string__ptr_S(ptr %0, ptr %iNp296) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.366: ; 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_S(ptr %0, ptr %iNp299) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp299) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.367: ; 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_string(ptr %0, ptr %iNp302) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp302) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.368: ; 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_Any(ptr %0, ptr %iNp305) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp305) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.369: ; 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_AR_1_Any(ptr %0, ptr %iNp308) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp308) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 dispatch.case.370: ; 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_SL_Any(ptr %0, ptr %iNp311) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp311) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 @@ -2288,13 +2303,13 @@ dispatch.case.371: ; preds = %match.arm.49 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.339 -dispatch.merge.478: ; preds = %dispatch.case.485, %dispatch.case.484, %dispatch.case.483, %dispatch.case.482, %dispatch.case.481, %dispatch.case.480, %dispatch.default.479 +dispatch.merge.478: ; preds = %dispatch.case.486, %dispatch.case.485, %dispatch.case.484, %dispatch.case.483, %dispatch.case.482, %dispatch.case.481, %dispatch.case.480, %dispatch.default.479 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.479: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.264, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.267, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.478 dispatch.case.480: ; preds = %match.arm.50 @@ -2315,33 +2330,40 @@ dispatch.case.481: ; preds = %match.arm.50 dispatch.case.482: ; preds = %match.arm.50 %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr326 = inttoptr i64 %ua.raw325 to ptr - %ua.load327 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr326, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load327) + %iNp326 = inttoptr i64 %ua.raw325 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp326) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.478 dispatch.case.483: ; preds = %match.arm.50 - %ua.raw329 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr330 = inttoptr i64 %ua.raw329 to ptr - %ua.load331 = load { [64 x i8], i1 }, ptr %ua.ptr330, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load331) + %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr329 = inttoptr i64 %ua.raw328 to ptr + %ua.load330 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr329, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load330) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.478 dispatch.case.484: ; preds = %match.arm.50 - %ua.raw333 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr334 = inttoptr i64 %ua.raw333 to ptr - %ua.load335 = load { i64, i1 }, ptr %ua.ptr334, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_i64(ptr %0, { i64, i1 } %ua.load335) + %ua.raw332 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr333 = inttoptr i64 %ua.raw332 to ptr + %ua.load334 = load { [64 x i8], i1 }, ptr %ua.ptr333, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load334) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.478 dispatch.case.485: ; preds = %match.arm.50 - %ua.raw337 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr338 = inttoptr i64 %ua.raw337 to ptr - %ua.load339 = load { i1, i1 }, ptr %ua.ptr338, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_bool(ptr %0, { i1, i1 } %ua.load339) + %ua.raw336 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr337 = inttoptr i64 %ua.raw336 to ptr + %ua.load338 = load { i64, i1 }, ptr %ua.ptr337, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_i64(ptr %0, { i64, i1 } %ua.load338) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.478 + +dispatch.case.486: ; preds = %match.arm.50 + %ua.raw340 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr341 = inttoptr i64 %ua.raw340 to ptr + %ua.load342 = load { i1, i1 }, ptr %ua.ptr341, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_bool(ptr %0, { i1, i1 } %ua.load342) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.478 } @@ -2352,7 +2374,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.265, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.268, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2448,7 +2470,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.266, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.269, 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 @@ -2456,7 +2478,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.267, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.270, 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 @@ -2466,13 +2488,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.268, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.271, 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.269, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.272, 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 @@ -2480,7 +2502,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.270, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.273, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2494,7 +2516,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.271, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.274, 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 @@ -2502,7 +2524,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.272, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.275, 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 @@ -2513,7 +2535,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.273, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.276, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2570,7 +2592,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.274, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.277, 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 @@ -2578,7 +2600,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.275, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.278, 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 @@ -2589,7 +2611,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.276, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.279, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2609,7 +2631,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.277, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.280, 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 @@ -2617,7 +2639,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.278, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.281, 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 @@ -2628,7 +2650,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.279, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.282, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.36 @@ -2849,9 +2871,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3375,7 +3394,7 @@ declare void @assert.74(ptr, i1) #0 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.280, 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.283, 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 @@ -3403,7 +3422,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.281, i64 3 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.284, 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 @@ -3411,7 +3430,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 95, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 96, 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 @@ -3421,13 +3440,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.282, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.285, 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 95, i64 undef }, i64 %ba.p2i10, 1 + %ba.val11 = insertvalue { i64, i64 } { i64 96, 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 @@ -3446,7 +3465,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.283, i64 3 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.286, i64 3 }) ret { ptr, i64 } %call } @@ -3457,7 +3476,7 @@ 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.284, i64 15 }, { ptr, i64 } { ptr @str.285, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.287, i64 15 }, { ptr, i64 } { ptr @str.288, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3476,12 +3495,12 @@ while.body.123: ; preds = %while.hdr.122 while.exit.124: ; preds = %while.hdr.122 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.286, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.289, i64 1 }) ret { ptr, i64 } %callN if.then.125: ; preds = %while.body.123 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.287, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.290, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.126 @@ -3493,7 +3512,7 @@ if.merge.126: ; preds = %if.then.125, %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.291, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.294, 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 @@ -3550,7 +3569,7 @@ 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.292, i64 9 }, { ptr, i64 } { ptr @str.293, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.295, i64 9 }, { ptr, i64 } { ptr @str.296, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3569,24 +3588,24 @@ while.body.128: ; preds = %while.hdr.127 while.exit.129: ; preds = %while.hdr.127 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.294, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.297, i64 1 }) ret { ptr, i64 } %callN if.then.130: ; preds = %while.body.128 %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.298, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.131 if.merge.131: ; preds = %if.then.130, %while.body.128 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.299, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.302, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.303, 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 @@ -3613,19 +3632,19 @@ fv.default: ; preds = %if.merge.131 fv.case: ; preds = %if.merge.131 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.131 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge fv.case21: ; preds = %if.merge.131 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -3635,7 +3654,7 @@ 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.301, i64 7 }, { ptr, i64 } { ptr @str.302, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.304, i64 7 }, { ptr, i64 } { ptr @str.305, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3654,24 +3673,24 @@ while.body.133: ; preds = %while.hdr.132 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.303, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.306, i64 1 }) ret { ptr, i64 } %callN 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.304, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.307, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.136 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.307, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.310, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.311, 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 @@ -3698,13 +3717,13 @@ fv.case: ; preds = %if.merge.136 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.136 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 - %fv.val19 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -3713,7 +3732,7 @@ 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.309, i64 10 }, { ptr, i64 } { ptr @str.310, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.312, i64 10 }, { ptr, i64 } { ptr @str.313, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3732,24 +3751,24 @@ while.body.138: ; preds = %while.hdr.137 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.311, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.314, i64 1 }) ret { ptr, i64 } %callN 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.312, 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 br label %if.merge.141 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 [0 x { ptr, i64 }], ptr @field_names.313, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.316, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.317, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -3768,7 +3787,7 @@ 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.315, i64 3 }, { ptr, i64 } { ptr @str.316, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.318, i64 3 }, { ptr, i64 } { ptr @str.319, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3787,24 +3806,24 @@ while.body.143: ; preds = %while.hdr.142 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.317, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.320, i64 1 }) ret { ptr, i64 } %callN 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.318, 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 br label %if.merge.146 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 [1 x { ptr, i64 }], ptr @field_names.320, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.323, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.324, 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 @@ -3837,7 +3856,7 @@ 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.322, i64 10 }, { ptr, i64 } { ptr @str.323, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.325, i64 10 }, { ptr, i64 } { ptr @str.326, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3856,24 +3875,24 @@ while.body.148: ; preds = %while.hdr.147 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.324, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.327, i64 1 }) ret { ptr, i64 } %callN 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.325, 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 br label %if.merge.151 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.328, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.331, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.332, 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 @@ -3899,7 +3918,7 @@ fv.default: ; preds = %if.merge.151 fv.case: ; preds = %if.merge.151 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.151 @@ -3914,7 +3933,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.330, i64 5 }, { ptr, i64 } { ptr @str.331, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.333, i64 5 }, { 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 @@ -3933,24 +3952,24 @@ while.body.153: ; preds = %while.hdr.152 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.332, 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.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.333, 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.156 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.337, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.340, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %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.341, 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 @@ -3977,7 +3996,7 @@ fv.default: ; preds = %if.merge.156 fv.case: ; preds = %if.merge.156 %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.156 @@ -3989,7 +4008,7 @@ fv.case20: ; preds = %if.merge.156 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -3998,7 +4017,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.339, i64 8 }, { ptr, i64 } { ptr @str.340, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.342, i64 8 }, { ptr, i64 } { ptr @str.343, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4017,24 +4036,24 @@ while.body.158: ; preds = %while.hdr.157 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.341, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.344, 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.342, 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 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.346, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.349, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.350, 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 @@ -4061,7 +4080,7 @@ fv.default: ; preds = %if.merge.161 fv.case: ; preds = %if.merge.161 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.161 @@ -4081,7 +4100,7 @@ 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.348, i64 17 }, { ptr, i64 } { ptr @str.349, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.351, i64 17 }, { ptr, i64 } { ptr @str.352, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4100,24 +4119,24 @@ 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.350, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, 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.351, 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 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 [4 x { ptr, i64 }], ptr @field_names.356, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.357, 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 }, i64, i64, i64 }, ptr %alloca, align 8 @@ -4146,7 +4165,7 @@ fv.case: ; preds = %if.merge.166 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.166 @@ -4170,7 +4189,7 @@ 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.358, i64 4 }, { ptr, i64 } { ptr @str.359, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.361, i64 4 }, { 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 @@ -4189,24 +4208,24 @@ 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.360, 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.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.361, 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.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 [1 x { ptr, i64 }], ptr @field_names.363, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.364, 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 { i32 }, ptr %alloca, align 4 @@ -4243,7 +4262,7 @@ 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.365, i64 10 }, { ptr, i64 } { ptr @str.366, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.368, i64 10 }, { 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 @@ -4262,24 +4281,24 @@ 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.367, 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.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.368, 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.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 [5 x { ptr, i64 }], ptr @field_names.374, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.375, 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 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -4345,7 +4364,7 @@ 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.376, i64 13 }, { ptr, i64 } { ptr @str.377, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.379, i64 13 }, { 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 @@ -4364,24 +4383,24 @@ 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.378, 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.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.379, 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.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 [2 x { ptr, i64 }], ptr @field_names.382, 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.383, 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 { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4423,7 +4442,7 @@ 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.384, i64 8 }, { ptr, i64 } { ptr @str.385, i64 1 }) + %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 @@ -4442,24 +4461,24 @@ while.body.183: ; preds = %while.hdr.182 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.386, 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.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.387, 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.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 [5 x { ptr, i64 }], ptr @field_names.393, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.394, 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 { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -4520,7 +4539,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.395, i64 5 }, { ptr, i64 } { ptr @str.396, 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 @@ -4539,24 +4558,24 @@ while.body.188: ; preds = %while.hdr.187 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.397, 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.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.398, 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.191 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 [3 x { ptr, i64 }], ptr @field_names.402, 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.403, 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 @@ -4583,7 +4602,7 @@ fv.default: ; preds = %if.merge.191 fv.case: ; preds = %if.merge.191 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.191 @@ -4602,7 +4621,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.404, i64 6 }, { ptr, i64 } { ptr @str.405, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.407, i64 6 }, { 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 @@ -4621,24 +4640,24 @@ while.body.193: ; preds = %while.hdr.192 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.406, 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.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.407, 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.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.411, i64 0, i64 %loadN + %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.412, 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, i64, i64 }, ptr %alloca, align 8 @@ -4665,7 +4684,7 @@ fv.default: ; preds = %if.merge.196 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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.196 @@ -4686,7 +4705,7 @@ entry: %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.413, i64 6 }, { ptr, i64 } { ptr @str.414, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.416, i64 6 }, { 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 @@ -4705,24 +4724,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.415, 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.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.416, 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.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 [2 x { ptr, i64 }], ptr @field_names.419, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.420, 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 }, { i64, [24 x i8] } }, ptr %alloca, align 8 @@ -4756,7 +4775,7 @@ fv.case17: ; preds = %if.merge.201 %fv.field18 = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 1 store { i64, [24 x i8] } %fv.field18, ptr %ba.tmp19, align 8 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -4766,7 +4785,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.421, i64 4 }, { ptr, i64 } { ptr @str.422, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.424, i64 4 }, { 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 @@ -4785,24 +4804,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.423, 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.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.424, 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.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.428, i64 0, i64 %loadN + %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.429, 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 }, i64, ptr }, ptr %alloca, align 8 @@ -4830,7 +4849,7 @@ fv.case: ; preds = %if.merge.206 %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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.206 @@ -4841,7 +4860,7 @@ fv.case17: ; preds = %if.merge.206 fv.case20: ; preds = %if.merge.206 %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -4852,7 +4871,7 @@ entry: %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.430, i64 6 }, { ptr, i64 } { ptr @str.431, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.433, i64 6 }, { 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 @@ -4871,24 +4890,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.432, 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.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.433, 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.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.437, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.440, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, i64, { ptr, ptr, ptr } }, ptr %alloca, align 8 @@ -4928,7 +4947,7 @@ fv.case20: ; preds = %if.merge.211 %fv.field21 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 2 store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8 %ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -4937,7 +4956,7 @@ 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.439, i64 12 }, { ptr, i64 } { ptr @str.440, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.442, i64 12 }, { ptr, i64 } { ptr @str.443, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4956,24 +4975,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.441, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.444, 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.442, 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 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 [0 x { ptr, i64 }], ptr @field_names.443, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.444, 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 %alloca, align 1 @@ -4993,7 +5012,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.445, i64 8 }, { ptr, i64 } { ptr @str.446, i64 1 }) + %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 @@ -5012,24 +5031,24 @@ 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.447, 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.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.448, 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.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.452, 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.453, 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 }, i1, i1 }, ptr %alloca, align 8 @@ -5081,7 +5100,7 @@ entry: %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.454, i64 7 }, { ptr, i64 } { ptr @str.455, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.457, i64 7 }, { 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 @@ -5100,24 +5119,24 @@ 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.456, 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.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.457, 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.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.461, 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.462, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5159,7 +5178,7 @@ fv.case22: ; preds = %if.merge.226 %fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2 store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8 %ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5169,7 +5188,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.463, i64 9 }, { ptr, i64 } { ptr @str.464, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.466, i64 9 }, { 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 @@ -5188,24 +5207,24 @@ 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.465, 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.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.466, 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.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 [2 x { ptr, i64 }], ptr @field_names.469, 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.470, 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 { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -5248,7 +5267,7 @@ 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.471, i64 4 }, { ptr, i64 } { ptr @str.472, 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 @@ -5267,24 +5286,24 @@ 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.473, 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.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.474, 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.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.477, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.478, 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 { i64, { ptr, i64 } }, ptr %alloca, align 8 @@ -5330,7 +5349,7 @@ 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.479, i64 6 }, { ptr, i64 } { ptr @str.480, i64 1 }) + %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 @@ -5349,24 +5368,24 @@ 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.481, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.484, 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.482, i64 2 }) + %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.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 [7 x { ptr, i64 }], ptr @field_names.490, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.493, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.494, 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 @@ -5423,21 +5442,21 @@ fv.case28: ; preds = %if.merge.241 %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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge fv.case33: ; preds = %if.merge.241 %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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge fv.case38: ; preds = %if.merge.241 %fv.field39 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 6 store [16 x { i1, { ptr, i64 } }] %fv.field39, ptr %ba.tmp40, align 8 %ba.p2i41 = ptrtoint ptr %ba.tmp40 to i64 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -5448,7 +5467,7 @@ 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.492, i64 6 }, { ptr, i64 } { ptr @str.493, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.495, i64 6 }, { 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 @@ -5467,24 +5486,24 @@ 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.494, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.497, 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.495, 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 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 [4 x { ptr, i64 }], ptr @field_names.500, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.501, 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 { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -5513,14 +5532,14 @@ fv.case: ; preds = %if.merge.246 %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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.246 %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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.246 @@ -5542,7 +5561,7 @@ 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.502, i64 1 }, { ptr, i64 } { ptr @str.503, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.505, i64 1 }, { 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 @@ -5561,24 +5580,24 @@ 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.504, 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.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.505, 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.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.509, 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.510, 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 { { i64, i1 }, { { ptr, i64 }, i1 }, { i1, i1 } }, ptr %alloca, align 8 @@ -5606,21 +5625,21 @@ fv.case: ; preds = %if.merge.251 %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 93, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 94, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.251 %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 42, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 43, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.251 %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 94, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 95, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5633,9 +5652,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.516, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.519, 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.511, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.514, 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 @@ -5654,8 +5673,8 @@ entry: if.then.259: ; 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.518, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.517, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.520, 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.260 @@ -5674,9 +5693,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.523, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.526, 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.519, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.522, 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 @@ -5695,8 +5714,8 @@ entry: if.then.261: ; 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.525, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.524, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.527, 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.262 @@ -5726,9 +5745,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.533, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.536, 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.526, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.529, 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 @@ -5745,8 +5764,8 @@ entry: if.then.263: ; 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.535, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.534, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.538, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.537, 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.264 @@ -5802,7 +5821,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -5811,7 +5830,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -5824,9 +5843,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.544, 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 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.536, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.539, 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 @@ -5845,8 +5864,8 @@ entry: if.then.265: ; 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.546, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.545, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.548, 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.266 @@ -5865,9 +5884,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.553, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.556, 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.547, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.550, 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 @@ -5886,8 +5905,8 @@ entry: if.then.267: ; 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.555, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.554, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.557, 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.268 @@ -5904,7 +5923,7 @@ 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.556, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.559, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.277 @@ -5921,12 +5940,12 @@ while.body.278: ; preds = %while.hdr.277 while.exit.279: ; preds = %while.hdr.277 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.557, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 1 }) ret { ptr, i64 } %call 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.558, 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 br label %if.merge.281 @@ -5955,7 +5974,7 @@ 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.559, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.562, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.282 @@ -5972,12 +5991,12 @@ while.body.283: ; preds = %while.hdr.282 while.exit.284: ; preds = %while.hdr.282 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.563, i64 1 }) ret { ptr, i64 } %call 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.561, 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.286 @@ -5990,7 +6009,7 @@ if.merge.286: ; preds = %if.then.285, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -6007,7 +6026,7 @@ 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.562, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.565, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.287 @@ -6024,12 +6043,12 @@ while.body.288: ; preds = %while.hdr.287 while.exit.289: ; preds = %while.hdr.287 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.563, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.566, i64 1 }) ret { ptr, i64 } %call 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.564, 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.291 @@ -6057,7 +6076,7 @@ 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.565, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.568, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.292 @@ -6074,12 +6093,12 @@ while.body.293: ; preds = %while.hdr.292 while.exit.294: ; preds = %while.hdr.292 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.566, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.569, i64 1 }) ret { ptr, i64 } %call 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.567, 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 br label %if.merge.296 @@ -6108,7 +6127,7 @@ 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.568, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.571, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.297 @@ -6125,12 +6144,12 @@ while.body.298: ; preds = %while.hdr.297 while.exit.299: ; preds = %while.hdr.297 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.569, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.572, i64 1 }) ret { ptr, i64 } %call 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.570, 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.301 @@ -6159,7 +6178,7 @@ 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.571, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.574, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.302 @@ -6176,12 +6195,12 @@ while.body.303: ; preds = %while.hdr.302 while.exit.304: ; preds = %while.hdr.302 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.572, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.575, i64 1 }) ret { ptr, i64 } %call 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.573, i64 2 }) + %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 br label %if.merge.306 @@ -6211,7 +6230,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.574, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.577, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.314 @@ -6230,12 +6249,12 @@ while.body.315: ; preds = %while.hdr.314 while.exit.316: ; preds = %while.hdr.314 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.575, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.578, i64 1 }) ret { ptr, i64 } %call 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.576, 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 br label %if.merge.318 @@ -6264,7 +6283,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.577, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.580, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.319 @@ -6283,12 +6302,12 @@ while.body.320: ; preds = %while.hdr.319 while.exit.321: ; preds = %while.hdr.319 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.578, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 1 }) ret { ptr, i64 } %call 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.579, 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.323 @@ -6317,7 +6336,7 @@ 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.580, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.583, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.324 @@ -6336,12 +6355,12 @@ while.body.325: ; preds = %while.hdr.324 while.exit.326: ; preds = %while.hdr.324 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.584, i64 1 }) ret { ptr, i64 } %call if.then.327: ; preds = %while.body.325 %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.585, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.328 @@ -6354,7 +6373,7 @@ if.merge.328: ; preds = %if.then.327, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -6371,7 +6390,7 @@ 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.583, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.586, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.329 @@ -6390,12 +6409,12 @@ while.body.330: ; preds = %while.hdr.329 while.exit.331: ; preds = %while.hdr.329 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.584, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.587, i64 1 }) ret { ptr, i64 } %call if.then.332: ; preds = %while.body.330 %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 }) + %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.333 @@ -6408,7 +6427,7 @@ if.merge.333: ; preds = %if.then.332, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -6425,7 +6444,7 @@ 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.586, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.589, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.334 @@ -6444,12 +6463,12 @@ while.body.335: ; preds = %while.hdr.334 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.587, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.590, i64 1 }) ret { ptr, i64 } %call 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.588, 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.338 @@ -6491,12 +6510,12 @@ if.then.372: ; preds = %entry if.else.373: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.590, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.594, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.593, i64 5 }, { ptr, i64 } %callN) br label %if.merge.374 if.merge.374: ; preds = %if.else.373, %if.then.372 - %bp = phi { ptr, i64 } [ { ptr @str.589, i64 4 }, %if.then.372 ], [ %callN, %if.else.373 ] + %bp = phi { ptr, i64 } [ { ptr @str.592, i64 4 }, %if.then.372 ], [ %callN, %if.else.373 ] ret { ptr, i64 } %bp } @@ -6519,12 +6538,12 @@ if.then.388: ; preds = %entry if.else.389: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.594, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.593, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.597, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.596, i64 11 }, { ptr, i64 } %callN) br label %if.merge.390 if.merge.390: ; preds = %if.else.389, %if.then.388 - %bp = phi { ptr, i64 } [ { ptr @str.592, i64 4 }, %if.then.388 ], [ %callN, %if.else.389 ] + %bp = phi { ptr, i64 } [ { ptr @str.595, i64 4 }, %if.then.388 ], [ %callN, %if.else.389 ] ret { ptr, i64 } %bp } @@ -6547,12 +6566,12 @@ if.then.391: ; preds = %entry if.else.392: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.597, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.596, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 4 }, { ptr, i64 } %callN) br label %if.merge.393 if.merge.393: ; preds = %if.else.392, %if.then.391 - %bp = phi { ptr, i64 } [ { ptr @str.595, i64 4 }, %if.then.391 ], [ %callN, %if.else.392 ] + %bp = phi { ptr, i64 } [ { ptr @str.598, i64 4 }, %if.then.391 ], [ %callN, %if.else.392 ] ret { ptr, i64 } %bp } @@ -6575,12 +6594,12 @@ if.then.394: ; preds = %entry if.else.395: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.602, i64 11 }, { ptr, i64 } %callN) br label %if.merge.396 if.merge.396: ; preds = %if.else.395, %if.then.394 - %bp = phi { ptr, i64 } [ { ptr @str.598, i64 4 }, %if.then.394 ], [ %callN, %if.else.395 ] + %bp = phi { ptr, i64 } [ { ptr @str.601, i64 4 }, %if.then.394 ], [ %callN, %if.else.395 ] ret { ptr, i64 } %bp } @@ -6603,12 +6622,12 @@ if.then.397: ; preds = %entry if.else.398: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.602, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 6 }, { ptr, i64 } %callN) br label %if.merge.399 if.merge.399: ; preds = %if.else.398, %if.then.397 - %bp = phi { ptr, i64 } [ { ptr @str.601, i64 4 }, %if.then.397 ], [ %callN, %if.else.398 ] + %bp = phi { ptr, i64 } [ { ptr @str.604, i64 4 }, %if.then.397 ], [ %callN, %if.else.398 ] ret { ptr, i64 } %bp } @@ -6630,12 +6649,12 @@ if.then.400: ; preds = %entry if.else.401: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.608, i64 5 }, { ptr, i64 } %callN) br label %if.merge.402 if.merge.402: ; preds = %if.else.401, %if.then.400 - %bp = phi { ptr, i64 } [ { ptr @str.604, i64 4 }, %if.then.400 ], [ %callN, %if.else.401 ] + %bp = phi { ptr, i64 } [ { ptr @str.607, i64 4 }, %if.then.400 ], [ %callN, %if.else.401 ] ret { ptr, i64 } %bp } @@ -6658,12 +6677,12 @@ if.then.403: ; preds = %entry if.else.404: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.608, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.611, i64 9 }, { ptr, i64 } %callN) br label %if.merge.405 if.merge.405: ; preds = %if.else.404, %if.then.403 - %bp = phi { ptr, i64 } [ { ptr @str.607, i64 4 }, %if.then.403 ], [ %callN, %if.else.404 ] + %bp = phi { ptr, i64 } [ { ptr @str.610, i64 4 }, %if.then.403 ], [ %callN, %if.else.404 ] ret { ptr, i64 } %bp } @@ -6686,12 +6705,12 @@ if.then.406: ; preds = %entry 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.612, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.611, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.615, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.614, i64 18 }, { ptr, i64 } %callN) br label %if.merge.408 if.merge.408: ; preds = %if.else.407, %if.then.406 - %bp = phi { ptr, i64 } [ { ptr @str.610, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] + %bp = phi { ptr, i64 } [ { ptr @str.613, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] ret { ptr, i64 } %bp } @@ -6714,17 +6733,17 @@ if.then.409: ; preds = %entry if.else.410: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.615, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.614, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.618, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.617, i64 5 }, { ptr, i64 } %callN) br label %if.merge.411 if.merge.411: ; preds = %if.else.410, %if.then.409 - %bp = phi { ptr, i64 } [ { ptr @str.613, i64 4 }, %if.then.409 ], [ %callN, %if.else.410 ] + %bp = phi { ptr, i64 } [ { ptr @str.616, i64 4 }, %if.then.409 ], [ %callN, %if.else.410 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6742,17 +6761,17 @@ if.then.412: ; preds = %entry 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.618, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.617, i64 3 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.621, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.620, i64 4 }, { ptr, i64 } %callN) br label %if.merge.414 if.merge.414: ; preds = %if.else.413, %if.then.412 - %bp = phi { ptr, i64 } [ { ptr @str.616, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] + %bp = phi { ptr, i64 } [ { ptr @str.619, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6770,17 +6789,17 @@ if.then.415: ; preds = %entry if.else.416: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.621, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.620, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.624, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.623, i64 9 }, { ptr, i64 } %callN) br label %if.merge.417 if.merge.417: ; preds = %if.else.416, %if.then.415 - %bp = phi { ptr, i64 } [ { ptr @str.619, i64 4 }, %if.then.415 ], [ %callN, %if.else.416 ] + %bp = phi { ptr, i64 } [ { ptr @str.622, i64 4 }, %if.then.415 ], [ %callN, %if.else.416 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6798,40 +6817,12 @@ if.then.418: ; preds = %entry 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.624, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.623, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.627, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.626, i64 4 }, { ptr, i64 } %callN) br label %if.merge.420 if.merge.420: ; preds = %if.else.419, %if.then.418 - %bp = phi { ptr, i64 } [ { ptr @str.622, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.421, label %if.else.422 - -if.then.421: ; preds = %entry - br label %if.merge.423 - -if.else.422: ; preds = %entry - %loadN = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.627, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.626, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.423 - -if.merge.423: ; preds = %if.else.422, %if.then.421 - %bp = phi { ptr, i64 } [ { ptr @str.625, i64 4 }, %if.then.421 ], [ %callN, %if.else.422 ] + %bp = phi { ptr, i64 } [ { ptr @str.625, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] ret { ptr, i64 } %bp } @@ -6845,20 +6836,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.424, label %if.else.425 + br i1 %icmp, label %if.then.421, label %if.else.422 -if.then.424: ; preds = %entry - br label %if.merge.426 +if.then.421: ; preds = %entry + br label %if.merge.423 -if.else.425: ; preds = %entry +if.else.422: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.630, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.629, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.426 + br label %if.merge.423 -if.merge.426: ; preds = %if.else.425, %if.then.424 - %bp = phi { ptr, i64 } [ { ptr @str.628, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] +if.merge.423: ; preds = %if.else.422, %if.then.421 + %bp = phi { ptr, i64 } [ { ptr @str.628, i64 4 }, %if.then.421 ], [ %callN, %if.else.422 ] ret { ptr, i64 } %bp } @@ -6873,20 +6864,20 @@ entry: store i64 %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 + br i1 %icmp, label %if.then.424, label %if.else.425 -if.then.427: ; preds = %entry - br label %if.merge.429 +if.then.424: ; preds = %entry + br label %if.merge.426 -if.else.428: ; preds = %entry +if.else.425: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.633, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.632, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.429 + br label %if.merge.426 -if.merge.429: ; preds = %if.else.428, %if.then.427 - %bp = phi { ptr, i64 } [ { ptr @str.631, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] +if.merge.426: ; preds = %if.else.425, %if.then.424 + %bp = phi { ptr, i64 } [ { ptr @str.631, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] ret { ptr, i64 } %bp } @@ -6900,6 +6891,34 @@ 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.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.636, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.635, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.429 + +if.merge.429: ; preds = %if.else.428, %if.then.427 + %bp = phi { ptr, i64 } [ { ptr @str.634, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.430, label %if.else.431 if.then.430: ; preds = %entry @@ -6908,17 +6927,17 @@ if.then.430: ; preds = %entry 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.636, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.635, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.639, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.638, i64 7 }, { ptr, i64 } %callN) br label %if.merge.432 if.merge.432: ; preds = %if.else.431, %if.then.430 - %bp = phi { ptr, i64 } [ { ptr @str.634, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] + %bp = phi { ptr, i64 } [ { ptr @str.637, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6936,17 +6955,17 @@ if.then.433: ; preds = %entry 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.639, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.638, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.642, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.641, i64 5 }, { ptr, i64 } %callN) br label %if.merge.435 if.merge.435: ; preds = %if.else.434, %if.then.433 - %bp = phi { ptr, i64 } [ { ptr @str.637, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] + %bp = phi { ptr, i64 } [ { ptr @str.640, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6964,17 +6983,17 @@ if.then.436: ; preds = %entry 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.642, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.641, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.645, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.644, i64 7 }, { ptr, i64 } %callN) br label %if.merge.438 if.merge.438: ; preds = %if.else.437, %if.then.436 - %bp = phi { ptr, i64 } [ { ptr @str.640, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] + %bp = phi { ptr, i64 } [ { ptr @str.643, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6992,17 +7011,17 @@ if.then.439: ; preds = %entry 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.645, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.644, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.648, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.647, i64 4 }, { ptr, i64 } %callN) br label %if.merge.441 if.merge.441: ; preds = %if.else.440, %if.then.439 - %bp = phi { ptr, i64 } [ { ptr @str.643, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] + %bp = phi { ptr, i64 } [ { ptr @str.646, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7020,17 +7039,17 @@ if.then.442: ; preds = %entry 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.648, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.647, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 7 }, { ptr, i64 } %callN) br label %if.merge.444 if.merge.444: ; preds = %if.else.443, %if.then.442 - %bp = phi { ptr, i64 } [ { ptr @str.646, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] + %bp = phi { ptr, i64 } [ { ptr @str.649, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7048,17 +7067,17 @@ 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.651, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.653, 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.649, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] + %bp = phi { ptr, i64 } [ { ptr @str.652, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7076,17 +7095,17 @@ 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.654, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.653, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.656, i64 7 }, { ptr, i64 } %callN) br label %if.merge.450 if.merge.450: ; preds = %if.else.449, %if.then.448 - %bp = phi { ptr, i64 } [ { ptr @str.652, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] + %bp = phi { ptr, i64 } [ { ptr @str.655, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7104,17 +7123,17 @@ if.then.451: ; preds = %entry 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.657, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.656, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.660, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, i64 12 }, { ptr, i64 } %callN) br label %if.merge.453 if.merge.453: ; preds = %if.else.452, %if.then.451 - %bp = phi { ptr, i64 } [ { ptr @str.655, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] + %bp = phi { ptr, i64 } [ { ptr @str.658, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7132,17 +7151,17 @@ if.then.454: ; preds = %entry 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.660, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, i64 12 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.663, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.662, i64 6 }, { ptr, i64 } %callN) br label %if.merge.456 if.merge.456: ; preds = %if.else.455, %if.then.454 - %bp = phi { ptr, i64 } [ { ptr @str.658, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] + %bp = phi { ptr, i64 } [ { ptr @str.661, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_S(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7160,17 +7179,17 @@ if.then.457: ; preds = %entry 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.663, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.662, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.666, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.665, i64 2 }, { ptr, i64 } %callN) br label %if.merge.459 if.merge.459: ; preds = %if.else.458, %if.then.457 - %bp = phi { ptr, i64 } [ { ptr @str.661, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] + %bp = phi { ptr, i64 } [ { ptr @str.664, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_S(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7188,17 +7207,17 @@ 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.666, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.665, i64 2 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.668, i64 7 }, { ptr, i64 } %callN) br label %if.merge.462 if.merge.462: ; preds = %if.else.461, %if.then.460 - %bp = phi { ptr, i64 } [ { ptr @str.664, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] + %bp = phi { ptr, i64 } [ { ptr @str.667, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7216,17 +7235,17 @@ if.then.463: ; preds = %entry 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.669, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.668, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.671, i64 4 }, { ptr, i64 } %callN) br label %if.merge.465 if.merge.465: ; preds = %if.else.464, %if.then.463 - %bp = phi { ptr, i64 } [ { ptr @str.667, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] + %bp = phi { ptr, i64 } [ { ptr @str.670, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7244,17 +7263,17 @@ if.then.466: ; preds = %entry 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.672, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.671, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.468 if.merge.468: ; preds = %if.else.467, %if.then.466 - %bp = phi { ptr, i64 } [ { ptr @str.670, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] + %bp = phi { ptr, i64 } [ { ptr @str.673, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7272,17 +7291,17 @@ if.then.469: ; preds = %entry 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.675, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.674, i64 7 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.471 if.merge.471: ; preds = %if.else.470, %if.then.469 - %bp = phi { ptr, i64 } [ { ptr @str.673, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] + %bp = phi { ptr, i64 } [ { ptr @str.676, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7300,12 +7319,12 @@ if.then.472: ; preds = %entry 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.678, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.677, i64 6 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.474 if.merge.474: ; preds = %if.else.473, %if.then.472 - %bp = phi { ptr, i64 } [ { ptr @str.676, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] + %bp = phi { ptr, i64 } [ { ptr @str.679, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] ret { ptr, i64 } %bp } @@ -7328,12 +7347,12 @@ 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.681, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.680, i64 5 }, { ptr, i64 } %callN) + %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 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.679, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] + %bp = phi { ptr, i64 } [ { ptr @str.682, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] ret { ptr, i64 } %bp } @@ -7346,17 +7365,17 @@ 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.486, label %if.merge.487 + br i1 %lnot, label %if.then.487, label %if.merge.488 -if.then.486: ; preds = %entry - ret { ptr, i64 } { ptr @str.682, i64 4 } +if.then.487: ; preds = %entry + ret { ptr, i64 } { ptr @str.685, i64 4 } -if.merge.487: ; preds = %entry +if.merge.488: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7370,12 +7389,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.488, label %if.merge.489 + br i1 %lnot, label %if.then.489, label %if.merge.490 -if.then.488: ; preds = %entry - ret { ptr, i64 } { ptr @str.683, i64 4 } +if.then.489: ; preds = %entry + ret { ptr, i64 } { ptr @str.686, i64 4 } -if.merge.489: ; preds = %entry +if.merge.490: ; 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 @@ -7385,6 +7404,27 @@ if.merge.489: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.491, label %if.merge.492 + +if.then.491: ; preds = %entry + ret { ptr, i64 } { ptr @str.687, i64 4 } + +if.merge.492: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -7394,17 +7434,17 @@ 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.490, label %if.merge.491 + br i1 %lnot, label %if.then.493, label %if.merge.494 -if.then.490: ; preds = %entry - ret { ptr, i64 } { ptr @str.684, i64 4 } +if.then.493: ; preds = %entry + ret { ptr, i64 } { ptr @str.688, i64 4 } -if.merge.491: ; preds = %entry +if.merge.494: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7418,17 +7458,17 @@ 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.492, label %if.merge.493 + br i1 %lnot, label %if.then.495, label %if.merge.496 -if.then.492: ; preds = %entry - ret { ptr, i64 } { ptr @str.685, i64 4 } +if.then.495: ; preds = %entry + ret { ptr, i64 } { ptr @str.689, i64 4 } -if.merge.493: ; preds = %entry +if.merge.496: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7441,12 +7481,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.494, label %if.merge.495 + br i1 %lnot, label %if.then.497, label %if.merge.498 -if.then.494: ; preds = %entry - ret { ptr, i64 } { ptr @str.686, i64 4 } +if.then.497: ; preds = %entry + ret { ptr, i64 } { ptr @str.690, i64 4 } -if.merge.495: ; preds = %entry +if.merge.498: ; 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 @@ -7462,12 +7502,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.496, label %if.merge.497 + br i1 %lnot, label %if.then.499, label %if.merge.500 -if.then.496: ; preds = %entry - ret { ptr, i64 } { ptr @str.687, i64 4 } +if.then.499: ; preds = %entry + ret { ptr, i64 } { ptr @str.691, i64 4 } -if.merge.497: ; preds = %entry +if.merge.500: ; 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 c521e5f..3e91cfd 100644 --- a/examples/expected/1004-errors-try.ir +++ b/examples/expected/1004-errors-try.ir @@ -7,7 +7,7 @@ @str.78 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.79 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.80 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [162 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] +@__sx_type_is_unsigned = private constant [165 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.81 = private constant [9 x i8] c"Overflow\00" @tag.str.82 = private constant [3 x i8] c"Io\00" @@ -43,450 +43,450 @@ @tn.str.110 = private constant [6 x i8] c"isize\00" @tn.str.111 = private constant [6 x i8] c"usize\00" @tn.str.112 = private constant [5 x i8] c"void\00" -@tn.str.113 = private constant [6 x i8] c"*void\00" -@tn.str.114 = private constant [16 x i8] c"Source_Location\00" -@tn.str.115 = private constant [10 x i8] c"Allocator\00" -@tn.str.116 = private constant [8 x i8] c"Context\00" -@tn.str.117 = private constant [7 x i8] c"[4]i64\00" -@tn.str.118 = private constant [9 x i8] c"[]string\00" -@tn.str.119 = private constant [11 x i8] c"CAllocator\00" -@tn.str.120 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.121 = private constant [4 x i8] c"GPA\00" -@tn.str.122 = private constant [5 x i8] c"*GPA\00" -@tn.str.123 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.124 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.125 = private constant [6 x i8] c"Arena\00" -@tn.str.126 = private constant [7 x i8] c"*Arena\00" -@tn.str.127 = private constant [6 x i8] c"[*]u8\00" -@tn.str.128 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.129 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.130 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.131 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.132 = private constant [9 x i8] c"OpenMode\00" -@tn.str.133 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.134 = private constant [5 x i8] c"File\00" -@tn.str.135 = private constant [6 x i8] c"*File\00" -@tn.str.136 = private constant [6 x i8] c"?File\00" -@tn.str.137 = private constant [8 x i8] c"?string\00" -@tn.str.138 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.139 = private constant [4 x i8] c"*u8\00" -@tn.str.140 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.141 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.142 = private constant [5 x i8] c"*i32\00" -@tn.str.143 = private constant [9 x i8] c"SockAddr\00" -@tn.str.144 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.145 = private constant [5 x i8] c"*u32\00" -@tn.str.146 = private constant [10 x i8] c"JsonError\00" -@tn.str.147 = private constant [6 x i8] c"Array\00" -@tn.str.148 = private constant [7 x i8] c"Object\00" -@tn.str.149 = private constant [6 x i8] c"Value\00" -@tn.str.150 = private constant [7 x i8] c"Member\00" -@tn.str.151 = private constant [9 x i8] c"[*]Value\00" -@tn.str.152 = private constant [7 x i8] c"*Array\00" -@tn.str.153 = private constant [10 x i8] c"[*]Member\00" -@tn.str.154 = private constant [8 x i8] c"*Object\00" -@tn.str.155 = private constant [5 x i8] c"[]u8\00" -@tn.str.156 = private constant [5 x i8] c"Sink\00" -@tn.str.157 = private constant [6 x i8] c"*Sink\00" -@tn.str.158 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.159 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.160 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.161 = private constant [7 x i8] c"Parser\00" -@tn.str.162 = private constant [8 x i8] c"*Parser\00" -@tn.str.163 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.164 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.165 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.166 = private constant [13 x i8] c"Architecture\00" -@tn.str.167 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.168 = private constant [11 x i8] c"() -> bool\00" -@tn.str.169 = private constant [5 x i8] c"*i64\00" -@tn.str.170 = private constant [9 x i8] c"CliError\00" -@tn.str.171 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.172 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.173 = private constant [8 x i8] c"Command\00" -@tn.str.174 = private constant [10 x i8] c"FlagValue\00" -@tn.str.175 = private constant [5 x i8] c"Diag\00" -@tn.str.176 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.177 = private constant [7 x i8] c"Parsed\00" -@tn.str.178 = private constant [8 x i8] c"*Parsed\00" -@tn.str.179 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.180 = private constant [10 x i8] c"[]Command\00" -@tn.str.181 = private constant [6 x i8] c"*Diag\00" -@tn.str.182 = private constant [7 x i8] c"[8]i64\00" -@tn.str.183 = private constant [7 x i8] c"[64]u8\00" -@tn.str.184 = private constant [7 x i8] c"Sha256\00" -@tn.str.185 = private constant [8 x i8] c"*Sha256\00" -@tn.str.186 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.187 = private constant [8 x i8] c"[64]i64\00" -@tn.str.188 = private constant [2 x i8] c"E\00" -@tn.str.189 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.190 = private constant [7 x i8] c"**void\00" -@tn.str.191 = private constant [3 x i8] c"*E\00" -@tn.str.192 = private constant [8 x i8] c"*string\00" -@tn.str.193 = private constant [6 x i8] c"[]Any\00" -@tn.str.194 = private constant [5 x i8] c"*Any\00" -@tn.str.195 = private constant [7 x i8] c"[1]Any\00" -@tn.str.196 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.197 = private constant [7 x i8] c"*[]Any\00" -@tn.str.198 = private constant [6 x i8] c"*bool\00" -@tn.str.199 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.200 = private constant [5 x i8] c"*f64\00" -@tn.str.201 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.202 = private constant [11 x i8] c"*Allocator\00" -@tn.str.203 = private constant [9 x i8] c"*Context\00" -@tn.str.204 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.205 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.206 = private constant [8 x i8] c"*Member\00" -@tn.str.207 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.208 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.209 = private constant [9 x i8] c"*Command\00" -@tn.str.210 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.211 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.212 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.213 = private constant [7 x i8] c"*Value\00" -@tn.str.214 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.215 = private constant [14 x i8] c"*Architecture\00" -@tn.str.216 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.217 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.218 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.219 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.220 = private constant [10 x i8] c"*[]string\00" -@tn.str.221 = private constant [6 x i8] c"*[]u8\00" -@tn.str.222 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.223 = private constant [11 x i8] c"*[]Command\00" -@tn.str.224 = private constant [6 x i8] c"**GPA\00" -@tn.str.225 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.226 = private constant [8 x i8] c"**Arena\00" -@tn.str.227 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.228 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.229 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.230 = private constant [7 x i8] c"**File\00" -@tn.str.231 = private constant [5 x i8] c"**u8\00" -@tn.str.232 = private constant [6 x i8] c"**i32\00" -@tn.str.233 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.234 = private constant [6 x i8] c"**u32\00" -@tn.str.235 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.236 = private constant [8 x i8] c"**Array\00" -@tn.str.237 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.238 = private constant [9 x i8] c"**Object\00" -@tn.str.239 = private constant [7 x i8] c"**Sink\00" -@tn.str.240 = private constant [9 x i8] c"**Parser\00" -@tn.str.241 = private constant [6 x i8] c"**i64\00" -@tn.str.242 = private constant [9 x i8] c"**Parsed\00" -@tn.str.243 = private constant [7 x i8] c"**Diag\00" -@tn.str.244 = private constant [9 x i8] c"**Sha256\00" -@tn.str.245 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.246 = private constant [8 x i8] c"***void\00" -@tn.str.247 = private constant [4 x i8] c"**E\00" -@tn.str.248 = private constant [9 x i8] c"**string\00" -@tn.str.249 = private constant [6 x i8] c"**Any\00" -@tn.str.250 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.251 = private constant [8 x i8] c"**[]Any\00" -@tn.str.252 = private constant [7 x i8] c"**bool\00" -@tn.str.253 = private constant [7 x i8] c"*?File\00" -@tn.str.254 = private constant [9 x i8] c"*?string\00" -@tn.str.255 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.256 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [162 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.96, i64 4 }, { ptr, i64 } { ptr @tn.str.97, i64 2 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 3 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 2 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { 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 6 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 8 }, { ptr, i64 } { ptr @tn.str.110, i64 5 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 4 }, { ptr, i64 } { ptr @tn.str.113, i64 5 }, { ptr, i64 } { ptr @tn.str.114, i64 15 }, { ptr, i64 } { ptr @tn.str.115, i64 9 }, { ptr, i64 } { ptr @tn.str.116, i64 7 }, { ptr, i64 } { ptr @tn.str.117, i64 6 }, { ptr, i64 } { ptr @tn.str.118, i64 8 }, { ptr, i64 } { ptr @tn.str.119, i64 10 }, { ptr, i64 } { ptr @tn.str.120, i64 11 }, { ptr, i64 } { ptr @tn.str.121, i64 3 }, { ptr, i64 } { ptr @tn.str.122, i64 4 }, { ptr, i64 } { ptr @tn.str.123, i64 10 }, { ptr, i64 } { ptr @tn.str.124, i64 11 }, { ptr, i64 } { ptr @tn.str.125, i64 5 }, { ptr, i64 } { ptr @tn.str.126, i64 6 }, { ptr, i64 } { ptr @tn.str.127, i64 5 }, { ptr, i64 } { ptr @tn.str.128, i64 8 }, { ptr, i64 } { ptr @tn.str.129, i64 9 }, { ptr, i64 } { ptr @tn.str.130, i64 17 }, { ptr, i64 } { ptr @tn.str.131, i64 18 }, { ptr, i64 } { ptr @tn.str.132, i64 8 }, { ptr, i64 } { ptr @tn.str.133, i64 8 }, { ptr, i64 } { ptr @tn.str.134, i64 4 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 7 }, { ptr, i64 } { ptr @tn.str.138, i64 10 }, { ptr, i64 } { ptr @tn.str.139, i64 3 }, { ptr, i64 } { ptr @tn.str.140, i64 13 }, { ptr, i64 } { ptr @tn.str.141, i64 14 }, { ptr, i64 } { ptr @tn.str.142, i64 4 }, { ptr, i64 } { ptr @tn.str.143, i64 8 }, { ptr, i64 } { ptr @tn.str.144, i64 9 }, { ptr, i64 } { ptr @tn.str.145, i64 4 }, { ptr, i64 } { ptr @tn.str.146, i64 9 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 6 }, { ptr, i64 } { ptr @tn.str.149, i64 5 }, { ptr, i64 } { ptr @tn.str.150, i64 6 }, { ptr, i64 } { ptr @tn.str.151, i64 8 }, { ptr, i64 } { ptr @tn.str.152, i64 6 }, { ptr, i64 } { ptr @tn.str.153, i64 9 }, { ptr, i64 } { ptr @tn.str.154, i64 7 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 4 }, { ptr, i64 } { ptr @tn.str.157, i64 5 }, { ptr, i64 } { ptr @tn.str.158, i64 16 }, { ptr, i64 } { ptr @tn.str.159, i64 14 }, { ptr, i64 } { ptr @tn.str.160, i64 21 }, { ptr, i64 } { ptr @tn.str.161, i64 6 }, { ptr, i64 } { ptr @tn.str.162, i64 7 }, { ptr, i64 } { ptr @tn.str.163, i64 24 }, { ptr, i64 } { ptr @tn.str.164, i64 23 }, { ptr, i64 } { ptr @tn.str.165, i64 15 }, { ptr, i64 } { ptr @tn.str.166, i64 12 }, { ptr, i64 } { ptr @tn.str.167, i64 12 }, { ptr, i64 } { ptr @tn.str.168, i64 10 }, { ptr, i64 } { ptr @tn.str.169, i64 4 }, { ptr, i64 } { ptr @tn.str.170, i64 8 }, { ptr, i64 } { ptr @tn.str.171, i64 8 }, { ptr, i64 } { ptr @tn.str.172, i64 10 }, { ptr, i64 } { ptr @tn.str.173, i64 7 }, { ptr, i64 } { ptr @tn.str.174, i64 9 }, { ptr, i64 } { ptr @tn.str.175, i64 4 }, { ptr, i64 } { ptr @tn.str.176, i64 13 }, { ptr, i64 } { ptr @tn.str.177, i64 6 }, { ptr, i64 } { ptr @tn.str.178, i64 7 }, { ptr, i64 } { ptr @tn.str.179, i64 18 }, { ptr, i64 } { ptr @tn.str.180, i64 9 }, { ptr, i64 } { ptr @tn.str.181, i64 5 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 6 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 7 }, { ptr, i64 } { ptr @tn.str.188, i64 1 }, { ptr, i64 } { ptr @tn.str.189, i64 12 }, { ptr, i64 } { ptr @tn.str.190, i64 6 }, { ptr, i64 } { ptr @tn.str.191, i64 2 }, { ptr, i64 } { ptr @tn.str.192, i64 7 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 4 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 6 }, { ptr, i64 } { ptr @tn.str.198, i64 5 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 4 }, { ptr, i64 } { ptr @tn.str.201, i64 16 }, { ptr, i64 } { ptr @tn.str.202, i64 10 }, { ptr, i64 } { ptr @tn.str.203, i64 8 }, { ptr, i64 } { ptr @tn.str.204, i64 11 }, { ptr, i64 } { ptr @tn.str.205, i64 14 }, { ptr, i64 } { ptr @tn.str.206, i64 7 }, { ptr, i64 } { ptr @tn.str.207, i64 13 }, { ptr, i64 } { ptr @tn.str.208, i64 9 }, { ptr, i64 } { ptr @tn.str.209, i64 8 }, { ptr, i64 } { ptr @tn.str.210, i64 10 }, { ptr, i64 } { ptr @tn.str.211, i64 9 }, { ptr, i64 } { ptr @tn.str.212, i64 9 }, { ptr, i64 } { ptr @tn.str.213, i64 6 }, { ptr, i64 } { ptr @tn.str.214, i64 16 }, { ptr, i64 } { ptr @tn.str.215, i64 13 }, { ptr, i64 } { ptr @tn.str.216, i64 14 }, { ptr, i64 } { ptr @tn.str.217, i64 7 }, { ptr, i64 } { ptr @tn.str.218, i64 7 }, { ptr, i64 } { ptr @tn.str.219, i64 8 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 5 }, { ptr, i64 } { ptr @tn.str.222, i64 11 }, { ptr, i64 } { ptr @tn.str.223, i64 10 }, { ptr, i64 } { ptr @tn.str.224, i64 5 }, { ptr, i64 } { ptr @tn.str.225, i64 12 }, { ptr, i64 } { ptr @tn.str.226, i64 7 }, { ptr, i64 } { ptr @tn.str.227, i64 6 }, { ptr, i64 } { ptr @tn.str.228, i64 10 }, { ptr, i64 } { ptr @tn.str.229, i64 19 }, { ptr, i64 } { ptr @tn.str.230, i64 6 }, { ptr, i64 } { ptr @tn.str.231, i64 4 }, { ptr, i64 } { ptr @tn.str.232, i64 5 }, { ptr, i64 } { ptr @tn.str.233, i64 10 }, { ptr, i64 } { ptr @tn.str.234, i64 5 }, { ptr, i64 } { ptr @tn.str.235, i64 9 }, { ptr, i64 } { ptr @tn.str.236, i64 7 }, { ptr, i64 } { ptr @tn.str.237, i64 10 }, { ptr, i64 } { ptr @tn.str.238, i64 8 }, { ptr, i64 } { ptr @tn.str.239, i64 6 }, { ptr, i64 } { ptr @tn.str.240, i64 8 }, { ptr, i64 } { ptr @tn.str.241, i64 5 }, { ptr, i64 } { ptr @tn.str.242, i64 8 }, { ptr, i64 } { ptr @tn.str.243, i64 6 }, { ptr, i64 } { ptr @tn.str.244, i64 8 }, { ptr, i64 } { ptr @tn.str.245, i64 13 }, { ptr, i64 } { ptr @tn.str.246, i64 7 }, { ptr, i64 } { ptr @tn.str.247, i64 3 }, { ptr, i64 } { ptr @tn.str.248, i64 8 }, { ptr, i64 } { ptr @tn.str.249, i64 5 }, { ptr, i64 } { ptr @tn.str.250, i64 8 }, { ptr, i64 } { ptr @tn.str.251, i64 7 }, { ptr, i64 } { ptr @tn.str.252, i64 6 }, { ptr, i64 } { ptr @tn.str.253, i64 6 }, { ptr, i64 } { ptr @tn.str.254, i64 8 }, { ptr, i64 } { ptr @tn.str.255, i64 15 }, { ptr, i64 } { ptr @tn.str.256, i64 8 }] -@str.257 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.258 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.259 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@tn.str.113 = private constant [8 x i8] c"cstring\00" +@tn.str.114 = private constant [6 x i8] c"*void\00" +@tn.str.115 = private constant [16 x i8] c"Source_Location\00" +@tn.str.116 = private constant [10 x i8] c"Allocator\00" +@tn.str.117 = private constant [8 x i8] c"Context\00" +@tn.str.118 = private constant [7 x i8] c"[4]i64\00" +@tn.str.119 = private constant [9 x i8] c"[]string\00" +@tn.str.120 = private constant [11 x i8] c"CAllocator\00" +@tn.str.121 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.122 = private constant [4 x i8] c"GPA\00" +@tn.str.123 = private constant [5 x i8] c"*GPA\00" +@tn.str.124 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.125 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.126 = private constant [6 x i8] c"Arena\00" +@tn.str.127 = private constant [7 x i8] c"*Arena\00" +@tn.str.128 = private constant [6 x i8] c"[*]u8\00" +@tn.str.129 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.130 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.131 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.132 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.133 = private constant [9 x i8] c"OpenMode\00" +@tn.str.134 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.135 = private constant [5 x i8] c"File\00" +@tn.str.136 = private constant [6 x i8] c"*File\00" +@tn.str.137 = private constant [6 x i8] c"?File\00" +@tn.str.138 = private constant [8 x i8] c"?string\00" +@tn.str.139 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.140 = private constant [9 x i8] c"?cstring\00" +@tn.str.141 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.142 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.143 = private constant [5 x i8] c"*i32\00" +@tn.str.144 = private constant [9 x i8] c"SockAddr\00" +@tn.str.145 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.146 = private constant [5 x i8] c"*u32\00" +@tn.str.147 = private constant [10 x i8] c"JsonError\00" +@tn.str.148 = private constant [6 x i8] c"Array\00" +@tn.str.149 = private constant [7 x i8] c"Object\00" +@tn.str.150 = private constant [6 x i8] c"Value\00" +@tn.str.151 = private constant [7 x i8] c"Member\00" +@tn.str.152 = private constant [9 x i8] c"[*]Value\00" +@tn.str.153 = private constant [7 x i8] c"*Array\00" +@tn.str.154 = private constant [10 x i8] c"[*]Member\00" +@tn.str.155 = private constant [8 x i8] c"*Object\00" +@tn.str.156 = private constant [5 x i8] c"[]u8\00" +@tn.str.157 = private constant [5 x i8] c"Sink\00" +@tn.str.158 = private constant [6 x i8] c"*Sink\00" +@tn.str.159 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.160 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.161 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.162 = private constant [7 x i8] c"Parser\00" +@tn.str.163 = private constant [8 x i8] c"*Parser\00" +@tn.str.164 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.165 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.166 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.167 = private constant [13 x i8] c"Architecture\00" +@tn.str.168 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.169 = private constant [11 x i8] c"() -> bool\00" +@tn.str.170 = private constant [5 x i8] c"*i64\00" +@tn.str.171 = private constant [9 x i8] c"CliError\00" +@tn.str.172 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.173 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.174 = private constant [8 x i8] c"Command\00" +@tn.str.175 = private constant [10 x i8] c"FlagValue\00" +@tn.str.176 = private constant [5 x i8] c"Diag\00" +@tn.str.177 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.178 = private constant [7 x i8] c"Parsed\00" +@tn.str.179 = private constant [8 x i8] c"*Parsed\00" +@tn.str.180 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.181 = private constant [10 x i8] c"[]Command\00" +@tn.str.182 = private constant [6 x i8] c"*Diag\00" +@tn.str.183 = private constant [7 x i8] c"[8]i64\00" +@tn.str.184 = private constant [7 x i8] c"[64]u8\00" +@tn.str.185 = private constant [7 x i8] c"Sha256\00" +@tn.str.186 = private constant [8 x i8] c"*Sha256\00" +@tn.str.187 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.188 = private constant [8 x i8] c"[64]i64\00" +@tn.str.189 = private constant [2 x i8] c"E\00" +@tn.str.190 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.191 = private constant [7 x i8] c"**void\00" +@tn.str.192 = private constant [3 x i8] c"*E\00" +@tn.str.193 = private constant [8 x i8] c"*string\00" +@tn.str.194 = private constant [6 x i8] c"[]Any\00" +@tn.str.195 = private constant [5 x i8] c"*Any\00" +@tn.str.196 = private constant [7 x i8] c"[1]Any\00" +@tn.str.197 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.198 = private constant [7 x i8] c"*[]Any\00" +@tn.str.199 = private constant [4 x i8] c"*u8\00" +@tn.str.200 = private constant [6 x i8] c"*bool\00" +@tn.str.201 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.202 = private constant [5 x i8] c"*f64\00" +@tn.str.203 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.204 = private constant [11 x i8] c"*Allocator\00" +@tn.str.205 = private constant [9 x i8] c"*Context\00" +@tn.str.206 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.207 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.208 = private constant [8 x i8] c"*Member\00" +@tn.str.209 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.210 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.211 = private constant [9 x i8] c"*Command\00" +@tn.str.212 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.213 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.214 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.215 = private constant [7 x i8] c"*Value\00" +@tn.str.216 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.217 = private constant [14 x i8] c"*Architecture\00" +@tn.str.218 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.219 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.220 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.221 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.222 = private constant [10 x i8] c"*[]string\00" +@tn.str.223 = private constant [6 x i8] c"*[]u8\00" +@tn.str.224 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.225 = private constant [11 x i8] c"*[]Command\00" +@tn.str.226 = private constant [6 x i8] c"**GPA\00" +@tn.str.227 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.228 = private constant [8 x i8] c"**Arena\00" +@tn.str.229 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.230 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.231 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.232 = private constant [7 x i8] c"**File\00" +@tn.str.233 = private constant [6 x i8] c"**i32\00" +@tn.str.234 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.235 = private constant [6 x i8] c"**u32\00" +@tn.str.236 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.237 = private constant [8 x i8] c"**Array\00" +@tn.str.238 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.239 = private constant [9 x i8] c"**Object\00" +@tn.str.240 = private constant [7 x i8] c"**Sink\00" +@tn.str.241 = private constant [9 x i8] c"**Parser\00" +@tn.str.242 = private constant [6 x i8] c"**i64\00" +@tn.str.243 = private constant [9 x i8] c"**Parsed\00" +@tn.str.244 = private constant [7 x i8] c"**Diag\00" +@tn.str.245 = private constant [9 x i8] c"**Sha256\00" +@tn.str.246 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.247 = private constant [8 x i8] c"***void\00" +@tn.str.248 = private constant [4 x i8] c"**E\00" +@tn.str.249 = private constant [9 x i8] c"**string\00" +@tn.str.250 = private constant [6 x i8] c"**Any\00" +@tn.str.251 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.252 = private constant [8 x i8] c"**[]Any\00" +@tn.str.253 = private constant [5 x i8] c"**u8\00" +@tn.str.254 = private constant [7 x i8] c"**bool\00" +@tn.str.255 = private constant [7 x i8] c"*?File\00" +@tn.str.256 = private constant [9 x i8] c"*?string\00" +@tn.str.257 = private constant [10 x i8] c"*?cstring\00" +@tn.str.258 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.259 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [165 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.96, i64 4 }, { ptr, i64 } { ptr @tn.str.97, i64 2 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 3 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 2 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { 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 6 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 8 }, { ptr, i64 } { ptr @tn.str.110, i64 5 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 4 }, { ptr, i64 } { ptr @tn.str.113, i64 7 }, { ptr, i64 } { ptr @tn.str.114, i64 5 }, { ptr, i64 } { ptr @tn.str.115, i64 15 }, { ptr, i64 } { ptr @tn.str.116, i64 9 }, { ptr, i64 } { ptr @tn.str.117, i64 7 }, { ptr, i64 } { ptr @tn.str.118, i64 6 }, { ptr, i64 } { ptr @tn.str.119, i64 8 }, { ptr, i64 } { ptr @tn.str.120, i64 10 }, { ptr, i64 } { ptr @tn.str.121, i64 11 }, { ptr, i64 } { ptr @tn.str.122, i64 3 }, { ptr, i64 } { ptr @tn.str.123, i64 4 }, { ptr, i64 } { ptr @tn.str.124, i64 10 }, { ptr, i64 } { ptr @tn.str.125, i64 11 }, { ptr, i64 } { ptr @tn.str.126, i64 5 }, { ptr, i64 } { ptr @tn.str.127, i64 6 }, { ptr, i64 } { ptr @tn.str.128, i64 5 }, { ptr, i64 } { ptr @tn.str.129, i64 8 }, { ptr, i64 } { ptr @tn.str.130, i64 9 }, { ptr, i64 } { ptr @tn.str.131, i64 17 }, { ptr, i64 } { ptr @tn.str.132, i64 18 }, { ptr, i64 } { ptr @tn.str.133, i64 8 }, { ptr, i64 } { ptr @tn.str.134, i64 8 }, { ptr, i64 } { ptr @tn.str.135, i64 4 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 5 }, { ptr, i64 } { ptr @tn.str.138, i64 7 }, { ptr, i64 } { ptr @tn.str.139, i64 10 }, { ptr, i64 } { ptr @tn.str.140, i64 8 }, { ptr, i64 } { ptr @tn.str.141, i64 13 }, { ptr, i64 } { ptr @tn.str.142, i64 14 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 8 }, { ptr, i64 } { ptr @tn.str.145, i64 9 }, { ptr, i64 } { ptr @tn.str.146, i64 4 }, { ptr, i64 } { ptr @tn.str.147, i64 9 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 6 }, { ptr, i64 } { ptr @tn.str.150, i64 5 }, { ptr, i64 } { ptr @tn.str.151, i64 6 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 6 }, { ptr, i64 } { ptr @tn.str.154, i64 9 }, { ptr, i64 } { ptr @tn.str.155, i64 7 }, { ptr, i64 } { ptr @tn.str.156, i64 4 }, { ptr, i64 } { ptr @tn.str.157, i64 4 }, { ptr, i64 } { ptr @tn.str.158, i64 5 }, { ptr, i64 } { ptr @tn.str.159, i64 16 }, { ptr, i64 } { ptr @tn.str.160, i64 14 }, { ptr, i64 } { ptr @tn.str.161, i64 21 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 7 }, { ptr, i64 } { ptr @tn.str.164, i64 24 }, { ptr, i64 } { ptr @tn.str.165, i64 23 }, { ptr, i64 } { ptr @tn.str.166, i64 15 }, { ptr, i64 } { ptr @tn.str.167, i64 12 }, { ptr, i64 } { ptr @tn.str.168, i64 12 }, { ptr, i64 } { ptr @tn.str.169, i64 10 }, { ptr, i64 } { ptr @tn.str.170, i64 4 }, { ptr, i64 } { ptr @tn.str.171, i64 8 }, { ptr, i64 } { ptr @tn.str.172, i64 8 }, { ptr, i64 } { ptr @tn.str.173, i64 10 }, { ptr, i64 } { ptr @tn.str.174, i64 7 }, { ptr, i64 } { ptr @tn.str.175, i64 9 }, { ptr, i64 } { ptr @tn.str.176, i64 4 }, { ptr, i64 } { ptr @tn.str.177, i64 13 }, { ptr, i64 } { ptr @tn.str.178, i64 6 }, { ptr, i64 } { ptr @tn.str.179, i64 7 }, { ptr, i64 } { ptr @tn.str.180, i64 18 }, { ptr, i64 } { ptr @tn.str.181, i64 9 }, { ptr, i64 } { ptr @tn.str.182, i64 5 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 6 }, { ptr, i64 } { ptr @tn.str.185, i64 6 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 7 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 1 }, { ptr, i64 } { ptr @tn.str.190, i64 12 }, { ptr, i64 } { ptr @tn.str.191, i64 6 }, { ptr, i64 } { ptr @tn.str.192, i64 2 }, { ptr, i64 } { ptr @tn.str.193, i64 7 }, { ptr, i64 } { ptr @tn.str.194, i64 5 }, { ptr, i64 } { ptr @tn.str.195, i64 4 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 6 }, { ptr, i64 } { ptr @tn.str.199, i64 3 }, { ptr, i64 } { ptr @tn.str.200, i64 5 }, { ptr, i64 } { ptr @tn.str.201, i64 7 }, { ptr, i64 } { ptr @tn.str.202, i64 4 }, { ptr, i64 } { ptr @tn.str.203, i64 16 }, { ptr, i64 } { ptr @tn.str.204, i64 10 }, { ptr, i64 } { ptr @tn.str.205, i64 8 }, { ptr, i64 } { ptr @tn.str.206, i64 11 }, { ptr, i64 } { ptr @tn.str.207, i64 14 }, { ptr, i64 } { ptr @tn.str.208, i64 7 }, { ptr, i64 } { ptr @tn.str.209, i64 13 }, { ptr, i64 } { ptr @tn.str.210, i64 9 }, { ptr, i64 } { ptr @tn.str.211, i64 8 }, { ptr, i64 } { ptr @tn.str.212, i64 10 }, { ptr, i64 } { ptr @tn.str.213, i64 9 }, { ptr, i64 } { ptr @tn.str.214, i64 9 }, { ptr, i64 } { ptr @tn.str.215, i64 6 }, { ptr, i64 } { ptr @tn.str.216, i64 16 }, { ptr, i64 } { ptr @tn.str.217, i64 13 }, { ptr, i64 } { ptr @tn.str.218, i64 14 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 7 }, { ptr, i64 } { ptr @tn.str.221, i64 8 }, { ptr, i64 } { ptr @tn.str.222, i64 9 }, { ptr, i64 } { ptr @tn.str.223, i64 5 }, { ptr, i64 } { ptr @tn.str.224, i64 11 }, { ptr, i64 } { ptr @tn.str.225, i64 10 }, { ptr, i64 } { ptr @tn.str.226, i64 5 }, { ptr, i64 } { ptr @tn.str.227, i64 12 }, { ptr, i64 } { ptr @tn.str.228, i64 7 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 10 }, { ptr, i64 } { ptr @tn.str.231, i64 19 }, { ptr, i64 } { ptr @tn.str.232, i64 6 }, { ptr, i64 } { ptr @tn.str.233, i64 5 }, { ptr, i64 } { ptr @tn.str.234, i64 10 }, { ptr, i64 } { ptr @tn.str.235, i64 5 }, { ptr, i64 } { ptr @tn.str.236, i64 9 }, { ptr, i64 } { ptr @tn.str.237, i64 7 }, { ptr, i64 } { ptr @tn.str.238, i64 10 }, { ptr, i64 } { ptr @tn.str.239, i64 8 }, { ptr, i64 } { ptr @tn.str.240, i64 6 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 5 }, { ptr, i64 } { ptr @tn.str.243, i64 8 }, { ptr, i64 } { ptr @tn.str.244, i64 6 }, { ptr, i64 } { ptr @tn.str.245, i64 8 }, { ptr, i64 } { ptr @tn.str.246, i64 13 }, { ptr, i64 } { ptr @tn.str.247, i64 7 }, { ptr, i64 } { ptr @tn.str.248, i64 3 }, { ptr, i64 } { ptr @tn.str.249, i64 8 }, { ptr, i64 } { ptr @tn.str.250, i64 5 }, { ptr, i64 } { ptr @tn.str.251, i64 8 }, { ptr, i64 } { ptr @tn.str.252, i64 7 }, { ptr, i64 } { ptr @tn.str.253, i64 4 }, { ptr, i64 } { ptr @tn.str.254, i64 6 }, { ptr, i64 } { ptr @tn.str.255, i64 6 }, { ptr, i64 } { ptr @tn.str.256, i64 8 }, { ptr, i64 } { ptr @tn.str.257, i64 9 }, { ptr, i64 } { ptr @tn.str.258, i64 15 }, { ptr, i64 } { ptr @tn.str.259, i64 8 }] @str.260 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.261 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.262 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.263 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.264 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.265 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.266 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.267 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.268 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.269 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.270 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.271 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.263 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.264 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.265 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.266 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.267 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.268 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.269 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.270 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.271 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.272 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.273 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.274 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @str.275 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.276 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.277 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.278 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.279 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.280 = 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.278 = private unnamed_addr constant [6 x i8] c"inner\00" -@frame.str.279 = 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.278, i64 5 }, { ptr, i64 } { ptr @frame.str.279, i64 33 } } -@frame.str.280 = private unnamed_addr constant [6 x i8] c"outer\00" -@frame.str.281 = private unnamed_addr constant [18 x i8] c" try inner(n);\00" -@trace.frame.282 = 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.280, i64 5 }, { ptr, i64 } { ptr @frame.str.281, i64 17 } } -@str.283 = private unnamed_addr constant [16 x i8] c"try result: {}\0A\00", align 1 -@str.284 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.285 = private unnamed_addr constant [16 x i8] c"try result: {}\0A\00", align 1 -@str.286 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.287 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.288 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.289 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@frame.str.281 = private unnamed_addr constant [6 x i8] c"inner\00" +@frame.str.282 = 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.281, i64 5 }, { ptr, i64 } { ptr @frame.str.282, i64 33 } } +@frame.str.283 = private unnamed_addr constant [6 x i8] c"outer\00" +@frame.str.284 = private unnamed_addr constant [18 x i8] c" try inner(n);\00" +@trace.frame.285 = 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.283, i64 5 }, { ptr, i64 } { ptr @frame.str.284, i64 17 } } +@str.286 = private unnamed_addr constant [16 x i8] c"try result: {}\0A\00", align 1 +@str.287 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.288 = private unnamed_addr constant [16 x i8] c"try result: {}\0A\00", align 1 +@str.289 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.290 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.291 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.292 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.290 = private constant [5 x i8] c"line\00" -@fld.str.291 = private constant [4 x i8] c"col\00" -@fld.str.292 = 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.290, i64 4 }, { ptr, i64 } { ptr @fld.str.291, i64 3 }, { ptr, i64 } { ptr @fld.str.292, i64 4 }] -@str.293 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.294 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.295 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.296 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.297 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.298 = private constant [4 x i8] c"ctx\00" -@fld.str.299 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.300 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.301 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.298, i64 3 }, { ptr, i64 } { ptr @fld.str.299, i64 11 }, { ptr, i64 } { ptr @fld.str.300, i64 13 }] -@str.302 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.303 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.304 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.305 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.306 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.307 = private constant [10 x i8] c"allocator\00" -@fld.str.308 = private constant [5 x i8] c"data\00" -@field_names.309 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.307, i64 9 }, { ptr, i64 } { ptr @fld.str.308, i64 4 }] -@str.310 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.311 = private unnamed_addr constant [11 x i8] c"CAllocator\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"}\00", align 1 -@str.314 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@field_names.315 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.316 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.317 = private unnamed_addr constant [4 x i8] c"GPA\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.320 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.321 = private constant [12 x i8] c"alloc_count\00" -@field_names.322 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.321, i64 11 }] -@str.323 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.324 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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.327 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.328 = private constant [5 x i8] c"next\00" -@fld.str.329 = private constant [4 x i8] c"cap\00" -@field_names.330 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.328, i64 4 }, { ptr, i64 } { ptr @fld.str.329, i64 3 }] -@str.331 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.332 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" -@fld.str.337 = private constant [10 x i8] c"end_index\00" -@fld.str.338 = private constant [7 x i8] c"parent\00" -@field_names.339 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.336, i64 5 }, { ptr, i64 } { ptr @fld.str.337, i64 9 }, { ptr, i64 } { ptr @fld.str.338, i64 6 }] -@str.340 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.341 = private unnamed_addr constant [9 x i8] c"BufAlloc\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"buf\00" -@fld.str.346 = private constant [4 x i8] c"len\00" -@fld.str.347 = private constant [4 x i8] c"pos\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 3 }, { ptr, i64 } { ptr @fld.str.347, i64 3 }] -@str.349 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.350 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" -@fld.str.355 = private constant [12 x i8] c"alloc_count\00" -@fld.str.356 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.357 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.358 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.354, i64 6 }, { ptr, i64 } { ptr @fld.str.355, i64 11 }, { ptr, i64 } { ptr @fld.str.356, i64 13 }, { ptr, i64 } { ptr @fld.str.357, i64 17 }] -@str.359 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.360 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" -@field_names.365 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.364, i64 2 }] -@str.366 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.367 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" -@fld.str.372 = private constant [5 x i8] c"line\00" -@fld.str.373 = private constant [4 x i8] c"col\00" -@fld.str.374 = private constant [5 x i8] c"func\00" -@fld.str.375 = private constant [10 x i8] c"line_text\00" -@field_names.376 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.371, i64 4 }, { ptr, i64 } { ptr @fld.str.372, i64 4 }, { ptr, i64 } { ptr @fld.str.373, i64 3 }, { ptr, i64 } { ptr @fld.str.374, i64 4 }, { ptr, i64 } { ptr @fld.str.375, i64 9 }] -@str.377 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.378 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" -@fld.str.383 = private constant [7 x i8] c"stdout\00" -@field_names.384 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.382, i64 9 }, { ptr, i64 } { ptr @fld.str.383, i64 6 }] -@str.385 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.386 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.391 = private constant [11 x i8] c"sin_family\00" -@fld.str.392 = private constant [9 x i8] c"sin_port\00" -@fld.str.393 = private constant [9 x i8] c"sin_addr\00" -@fld.str.394 = private constant [9 x i8] c"sin_zero\00" -@field_names.395 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.390, i64 7 }, { ptr, i64 } { ptr @fld.str.391, i64 10 }, { ptr, i64 } { ptr @fld.str.392, i64 8 }, { ptr, i64 } { ptr @fld.str.393, i64 8 }, { ptr, i64 } { ptr @fld.str.394, i64 8 }] -@str.396 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.397 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" -@fld.str.402 = private constant [4 x i8] c"len\00" -@fld.str.403 = private constant [4 x i8] c"cap\00" -@field_names.404 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.401, i64 5 }, { ptr, i64 } { ptr @fld.str.402, i64 3 }, { ptr, i64 } { ptr @fld.str.403, i64 3 }] -@str.405 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.406 = private unnamed_addr constant [7 x i8] c"Object\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 [6 x i8] c"items\00" -@fld.str.411 = private constant [4 x i8] c"len\00" -@fld.str.412 = private constant [4 x i8] c"cap\00" -@field_names.413 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.410, i64 5 }, { ptr, i64 } { ptr @fld.str.411, i64 3 }, { ptr, i64 } { ptr @fld.str.412, i64 3 }] -@str.414 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.415 = private unnamed_addr constant [7 x i8] c"Member\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 [4 x i8] c"key\00" -@fld.str.420 = private constant [4 x i8] c"val\00" -@field_names.421 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.419, i64 3 }, { ptr, i64 } { ptr @fld.str.420, i64 3 }] -@str.422 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.423 = private unnamed_addr constant [5 x i8] c"Sink\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 [4 x i8] c"dst\00" -@fld.str.428 = private constant [4 x i8] c"pos\00" -@fld.str.429 = private constant [5 x i8] c"file\00" -@field_names.430 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.427, i64 3 }, { ptr, i64 } { ptr @fld.str.428, i64 3 }, { ptr, i64 } { ptr @fld.str.429, i64 4 }] -@str.431 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.432 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" -@fld.str.437 = private constant [4 x i8] c"pos\00" -@fld.str.438 = private constant [6 x i8] c"alloc\00" -@field_names.439 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.436, i64 3 }, { ptr, i64 } { ptr @fld.str.437, i64 3 }, { ptr, i64 } { ptr @fld.str.438, i64 5 }] -@str.440 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.441 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.445 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.446 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.447 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" -@fld.str.452 = private constant [12 x i8] c"takes_value\00" -@fld.str.453 = private constant [9 x i8] c"required\00" -@field_names.454 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.451, i64 4 }, { ptr, i64 } { ptr @fld.str.452, i64 11 }, { ptr, i64 } { ptr @fld.str.453, i64 8 }] -@str.455 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.456 = private unnamed_addr constant [8 x i8] c"Command\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 [6 x i8] c"group\00" -@fld.str.461 = private constant [8 x i8] c"command\00" -@fld.str.462 = private constant [6 x i8] c"flags\00" -@field_names.463 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.460, i64 5 }, { ptr, i64 } { ptr @fld.str.461, i64 7 }, { ptr, i64 } { ptr @fld.str.462, i64 5 }] -@str.464 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.465 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" -@fld.str.470 = private constant [6 x i8] c"value\00" -@field_names.471 = private constant [2 x { ptr, i64 }] [{ 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 [5 x i8] c"Diag\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"index\00" -@fld.str.478 = private constant [6 x i8] c"token\00" -@field_names.479 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.477, i64 5 }, { 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 [7 x i8] c"Parsed\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 [6 x i8] c"group\00" -@fld.str.486 = private constant [8 x i8] c"command\00" -@fld.str.487 = private constant [10 x i8] c"cmd_index\00" -@fld.str.488 = private constant [5 x i8] c"json\00" -@fld.str.489 = private constant [5 x i8] c"rest\00" -@fld.str.490 = private constant [5 x i8] c"spec\00" -@fld.str.491 = private constant [7 x i8] c"values\00" -@field_names.492 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.485, i64 5 }, { ptr, i64 } { ptr @fld.str.486, i64 7 }, { ptr, i64 } { ptr @fld.str.487, i64 9 }, { ptr, i64 } { ptr @fld.str.488, i64 4 }, { ptr, i64 } { ptr @fld.str.489, i64 4 }, { ptr, i64 } { ptr @fld.str.490, i64 4 }, { ptr, i64 } { ptr @fld.str.491, i64 6 }] -@str.493 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.494 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" -@fld.str.499 = private constant [4 x i8] c"buf\00" -@fld.str.500 = private constant [8 x i8] c"buf_len\00" -@fld.str.501 = private constant [10 x i8] c"total_len\00" -@field_names.502 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.498, i64 1 }, { ptr, i64 } { ptr @fld.str.499, i64 3 }, { ptr, i64 } { ptr @fld.str.500, i64 7 }, { ptr, i64 } { ptr @fld.str.501, i64 9 }] -@str.503 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.504 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.505 = private constant [5 x i8] c"read\00" -@fld.str.506 = private constant [6 x i8] c"write\00" -@fld.str.507 = private constant [7 x i8] c"append\00" -@fld.str.508 = private constant [11 x i8] c"read_write\00" -@field_names.509 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.505, i64 4 }, { ptr, i64 } { ptr @fld.str.506, i64 5 }, { ptr, i64 } { ptr @fld.str.507, i64 6 }, { ptr, i64 } { ptr @fld.str.508, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.513 = private constant [4 x i8] c"set\00" -@fld.str.514 = private constant [8 x i8] c"current\00" -@fld.str.515 = private constant [4 x i8] c"end\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 7 }, { ptr, i64 } { ptr @fld.str.515, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.520 = private constant [6 x i8] c"null_\00" -@fld.str.521 = private constant [6 x i8] c"bool_\00" -@fld.str.522 = private constant [5 x i8] c"int_\00" -@fld.str.523 = private constant [4 x i8] c"str\00" -@fld.str.524 = private constant [6 x i8] c"array\00" -@fld.str.525 = private constant [7 x i8] c"object\00" -@field_names.526 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.520, i64 5 }, { ptr, i64 } { ptr @fld.str.521, i64 5 }, { ptr, i64 } { ptr @fld.str.522, i64 4 }, { ptr, i64 } { ptr @fld.str.523, i64 3 }, { ptr, i64 } { ptr @fld.str.524, i64 5 }, { ptr, i64 } { ptr @fld.str.525, i64 6 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.530 = private constant [6 x i8] c"macos\00" -@fld.str.531 = private constant [6 x i8] c"linux\00" -@fld.str.532 = private constant [8 x i8] c"windows\00" -@fld.str.533 = private constant [5 x i8] c"wasm\00" -@fld.str.534 = private constant [4 x i8] c"ios\00" -@fld.str.535 = private constant [8 x i8] c"android\00" -@fld.str.536 = private constant [8 x i8] c"unknown\00" -@field_names.537 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.530, i64 5 }, { ptr, i64 } { ptr @fld.str.531, i64 5 }, { ptr, i64 } { ptr @fld.str.532, i64 7 }, { ptr, i64 } { ptr @fld.str.533, i64 4 }, { ptr, i64 } { ptr @fld.str.534, i64 3 }, { ptr, i64 } { ptr @fld.str.535, i64 7 }, { ptr, i64 } { ptr @fld.str.536, i64 7 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.541 = private constant [8 x i8] c"aarch64\00" -@fld.str.542 = private constant [7 x i8] c"x86_64\00" -@fld.str.543 = private constant [7 x i8] c"wasm32\00" -@fld.str.544 = private constant [7 x i8] c"wasm64\00" -@fld.str.545 = private constant [8 x i8] c"unknown\00" -@field_names.546 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.541, i64 7 }, { ptr, i64 } { ptr @fld.str.542, i64 6 }, { ptr, i64 } { ptr @fld.str.543, i64 6 }, { ptr, i64 } { ptr @fld.str.544, i64 6 }, { ptr, i64 } { ptr @fld.str.545, i64 7 }] -@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 [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.293 = private constant [5 x i8] c"line\00" +@fld.str.294 = private constant [4 x i8] c"col\00" +@fld.str.295 = 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.293, i64 4 }, { ptr, i64 } { ptr @fld.str.294, i64 3 }, { ptr, i64 } { ptr @fld.str.295, i64 4 }] +@str.296 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.297 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.298 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.299 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.300 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.301 = private constant [4 x i8] c"ctx\00" +@fld.str.302 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.303 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.304 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.301, i64 3 }, { ptr, i64 } { ptr @fld.str.302, i64 11 }, { ptr, i64 } { ptr @fld.str.303, i64 13 }] +@str.305 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.306 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.307 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.308 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.309 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.310 = private constant [10 x i8] c"allocator\00" +@fld.str.311 = private constant [5 x i8] c"data\00" +@field_names.312 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.310, i64 9 }, { ptr, i64 } { ptr @fld.str.311, i64 4 }] +@str.313 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.314 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.315 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.316 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.317 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.318 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.319 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.320 = private unnamed_addr constant [4 x i8] c"GPA\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 [12 x i8] c"alloc_count\00" +@field_names.325 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.324, i64 11 }] +@str.326 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.327 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" +@fld.str.332 = private constant [4 x i8] c"cap\00" +@field_names.333 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.331, i64 4 }, { ptr, i64 } { ptr @fld.str.332, i64 3 }] +@str.334 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.335 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" +@fld.str.340 = private constant [10 x i8] c"end_index\00" +@fld.str.341 = private constant [7 x i8] c"parent\00" +@field_names.342 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.339, i64 5 }, { ptr, i64 } { ptr @fld.str.340, i64 9 }, { ptr, i64 } { ptr @fld.str.341, i64 6 }] +@str.343 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.344 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" +@fld.str.349 = private constant [4 x i8] c"len\00" +@fld.str.350 = private constant [4 x i8] c"pos\00" +@field_names.351 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.348, i64 3 }, { ptr, i64 } { ptr @fld.str.349, i64 3 }, { ptr, i64 } { ptr @fld.str.350, i64 3 }] +@str.352 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.353 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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.357 = private constant [7 x i8] c"parent\00" +@fld.str.358 = private constant [12 x i8] c"alloc_count\00" +@fld.str.359 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.360 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.361 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.357, i64 6 }, { ptr, i64 } { ptr @fld.str.358, i64 11 }, { ptr, i64 } { ptr @fld.str.359, i64 13 }, { ptr, i64 } { ptr @fld.str.360, i64 17 }] +@str.362 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.363 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" +@field_names.368 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.367, i64 2 }] +@str.369 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.370 = private unnamed_addr constant [11 x i8] c"TraceFrame\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"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" +@fld.str.378 = private constant [10 x i8] c"line_text\00" +@field_names.379 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.374, 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 }, { ptr, i64 } { ptr @fld.str.378, i64 9 }] +@str.380 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.381 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" +@fld.str.386 = private constant [7 x i8] c"stdout\00" +@field_names.387 = private constant [2 x { ptr, i64 }] [{ 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"SockAddr\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 [8 x i8] c"sin_len\00" +@fld.str.394 = private constant [11 x i8] c"sin_family\00" +@fld.str.395 = private constant [9 x i8] c"sin_port\00" +@fld.str.396 = private constant [9 x i8] c"sin_addr\00" +@fld.str.397 = private constant [9 x i8] c"sin_zero\00" +@field_names.398 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.393, i64 7 }, { ptr, i64 } { ptr @fld.str.394, i64 10 }, { ptr, i64 } { ptr @fld.str.395, i64 8 }, { ptr, i64 } { ptr @fld.str.396, i64 8 }, { ptr, i64 } { ptr @fld.str.397, i64 8 }] +@str.399 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.400 = private unnamed_addr constant [6 x i8] c"Array\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"items\00" +@fld.str.405 = private constant [4 x i8] c"len\00" +@fld.str.406 = private constant [4 x i8] c"cap\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 3 }, { 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 [7 x i8] c"Object\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"items\00" +@fld.str.414 = private constant [4 x i8] c"len\00" +@fld.str.415 = private constant [4 x i8] c"cap\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 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 [7 x i8] c"Member\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"key\00" +@fld.str.423 = private constant [4 x i8] c"val\00" +@field_names.424 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.422, i64 3 }, { ptr, i64 } { ptr @fld.str.423, i64 3 }] +@str.425 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.426 = private unnamed_addr constant [5 x i8] c"Sink\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"dst\00" +@fld.str.431 = private constant [4 x i8] c"pos\00" +@fld.str.432 = private constant [5 x i8] c"file\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 4 }] +@str.434 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.435 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" +@fld.str.440 = private constant [4 x i8] c"pos\00" +@fld.str.441 = private constant [6 x i8] c"alloc\00" +@field_names.442 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.439, i64 3 }, { ptr, i64 } { ptr @fld.str.440, i64 3 }, { ptr, i64 } { ptr @fld.str.441, i64 5 }] +@str.443 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.444 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 +@field_names.448 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.449 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.450 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" +@fld.str.455 = private constant [12 x i8] c"takes_value\00" +@fld.str.456 = private constant [9 x i8] c"required\00" +@field_names.457 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.454, i64 4 }, { ptr, i64 } { ptr @fld.str.455, i64 11 }, { ptr, i64 } { ptr @fld.str.456, i64 8 }] +@str.458 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.459 = private unnamed_addr constant [8 x i8] c"Command\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"group\00" +@fld.str.464 = private constant [8 x i8] c"command\00" +@fld.str.465 = private constant [6 x i8] c"flags\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 7 }, { 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 [10 x i8] c"FlagValue\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"set\00" +@fld.str.473 = private constant [6 x i8] c"value\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 5 }] +@str.475 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.476 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" +@fld.str.481 = private constant [6 x i8] c"token\00" +@field_names.482 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.480, i64 5 }, { ptr, i64 } { ptr @fld.str.481, i64 5 }] +@str.483 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.484 = private unnamed_addr constant [7 x i8] c"Parsed\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"group\00" +@fld.str.489 = private constant [8 x i8] c"command\00" +@fld.str.490 = private constant [10 x i8] c"cmd_index\00" +@fld.str.491 = private constant [5 x i8] c"json\00" +@fld.str.492 = private constant [5 x i8] c"rest\00" +@fld.str.493 = private constant [5 x i8] c"spec\00" +@fld.str.494 = private constant [7 x i8] c"values\00" +@field_names.495 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.488, i64 5 }, { ptr, i64 } { ptr @fld.str.489, i64 7 }, { ptr, i64 } { ptr @fld.str.490, i64 9 }, { ptr, i64 } { ptr @fld.str.491, i64 4 }, { ptr, i64 } { ptr @fld.str.492, i64 4 }, { ptr, i64 } { ptr @fld.str.493, i64 4 }, { ptr, i64 } { ptr @fld.str.494, i64 6 }] +@str.496 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.497 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" +@fld.str.502 = private constant [4 x i8] c"buf\00" +@fld.str.503 = private constant [8 x i8] c"buf_len\00" +@fld.str.504 = private constant [10 x i8] c"total_len\00" +@field_names.505 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.501, i64 1 }, { ptr, i64 } { ptr @fld.str.502, i64 3 }, { ptr, i64 } { ptr @fld.str.503, i64 7 }, { ptr, i64 } { ptr @fld.str.504, i64 9 }] +@str.506 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.507 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.508 = private constant [5 x i8] c"read\00" +@fld.str.509 = private constant [6 x i8] c"write\00" +@fld.str.510 = private constant [7 x i8] c"append\00" +@fld.str.511 = private constant [11 x i8] c"read_write\00" +@field_names.512 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.508, i64 4 }, { ptr, i64 } { ptr @fld.str.509, i64 5 }, { ptr, i64 } { ptr @fld.str.510, i64 6 }, { ptr, i64 } { ptr @fld.str.511, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.516 = private constant [4 x i8] c"set\00" +@fld.str.517 = private constant [8 x i8] c"current\00" +@fld.str.518 = private constant [4 x i8] c"end\00" +@field_names.519 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.516, i64 3 }, { ptr, i64 } { ptr @fld.str.517, i64 7 }, { ptr, i64 } { ptr @fld.str.518, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.523 = private constant [6 x i8] c"null_\00" +@fld.str.524 = private constant [6 x i8] c"bool_\00" +@fld.str.525 = private constant [5 x i8] c"int_\00" +@fld.str.526 = private constant [4 x i8] c"str\00" +@fld.str.527 = private constant [6 x i8] c"array\00" +@fld.str.528 = private constant [7 x i8] c"object\00" +@field_names.529 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.523, i64 5 }, { ptr, i64 } { ptr @fld.str.524, i64 5 }, { ptr, i64 } { ptr @fld.str.525, i64 4 }, { ptr, i64 } { ptr @fld.str.526, i64 3 }, { ptr, i64 } { ptr @fld.str.527, i64 5 }, { ptr, i64 } { ptr @fld.str.528, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.533 = private constant [6 x i8] c"macos\00" +@fld.str.534 = private constant [6 x i8] c"linux\00" +@fld.str.535 = private constant [8 x i8] c"windows\00" +@fld.str.536 = private constant [5 x i8] c"wasm\00" +@fld.str.537 = private constant [4 x i8] c"ios\00" +@fld.str.538 = private constant [8 x i8] c"android\00" +@fld.str.539 = private constant [8 x i8] c"unknown\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 5 }, { ptr, i64 } { ptr @fld.str.535, i64 7 }, { ptr, i64 } { ptr @fld.str.536, i64 4 }, { ptr, i64 } { ptr @fld.str.537, i64 3 }, { ptr, i64 } { ptr @fld.str.538, i64 7 }, { ptr, i64 } { ptr @fld.str.539, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.544 = private constant [8 x i8] c"aarch64\00" +@fld.str.545 = private constant [7 x i8] c"x86_64\00" +@fld.str.546 = private constant [7 x i8] c"wasm32\00" +@fld.str.547 = private constant [7 x i8] c"wasm64\00" +@fld.str.548 = private constant [8 x i8] c"unknown\00" +@field_names.549 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.544, i64 7 }, { ptr, i64 } { ptr @fld.str.545, i64 6 }, { ptr, i64 } { ptr @fld.str.546, i64 6 }, { ptr, i64 } { ptr @fld.str.547, i64 6 }, { ptr, i64 } { ptr @fld.str.548, i64 7 }] +@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 [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 @@ -517,35 +517,35 @@ @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 -@str.582 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.583 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.584 = private unnamed_addr constant [4 x i8] c"@0x\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 @str.585 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.586 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.586 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.587 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.588 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.589 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.589 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.590 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.591 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.592 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.592 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.593 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.594 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.595 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.595 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.596 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.597 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.598 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 +@str.598 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.599 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.600 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.601 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 +@str.601 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.602 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.603 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.604 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.604 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.605 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.606 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.607 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.607 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.608 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.609 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.610 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.610 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.611 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.612 = private unnamed_addr constant [5 x i8] c"null\00", align 1 @str.613 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @@ -608,12 +608,16 @@ @str.670 = private unnamed_addr constant [7 x i8] c"*[]Any\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 [6 x i8] c"*bool\00", align 1 +@str.673 = private unnamed_addr constant [4 x i8] c"*u8\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 [5 x i8] c"null\00", align 1 -@str.677 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.676 = private unnamed_addr constant [6 x i8] c"*bool\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 [5 x i8] c"null\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"null\00", align 1 +@str.682 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -630,7 +634,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -681,7 +685,7 @@ if.merge.25: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -771,7 +775,7 @@ if.merge.67: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.76 @@ -974,7 +978,7 @@ if.merge.101: ; preds = %if.else.100, %if.th %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1217,7 +1221,7 @@ if.merge.380: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1289,7 +1293,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1320,7 +1324,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1335,6 +1339,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1377,86 +1390,87 @@ entry: i64 1, label %match.arm.51 i64 10, label %match.arm.52 i64 11, label %match.arm.52 - i64 19, label %match.arm.53 i64 20, label %match.arm.53 i64 21, label %match.arm.53 - i64 24, label %match.arm.53 - i64 26, label %match.arm.53 - i64 28, label %match.arm.53 - i64 30, label %match.arm.53 - i64 33, label %match.arm.53 - i64 35, label %match.arm.53 - i64 39, label %match.arm.53 - i64 43, label %match.arm.53 - i64 45, label %match.arm.53 - i64 48, label %match.arm.53 - i64 52, label %match.arm.53 + i64 22, label %match.arm.53 + i64 25, label %match.arm.53 + i64 27, label %match.arm.53 + i64 29, label %match.arm.53 + i64 31, label %match.arm.53 + i64 34, label %match.arm.53 + i64 36, label %match.arm.53 + i64 40, label %match.arm.53 + i64 44, label %match.arm.53 + i64 46, label %match.arm.53 + i64 49, label %match.arm.53 i64 53, label %match.arm.53 - i64 55, label %match.arm.53 - i64 61, label %match.arm.53 - i64 66, label %match.arm.53 - i64 72, label %match.arm.53 - i64 76, label %match.arm.53 - i64 78, label %match.arm.53 + i64 54, label %match.arm.53 + i64 56, label %match.arm.53 + i64 62, label %match.arm.53 + i64 67, label %match.arm.53 + i64 73, label %match.arm.53 + i64 77, label %match.arm.53 i64 79, label %match.arm.53 i64 80, label %match.arm.53 - i64 82, label %match.arm.53 - i64 89, label %match.arm.53 - i64 37, label %match.arm.54 + i64 81, label %match.arm.53 + i64 83, label %match.arm.53 + i64 90, label %match.arm.53 i64 38, label %match.arm.54 - i64 54, label %match.arm.54 - i64 70, label %match.arm.54 + i64 39, label %match.arm.54 + i64 55, label %match.arm.54 i64 71, label %match.arm.54 - i64 51, label %match.arm.55 - i64 64, label %match.arm.55 - i64 75, label %match.arm.55 - i64 93, label %match.arm.55 - i64 22, label %match.arm.57 - i64 81, label %match.arm.57 - i64 87, label %match.arm.57 + i64 72, label %match.arm.54 + i64 52, label %match.arm.55 + i64 65, label %match.arm.55 + i64 76, label %match.arm.55 + i64 94, label %match.arm.55 + i64 23, label %match.arm.57 + i64 82, label %match.arm.57 i64 88, label %match.arm.57 - i64 92, label %match.arm.57 - i64 100, label %match.arm.57 - i64 23, label %match.arm.58 - i64 60, label %match.arm.58 - i64 77, label %match.arm.58 - i64 85, label %match.arm.58 - i64 98, label %match.arm.58 - i64 18, label %match.arm.59 - i64 25, label %match.arm.59 - i64 27, label %match.arm.59 - i64 29, label %match.arm.59 - i64 31, label %match.arm.59 + i64 89, label %match.arm.57 + i64 93, label %match.arm.57 + i64 101, label %match.arm.57 + i64 24, label %match.arm.58 + i64 61, label %match.arm.58 + i64 78, label %match.arm.58 + i64 86, label %match.arm.58 + i64 99, label %match.arm.58 + i64 19, label %match.arm.59 + i64 26, label %match.arm.59 + i64 28, label %match.arm.59 + i64 30, label %match.arm.59 i64 32, label %match.arm.59 - i64 34, label %match.arm.59 - i64 36, label %match.arm.59 - i64 40, label %match.arm.59 - i64 44, label %match.arm.59 - i64 47, label %match.arm.59 - i64 49, label %match.arm.59 + i64 33, label %match.arm.59 + i64 35, label %match.arm.59 + i64 37, label %match.arm.59 + i64 41, label %match.arm.59 + i64 48, label %match.arm.59 i64 50, label %match.arm.59 - i64 56, label %match.arm.59 + i64 51, label %match.arm.59 i64 57, label %match.arm.59 i64 58, label %match.arm.59 i64 59, label %match.arm.59 - i64 62, label %match.arm.59 - i64 67, label %match.arm.59 - i64 74, label %match.arm.59 - i64 83, label %match.arm.59 - i64 86, label %match.arm.59 - i64 90, label %match.arm.59 - i64 94, label %match.arm.59 + i64 60, label %match.arm.59 + i64 63, label %match.arm.59 + i64 68, label %match.arm.59 + i64 75, label %match.arm.59 + i64 84, label %match.arm.59 + i64 87, label %match.arm.59 + i64 91, label %match.arm.59 i64 95, label %match.arm.59 i64 96, label %match.arm.59 i64 97, label %match.arm.59 - i64 99, label %match.arm.59 - i64 101, label %match.arm.59 + i64 98, label %match.arm.59 + i64 100, label %match.arm.59 i64 102, label %match.arm.59 i64 103, label %match.arm.59 - i64 41, label %match.arm.60 + i64 104, label %match.arm.59 + i64 105, label %match.arm.59 i64 42, label %match.arm.60 - i64 46, label %match.arm.60 - i64 91, label %match.arm.60 + i64 43, label %match.arm.60 + i64 45, label %match.arm.60 + i64 47, label %match.arm.60 + i64 92, label %match.arm.60 i64 13, label %match.arm.61 ] @@ -1474,7 +1488,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 [162 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [165 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 @@ -1507,31 +1521,31 @@ match.arm.53: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.105 [ - i64 19, label %dispatch.case.106 - i64 20, label %dispatch.case.107 - i64 21, label %dispatch.case.108 - i64 24, label %dispatch.case.109 - i64 26, label %dispatch.case.110 - i64 28, label %dispatch.case.111 - i64 30, label %dispatch.case.112 - i64 33, label %dispatch.case.113 - i64 35, label %dispatch.case.114 - i64 39, label %dispatch.case.115 - i64 43, label %dispatch.case.116 - i64 45, label %dispatch.case.117 - i64 48, label %dispatch.case.118 - i64 52, label %dispatch.case.119 - i64 53, label %dispatch.case.120 - i64 55, label %dispatch.case.121 - i64 61, label %dispatch.case.122 - i64 66, label %dispatch.case.123 - i64 72, label %dispatch.case.124 - i64 76, label %dispatch.case.125 - i64 78, label %dispatch.case.126 - i64 79, label %dispatch.case.127 - i64 80, label %dispatch.case.128 - i64 82, label %dispatch.case.129 - i64 89, label %dispatch.case.130 + i64 20, label %dispatch.case.106 + i64 21, label %dispatch.case.107 + i64 22, label %dispatch.case.108 + i64 25, label %dispatch.case.109 + i64 27, label %dispatch.case.110 + i64 29, label %dispatch.case.111 + i64 31, label %dispatch.case.112 + i64 34, label %dispatch.case.113 + i64 36, label %dispatch.case.114 + i64 40, label %dispatch.case.115 + i64 44, label %dispatch.case.116 + i64 46, label %dispatch.case.117 + i64 49, label %dispatch.case.118 + i64 53, label %dispatch.case.119 + i64 54, label %dispatch.case.120 + i64 56, label %dispatch.case.121 + i64 62, label %dispatch.case.122 + i64 67, label %dispatch.case.123 + i64 73, label %dispatch.case.124 + i64 77, label %dispatch.case.125 + i64 79, label %dispatch.case.126 + i64 80, label %dispatch.case.127 + i64 81, label %dispatch.case.128 + i64 83, label %dispatch.case.129 + i64 90, label %dispatch.case.130 ] match.arm.54: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1539,11 +1553,11 @@ match.arm.54: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.257 [ - i64 37, label %dispatch.case.258 - i64 38, label %dispatch.case.259 - i64 54, label %dispatch.case.260 - i64 70, label %dispatch.case.261 - i64 71, label %dispatch.case.262 + i64 38, label %dispatch.case.258 + i64 39, label %dispatch.case.259 + i64 55, label %dispatch.case.260 + i64 71, label %dispatch.case.261 + i64 72, label %dispatch.case.262 ] match.arm.55: ; preds = %entry, %entry, %entry, %entry @@ -1566,12 +1580,12 @@ match.arm.57: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.274 [ - i64 22, label %dispatch.case.275 - i64 81, label %dispatch.case.276 - i64 87, label %dispatch.case.277 - i64 88, label %dispatch.case.278 - i64 92, label %dispatch.case.279 - i64 100, label %dispatch.case.280 + i64 23, label %dispatch.case.275 + i64 82, label %dispatch.case.276 + i64 88, label %dispatch.case.277 + i64 89, label %dispatch.case.278 + i64 93, label %dispatch.case.279 + i64 101, label %dispatch.case.280 ] match.arm.58: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1579,11 +1593,11 @@ match.arm.58: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.312 [ - i64 23, label %dispatch.case.313 - i64 60, label %dispatch.case.314 - i64 77, label %dispatch.case.315 - i64 85, label %dispatch.case.316 - i64 98, label %dispatch.case.317 + i64 24, label %dispatch.case.313 + i64 61, label %dispatch.case.314 + i64 78, label %dispatch.case.315 + i64 86, label %dispatch.case.316 + i64 99, label %dispatch.case.317 ] 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 @@ -1591,48 +1605,49 @@ match.arm.59: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.344 [ - i64 18, label %dispatch.case.345 - i64 25, label %dispatch.case.346 - i64 27, label %dispatch.case.347 - i64 29, label %dispatch.case.348 - i64 31, label %dispatch.case.349 - i64 32, label %dispatch.case.350 - i64 34, label %dispatch.case.351 - i64 36, label %dispatch.case.352 - i64 40, label %dispatch.case.353 - i64 44, label %dispatch.case.354 - i64 47, label %dispatch.case.355 - i64 49, label %dispatch.case.356 - i64 50, label %dispatch.case.357 - i64 56, label %dispatch.case.358 - i64 57, label %dispatch.case.359 - i64 58, label %dispatch.case.360 - i64 59, label %dispatch.case.361 - i64 62, label %dispatch.case.362 - i64 67, label %dispatch.case.363 - i64 74, label %dispatch.case.364 - i64 83, label %dispatch.case.365 - i64 86, label %dispatch.case.366 - i64 90, label %dispatch.case.367 - i64 94, label %dispatch.case.368 - i64 95, label %dispatch.case.369 - i64 96, label %dispatch.case.370 - i64 97, label %dispatch.case.371 - i64 99, label %dispatch.case.372 - i64 101, label %dispatch.case.373 - i64 102, label %dispatch.case.374 - i64 103, label %dispatch.case.375 + i64 19, label %dispatch.case.345 + i64 26, label %dispatch.case.346 + i64 28, label %dispatch.case.347 + i64 30, label %dispatch.case.348 + i64 32, label %dispatch.case.349 + i64 33, label %dispatch.case.350 + i64 35, label %dispatch.case.351 + i64 37, label %dispatch.case.352 + i64 41, label %dispatch.case.353 + i64 48, label %dispatch.case.354 + i64 50, label %dispatch.case.355 + i64 51, label %dispatch.case.356 + i64 57, label %dispatch.case.357 + i64 58, label %dispatch.case.358 + i64 59, label %dispatch.case.359 + i64 60, label %dispatch.case.360 + i64 63, label %dispatch.case.361 + i64 68, label %dispatch.case.362 + i64 75, label %dispatch.case.363 + i64 84, label %dispatch.case.364 + i64 87, label %dispatch.case.365 + i64 91, label %dispatch.case.366 + i64 95, label %dispatch.case.367 + i64 96, label %dispatch.case.368 + i64 97, label %dispatch.case.369 + i64 98, label %dispatch.case.370 + i64 100, label %dispatch.case.371 + i64 102, label %dispatch.case.372 + i64 103, label %dispatch.case.373 + i64 104, label %dispatch.case.374 + i64 105, label %dispatch.case.375 ] -match.arm.60: ; preds = %entry, %entry, %entry, %entry +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.483 [ - i64 41, label %dispatch.case.484 - i64 42, label %dispatch.case.485 - i64 46, label %dispatch.case.486 - i64 91, label %dispatch.case.487 + i64 42, label %dispatch.case.484 + i64 43, label %dispatch.case.485 + i64 45, label %dispatch.case.486 + i64 47, label %dispatch.case.487 + i64 92, label %dispatch.case.488 ] match.arm.61: ; preds = %entry @@ -1641,7 +1656,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 [162 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [165 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 @@ -1692,7 +1707,7 @@ dispatch.merge.104: ; preds = %dispatch.case.130, br label %match.merge.47 dispatch.default.105: ; preds = %match.arm.53 - store { ptr, i64 } { ptr @str.257, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.260, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.104 dispatch.case.106: ; preds = %match.arm.53 @@ -1901,7 +1916,7 @@ dispatch.merge.256: ; preds = %dispatch.case.262, br label %match.merge.47 dispatch.default.257: ; preds = %match.arm.54 - store { ptr, i64 } { ptr @str.258, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.261, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.256 dispatch.case.258: ; preds = %match.arm.54 @@ -1942,7 +1957,7 @@ dispatch.merge.273: ; preds = %dispatch.case.280, br label %match.merge.47 dispatch.default.274: ; preds = %match.arm.57 - store { ptr, i64 } { ptr @str.259, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.262, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.273 dispatch.case.275: ; preds = %match.arm.57 @@ -1999,7 +2014,7 @@ dispatch.merge.311: ; preds = %dispatch.case.317, br label %match.merge.47 dispatch.default.312: ; preds = %match.arm.58 - store { ptr, i64 } { ptr @str.260, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.263, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.311 dispatch.case.313: ; preds = %match.arm.58 @@ -2048,7 +2063,7 @@ dispatch.merge.343: ; preds = %dispatch.case.375, br label %match.merge.47 dispatch.default.344: ; preds = %match.arm.59 - store { ptr, i64 } { ptr @str.261, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.264, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.345: ; preds = %match.arm.59 @@ -2117,147 +2132,147 @@ dispatch.case.353: ; preds = %match.arm.59 dispatch.case.354: ; 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_u8(ptr %0, ptr %iNp247) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp247) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.355: ; 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_i32(ptr %0, ptr %iNp250) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp250) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.356: ; 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_SockAddr(ptr %0, ptr %iNp253) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp253) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.357: ; 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_u32(ptr %0, ptr %iNp256) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp256) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.358: ; 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_Value(ptr %0, ptr %iNp259) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp259) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.359: ; 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_Array(ptr %0, ptr %iNp262) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp262) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.360: ; 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__mptr_Member(ptr %0, ptr %iNp265) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp265) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.361: ; 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_Object(ptr %0, ptr %iNp268) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp268) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.362: ; 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_Sink(ptr %0, ptr %iNp271) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp271) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.363: ; 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_Parser(ptr %0, ptr %iNp274) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp274) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.364: ; 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_i64(ptr %0, ptr %iNp277) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp277) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.365: ; 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__ptr_Parsed(ptr %0, ptr %iNp280) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp280) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.366: ; 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_Diag(ptr %0, ptr %iNp283) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp283) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.367: ; 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__ptr_Sha256(ptr %0, ptr %iNp286) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp286) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.368: ; 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_ptr_CAllocator(ptr %0, ptr %iNp289) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp289) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.369: ; 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_ptr_void(ptr %0, ptr %iNp292) + %callN = call { ptr, i64 } @pointer_to_string__ptr_error_set(ptr %0, ptr %iNp292) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.370: ; 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_error_set(ptr %0, ptr %iNp295) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp295) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.371: ; 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_string(ptr %0, ptr %iNp298) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp298) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.372: ; 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_Any(ptr %0, ptr %iNp301) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp301) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.373: ; 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_AR_1_Any(ptr %0, ptr %iNp304) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp304) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 dispatch.case.374: ; 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_SL_Any(ptr %0, ptr %iNp307) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp307) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 @@ -2268,13 +2283,13 @@ dispatch.case.375: ; preds = %match.arm.59 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.343 -dispatch.merge.482: ; preds = %dispatch.case.487, %dispatch.case.486, %dispatch.case.485, %dispatch.case.484, %dispatch.default.483 +dispatch.merge.482: ; preds = %dispatch.case.488, %dispatch.case.487, %dispatch.case.486, %dispatch.case.485, %dispatch.case.484, %dispatch.default.483 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.47 dispatch.default.483: ; preds = %match.arm.60 - store { ptr, i64 } { ptr @str.262, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.265, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.482 dispatch.case.484: ; preds = %match.arm.60 @@ -2295,17 +2310,24 @@ dispatch.case.485: ; preds = %match.arm.60 dispatch.case.486: ; preds = %match.arm.60 %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr322 = inttoptr i64 %ua.raw321 to ptr - %ua.load323 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr322, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load323) + %iNp322 = inttoptr i64 %ua.raw321 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp322) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.482 dispatch.case.487: ; preds = %match.arm.60 - %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr326 = inttoptr i64 %ua.raw325 to ptr - %ua.load327 = load { [64 x i8], i1 }, ptr %ua.ptr326, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load327) + %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr325 = inttoptr i64 %ua.raw324 to ptr + %ua.load326 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr325, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load326) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.482 + +dispatch.case.488: ; preds = %match.arm.60 + %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr329 = inttoptr i64 %ua.raw328 to ptr + %ua.load330 = load { [64 x i8], i1 }, ptr %ua.ptr329, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load330) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.482 } @@ -2316,7 +2338,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.263, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.266, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2412,7 +2434,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.264, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.267, 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 @@ -2420,7 +2442,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.265, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.268, 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 @@ -2430,13 +2452,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.266, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.269, 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.267, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.270, 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 @@ -2444,7 +2466,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.268, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.271, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2458,7 +2480,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.269, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.272, 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 @@ -2466,7 +2488,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.270, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.273, 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 @@ -2477,7 +2499,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.271, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.274, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2534,7 +2556,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.272, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.275, 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 @@ -2542,7 +2564,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.273, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.276, 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 @@ -2553,7 +2575,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.274, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.277, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2573,7 +2595,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.275, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.278, 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 @@ -2581,7 +2603,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.276, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.279, 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 @@ -2592,7 +2614,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.277, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.280, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.46 @@ -2813,9 +2835,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3437,7 +3456,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.283, i64 15 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.286, 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 @@ -3453,7 +3472,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.284, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.287, 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) @@ -3481,7 +3500,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.285, i64 15 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.288, i64 15 }) ret { ptr, i64 } %call } @@ -3492,7 +3511,7 @@ 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.286, i64 15 }, { ptr, i64 } { ptr @str.287, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.289, i64 15 }, { ptr, i64 } { ptr @str.290, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3511,12 +3530,12 @@ while.body.132: ; preds = %while.hdr.131 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.288, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.291, i64 1 }) ret { ptr, i64 } %callN 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.289, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.292, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.135 @@ -3528,7 +3547,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.293, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.296, 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 @@ -3585,7 +3604,7 @@ 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.294, i64 9 }, { ptr, i64 } { ptr @str.295, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.297, i64 9 }, { ptr, i64 } { ptr @str.298, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3604,24 +3623,24 @@ while.body.137: ; preds = %while.hdr.136 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.296, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.299, i64 1 }) ret { ptr, i64 } %callN 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.297, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.300, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.140 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.301, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.304, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.305, 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 @@ -3648,19 +3667,19 @@ fv.default: ; preds = %if.merge.140 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 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge 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 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge 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 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -3670,7 +3689,7 @@ 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.303, i64 7 }, { ptr, i64 } { ptr @str.304, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.306, i64 7 }, { ptr, i64 } { ptr @str.307, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3689,24 +3708,24 @@ while.body.142: ; preds = %while.hdr.141 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.305, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.308, i64 1 }) ret { ptr, i64 } %callN 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.306, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.309, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.145 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.309, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.312, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.313, 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 @@ -3733,13 +3752,13 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge 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 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -3748,7 +3767,7 @@ 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.311, i64 10 }, { ptr, i64 } { ptr @str.312, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.314, i64 10 }, { ptr, i64 } { ptr @str.315, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3767,24 +3786,24 @@ while.body.147: ; preds = %while.hdr.146 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.313, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.316, i64 1 }) ret { ptr, i64 } %callN 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.314, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.317, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.150 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.315, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.318, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.319, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -3803,7 +3822,7 @@ 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.317, i64 3 }, { ptr, i64 } { ptr @str.318, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.320, i64 3 }, { ptr, i64 } { ptr @str.321, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3822,24 +3841,24 @@ while.body.152: ; preds = %while.hdr.151 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.319, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.322, i64 1 }) ret { ptr, i64 } %callN 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.320, 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 br label %if.merge.155 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.322, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.325, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.326, 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 @@ -3872,7 +3891,7 @@ 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.324, i64 10 }, { ptr, i64 } { ptr @str.325, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.327, i64 10 }, { ptr, i64 } { ptr @str.328, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3891,24 +3910,24 @@ while.body.157: ; preds = %while.hdr.156 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.326, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, 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.327, 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 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 [2 x { ptr, i64 }], ptr @field_names.330, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.333, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.334, 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 @@ -3934,7 +3953,7 @@ fv.default: ; preds = %if.merge.160 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 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.160 @@ -3949,7 +3968,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.332, i64 5 }, { ptr, i64 } { ptr @str.333, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.335, i64 5 }, { ptr, i64 } { ptr @str.336, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3968,24 +3987,24 @@ 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.334, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.337, 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.335, 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 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.339, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.342, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.343, 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 @@ -4012,7 +4031,7 @@ fv.default: ; preds = %if.merge.165 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 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.165 @@ -4024,7 +4043,7 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -4033,7 +4052,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.341, i64 8 }, { ptr, i64 } { ptr @str.342, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.344, i64 8 }, { 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 @@ -4052,24 +4071,24 @@ 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.343, 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.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.344, 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.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.348, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.351, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.352, 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 @@ -4096,7 +4115,7 @@ fv.default: ; preds = %if.merge.170 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 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.170 @@ -4116,7 +4135,7 @@ 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.350, i64 17 }, { ptr, i64 } { ptr @str.351, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.353, i64 17 }, { 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 @@ -4135,24 +4154,24 @@ 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.352, 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.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.353, 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.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 [4 x { ptr, i64 }], ptr @field_names.358, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.359, 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 }, i64, i64, i64 }, ptr %alloca, align 8 @@ -4181,7 +4200,7 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.175 @@ -4205,7 +4224,7 @@ 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.360, i64 4 }, { ptr, i64 } { ptr @str.361, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.363, i64 4 }, { 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 @@ -4224,24 +4243,24 @@ while.body.177: ; preds = %while.hdr.176 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.362, 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.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.363, 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.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 [1 x { ptr, i64 }], ptr @field_names.365, 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.366, 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 { i32 }, ptr %alloca, align 4 @@ -4278,7 +4297,7 @@ 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.367, i64 10 }, { ptr, i64 } { ptr @str.368, 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 @@ -4297,24 +4316,24 @@ while.body.182: ; preds = %while.hdr.181 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.369, 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.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.370, 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.185 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.376, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.377, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -4380,7 +4399,7 @@ 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.378, i64 13 }, { ptr, i64 } { ptr @str.379, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.381, i64 13 }, { ptr, i64 } { ptr @str.382, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4399,24 +4418,24 @@ while.body.187: ; preds = %while.hdr.186 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.380, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.383, 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.381, 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 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 [2 x { ptr, i64 }], ptr @field_names.384, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.385, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4458,7 +4477,7 @@ 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.386, i64 8 }, { ptr, i64 } { ptr @str.387, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.389, i64 8 }, { ptr, i64 } { ptr @str.390, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4477,24 +4496,24 @@ 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.388, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.391, 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.389, 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 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 [5 x { ptr, i64 }], ptr @field_names.395, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.396, 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 { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -4555,7 +4574,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.397, i64 5 }, { ptr, i64 } { ptr @str.398, 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 @@ -4574,24 +4593,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.399, 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.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.400, 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.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.404, 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.405, 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 @@ -4618,7 +4637,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 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.200 @@ -4637,7 +4656,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.406, i64 6 }, { ptr, i64 } { ptr @str.407, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.409, i64 6 }, { 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 @@ -4656,24 +4675,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.408, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.411, 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.409, 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 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.413, i64 0, i64 %loadN + %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.414, 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, i64, i64 }, ptr %alloca, align 8 @@ -4700,7 +4719,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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.205 @@ -4721,7 +4740,7 @@ entry: %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.415, i64 6 }, { ptr, i64 } { ptr @str.416, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.418, i64 6 }, { 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 @@ -4740,24 +4759,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.417, 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.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.418, 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.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.421, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.422, 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, i64 }, { i64, [24 x i8] } }, ptr %alloca, align 8 @@ -4791,7 +4810,7 @@ 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 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -4801,7 +4820,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.423, i64 4 }, { ptr, i64 } { ptr @str.424, 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 @@ -4820,24 +4839,24 @@ 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.425, 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.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.426, 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.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.430, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.431, 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 { { ptr, i64 }, i64, ptr }, ptr %alloca, align 8 @@ -4865,7 +4884,7 @@ 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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.215 @@ -4876,7 +4895,7 @@ fv.case17: ; preds = %if.merge.215 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 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -4887,7 +4906,7 @@ entry: %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.432, i64 6 }, { ptr, i64 } { ptr @str.433, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.435, i64 6 }, { 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 @@ -4906,24 +4925,24 @@ 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.434, 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.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.435, 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.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.439, i64 0, i64 %loadN + %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.440, 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 }, i64, { ptr, ptr, ptr } }, ptr %alloca, align 8 @@ -4963,7 +4982,7 @@ 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 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -4972,7 +4991,7 @@ 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.441, i64 12 }, { ptr, i64 } { ptr @str.442, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.444, i64 12 }, { 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 @@ -4991,24 +5010,24 @@ 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.443, 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.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.444, 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.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 [0 x { ptr, i64 }], ptr @field_names.445, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.446, 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 {}, ptr %alloca, align 1 @@ -5028,7 +5047,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.447, i64 8 }, { ptr, i64 } { ptr @str.448, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.450, i64 8 }, { 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 @@ -5047,24 +5066,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.449, 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.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.450, 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.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.454, 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.455, 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 }, i1, i1 }, ptr %alloca, align 8 @@ -5116,7 +5135,7 @@ entry: %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.456, i64 7 }, { ptr, i64 } { ptr @str.457, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.459, i64 7 }, { 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 @@ -5135,24 +5154,24 @@ 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.458, 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.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.459, 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.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.463, 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.464, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5194,7 +5213,7 @@ 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 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5204,7 +5223,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.465, i64 9 }, { ptr, i64 } { ptr @str.466, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.468, i64 9 }, { 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 @@ -5223,24 +5242,24 @@ 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.467, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.470, 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.468, 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 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.471, i64 0, i64 %loadN + %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.472, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -5283,7 +5302,7 @@ 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.473, i64 4 }, { ptr, i64 } { ptr @str.474, 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 @@ -5302,24 +5321,24 @@ 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.475, 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.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.476, 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.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.479, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.480, 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 { i64, { ptr, i64 } }, ptr %alloca, align 8 @@ -5365,7 +5384,7 @@ 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.481, i64 6 }, { ptr, i64 } { ptr @str.482, i64 1 }) + %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 @@ -5384,24 +5403,24 @@ 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.483, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.486, 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.484, i64 2 }) + %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.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 [7 x { ptr, i64 }], ptr @field_names.492, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.495, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.496, 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 @@ -5458,21 +5477,21 @@ 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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge 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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge 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 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -5483,7 +5502,7 @@ 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.494, i64 6 }, { ptr, i64 } { ptr @str.495, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.497, i64 6 }, { 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 @@ -5502,24 +5521,24 @@ while.body.252: ; preds = %while.hdr.251 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.496, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.499, 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.497, i64 2 }) + %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.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 [4 x { ptr, i64 }], ptr @field_names.502, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.503, 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 { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -5548,14 +5567,14 @@ 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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge 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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.255 @@ -5578,9 +5597,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.509, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.512, 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.504, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.507, 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 @@ -5599,8 +5618,8 @@ entry: if.then.263: ; 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.511, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.510, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.513, 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.264 @@ -5619,9 +5638,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.516, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.519, 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.512, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.515, 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 @@ -5640,8 +5659,8 @@ entry: if.then.265: ; 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.518, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.517, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.520, 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.266 @@ -5671,9 +5690,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.526, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.529, 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.519, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.522, 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 @@ -5690,8 +5709,8 @@ entry: if.then.267: ; 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.528, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.527, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.530, 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.268 @@ -5747,7 +5766,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -5756,7 +5775,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -5769,9 +5788,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.537, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.540, 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.529, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.532, 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 @@ -5790,8 +5809,8 @@ entry: if.then.269: ; 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.539, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.538, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.541, 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.270 @@ -5810,9 +5829,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.546, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.549, 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.540, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.543, 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 @@ -5831,8 +5850,8 @@ entry: if.then.271: ; 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.548, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.547, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.550, 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.272 @@ -5849,7 +5868,7 @@ 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.549, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.552, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.281 @@ -5866,12 +5885,12 @@ while.body.282: ; preds = %while.hdr.281 while.exit.283: ; preds = %while.hdr.281 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.550, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 1 }) ret { ptr, i64 } %call 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.551, 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.285 @@ -5900,7 +5919,7 @@ 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.552, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.555, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.286 @@ -5917,12 +5936,12 @@ while.body.287: ; preds = %while.hdr.286 while.exit.288: ; preds = %while.hdr.286 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, i64 1 }) ret { ptr, i64 } %call 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.554, 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.290 @@ -5935,7 +5954,7 @@ if.merge.290: ; preds = %if.then.289, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -5952,7 +5971,7 @@ 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.555, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.558, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.291 @@ -5969,12 +5988,12 @@ while.body.292: ; preds = %while.hdr.291 while.exit.293: ; preds = %while.hdr.291 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.556, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.559, i64 1 }) ret { ptr, i64 } %call 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.557, 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.295 @@ -6002,7 +6021,7 @@ 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.558, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.561, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.296 @@ -6019,12 +6038,12 @@ while.body.297: ; preds = %while.hdr.296 while.exit.298: ; preds = %while.hdr.296 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.559, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.562, i64 1 }) ret { ptr, i64 } %call 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.560, 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.300 @@ -6053,7 +6072,7 @@ 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.561, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.564, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.301 @@ -6070,12 +6089,12 @@ while.body.302: ; preds = %while.hdr.301 while.exit.303: ; preds = %while.hdr.301 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.562, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.565, i64 1 }) ret { ptr, i64 } %call 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.563, i64 2 }) + %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.305 @@ -6104,7 +6123,7 @@ 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.564, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.567, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.306 @@ -6121,12 +6140,12 @@ while.body.307: ; preds = %while.hdr.306 while.exit.308: ; preds = %while.hdr.306 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.565, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.568, i64 1 }) ret { ptr, i64 } %call 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.566, 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 br label %if.merge.310 @@ -6156,7 +6175,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.567, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.570, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.318 @@ -6175,12 +6194,12 @@ while.body.319: ; preds = %while.hdr.318 while.exit.320: ; preds = %while.hdr.318 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.568, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.571, i64 1 }) ret { ptr, i64 } %call 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.569, 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.322 @@ -6209,7 +6228,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.570, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.573, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.323 @@ -6228,12 +6247,12 @@ while.body.324: ; preds = %while.hdr.323 while.exit.325: ; preds = %while.hdr.323 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.571, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 1 }) ret { ptr, i64 } %call 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.572, 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.327 @@ -6262,7 +6281,7 @@ 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.573, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.576, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.328 @@ -6281,12 +6300,12 @@ while.body.329: ; preds = %while.hdr.328 while.exit.330: ; preds = %while.hdr.328 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.574, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.577, i64 1 }) ret { ptr, i64 } %call 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.575, i64 2 }) + %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.332 @@ -6299,7 +6318,7 @@ if.merge.332: ; preds = %if.then.331, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -6316,7 +6335,7 @@ 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.576, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.579, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.333 @@ -6335,12 +6354,12 @@ while.body.334: ; preds = %while.hdr.333 while.exit.335: ; preds = %while.hdr.333 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.577, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.580, i64 1 }) ret { ptr, i64 } %call 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.578, 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.337 @@ -6353,7 +6372,7 @@ if.merge.337: ; preds = %if.then.336, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -6370,7 +6389,7 @@ 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.579, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.582, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.338 @@ -6389,12 +6408,12 @@ while.body.339: ; preds = %while.hdr.338 while.exit.340: ; preds = %while.hdr.338 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.580, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.583, i64 1 }) ret { ptr, i64 } %call 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.581, i64 2 }) + %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.342 @@ -6436,12 +6455,12 @@ if.then.376: ; preds = %entry if.else.377: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.584, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.583, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.587, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.586, i64 5 }, { ptr, i64 } %callN) br label %if.merge.378 if.merge.378: ; preds = %if.else.377, %if.then.376 - %bp = phi { ptr, i64 } [ { ptr @str.582, i64 4 }, %if.then.376 ], [ %callN, %if.else.377 ] + %bp = phi { ptr, i64 } [ { ptr @str.585, i64 4 }, %if.then.376 ], [ %callN, %if.else.377 ] ret { ptr, i64 } %bp } @@ -6464,12 +6483,12 @@ if.then.392: ; preds = %entry if.else.393: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.587, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.586, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.590, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.589, i64 11 }, { ptr, i64 } %callN) br label %if.merge.394 if.merge.394: ; preds = %if.else.393, %if.then.392 - %bp = phi { ptr, i64 } [ { ptr @str.585, i64 4 }, %if.then.392 ], [ %callN, %if.else.393 ] + %bp = phi { ptr, i64 } [ { ptr @str.588, i64 4 }, %if.then.392 ], [ %callN, %if.else.393 ] ret { ptr, i64 } %bp } @@ -6492,12 +6511,12 @@ if.then.395: ; preds = %entry if.else.396: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.590, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.589, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.593, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 4 }, { ptr, i64 } %callN) br label %if.merge.397 if.merge.397: ; preds = %if.else.396, %if.then.395 - %bp = phi { ptr, i64 } [ { ptr @str.588, i64 4 }, %if.then.395 ], [ %callN, %if.else.396 ] + %bp = phi { ptr, i64 } [ { ptr @str.591, i64 4 }, %if.then.395 ], [ %callN, %if.else.396 ] ret { ptr, i64 } %bp } @@ -6520,12 +6539,12 @@ if.then.398: ; preds = %entry if.else.399: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.593, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.596, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.595, i64 11 }, { ptr, i64 } %callN) br label %if.merge.400 if.merge.400: ; preds = %if.else.399, %if.then.398 - %bp = phi { ptr, i64 } [ { ptr @str.591, i64 4 }, %if.then.398 ], [ %callN, %if.else.399 ] + %bp = phi { ptr, i64 } [ { ptr @str.594, i64 4 }, %if.then.398 ], [ %callN, %if.else.399 ] ret { ptr, i64 } %bp } @@ -6548,12 +6567,12 @@ if.then.401: ; preds = %entry if.else.402: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.596, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.595, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 6 }, { ptr, i64 } %callN) br label %if.merge.403 if.merge.403: ; preds = %if.else.402, %if.then.401 - %bp = phi { ptr, i64 } [ { ptr @str.594, i64 4 }, %if.then.401 ], [ %callN, %if.else.402 ] + %bp = phi { ptr, i64 } [ { ptr @str.597, i64 4 }, %if.then.401 ], [ %callN, %if.else.402 ] ret { ptr, i64 } %bp } @@ -6575,12 +6594,12 @@ if.then.404: ; preds = %entry if.else.405: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.602, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 5 }, { ptr, i64 } %callN) br label %if.merge.406 if.merge.406: ; preds = %if.else.405, %if.then.404 - %bp = phi { ptr, i64 } [ { ptr @str.597, i64 4 }, %if.then.404 ], [ %callN, %if.else.405 ] + %bp = phi { ptr, i64 } [ { ptr @str.600, i64 4 }, %if.then.404 ], [ %callN, %if.else.405 ] ret { ptr, i64 } %bp } @@ -6603,12 +6622,12 @@ if.then.407: ; preds = %entry if.else.408: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.602, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, i64 9 }, { ptr, i64 } %callN) br label %if.merge.409 if.merge.409: ; preds = %if.else.408, %if.then.407 - %bp = phi { ptr, i64 } [ { ptr @str.600, i64 4 }, %if.then.407 ], [ %callN, %if.else.408 ] + %bp = phi { ptr, i64 } [ { ptr @str.603, i64 4 }, %if.then.407 ], [ %callN, %if.else.408 ] ret { ptr, i64 } %bp } @@ -6631,12 +6650,12 @@ if.then.410: ; preds = %entry if.else.411: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.608, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.607, i64 18 }, { ptr, i64 } %callN) br label %if.merge.412 if.merge.412: ; preds = %if.else.411, %if.then.410 - %bp = phi { ptr, i64 } [ { ptr @str.603, i64 4 }, %if.then.410 ], [ %callN, %if.else.411 ] + %bp = phi { ptr, i64 } [ { ptr @str.606, i64 4 }, %if.then.410 ], [ %callN, %if.else.411 ] ret { ptr, i64 } %bp } @@ -6659,17 +6678,17 @@ if.then.413: ; preds = %entry if.else.414: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.608, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.607, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.611, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.610, i64 5 }, { ptr, i64 } %callN) br label %if.merge.415 if.merge.415: ; preds = %if.else.414, %if.then.413 - %bp = phi { ptr, i64 } [ { ptr @str.606, i64 4 }, %if.then.413 ], [ %callN, %if.else.414 ] + %bp = phi { ptr, i64 } [ { ptr @str.609, i64 4 }, %if.then.413 ], [ %callN, %if.else.414 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6687,17 +6706,17 @@ if.then.416: ; preds = %entry 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.611, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.610, i64 3 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.614, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 4 }, { ptr, i64 } %callN) br label %if.merge.418 if.merge.418: ; preds = %if.else.417, %if.then.416 - %bp = phi { ptr, i64 } [ { ptr @str.609, i64 4 }, %if.then.416 ], [ %callN, %if.else.417 ] + %bp = phi { ptr, i64 } [ { ptr @str.612, i64 4 }, %if.then.416 ], [ %callN, %if.else.417 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6715,17 +6734,17 @@ if.then.419: ; preds = %entry if.else.420: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.614, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.617, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.616, i64 9 }, { ptr, i64 } %callN) br label %if.merge.421 if.merge.421: ; preds = %if.else.420, %if.then.419 - %bp = phi { ptr, i64 } [ { ptr @str.612, i64 4 }, %if.then.419 ], [ %callN, %if.else.420 ] + %bp = phi { ptr, i64 } [ { ptr @str.615, i64 4 }, %if.then.419 ], [ %callN, %if.else.420 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6743,40 +6762,12 @@ if.then.422: ; preds = %entry 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.617, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.616, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.620, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, i64 4 }, { ptr, i64 } %callN) br label %if.merge.424 if.merge.424: ; preds = %if.else.423, %if.then.422 - %bp = phi { ptr, i64 } [ { ptr @str.615, i64 4 }, %if.then.422 ], [ %callN, %if.else.423 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.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.620, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, 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.618, i64 4 }, %if.then.425 ], [ %callN, %if.else.426 ] + %bp = phi { ptr, i64 } [ { ptr @str.618, i64 4 }, %if.then.422 ], [ %callN, %if.else.423 ] ret { ptr, i64 } %bp } @@ -6790,20 +6781,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.428, label %if.else.429 + br i1 %icmp, label %if.then.425, label %if.else.426 -if.then.428: ; preds = %entry - br label %if.merge.430 +if.then.425: ; preds = %entry + br label %if.merge.427 -if.else.429: ; preds = %entry +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.623, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.622, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.430 + br label %if.merge.427 -if.merge.430: ; preds = %if.else.429, %if.then.428 - %bp = phi { ptr, i64 } [ { ptr @str.621, i64 4 }, %if.then.428 ], [ %callN, %if.else.429 ] +if.merge.427: ; preds = %if.else.426, %if.then.425 + %bp = phi { ptr, i64 } [ { ptr @str.621, i64 4 }, %if.then.425 ], [ %callN, %if.else.426 ] ret { ptr, i64 } %bp } @@ -6818,20 +6809,20 @@ entry: store i64 %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 + br i1 %icmp, label %if.then.428, label %if.else.429 -if.then.431: ; preds = %entry - br label %if.merge.433 +if.then.428: ; preds = %entry + br label %if.merge.430 -if.else.432: ; preds = %entry +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.626, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.625, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.433 + br label %if.merge.430 -if.merge.433: ; preds = %if.else.432, %if.then.431 - %bp = phi { ptr, i64 } [ { ptr @str.624, i64 4 }, %if.then.431 ], [ %callN, %if.else.432 ] +if.merge.430: ; preds = %if.else.429, %if.then.428 + %bp = phi { ptr, i64 } [ { ptr @str.624, i64 4 }, %if.then.428 ], [ %callN, %if.else.429 ] ret { ptr, i64 } %bp } @@ -6845,6 +6836,34 @@ 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.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.629, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.433 + +if.merge.433: ; preds = %if.else.432, %if.then.431 + %bp = phi { ptr, i64 } [ { ptr @str.627, i64 4 }, %if.then.431 ], [ %callN, %if.else.432 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.434, label %if.else.435 if.then.434: ; preds = %entry @@ -6853,17 +6872,17 @@ if.then.434: ; preds = %entry 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.629, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.628, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.632, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.631, i64 7 }, { ptr, i64 } %callN) br label %if.merge.436 if.merge.436: ; preds = %if.else.435, %if.then.434 - %bp = phi { ptr, i64 } [ { ptr @str.627, i64 4 }, %if.then.434 ], [ %callN, %if.else.435 ] + %bp = phi { ptr, i64 } [ { ptr @str.630, i64 4 }, %if.then.434 ], [ %callN, %if.else.435 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6881,17 +6900,17 @@ if.then.437: ; preds = %entry 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.632, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.631, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.635, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.634, i64 5 }, { ptr, i64 } %callN) br label %if.merge.439 if.merge.439: ; preds = %if.else.438, %if.then.437 - %bp = phi { ptr, i64 } [ { ptr @str.630, i64 4 }, %if.then.437 ], [ %callN, %if.else.438 ] + %bp = phi { ptr, i64 } [ { ptr @str.633, i64 4 }, %if.then.437 ], [ %callN, %if.else.438 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6909,17 +6928,17 @@ 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.635, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.634, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.638, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.637, i64 7 }, { ptr, i64 } %callN) br label %if.merge.442 if.merge.442: ; preds = %if.else.441, %if.then.440 - %bp = phi { ptr, i64 } [ { ptr @str.633, i64 4 }, %if.then.440 ], [ %callN, %if.else.441 ] + %bp = phi { ptr, i64 } [ { ptr @str.636, i64 4 }, %if.then.440 ], [ %callN, %if.else.441 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6937,17 +6956,17 @@ if.then.443: ; preds = %entry 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.638, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.637, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.641, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 4 }, { ptr, i64 } %callN) br label %if.merge.445 if.merge.445: ; preds = %if.else.444, %if.then.443 - %bp = phi { ptr, i64 } [ { ptr @str.636, i64 4 }, %if.then.443 ], [ %callN, %if.else.444 ] + %bp = phi { ptr, i64 } [ { ptr @str.639, i64 4 }, %if.then.443 ], [ %callN, %if.else.444 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6965,17 +6984,17 @@ 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.641, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.644, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.643, i64 7 }, { ptr, i64 } %callN) br label %if.merge.448 if.merge.448: ; preds = %if.else.447, %if.then.446 - %bp = phi { ptr, i64 } [ { ptr @str.639, i64 4 }, %if.then.446 ], [ %callN, %if.else.447 ] + %bp = phi { ptr, i64 } [ { ptr @str.642, i64 4 }, %if.then.446 ], [ %callN, %if.else.447 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6993,17 +7012,17 @@ if.then.449: ; preds = %entry 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.644, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.643, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.647, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.646, 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.642, i64 4 }, %if.then.449 ], [ %callN, %if.else.450 ] + %bp = phi { ptr, i64 } [ { ptr @str.645, i64 4 }, %if.then.449 ], [ %callN, %if.else.450 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7021,17 +7040,17 @@ 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.647, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.646, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 7 }, { ptr, i64 } %callN) br label %if.merge.454 if.merge.454: ; preds = %if.else.453, %if.then.452 - %bp = phi { ptr, i64 } [ { ptr @str.645, i64 4 }, %if.then.452 ], [ %callN, %if.else.453 ] + %bp = phi { ptr, i64 } [ { ptr @str.648, i64 4 }, %if.then.452 ], [ %callN, %if.else.453 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7049,17 +7068,17 @@ if.then.455: ; preds = %entry 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.650, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.653, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 12 }, { ptr, i64 } %callN) br label %if.merge.457 if.merge.457: ; preds = %if.else.456, %if.then.455 - %bp = phi { ptr, i64 } [ { ptr @str.648, i64 4 }, %if.then.455 ], [ %callN, %if.else.456 ] + %bp = phi { ptr, i64 } [ { ptr @str.651, i64 4 }, %if.then.455 ], [ %callN, %if.else.456 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7077,17 +7096,17 @@ if.then.458: ; preds = %entry 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.653, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 12 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.656, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 6 }, { ptr, i64 } %callN) br label %if.merge.460 if.merge.460: ; preds = %if.else.459, %if.then.458 - %bp = phi { ptr, i64 } [ { ptr @str.651, i64 4 }, %if.then.458 ], [ %callN, %if.else.459 ] + %bp = phi { ptr, i64 } [ { ptr @str.654, i64 4 }, %if.then.458 ], [ %callN, %if.else.459 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_error_set(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7105,17 +7124,17 @@ if.then.461: ; preds = %entry 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.656, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.658, i64 10 }, { ptr, i64 } %callN) br label %if.merge.463 if.merge.463: ; preds = %if.else.462, %if.then.461 - %bp = phi { ptr, i64 } [ { ptr @str.654, i64 4 }, %if.then.461 ], [ %callN, %if.else.462 ] + %bp = phi { ptr, i64 } [ { ptr @str.657, i64 4 }, %if.then.461 ], [ %callN, %if.else.462 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_error_set(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7133,17 +7152,17 @@ 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.659, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.658, i64 10 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.466 if.merge.466: ; preds = %if.else.465, %if.then.464 - %bp = phi { ptr, i64 } [ { ptr @str.657, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] + %bp = phi { ptr, i64 } [ { ptr @str.660, i64 4 }, %if.then.464 ], [ %callN, %if.else.465 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7161,17 +7180,17 @@ if.then.467: ; preds = %entry 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.662, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.661, i64 7 }, { ptr, i64 } %callN) + %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 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.660, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] + %bp = phi { ptr, i64 } [ { ptr @str.663, i64 4 }, %if.then.467 ], [ %callN, %if.else.468 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7189,17 +7208,17 @@ 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.665, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.664, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.472 if.merge.472: ; preds = %if.else.471, %if.then.470 - %bp = phi { ptr, i64 } [ { ptr @str.663, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] + %bp = phi { ptr, i64 } [ { ptr @str.666, i64 4 }, %if.then.470 ], [ %callN, %if.else.471 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7217,17 +7236,17 @@ if.then.473: ; preds = %entry 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.668, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.667, i64 7 }, { ptr, i64 } %callN) + %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 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.666, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] + %bp = phi { ptr, i64 } [ { ptr @str.669, i64 4 }, %if.then.473 ], [ %callN, %if.else.474 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7245,12 +7264,12 @@ if.then.476: ; preds = %entry 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.671, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.670, i64 6 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.478 if.merge.478: ; preds = %if.else.477, %if.then.476 - %bp = phi { ptr, i64 } [ { ptr @str.669, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] + %bp = phi { ptr, i64 } [ { ptr @str.672, i64 4 }, %if.then.476 ], [ %callN, %if.else.477 ] ret { ptr, i64 } %bp } @@ -7273,12 +7292,12 @@ if.then.479: ; preds = %entry 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.674, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.673, i64 5 }, { ptr, i64 } %callN) + %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.481 if.merge.481: ; preds = %if.else.480, %if.then.479 - %bp = phi { ptr, i64 } [ { ptr @str.672, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] + %bp = phi { ptr, i64 } [ { ptr @str.675, i64 4 }, %if.then.479 ], [ %callN, %if.else.480 ] ret { ptr, i64 } %bp } @@ -7291,17 +7310,17 @@ 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.488, label %if.merge.489 + br i1 %lnot, label %if.then.489, label %if.merge.490 -if.then.488: ; preds = %entry - ret { ptr, i64 } { ptr @str.675, i64 4 } +if.then.489: ; preds = %entry + ret { ptr, i64 } { ptr @str.678, i64 4 } -if.merge.489: ; preds = %entry +if.merge.490: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7315,12 +7334,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.490, label %if.merge.491 + br i1 %lnot, label %if.then.491, label %if.merge.492 -if.then.490: ; preds = %entry - ret { ptr, i64 } { ptr @str.676, i64 4 } +if.then.491: ; preds = %entry + ret { ptr, i64 } { ptr @str.679, i64 4 } -if.merge.491: ; preds = %entry +if.merge.492: ; 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 @@ -7330,6 +7349,27 @@ if.merge.491: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.493, label %if.merge.494 + +if.then.493: ; preds = %entry + ret { ptr, i64 } { ptr @str.680, i64 4 } + +if.merge.494: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -7339,17 +7379,17 @@ 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.492, label %if.merge.493 + br i1 %lnot, label %if.then.495, label %if.merge.496 -if.then.492: ; preds = %entry - ret { ptr, i64 } { ptr @str.677, i64 4 } +if.then.495: ; preds = %entry + ret { ptr, i64 } { ptr @str.681, i64 4 } -if.merge.493: ; preds = %entry +if.merge.496: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7363,17 +7403,17 @@ 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.494, label %if.merge.495 + br i1 %lnot, label %if.then.497, label %if.merge.498 -if.then.494: ; preds = %entry - ret { ptr, i64 } { ptr @str.678, i64 4 } +if.then.497: ; preds = %entry + ret { ptr, i64 } { ptr @str.682, i64 4 } -if.merge.495: ; preds = %entry +if.merge.498: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } diff --git a/examples/expected/1006-errors-inferred-error-sets.ir b/examples/expected/1006-errors-inferred-error-sets.ir index d1cb91b..5285843 100644 --- a/examples/expected/1006-errors-inferred-error-sets.ir +++ b/examples/expected/1006-errors-inferred-error-sets.ir @@ -7,7 +7,7 @@ @str.79 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.80 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.81 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [163 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] +@__sx_type_is_unsigned = private constant [166 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.82 = private constant [9 x i8] c"Overflow\00" @tag.str.83 = private constant [3 x i8] c"Io\00" @@ -43,456 +43,456 @@ @tn.str.111 = private constant [6 x i8] c"isize\00" @tn.str.112 = private constant [6 x i8] c"usize\00" @tn.str.113 = private constant [5 x i8] c"void\00" -@tn.str.114 = private constant [6 x i8] c"*void\00" -@tn.str.115 = private constant [16 x i8] c"Source_Location\00" -@tn.str.116 = private constant [10 x i8] c"Allocator\00" -@tn.str.117 = private constant [8 x i8] c"Context\00" -@tn.str.118 = private constant [7 x i8] c"[4]i64\00" -@tn.str.119 = private constant [9 x i8] c"[]string\00" -@tn.str.120 = private constant [11 x i8] c"CAllocator\00" -@tn.str.121 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.122 = private constant [4 x i8] c"GPA\00" -@tn.str.123 = private constant [5 x i8] c"*GPA\00" -@tn.str.124 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.125 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.126 = private constant [6 x i8] c"Arena\00" -@tn.str.127 = private constant [7 x i8] c"*Arena\00" -@tn.str.128 = private constant [6 x i8] c"[*]u8\00" -@tn.str.129 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.130 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.131 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.132 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.133 = private constant [9 x i8] c"OpenMode\00" -@tn.str.134 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.135 = private constant [5 x i8] c"File\00" -@tn.str.136 = private constant [6 x i8] c"*File\00" -@tn.str.137 = private constant [6 x i8] c"?File\00" -@tn.str.138 = private constant [8 x i8] c"?string\00" -@tn.str.139 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.140 = private constant [4 x i8] c"*u8\00" -@tn.str.141 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.142 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.143 = private constant [5 x i8] c"*i32\00" -@tn.str.144 = private constant [9 x i8] c"SockAddr\00" -@tn.str.145 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.146 = private constant [5 x i8] c"*u32\00" -@tn.str.147 = private constant [10 x i8] c"JsonError\00" -@tn.str.148 = private constant [6 x i8] c"Array\00" -@tn.str.149 = private constant [7 x i8] c"Object\00" -@tn.str.150 = private constant [6 x i8] c"Value\00" -@tn.str.151 = private constant [7 x i8] c"Member\00" -@tn.str.152 = private constant [9 x i8] c"[*]Value\00" -@tn.str.153 = private constant [7 x i8] c"*Array\00" -@tn.str.154 = private constant [10 x i8] c"[*]Member\00" -@tn.str.155 = private constant [8 x i8] c"*Object\00" -@tn.str.156 = private constant [5 x i8] c"[]u8\00" -@tn.str.157 = private constant [5 x i8] c"Sink\00" -@tn.str.158 = private constant [6 x i8] c"*Sink\00" -@tn.str.159 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.160 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.161 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.162 = private constant [7 x i8] c"Parser\00" -@tn.str.163 = private constant [8 x i8] c"*Parser\00" -@tn.str.164 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.165 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.166 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.167 = private constant [13 x i8] c"Architecture\00" -@tn.str.168 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.169 = private constant [11 x i8] c"() -> bool\00" -@tn.str.170 = private constant [5 x i8] c"*i64\00" -@tn.str.171 = private constant [9 x i8] c"CliError\00" -@tn.str.172 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.173 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.174 = private constant [8 x i8] c"Command\00" -@tn.str.175 = private constant [10 x i8] c"FlagValue\00" -@tn.str.176 = private constant [5 x i8] c"Diag\00" -@tn.str.177 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.178 = private constant [7 x i8] c"Parsed\00" -@tn.str.179 = private constant [8 x i8] c"*Parsed\00" -@tn.str.180 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.181 = private constant [10 x i8] c"[]Command\00" -@tn.str.182 = private constant [6 x i8] c"*Diag\00" -@tn.str.183 = private constant [7 x i8] c"[8]i64\00" -@tn.str.184 = private constant [7 x i8] c"[64]u8\00" -@tn.str.185 = private constant [7 x i8] c"Sha256\00" -@tn.str.186 = private constant [8 x i8] c"*Sha256\00" -@tn.str.187 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.188 = private constant [8 x i8] c"[64]i64\00" -@tn.str.189 = private constant [2 x i8] c"A\00" -@tn.str.190 = private constant [2 x i8] c"!\00" -@tn.str.191 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.192 = private constant [7 x i8] c"**void\00" -@tn.str.193 = private constant [3 x i8] c"*A\00" -@tn.str.194 = private constant [8 x i8] c"*string\00" -@tn.str.195 = private constant [6 x i8] c"[]Any\00" -@tn.str.196 = private constant [5 x i8] c"*Any\00" -@tn.str.197 = private constant [7 x i8] c"[1]Any\00" -@tn.str.198 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.199 = private constant [7 x i8] c"*[]Any\00" -@tn.str.200 = private constant [6 x i8] c"*bool\00" -@tn.str.201 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.202 = private constant [5 x i8] c"*f64\00" -@tn.str.203 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.204 = private constant [11 x i8] c"*Allocator\00" -@tn.str.205 = private constant [9 x i8] c"*Context\00" -@tn.str.206 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.207 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.208 = private constant [8 x i8] c"*Member\00" -@tn.str.209 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.210 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.211 = private constant [9 x i8] c"*Command\00" -@tn.str.212 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.213 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.214 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.215 = private constant [7 x i8] c"*Value\00" -@tn.str.216 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.217 = private constant [14 x i8] c"*Architecture\00" -@tn.str.218 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.219 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.220 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.221 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.222 = private constant [10 x i8] c"*[]string\00" -@tn.str.223 = private constant [6 x i8] c"*[]u8\00" -@tn.str.224 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.225 = private constant [11 x i8] c"*[]Command\00" -@tn.str.226 = private constant [6 x i8] c"**GPA\00" -@tn.str.227 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.228 = private constant [8 x i8] c"**Arena\00" -@tn.str.229 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.230 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.231 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.232 = private constant [7 x i8] c"**File\00" -@tn.str.233 = private constant [5 x i8] c"**u8\00" -@tn.str.234 = private constant [6 x i8] c"**i32\00" -@tn.str.235 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.236 = private constant [6 x i8] c"**u32\00" -@tn.str.237 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.238 = private constant [8 x i8] c"**Array\00" -@tn.str.239 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.240 = private constant [9 x i8] c"**Object\00" -@tn.str.241 = private constant [7 x i8] c"**Sink\00" -@tn.str.242 = private constant [9 x i8] c"**Parser\00" -@tn.str.243 = private constant [6 x i8] c"**i64\00" -@tn.str.244 = private constant [9 x i8] c"**Parsed\00" -@tn.str.245 = private constant [7 x i8] c"**Diag\00" -@tn.str.246 = private constant [9 x i8] c"**Sha256\00" -@tn.str.247 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.248 = private constant [8 x i8] c"***void\00" -@tn.str.249 = private constant [4 x i8] c"**A\00" -@tn.str.250 = private constant [9 x i8] c"**string\00" -@tn.str.251 = private constant [6 x i8] c"**Any\00" -@tn.str.252 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.253 = private constant [8 x i8] c"**[]Any\00" -@tn.str.254 = private constant [7 x i8] c"**bool\00" -@tn.str.255 = private constant [7 x i8] c"*?File\00" -@tn.str.256 = private constant [9 x i8] c"*?string\00" -@tn.str.257 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.258 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [163 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.97, i64 4 }, { ptr, i64 } { ptr @tn.str.98, i64 2 }, { ptr, i64 } { ptr @tn.str.99, i64 3 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 2 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { 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 3 }, { ptr, i64 } { ptr @tn.str.108, i64 6 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 8 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 5 }, { ptr, i64 } { ptr @tn.str.113, i64 4 }, { ptr, i64 } { ptr @tn.str.114, i64 5 }, { ptr, i64 } { ptr @tn.str.115, i64 15 }, { ptr, i64 } { ptr @tn.str.116, i64 9 }, { ptr, i64 } { ptr @tn.str.117, i64 7 }, { ptr, i64 } { ptr @tn.str.118, i64 6 }, { ptr, i64 } { ptr @tn.str.119, i64 8 }, { ptr, i64 } { ptr @tn.str.120, i64 10 }, { ptr, i64 } { ptr @tn.str.121, i64 11 }, { ptr, i64 } { ptr @tn.str.122, i64 3 }, { ptr, i64 } { ptr @tn.str.123, i64 4 }, { ptr, i64 } { ptr @tn.str.124, i64 10 }, { ptr, i64 } { ptr @tn.str.125, i64 11 }, { ptr, i64 } { ptr @tn.str.126, i64 5 }, { ptr, i64 } { ptr @tn.str.127, i64 6 }, { ptr, i64 } { ptr @tn.str.128, i64 5 }, { ptr, i64 } { ptr @tn.str.129, i64 8 }, { ptr, i64 } { ptr @tn.str.130, i64 9 }, { ptr, i64 } { ptr @tn.str.131, i64 17 }, { ptr, i64 } { ptr @tn.str.132, i64 18 }, { ptr, i64 } { ptr @tn.str.133, i64 8 }, { ptr, i64 } { ptr @tn.str.134, i64 8 }, { ptr, i64 } { ptr @tn.str.135, i64 4 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 5 }, { ptr, i64 } { ptr @tn.str.138, i64 7 }, { ptr, i64 } { ptr @tn.str.139, i64 10 }, { ptr, i64 } { ptr @tn.str.140, i64 3 }, { ptr, i64 } { ptr @tn.str.141, i64 13 }, { ptr, i64 } { ptr @tn.str.142, i64 14 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 8 }, { ptr, i64 } { ptr @tn.str.145, i64 9 }, { ptr, i64 } { ptr @tn.str.146, i64 4 }, { ptr, i64 } { ptr @tn.str.147, i64 9 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 6 }, { ptr, i64 } { ptr @tn.str.150, i64 5 }, { ptr, i64 } { ptr @tn.str.151, i64 6 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 6 }, { ptr, i64 } { ptr @tn.str.154, i64 9 }, { ptr, i64 } { ptr @tn.str.155, i64 7 }, { ptr, i64 } { ptr @tn.str.156, i64 4 }, { ptr, i64 } { ptr @tn.str.157, i64 4 }, { ptr, i64 } { ptr @tn.str.158, i64 5 }, { ptr, i64 } { ptr @tn.str.159, i64 16 }, { ptr, i64 } { ptr @tn.str.160, i64 14 }, { ptr, i64 } { ptr @tn.str.161, i64 21 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 7 }, { ptr, i64 } { ptr @tn.str.164, i64 24 }, { ptr, i64 } { ptr @tn.str.165, i64 23 }, { ptr, i64 } { ptr @tn.str.166, i64 15 }, { ptr, i64 } { ptr @tn.str.167, i64 12 }, { ptr, i64 } { ptr @tn.str.168, i64 12 }, { ptr, i64 } { ptr @tn.str.169, i64 10 }, { ptr, i64 } { ptr @tn.str.170, i64 4 }, { ptr, i64 } { ptr @tn.str.171, i64 8 }, { ptr, i64 } { ptr @tn.str.172, i64 8 }, { ptr, i64 } { ptr @tn.str.173, i64 10 }, { ptr, i64 } { ptr @tn.str.174, i64 7 }, { ptr, i64 } { ptr @tn.str.175, i64 9 }, { ptr, i64 } { ptr @tn.str.176, i64 4 }, { ptr, i64 } { ptr @tn.str.177, i64 13 }, { ptr, i64 } { ptr @tn.str.178, i64 6 }, { ptr, i64 } { ptr @tn.str.179, i64 7 }, { ptr, i64 } { ptr @tn.str.180, i64 18 }, { ptr, i64 } { ptr @tn.str.181, i64 9 }, { ptr, i64 } { ptr @tn.str.182, i64 5 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 6 }, { ptr, i64 } { ptr @tn.str.185, i64 6 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 7 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 1 }, { ptr, i64 } { ptr @tn.str.190, i64 1 }, { ptr, i64 } { ptr @tn.str.191, i64 12 }, { ptr, i64 } { ptr @tn.str.192, i64 6 }, { ptr, i64 } { ptr @tn.str.193, i64 2 }, { ptr, i64 } { ptr @tn.str.194, i64 7 }, { ptr, i64 } { ptr @tn.str.195, i64 5 }, { ptr, i64 } { ptr @tn.str.196, i64 4 }, { ptr, i64 } { ptr @tn.str.197, i64 6 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 6 }, { ptr, i64 } { ptr @tn.str.200, i64 5 }, { ptr, i64 } { ptr @tn.str.201, i64 7 }, { ptr, i64 } { ptr @tn.str.202, i64 4 }, { ptr, i64 } { ptr @tn.str.203, i64 16 }, { ptr, i64 } { ptr @tn.str.204, i64 10 }, { ptr, i64 } { ptr @tn.str.205, i64 8 }, { ptr, i64 } { ptr @tn.str.206, i64 11 }, { ptr, i64 } { ptr @tn.str.207, i64 14 }, { ptr, i64 } { ptr @tn.str.208, i64 7 }, { ptr, i64 } { ptr @tn.str.209, i64 13 }, { ptr, i64 } { ptr @tn.str.210, i64 9 }, { ptr, i64 } { ptr @tn.str.211, i64 8 }, { ptr, i64 } { ptr @tn.str.212, i64 10 }, { ptr, i64 } { ptr @tn.str.213, i64 9 }, { ptr, i64 } { ptr @tn.str.214, i64 9 }, { ptr, i64 } { ptr @tn.str.215, i64 6 }, { ptr, i64 } { ptr @tn.str.216, i64 16 }, { ptr, i64 } { ptr @tn.str.217, i64 13 }, { ptr, i64 } { ptr @tn.str.218, i64 14 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 7 }, { ptr, i64 } { ptr @tn.str.221, i64 8 }, { ptr, i64 } { ptr @tn.str.222, i64 9 }, { ptr, i64 } { ptr @tn.str.223, i64 5 }, { ptr, i64 } { ptr @tn.str.224, i64 11 }, { ptr, i64 } { ptr @tn.str.225, i64 10 }, { ptr, i64 } { ptr @tn.str.226, i64 5 }, { ptr, i64 } { ptr @tn.str.227, i64 12 }, { ptr, i64 } { ptr @tn.str.228, i64 7 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 10 }, { ptr, i64 } { ptr @tn.str.231, i64 19 }, { ptr, i64 } { ptr @tn.str.232, i64 6 }, { ptr, i64 } { ptr @tn.str.233, i64 4 }, { ptr, i64 } { ptr @tn.str.234, i64 5 }, { ptr, i64 } { ptr @tn.str.235, i64 10 }, { ptr, i64 } { ptr @tn.str.236, i64 5 }, { ptr, i64 } { ptr @tn.str.237, i64 9 }, { ptr, i64 } { ptr @tn.str.238, i64 7 }, { ptr, i64 } { ptr @tn.str.239, i64 10 }, { ptr, i64 } { ptr @tn.str.240, i64 8 }, { ptr, i64 } { ptr @tn.str.241, i64 6 }, { ptr, i64 } { ptr @tn.str.242, i64 8 }, { ptr, i64 } { ptr @tn.str.243, i64 5 }, { ptr, i64 } { ptr @tn.str.244, i64 8 }, { ptr, i64 } { ptr @tn.str.245, i64 6 }, { ptr, i64 } { ptr @tn.str.246, i64 8 }, { ptr, i64 } { ptr @tn.str.247, i64 13 }, { ptr, i64 } { ptr @tn.str.248, i64 7 }, { ptr, i64 } { ptr @tn.str.249, i64 3 }, { ptr, i64 } { ptr @tn.str.250, i64 8 }, { ptr, i64 } { ptr @tn.str.251, i64 5 }, { ptr, i64 } { ptr @tn.str.252, i64 8 }, { ptr, i64 } { ptr @tn.str.253, i64 7 }, { ptr, i64 } { ptr @tn.str.254, i64 6 }, { ptr, i64 } { ptr @tn.str.255, i64 6 }, { ptr, i64 } { ptr @tn.str.256, i64 8 }, { ptr, i64 } { ptr @tn.str.257, i64 15 }, { ptr, i64 } { ptr @tn.str.258, i64 8 }] -@str.259 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.260 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.261 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@tn.str.114 = private constant [8 x i8] c"cstring\00" +@tn.str.115 = private constant [6 x i8] c"*void\00" +@tn.str.116 = private constant [16 x i8] c"Source_Location\00" +@tn.str.117 = private constant [10 x i8] c"Allocator\00" +@tn.str.118 = private constant [8 x i8] c"Context\00" +@tn.str.119 = private constant [7 x i8] c"[4]i64\00" +@tn.str.120 = private constant [9 x i8] c"[]string\00" +@tn.str.121 = private constant [11 x i8] c"CAllocator\00" +@tn.str.122 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.123 = private constant [4 x i8] c"GPA\00" +@tn.str.124 = private constant [5 x i8] c"*GPA\00" +@tn.str.125 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.126 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.127 = private constant [6 x i8] c"Arena\00" +@tn.str.128 = private constant [7 x i8] c"*Arena\00" +@tn.str.129 = private constant [6 x i8] c"[*]u8\00" +@tn.str.130 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.131 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.132 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.133 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.134 = private constant [9 x i8] c"OpenMode\00" +@tn.str.135 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.136 = private constant [5 x i8] c"File\00" +@tn.str.137 = private constant [6 x i8] c"*File\00" +@tn.str.138 = private constant [6 x i8] c"?File\00" +@tn.str.139 = private constant [8 x i8] c"?string\00" +@tn.str.140 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.141 = private constant [9 x i8] c"?cstring\00" +@tn.str.142 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.143 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.144 = private constant [5 x i8] c"*i32\00" +@tn.str.145 = private constant [9 x i8] c"SockAddr\00" +@tn.str.146 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.147 = private constant [5 x i8] c"*u32\00" +@tn.str.148 = private constant [10 x i8] c"JsonError\00" +@tn.str.149 = private constant [6 x i8] c"Array\00" +@tn.str.150 = private constant [7 x i8] c"Object\00" +@tn.str.151 = private constant [6 x i8] c"Value\00" +@tn.str.152 = private constant [7 x i8] c"Member\00" +@tn.str.153 = private constant [9 x i8] c"[*]Value\00" +@tn.str.154 = private constant [7 x i8] c"*Array\00" +@tn.str.155 = private constant [10 x i8] c"[*]Member\00" +@tn.str.156 = private constant [8 x i8] c"*Object\00" +@tn.str.157 = private constant [5 x i8] c"[]u8\00" +@tn.str.158 = private constant [5 x i8] c"Sink\00" +@tn.str.159 = private constant [6 x i8] c"*Sink\00" +@tn.str.160 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.161 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.162 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.163 = private constant [7 x i8] c"Parser\00" +@tn.str.164 = private constant [8 x i8] c"*Parser\00" +@tn.str.165 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.166 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.167 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.168 = private constant [13 x i8] c"Architecture\00" +@tn.str.169 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.170 = private constant [11 x i8] c"() -> bool\00" +@tn.str.171 = private constant [5 x i8] c"*i64\00" +@tn.str.172 = private constant [9 x i8] c"CliError\00" +@tn.str.173 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.174 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.175 = private constant [8 x i8] c"Command\00" +@tn.str.176 = private constant [10 x i8] c"FlagValue\00" +@tn.str.177 = private constant [5 x i8] c"Diag\00" +@tn.str.178 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.179 = private constant [7 x i8] c"Parsed\00" +@tn.str.180 = private constant [8 x i8] c"*Parsed\00" +@tn.str.181 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.182 = private constant [10 x i8] c"[]Command\00" +@tn.str.183 = private constant [6 x i8] c"*Diag\00" +@tn.str.184 = private constant [7 x i8] c"[8]i64\00" +@tn.str.185 = private constant [7 x i8] c"[64]u8\00" +@tn.str.186 = private constant [7 x i8] c"Sha256\00" +@tn.str.187 = private constant [8 x i8] c"*Sha256\00" +@tn.str.188 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.189 = private constant [8 x i8] c"[64]i64\00" +@tn.str.190 = private constant [2 x i8] c"A\00" +@tn.str.191 = private constant [2 x i8] c"!\00" +@tn.str.192 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.193 = private constant [7 x i8] c"**void\00" +@tn.str.194 = private constant [3 x i8] c"*A\00" +@tn.str.195 = private constant [8 x i8] c"*string\00" +@tn.str.196 = private constant [6 x i8] c"[]Any\00" +@tn.str.197 = private constant [5 x i8] c"*Any\00" +@tn.str.198 = private constant [7 x i8] c"[1]Any\00" +@tn.str.199 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.200 = private constant [7 x i8] c"*[]Any\00" +@tn.str.201 = private constant [4 x i8] c"*u8\00" +@tn.str.202 = private constant [6 x i8] c"*bool\00" +@tn.str.203 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.204 = private constant [5 x i8] c"*f64\00" +@tn.str.205 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.206 = private constant [11 x i8] c"*Allocator\00" +@tn.str.207 = private constant [9 x i8] c"*Context\00" +@tn.str.208 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.209 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.210 = private constant [8 x i8] c"*Member\00" +@tn.str.211 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.212 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.213 = private constant [9 x i8] c"*Command\00" +@tn.str.214 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.215 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.216 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.217 = private constant [7 x i8] c"*Value\00" +@tn.str.218 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.219 = private constant [14 x i8] c"*Architecture\00" +@tn.str.220 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.221 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.222 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.223 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.224 = private constant [10 x i8] c"*[]string\00" +@tn.str.225 = private constant [6 x i8] c"*[]u8\00" +@tn.str.226 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.227 = private constant [11 x i8] c"*[]Command\00" +@tn.str.228 = private constant [6 x i8] c"**GPA\00" +@tn.str.229 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.230 = private constant [8 x i8] c"**Arena\00" +@tn.str.231 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.232 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.233 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.234 = private constant [7 x i8] c"**File\00" +@tn.str.235 = private constant [6 x i8] c"**i32\00" +@tn.str.236 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.237 = private constant [6 x i8] c"**u32\00" +@tn.str.238 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.239 = private constant [8 x i8] c"**Array\00" +@tn.str.240 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.241 = private constant [9 x i8] c"**Object\00" +@tn.str.242 = private constant [7 x i8] c"**Sink\00" +@tn.str.243 = private constant [9 x i8] c"**Parser\00" +@tn.str.244 = private constant [6 x i8] c"**i64\00" +@tn.str.245 = private constant [9 x i8] c"**Parsed\00" +@tn.str.246 = private constant [7 x i8] c"**Diag\00" +@tn.str.247 = private constant [9 x i8] c"**Sha256\00" +@tn.str.248 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.249 = private constant [8 x i8] c"***void\00" +@tn.str.250 = private constant [4 x i8] c"**A\00" +@tn.str.251 = private constant [9 x i8] c"**string\00" +@tn.str.252 = private constant [6 x i8] c"**Any\00" +@tn.str.253 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.254 = private constant [8 x i8] c"**[]Any\00" +@tn.str.255 = private constant [5 x i8] c"**u8\00" +@tn.str.256 = private constant [7 x i8] c"**bool\00" +@tn.str.257 = private constant [7 x i8] c"*?File\00" +@tn.str.258 = private constant [9 x i8] c"*?string\00" +@tn.str.259 = private constant [10 x i8] c"*?cstring\00" +@tn.str.260 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.261 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [166 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.97, i64 4 }, { ptr, i64 } { ptr @tn.str.98, i64 2 }, { ptr, i64 } { ptr @tn.str.99, i64 3 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 3 }, { ptr, i64 } { ptr @tn.str.102, i64 2 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { 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 3 }, { ptr, i64 } { ptr @tn.str.108, i64 6 }, { ptr, i64 } { ptr @tn.str.109, i64 3 }, { ptr, i64 } { ptr @tn.str.110, i64 8 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 5 }, { ptr, i64 } { ptr @tn.str.113, i64 4 }, { ptr, i64 } { ptr @tn.str.114, i64 7 }, { ptr, i64 } { ptr @tn.str.115, i64 5 }, { ptr, i64 } { ptr @tn.str.116, i64 15 }, { ptr, i64 } { ptr @tn.str.117, i64 9 }, { ptr, i64 } { ptr @tn.str.118, i64 7 }, { ptr, i64 } { ptr @tn.str.119, i64 6 }, { ptr, i64 } { ptr @tn.str.120, i64 8 }, { ptr, i64 } { ptr @tn.str.121, i64 10 }, { ptr, i64 } { ptr @tn.str.122, i64 11 }, { ptr, i64 } { ptr @tn.str.123, i64 3 }, { ptr, i64 } { ptr @tn.str.124, i64 4 }, { ptr, i64 } { ptr @tn.str.125, i64 10 }, { ptr, i64 } { ptr @tn.str.126, i64 11 }, { ptr, i64 } { ptr @tn.str.127, i64 5 }, { ptr, i64 } { ptr @tn.str.128, i64 6 }, { ptr, i64 } { ptr @tn.str.129, i64 5 }, { ptr, i64 } { ptr @tn.str.130, i64 8 }, { ptr, i64 } { ptr @tn.str.131, i64 9 }, { ptr, i64 } { ptr @tn.str.132, i64 17 }, { ptr, i64 } { ptr @tn.str.133, i64 18 }, { ptr, i64 } { ptr @tn.str.134, i64 8 }, { ptr, i64 } { ptr @tn.str.135, i64 8 }, { ptr, i64 } { ptr @tn.str.136, i64 4 }, { ptr, i64 } { ptr @tn.str.137, i64 5 }, { ptr, i64 } { ptr @tn.str.138, i64 5 }, { ptr, i64 } { ptr @tn.str.139, i64 7 }, { ptr, i64 } { ptr @tn.str.140, i64 10 }, { ptr, i64 } { ptr @tn.str.141, i64 8 }, { ptr, i64 } { ptr @tn.str.142, i64 13 }, { ptr, i64 } { ptr @tn.str.143, i64 14 }, { ptr, i64 } { ptr @tn.str.144, i64 4 }, { ptr, i64 } { ptr @tn.str.145, i64 8 }, { ptr, i64 } { ptr @tn.str.146, i64 9 }, { ptr, i64 } { ptr @tn.str.147, i64 4 }, { ptr, i64 } { ptr @tn.str.148, i64 9 }, { ptr, i64 } { ptr @tn.str.149, i64 5 }, { ptr, i64 } { ptr @tn.str.150, i64 6 }, { ptr, i64 } { ptr @tn.str.151, i64 5 }, { ptr, i64 } { ptr @tn.str.152, i64 6 }, { ptr, i64 } { ptr @tn.str.153, i64 8 }, { ptr, i64 } { ptr @tn.str.154, i64 6 }, { ptr, i64 } { ptr @tn.str.155, i64 9 }, { ptr, i64 } { ptr @tn.str.156, i64 7 }, { ptr, i64 } { ptr @tn.str.157, i64 4 }, { ptr, i64 } { ptr @tn.str.158, i64 4 }, { ptr, i64 } { ptr @tn.str.159, i64 5 }, { ptr, i64 } { ptr @tn.str.160, i64 16 }, { ptr, i64 } { ptr @tn.str.161, i64 14 }, { ptr, i64 } { ptr @tn.str.162, i64 21 }, { ptr, i64 } { ptr @tn.str.163, i64 6 }, { ptr, i64 } { ptr @tn.str.164, i64 7 }, { ptr, i64 } { ptr @tn.str.165, i64 24 }, { ptr, i64 } { ptr @tn.str.166, i64 23 }, { ptr, i64 } { ptr @tn.str.167, i64 15 }, { ptr, i64 } { ptr @tn.str.168, i64 12 }, { ptr, i64 } { ptr @tn.str.169, i64 12 }, { ptr, i64 } { ptr @tn.str.170, i64 10 }, { ptr, i64 } { ptr @tn.str.171, i64 4 }, { ptr, i64 } { ptr @tn.str.172, i64 8 }, { ptr, i64 } { ptr @tn.str.173, i64 8 }, { ptr, i64 } { ptr @tn.str.174, i64 10 }, { ptr, i64 } { ptr @tn.str.175, i64 7 }, { ptr, i64 } { ptr @tn.str.176, i64 9 }, { ptr, i64 } { ptr @tn.str.177, i64 4 }, { ptr, i64 } { ptr @tn.str.178, i64 13 }, { ptr, i64 } { ptr @tn.str.179, i64 6 }, { ptr, i64 } { ptr @tn.str.180, i64 7 }, { ptr, i64 } { ptr @tn.str.181, i64 18 }, { ptr, i64 } { ptr @tn.str.182, i64 9 }, { ptr, i64 } { ptr @tn.str.183, i64 5 }, { ptr, i64 } { ptr @tn.str.184, i64 6 }, { ptr, i64 } { ptr @tn.str.185, i64 6 }, { ptr, i64 } { ptr @tn.str.186, i64 6 }, { ptr, i64 } { ptr @tn.str.187, i64 7 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 7 }, { ptr, i64 } { ptr @tn.str.190, i64 1 }, { ptr, i64 } { ptr @tn.str.191, i64 1 }, { ptr, i64 } { ptr @tn.str.192, i64 12 }, { ptr, i64 } { ptr @tn.str.193, i64 6 }, { ptr, i64 } { ptr @tn.str.194, i64 2 }, { ptr, i64 } { ptr @tn.str.195, i64 7 }, { ptr, i64 } { ptr @tn.str.196, i64 5 }, { ptr, i64 } { ptr @tn.str.197, i64 4 }, { ptr, i64 } { ptr @tn.str.198, i64 6 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 6 }, { ptr, i64 } { ptr @tn.str.201, i64 3 }, { ptr, i64 } { ptr @tn.str.202, i64 5 }, { ptr, i64 } { ptr @tn.str.203, i64 7 }, { ptr, i64 } { ptr @tn.str.204, i64 4 }, { ptr, i64 } { ptr @tn.str.205, i64 16 }, { ptr, i64 } { ptr @tn.str.206, i64 10 }, { ptr, i64 } { ptr @tn.str.207, i64 8 }, { ptr, i64 } { ptr @tn.str.208, i64 11 }, { ptr, i64 } { ptr @tn.str.209, i64 14 }, { ptr, i64 } { ptr @tn.str.210, i64 7 }, { ptr, i64 } { ptr @tn.str.211, i64 13 }, { ptr, i64 } { ptr @tn.str.212, i64 9 }, { ptr, i64 } { ptr @tn.str.213, i64 8 }, { ptr, i64 } { ptr @tn.str.214, i64 10 }, { ptr, i64 } { ptr @tn.str.215, i64 9 }, { ptr, i64 } { ptr @tn.str.216, i64 9 }, { ptr, i64 } { ptr @tn.str.217, i64 6 }, { ptr, i64 } { ptr @tn.str.218, i64 16 }, { ptr, i64 } { ptr @tn.str.219, i64 13 }, { ptr, i64 } { ptr @tn.str.220, i64 14 }, { ptr, i64 } { ptr @tn.str.221, i64 7 }, { ptr, i64 } { ptr @tn.str.222, i64 7 }, { ptr, i64 } { ptr @tn.str.223, i64 8 }, { ptr, i64 } { ptr @tn.str.224, i64 9 }, { ptr, i64 } { ptr @tn.str.225, i64 5 }, { ptr, i64 } { ptr @tn.str.226, i64 11 }, { ptr, i64 } { ptr @tn.str.227, i64 10 }, { ptr, i64 } { ptr @tn.str.228, i64 5 }, { ptr, i64 } { ptr @tn.str.229, i64 12 }, { ptr, i64 } { ptr @tn.str.230, i64 7 }, { ptr, i64 } { ptr @tn.str.231, i64 6 }, { ptr, i64 } { ptr @tn.str.232, i64 10 }, { ptr, i64 } { ptr @tn.str.233, i64 19 }, { ptr, i64 } { ptr @tn.str.234, i64 6 }, { ptr, i64 } { ptr @tn.str.235, i64 5 }, { ptr, i64 } { ptr @tn.str.236, i64 10 }, { 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 10 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 6 }, { ptr, i64 } { ptr @tn.str.243, i64 8 }, { ptr, i64 } { ptr @tn.str.244, i64 5 }, { ptr, i64 } { ptr @tn.str.245, i64 8 }, { ptr, i64 } { ptr @tn.str.246, i64 6 }, { ptr, i64 } { ptr @tn.str.247, i64 8 }, { ptr, i64 } { ptr @tn.str.248, i64 13 }, { ptr, i64 } { ptr @tn.str.249, i64 7 }, { ptr, i64 } { ptr @tn.str.250, i64 3 }, { ptr, i64 } { ptr @tn.str.251, i64 8 }, { ptr, i64 } { ptr @tn.str.252, i64 5 }, { ptr, i64 } { ptr @tn.str.253, i64 8 }, { ptr, i64 } { ptr @tn.str.254, i64 7 }, { ptr, i64 } { ptr @tn.str.255, i64 4 }, { ptr, i64 } { ptr @tn.str.256, i64 6 }, { ptr, i64 } { ptr @tn.str.257, i64 6 }, { ptr, i64 } { ptr @tn.str.258, i64 8 }, { ptr, i64 } { ptr @tn.str.259, i64 9 }, { ptr, i64 } { ptr @tn.str.260, i64 15 }, { ptr, i64 } { ptr @tn.str.261, i64 8 }] @str.262 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.263 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.264 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.265 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.266 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.267 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.268 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.269 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.270 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.271 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.272 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.273 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.265 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.266 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.267 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.268 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.269 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.270 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.271 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.272 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.273 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.274 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.275 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.276 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @str.277 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.278 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.279 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.280 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.281 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.282 = 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.280 = private unnamed_addr constant [5 x i8] c"leaf\00" -@frame.str.281 = 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.280, i64 4 }, { ptr, i64 } { ptr @frame.str.281, i64 33 } } -@frame.str.282 = private unnamed_addr constant [4 x i8] c"mid\00" -@frame.str.283 = private unnamed_addr constant [17 x i8] c" try leaf(n);\00" -@trace.frame.284 = 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.282, i64 3 }, { ptr, i64 } { ptr @frame.str.283, i64 16 } } -@frame.str.285 = private unnamed_addr constant [37 x i8] c" if n == 100 { raise error.Bar; }\00" -@trace.frame.286 = 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.282, i64 3 }, { ptr, i64 } { ptr @frame.str.285, i64 36 } } -@frame.str.287 = private unnamed_addr constant [4 x i8] c"run\00" -@frame.str.288 = private unnamed_addr constant [16 x i8] c" try mid(n);\00" -@trace.frame.289 = 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.287, i64 3 }, { ptr, i64 } { ptr @frame.str.288, i64 15 } } -@str.290 = private unnamed_addr constant [21 x i8] c"inferred result: {}\0A\00", align 1 -@str.291 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.292 = private unnamed_addr constant [21 x i8] c"inferred result: {}\0A\00", align 1 -@str.293 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.294 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.295 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.296 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@frame.str.283 = private unnamed_addr constant [5 x i8] c"leaf\00" +@frame.str.284 = 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.283, i64 4 }, { ptr, i64 } { ptr @frame.str.284, i64 33 } } +@frame.str.285 = private unnamed_addr constant [4 x i8] c"mid\00" +@frame.str.286 = private unnamed_addr constant [17 x i8] c" try leaf(n);\00" +@trace.frame.287 = 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.285, i64 3 }, { ptr, i64 } { ptr @frame.str.286, i64 16 } } +@frame.str.288 = private unnamed_addr constant [37 x i8] c" if n == 100 { raise error.Bar; }\00" +@trace.frame.289 = 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.285, i64 3 }, { ptr, i64 } { ptr @frame.str.288, i64 36 } } +@frame.str.290 = private unnamed_addr constant [4 x i8] c"run\00" +@frame.str.291 = private unnamed_addr constant [16 x i8] c" try mid(n);\00" +@trace.frame.292 = 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.290, i64 3 }, { ptr, i64 } { ptr @frame.str.291, i64 15 } } +@str.293 = private unnamed_addr constant [21 x i8] c"inferred result: {}\0A\00", align 1 +@str.294 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.295 = private unnamed_addr constant [21 x i8] c"inferred result: {}\0A\00", align 1 +@str.296 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.297 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.298 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.299 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.297 = private constant [5 x i8] c"line\00" -@fld.str.298 = private constant [4 x i8] c"col\00" -@fld.str.299 = 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.297, i64 4 }, { ptr, i64 } { ptr @fld.str.298, i64 3 }, { ptr, i64 } { ptr @fld.str.299, i64 4 }] -@str.300 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.301 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.302 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.303 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.304 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.305 = private constant [4 x i8] c"ctx\00" -@fld.str.306 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.307 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.308 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.305, i64 3 }, { ptr, i64 } { ptr @fld.str.306, i64 11 }, { ptr, i64 } { ptr @fld.str.307, i64 13 }] -@str.309 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.310 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.311 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.312 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.313 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.314 = private constant [10 x i8] c"allocator\00" -@fld.str.315 = private constant [5 x i8] c"data\00" -@field_names.316 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.314, i64 9 }, { ptr, i64 } { ptr @fld.str.315, i64 4 }] -@str.317 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.318 = private unnamed_addr constant [11 x i8] c"CAllocator\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 -@field_names.322 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.323 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.324 = private unnamed_addr constant [4 x i8] c"GPA\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.327 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.328 = private constant [12 x i8] c"alloc_count\00" -@field_names.329 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.328, i64 11 }] -@str.330 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.331 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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"}\00", align 1 -@str.334 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.335 = private constant [5 x i8] c"next\00" -@fld.str.336 = private constant [4 x i8] c"cap\00" -@field_names.337 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.335, i64 4 }, { ptr, i64 } { ptr @fld.str.336, i64 3 }] -@str.338 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.339 = private unnamed_addr constant [6 x i8] c"Arena\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.343 = private constant [6 x i8] c"first\00" -@fld.str.344 = private constant [10 x i8] c"end_index\00" -@fld.str.345 = private constant [7 x i8] c"parent\00" -@field_names.346 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.343, i64 5 }, { ptr, i64 } { ptr @fld.str.344, i64 9 }, { ptr, i64 } { ptr @fld.str.345, i64 6 }] -@str.347 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.348 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" -@fld.str.353 = private constant [4 x i8] c"len\00" -@fld.str.354 = private constant [4 x i8] c"pos\00" -@field_names.355 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.352, i64 3 }, { ptr, i64 } { ptr @fld.str.353, i64 3 }, { ptr, i64 } { ptr @fld.str.354, i64 3 }] -@str.356 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.357 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" -@fld.str.362 = private constant [12 x i8] c"alloc_count\00" -@fld.str.363 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.364 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.365 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.361, i64 6 }, { ptr, i64 } { ptr @fld.str.362, i64 11 }, { ptr, i64 } { ptr @fld.str.363, i64 13 }, { ptr, i64 } { ptr @fld.str.364, i64 17 }] -@str.366 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.367 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" -@field_names.372 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.371, i64 2 }] -@str.373 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.374 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" -@fld.str.379 = private constant [5 x i8] c"line\00" -@fld.str.380 = private constant [4 x i8] c"col\00" -@fld.str.381 = private constant [5 x i8] c"func\00" -@fld.str.382 = private constant [10 x i8] c"line_text\00" -@field_names.383 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.378, i64 4 }, { ptr, i64 } { ptr @fld.str.379, i64 4 }, { ptr, i64 } { ptr @fld.str.380, i64 3 }, { ptr, i64 } { ptr @fld.str.381, i64 4 }, { ptr, i64 } { ptr @fld.str.382, i64 9 }] -@str.384 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.385 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" -@fld.str.390 = private constant [7 x i8] c"stdout\00" -@field_names.391 = private constant [2 x { ptr, i64 }] [{ 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"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.398 = private constant [11 x i8] c"sin_family\00" -@fld.str.399 = private constant [9 x i8] c"sin_port\00" -@fld.str.400 = private constant [9 x i8] c"sin_addr\00" -@fld.str.401 = private constant [9 x i8] c"sin_zero\00" -@field_names.402 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.397, i64 7 }, { ptr, i64 } { ptr @fld.str.398, i64 10 }, { ptr, i64 } { ptr @fld.str.399, i64 8 }, { ptr, i64 } { ptr @fld.str.400, i64 8 }, { ptr, i64 } { ptr @fld.str.401, i64 8 }] -@str.403 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.404 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" -@fld.str.409 = private constant [4 x i8] c"len\00" -@fld.str.410 = private constant [4 x i8] c"cap\00" -@field_names.411 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.408, i64 5 }, { ptr, i64 } { ptr @fld.str.409, i64 3 }, { ptr, i64 } { ptr @fld.str.410, i64 3 }] -@str.412 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.413 = private unnamed_addr constant [7 x i8] c"Object\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 [6 x i8] c"items\00" -@fld.str.418 = private constant [4 x i8] c"len\00" -@fld.str.419 = private constant [4 x i8] c"cap\00" -@field_names.420 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.417, i64 5 }, { ptr, i64 } { ptr @fld.str.418, i64 3 }, { ptr, i64 } { ptr @fld.str.419, i64 3 }] -@str.421 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.422 = private unnamed_addr constant [7 x i8] c"Member\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 [4 x i8] c"key\00" -@fld.str.427 = private constant [4 x i8] c"val\00" -@field_names.428 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.426, i64 3 }, { ptr, i64 } { ptr @fld.str.427, i64 3 }] -@str.429 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.430 = private unnamed_addr constant [5 x i8] c"Sink\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 [4 x i8] c"dst\00" -@fld.str.435 = private constant [4 x i8] c"pos\00" -@fld.str.436 = private constant [5 x i8] c"file\00" -@field_names.437 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.434, i64 3 }, { ptr, i64 } { ptr @fld.str.435, i64 3 }, { ptr, i64 } { ptr @fld.str.436, i64 4 }] -@str.438 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.439 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" -@fld.str.444 = private constant [4 x i8] c"pos\00" -@fld.str.445 = private constant [6 x i8] c"alloc\00" -@field_names.446 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.443, i64 3 }, { ptr, i64 } { ptr @fld.str.444, i64 3 }, { ptr, i64 } { ptr @fld.str.445, i64 5 }] -@str.447 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.448 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.452 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.453 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.454 = private unnamed_addr constant [9 x i8] c"FlagSpec\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"name\00" -@fld.str.459 = private constant [12 x i8] c"takes_value\00" -@fld.str.460 = private constant [9 x i8] c"required\00" -@field_names.461 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.458, i64 4 }, { ptr, i64 } { ptr @fld.str.459, i64 11 }, { 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 [8 x i8] c"Command\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"group\00" -@fld.str.468 = private constant [8 x i8] c"command\00" -@fld.str.469 = private constant [6 x i8] c"flags\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 7 }, { 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 [10 x i8] c"FlagValue\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"set\00" -@fld.str.477 = private constant [6 x i8] c"value\00" -@field_names.478 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.476, i64 3 }, { ptr, i64 } { ptr @fld.str.477, i64 5 }] -@str.479 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.480 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" -@fld.str.485 = private constant [6 x i8] c"token\00" -@field_names.486 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.484, i64 5 }, { 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 [7 x i8] c"Parsed\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 [10 x i8] c"cmd_index\00" -@fld.str.495 = private constant [5 x i8] c"json\00" -@fld.str.496 = private constant [5 x i8] c"rest\00" -@fld.str.497 = private constant [5 x i8] c"spec\00" -@fld.str.498 = private constant [7 x i8] c"values\00" -@field_names.499 = private constant [7 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 9 }, { ptr, i64 } { ptr @fld.str.495, i64 4 }, { ptr, i64 } { ptr @fld.str.496, i64 4 }, { ptr, i64 } { ptr @fld.str.497, i64 4 }, { ptr, i64 } { ptr @fld.str.498, i64 6 }] -@str.500 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.501 = private unnamed_addr constant [7 x i8] c"Sha256\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 -@fld.str.505 = private constant [2 x i8] c"h\00" -@fld.str.506 = private constant [4 x i8] c"buf\00" -@fld.str.507 = private constant [8 x i8] c"buf_len\00" -@fld.str.508 = private constant [10 x i8] c"total_len\00" -@field_names.509 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.505, i64 1 }, { ptr, i64 } { ptr @fld.str.506, i64 3 }, { ptr, i64 } { ptr @fld.str.507, i64 7 }, { ptr, i64 } { ptr @fld.str.508, i64 9 }] -@str.510 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.511 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.512 = private constant [5 x i8] c"read\00" -@fld.str.513 = private constant [6 x i8] c"write\00" -@fld.str.514 = private constant [7 x i8] c"append\00" -@fld.str.515 = private constant [11 x i8] c"read_write\00" -@field_names.516 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.512, i64 4 }, { ptr, i64 } { ptr @fld.str.513, i64 5 }, { ptr, i64 } { ptr @fld.str.514, i64 6 }, { ptr, i64 } { ptr @fld.str.515, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.520 = private constant [4 x i8] c"set\00" -@fld.str.521 = private constant [8 x i8] c"current\00" -@fld.str.522 = private constant [4 x i8] c"end\00" -@field_names.523 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.520, i64 3 }, { ptr, i64 } { ptr @fld.str.521, i64 7 }, { ptr, i64 } { ptr @fld.str.522, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.527 = private constant [6 x i8] c"null_\00" -@fld.str.528 = private constant [6 x i8] c"bool_\00" -@fld.str.529 = private constant [5 x i8] c"int_\00" -@fld.str.530 = private constant [4 x i8] c"str\00" -@fld.str.531 = private constant [6 x i8] c"array\00" -@fld.str.532 = private constant [7 x i8] c"object\00" -@field_names.533 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.527, i64 5 }, { ptr, i64 } { ptr @fld.str.528, i64 5 }, { ptr, i64 } { ptr @fld.str.529, i64 4 }, { ptr, i64 } { ptr @fld.str.530, i64 3 }, { ptr, i64 } { ptr @fld.str.531, i64 5 }, { ptr, i64 } { ptr @fld.str.532, i64 6 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.537 = private constant [6 x i8] c"macos\00" -@fld.str.538 = private constant [6 x i8] c"linux\00" -@fld.str.539 = private constant [8 x i8] c"windows\00" -@fld.str.540 = private constant [5 x i8] c"wasm\00" -@fld.str.541 = private constant [4 x i8] c"ios\00" -@fld.str.542 = private constant [8 x i8] c"android\00" -@fld.str.543 = private constant [8 x i8] c"unknown\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 5 }, { ptr, i64 } { ptr @fld.str.539, i64 7 }, { ptr, i64 } { ptr @fld.str.540, i64 4 }, { ptr, i64 } { ptr @fld.str.541, i64 3 }, { ptr, i64 } { ptr @fld.str.542, i64 7 }, { ptr, i64 } { ptr @fld.str.543, i64 7 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.548 = private constant [8 x i8] c"aarch64\00" -@fld.str.549 = private constant [7 x i8] c"x86_64\00" -@fld.str.550 = private constant [7 x i8] c"wasm32\00" -@fld.str.551 = private constant [7 x i8] c"wasm64\00" -@fld.str.552 = private constant [8 x i8] c"unknown\00" -@field_names.553 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.548, i64 7 }, { ptr, i64 } { ptr @fld.str.549, i64 6 }, { ptr, i64 } { ptr @fld.str.550, i64 6 }, { ptr, i64 } { ptr @fld.str.551, i64 6 }, { ptr, i64 } { ptr @fld.str.552, i64 7 }] -@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 [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 +@fld.str.300 = private constant [5 x i8] c"line\00" +@fld.str.301 = private constant [4 x i8] c"col\00" +@fld.str.302 = 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.300, i64 4 }, { ptr, i64 } { ptr @fld.str.301, i64 3 }, { ptr, i64 } { ptr @fld.str.302, i64 4 }] +@str.303 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.304 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.305 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.306 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.307 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.308 = private constant [4 x i8] c"ctx\00" +@fld.str.309 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.310 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.311 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.308, i64 3 }, { ptr, i64 } { ptr @fld.str.309, i64 11 }, { ptr, i64 } { ptr @fld.str.310, i64 13 }] +@str.312 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.313 = private unnamed_addr constant [8 x i8] c"Context\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 +@fld.str.317 = private constant [10 x i8] c"allocator\00" +@fld.str.318 = private constant [5 x i8] c"data\00" +@field_names.319 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.317, i64 9 }, { ptr, i64 } { ptr @fld.str.318, i64 4 }] +@str.320 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.321 = private unnamed_addr constant [11 x i8] c"CAllocator\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 +@field_names.325 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.326 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.327 = private unnamed_addr constant [4 x i8] c"GPA\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 [12 x i8] c"alloc_count\00" +@field_names.332 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.331, i64 11 }] +@str.333 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.334 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" +@fld.str.339 = private constant [4 x i8] c"cap\00" +@field_names.340 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.338, i64 4 }, { ptr, i64 } { ptr @fld.str.339, i64 3 }] +@str.341 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.342 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" +@fld.str.347 = private constant [10 x i8] c"end_index\00" +@fld.str.348 = private constant [7 x i8] c"parent\00" +@field_names.349 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.346, i64 5 }, { ptr, i64 } { ptr @fld.str.347, i64 9 }, { ptr, i64 } { ptr @fld.str.348, i64 6 }] +@str.350 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.351 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" +@fld.str.356 = private constant [4 x i8] c"len\00" +@fld.str.357 = private constant [4 x i8] c"pos\00" +@field_names.358 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.355, i64 3 }, { ptr, i64 } { ptr @fld.str.356, i64 3 }, { ptr, i64 } { ptr @fld.str.357, i64 3 }] +@str.359 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.360 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" +@fld.str.365 = private constant [12 x i8] c"alloc_count\00" +@fld.str.366 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.367 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.368 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.364, i64 6 }, { ptr, i64 } { ptr @fld.str.365, i64 11 }, { ptr, i64 } { ptr @fld.str.366, i64 13 }, { ptr, i64 } { ptr @fld.str.367, i64 17 }] +@str.369 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.370 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" +@field_names.375 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.374, i64 2 }] +@str.376 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.377 = private unnamed_addr constant [11 x i8] c"TraceFrame\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"file\00" +@fld.str.382 = private constant [5 x i8] c"line\00" +@fld.str.383 = private constant [4 x i8] c"col\00" +@fld.str.384 = private constant [5 x i8] c"func\00" +@fld.str.385 = private constant [10 x i8] c"line_text\00" +@field_names.386 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.381, i64 4 }, { ptr, i64 } { ptr @fld.str.382, i64 4 }, { ptr, i64 } { ptr @fld.str.383, i64 3 }, { ptr, i64 } { ptr @fld.str.384, i64 4 }, { ptr, i64 } { ptr @fld.str.385, i64 9 }] +@str.387 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.388 = private unnamed_addr constant [14 x i8] c"ProcessResult\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"exit_code\00" +@fld.str.393 = private constant [7 x i8] c"stdout\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 6 }] +@str.395 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.396 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" +@fld.str.401 = private constant [11 x i8] c"sin_family\00" +@fld.str.402 = private constant [9 x i8] c"sin_port\00" +@fld.str.403 = private constant [9 x i8] c"sin_addr\00" +@fld.str.404 = private constant [9 x i8] c"sin_zero\00" +@field_names.405 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.400, i64 7 }, { ptr, i64 } { ptr @fld.str.401, i64 10 }, { ptr, i64 } { ptr @fld.str.402, i64 8 }, { ptr, i64 } { ptr @fld.str.403, i64 8 }, { ptr, i64 } { ptr @fld.str.404, i64 8 }] +@str.406 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.407 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" +@fld.str.412 = private constant [4 x i8] c"len\00" +@fld.str.413 = private constant [4 x i8] c"cap\00" +@field_names.414 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.411, i64 5 }, { 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 [7 x i8] c"Object\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 [6 x i8] c"items\00" +@fld.str.421 = private constant [4 x i8] c"len\00" +@fld.str.422 = private constant [4 x i8] c"cap\00" +@field_names.423 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.420, i64 5 }, { ptr, i64 } { ptr @fld.str.421, i64 3 }, { ptr, i64 } { ptr @fld.str.422, i64 3 }] +@str.424 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.425 = private unnamed_addr constant [7 x i8] c"Member\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 [4 x i8] c"key\00" +@fld.str.430 = private constant [4 x i8] c"val\00" +@field_names.431 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.429, i64 3 }, { ptr, i64 } { ptr @fld.str.430, i64 3 }] +@str.432 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.433 = private unnamed_addr constant [5 x i8] c"Sink\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 [4 x i8] c"dst\00" +@fld.str.438 = private constant [4 x i8] c"pos\00" +@fld.str.439 = private constant [5 x i8] c"file\00" +@field_names.440 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.437, i64 3 }, { ptr, i64 } { ptr @fld.str.438, i64 3 }, { ptr, i64 } { ptr @fld.str.439, i64 4 }] +@str.441 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.442 = private unnamed_addr constant [7 x i8] c"Parser\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"src\00" +@fld.str.447 = private constant [4 x i8] c"pos\00" +@fld.str.448 = private constant [6 x i8] c"alloc\00" +@field_names.449 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.446, i64 3 }, { ptr, i64 } { ptr @fld.str.447, i64 3 }, { ptr, i64 } { ptr @fld.str.448, i64 5 }] +@str.450 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.451 = private unnamed_addr constant [13 x i8] c"BuildOptions\00", align 1 +@str.452 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.453 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.454 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.455 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.456 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.457 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" +@fld.str.462 = private constant [12 x i8] c"takes_value\00" +@fld.str.463 = private constant [9 x i8] c"required\00" +@field_names.464 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.461, i64 4 }, { ptr, i64 } { ptr @fld.str.462, i64 11 }, { ptr, i64 } { ptr @fld.str.463, i64 8 }] +@str.465 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.466 = private unnamed_addr constant [8 x i8] c"Command\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"group\00" +@fld.str.471 = private constant [8 x i8] c"command\00" +@fld.str.472 = private constant [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.472, i64 5 }] +@str.474 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.475 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" +@fld.str.480 = private constant [6 x i8] c"value\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 5 }] +@str.482 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.483 = private unnamed_addr constant [5 x i8] c"Diag\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"index\00" +@fld.str.488 = private constant [6 x i8] c"token\00" +@field_names.489 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.487, i64 5 }, { 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 [7 x i8] c"Parsed\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 [10 x i8] c"cmd_index\00" +@fld.str.498 = private constant [5 x i8] c"json\00" +@fld.str.499 = private constant [5 x i8] c"rest\00" +@fld.str.500 = private constant [5 x i8] c"spec\00" +@fld.str.501 = private constant [7 x i8] c"values\00" +@field_names.502 = private constant [7 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 9 }, { ptr, i64 } { ptr @fld.str.498, i64 4 }, { ptr, i64 } { ptr @fld.str.499, i64 4 }, { ptr, i64 } { ptr @fld.str.500, i64 4 }, { ptr, i64 } { ptr @fld.str.501, i64 6 }] +@str.503 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.504 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" +@fld.str.509 = private constant [4 x i8] c"buf\00" +@fld.str.510 = private constant [8 x i8] c"buf_len\00" +@fld.str.511 = private constant [10 x i8] c"total_len\00" +@field_names.512 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.508, i64 1 }, { ptr, i64 } { ptr @fld.str.509, i64 3 }, { ptr, i64 } { ptr @fld.str.510, i64 7 }, { ptr, i64 } { ptr @fld.str.511, i64 9 }] +@str.513 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.514 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.515 = private constant [5 x i8] c"read\00" +@fld.str.516 = private constant [6 x i8] c"write\00" +@fld.str.517 = private constant [7 x i8] c"append\00" +@fld.str.518 = private constant [11 x i8] c"read_write\00" +@field_names.519 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.515, i64 4 }, { ptr, i64 } { ptr @fld.str.516, i64 5 }, { ptr, i64 } { ptr @fld.str.517, i64 6 }, { ptr, i64 } { ptr @fld.str.518, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.523 = private constant [4 x i8] c"set\00" +@fld.str.524 = private constant [8 x i8] c"current\00" +@fld.str.525 = private constant [4 x i8] c"end\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 7 }, { ptr, i64 } { ptr @fld.str.525, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.530 = private constant [6 x i8] c"null_\00" +@fld.str.531 = private constant [6 x i8] c"bool_\00" +@fld.str.532 = private constant [5 x i8] c"int_\00" +@fld.str.533 = private constant [4 x i8] c"str\00" +@fld.str.534 = private constant [6 x i8] c"array\00" +@fld.str.535 = private constant [7 x i8] c"object\00" +@field_names.536 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.530, i64 5 }, { ptr, i64 } { ptr @fld.str.531, i64 5 }, { ptr, i64 } { ptr @fld.str.532, i64 4 }, { ptr, i64 } { ptr @fld.str.533, i64 3 }, { ptr, i64 } { ptr @fld.str.534, i64 5 }, { ptr, i64 } { ptr @fld.str.535, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.540 = private constant [6 x i8] c"macos\00" +@fld.str.541 = private constant [6 x i8] c"linux\00" +@fld.str.542 = private constant [8 x i8] c"windows\00" +@fld.str.543 = private constant [5 x i8] c"wasm\00" +@fld.str.544 = private constant [4 x i8] c"ios\00" +@fld.str.545 = private constant [8 x i8] c"android\00" +@fld.str.546 = private constant [8 x i8] c"unknown\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 5 }, { ptr, i64 } { ptr @fld.str.542, i64 7 }, { ptr, i64 } { ptr @fld.str.543, i64 4 }, { ptr, i64 } { ptr @fld.str.544, i64 3 }, { ptr, i64 } { ptr @fld.str.545, i64 7 }, { ptr, i64 } { ptr @fld.str.546, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.551 = private constant [8 x i8] c"aarch64\00" +@fld.str.552 = private constant [7 x i8] c"x86_64\00" +@fld.str.553 = private constant [7 x i8] c"wasm32\00" +@fld.str.554 = private constant [7 x i8] c"wasm64\00" +@fld.str.555 = private constant [8 x i8] c"unknown\00" +@field_names.556 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.551, i64 7 }, { ptr, i64 } { ptr @fld.str.552, i64 6 }, { ptr, i64 } { ptr @fld.str.553, i64 6 }, { ptr, i64 } { ptr @fld.str.554, i64 6 }, { ptr, i64 } { ptr @fld.str.555, i64 7 }] +@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 [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 @@ -523,35 +523,35 @@ @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 -@str.589 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.590 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.591 = private unnamed_addr constant [4 x i8] c"@0x\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 @str.592 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.593 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.593 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.594 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.595 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.596 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.596 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.597 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.598 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.599 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.599 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.600 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.601 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.602 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.602 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.603 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.604 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.605 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 +@str.605 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.606 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.607 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.608 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 +@str.608 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.609 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.610 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.611 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.611 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.612 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.613 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.614 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.614 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.615 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.616 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.617 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.617 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.618 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.619 = private unnamed_addr constant [5 x i8] c"null\00", align 1 @str.620 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @@ -614,12 +614,16 @@ @str.677 = private unnamed_addr constant [7 x i8] c"*[]Any\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 [6 x i8] c"*bool\00", align 1 +@str.680 = private unnamed_addr constant [4 x i8] c"*u8\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 [5 x i8] c"null\00", align 1 -@str.684 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.683 = private unnamed_addr constant [6 x i8] c"*bool\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 [5 x i8] c"null\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"null\00", align 1 +@str.689 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -636,7 +640,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -687,7 +691,7 @@ if.merge.27: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -777,7 +781,7 @@ if.merge.69: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.78 @@ -980,7 +984,7 @@ if.merge.103: ; preds = %if.else.102, %if.th %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1223,7 +1227,7 @@ if.merge.382: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1295,7 +1299,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1326,7 +1330,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1341,6 +1345,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1383,87 +1396,88 @@ entry: i64 1, label %match.arm.53 i64 10, label %match.arm.54 i64 11, label %match.arm.54 - i64 19, label %match.arm.55 i64 20, label %match.arm.55 i64 21, label %match.arm.55 - i64 24, label %match.arm.55 - i64 26, label %match.arm.55 - i64 28, label %match.arm.55 - i64 30, label %match.arm.55 - i64 33, label %match.arm.55 - i64 35, label %match.arm.55 - i64 39, label %match.arm.55 - i64 43, label %match.arm.55 - i64 45, label %match.arm.55 - i64 48, label %match.arm.55 - i64 52, label %match.arm.55 + i64 22, label %match.arm.55 + i64 25, label %match.arm.55 + i64 27, label %match.arm.55 + i64 29, label %match.arm.55 + i64 31, label %match.arm.55 + i64 34, label %match.arm.55 + i64 36, label %match.arm.55 + i64 40, label %match.arm.55 + i64 44, label %match.arm.55 + i64 46, label %match.arm.55 + i64 49, label %match.arm.55 i64 53, label %match.arm.55 - i64 55, label %match.arm.55 - i64 61, label %match.arm.55 - i64 66, label %match.arm.55 - i64 72, label %match.arm.55 - i64 76, label %match.arm.55 - i64 78, label %match.arm.55 + i64 54, label %match.arm.55 + i64 56, label %match.arm.55 + i64 62, label %match.arm.55 + i64 67, label %match.arm.55 + i64 73, label %match.arm.55 + i64 77, label %match.arm.55 i64 79, label %match.arm.55 i64 80, label %match.arm.55 - i64 82, label %match.arm.55 - i64 89, label %match.arm.55 - i64 37, label %match.arm.56 + i64 81, label %match.arm.55 + i64 83, label %match.arm.55 + i64 90, label %match.arm.55 i64 38, label %match.arm.56 - i64 54, label %match.arm.56 - i64 70, label %match.arm.56 + i64 39, label %match.arm.56 + i64 55, label %match.arm.56 i64 71, label %match.arm.56 - i64 51, label %match.arm.57 - i64 64, label %match.arm.57 - i64 75, label %match.arm.57 - i64 93, label %match.arm.57 + i64 72, label %match.arm.56 + i64 52, label %match.arm.57 + i64 65, label %match.arm.57 + i64 76, label %match.arm.57 i64 94, label %match.arm.57 - i64 22, label %match.arm.59 - i64 81, label %match.arm.59 - i64 87, label %match.arm.59 + i64 95, label %match.arm.57 + i64 23, label %match.arm.59 + i64 82, label %match.arm.59 i64 88, label %match.arm.59 - i64 92, label %match.arm.59 - i64 101, label %match.arm.59 - i64 23, label %match.arm.60 - i64 60, label %match.arm.60 - i64 77, label %match.arm.60 - i64 85, label %match.arm.60 - i64 99, label %match.arm.60 - i64 18, label %match.arm.61 - i64 25, label %match.arm.61 - i64 27, label %match.arm.61 - i64 29, label %match.arm.61 - i64 31, label %match.arm.61 + i64 89, label %match.arm.59 + i64 93, label %match.arm.59 + i64 102, label %match.arm.59 + i64 24, label %match.arm.60 + i64 61, label %match.arm.60 + i64 78, label %match.arm.60 + i64 86, label %match.arm.60 + i64 100, label %match.arm.60 + i64 19, label %match.arm.61 + i64 26, label %match.arm.61 + i64 28, label %match.arm.61 + i64 30, label %match.arm.61 i64 32, label %match.arm.61 - i64 34, label %match.arm.61 - i64 36, label %match.arm.61 - i64 40, label %match.arm.61 - i64 44, label %match.arm.61 - i64 47, label %match.arm.61 - i64 49, label %match.arm.61 + i64 33, label %match.arm.61 + i64 35, label %match.arm.61 + i64 37, label %match.arm.61 + i64 41, label %match.arm.61 + i64 48, label %match.arm.61 i64 50, label %match.arm.61 - i64 56, label %match.arm.61 + i64 51, label %match.arm.61 i64 57, label %match.arm.61 i64 58, label %match.arm.61 i64 59, label %match.arm.61 - i64 62, label %match.arm.61 - i64 67, label %match.arm.61 - i64 74, label %match.arm.61 - i64 83, label %match.arm.61 - i64 86, label %match.arm.61 - i64 90, label %match.arm.61 - i64 95, label %match.arm.61 + i64 60, label %match.arm.61 + i64 63, label %match.arm.61 + i64 68, label %match.arm.61 + i64 75, label %match.arm.61 + i64 84, label %match.arm.61 + i64 87, label %match.arm.61 + i64 91, label %match.arm.61 i64 96, label %match.arm.61 i64 97, label %match.arm.61 i64 98, label %match.arm.61 - i64 100, label %match.arm.61 - i64 102, label %match.arm.61 + i64 99, label %match.arm.61 + i64 101, label %match.arm.61 i64 103, label %match.arm.61 i64 104, label %match.arm.61 - i64 41, label %match.arm.62 + i64 105, label %match.arm.61 + i64 106, label %match.arm.61 i64 42, label %match.arm.62 - i64 46, label %match.arm.62 - i64 91, label %match.arm.62 + i64 43, label %match.arm.62 + i64 45, label %match.arm.62 + i64 47, label %match.arm.62 + i64 92, label %match.arm.62 i64 13, label %match.arm.63 ] @@ -1481,7 +1495,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 [163 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [166 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 @@ -1514,31 +1528,31 @@ match.arm.55: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.107 [ - i64 19, label %dispatch.case.108 - i64 20, label %dispatch.case.109 - i64 21, label %dispatch.case.110 - i64 24, label %dispatch.case.111 - i64 26, label %dispatch.case.112 - i64 28, label %dispatch.case.113 - i64 30, label %dispatch.case.114 - i64 33, label %dispatch.case.115 - i64 35, label %dispatch.case.116 - i64 39, label %dispatch.case.117 - i64 43, label %dispatch.case.118 - i64 45, label %dispatch.case.119 - i64 48, label %dispatch.case.120 - i64 52, label %dispatch.case.121 - i64 53, label %dispatch.case.122 - i64 55, label %dispatch.case.123 - i64 61, label %dispatch.case.124 - i64 66, label %dispatch.case.125 - i64 72, label %dispatch.case.126 - i64 76, label %dispatch.case.127 - i64 78, label %dispatch.case.128 - i64 79, label %dispatch.case.129 - i64 80, label %dispatch.case.130 - i64 82, label %dispatch.case.131 - i64 89, label %dispatch.case.132 + i64 20, label %dispatch.case.108 + i64 21, label %dispatch.case.109 + i64 22, label %dispatch.case.110 + i64 25, label %dispatch.case.111 + i64 27, label %dispatch.case.112 + i64 29, label %dispatch.case.113 + i64 31, label %dispatch.case.114 + i64 34, label %dispatch.case.115 + i64 36, label %dispatch.case.116 + i64 40, label %dispatch.case.117 + i64 44, label %dispatch.case.118 + i64 46, label %dispatch.case.119 + i64 49, label %dispatch.case.120 + i64 53, label %dispatch.case.121 + i64 54, label %dispatch.case.122 + i64 56, label %dispatch.case.123 + i64 62, label %dispatch.case.124 + i64 67, label %dispatch.case.125 + i64 73, label %dispatch.case.126 + i64 77, label %dispatch.case.127 + i64 79, label %dispatch.case.128 + i64 80, label %dispatch.case.129 + i64 81, label %dispatch.case.130 + i64 83, label %dispatch.case.131 + i64 90, label %dispatch.case.132 ] match.arm.56: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1546,11 +1560,11 @@ match.arm.56: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.259 [ - i64 37, label %dispatch.case.260 - i64 38, label %dispatch.case.261 - i64 54, label %dispatch.case.262 - i64 70, label %dispatch.case.263 - i64 71, label %dispatch.case.264 + i64 38, label %dispatch.case.260 + i64 39, label %dispatch.case.261 + i64 55, label %dispatch.case.262 + i64 71, label %dispatch.case.263 + i64 72, label %dispatch.case.264 ] match.arm.57: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1573,12 +1587,12 @@ match.arm.59: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.276 [ - i64 22, label %dispatch.case.277 - i64 81, label %dispatch.case.278 - i64 87, label %dispatch.case.279 - i64 88, label %dispatch.case.280 - i64 92, label %dispatch.case.281 - i64 101, label %dispatch.case.282 + i64 23, label %dispatch.case.277 + i64 82, label %dispatch.case.278 + i64 88, label %dispatch.case.279 + i64 89, label %dispatch.case.280 + i64 93, label %dispatch.case.281 + i64 102, label %dispatch.case.282 ] match.arm.60: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1586,11 +1600,11 @@ match.arm.60: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.314 [ - i64 23, label %dispatch.case.315 - i64 60, label %dispatch.case.316 - i64 77, label %dispatch.case.317 - i64 85, label %dispatch.case.318 - i64 99, label %dispatch.case.319 + i64 24, label %dispatch.case.315 + i64 61, label %dispatch.case.316 + i64 78, label %dispatch.case.317 + i64 86, label %dispatch.case.318 + i64 100, label %dispatch.case.319 ] 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 @@ -1598,48 +1612,49 @@ match.arm.61: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.346 [ - i64 18, label %dispatch.case.347 - i64 25, label %dispatch.case.348 - i64 27, label %dispatch.case.349 - i64 29, label %dispatch.case.350 - i64 31, label %dispatch.case.351 - i64 32, label %dispatch.case.352 - i64 34, label %dispatch.case.353 - i64 36, label %dispatch.case.354 - i64 40, label %dispatch.case.355 - i64 44, label %dispatch.case.356 - i64 47, label %dispatch.case.357 - i64 49, label %dispatch.case.358 - i64 50, label %dispatch.case.359 - i64 56, label %dispatch.case.360 - i64 57, label %dispatch.case.361 - i64 58, label %dispatch.case.362 - i64 59, label %dispatch.case.363 - i64 62, label %dispatch.case.364 - i64 67, label %dispatch.case.365 - i64 74, label %dispatch.case.366 - i64 83, label %dispatch.case.367 - i64 86, label %dispatch.case.368 - i64 90, label %dispatch.case.369 - i64 95, label %dispatch.case.370 - i64 96, label %dispatch.case.371 - i64 97, label %dispatch.case.372 - i64 98, label %dispatch.case.373 - i64 100, label %dispatch.case.374 - i64 102, label %dispatch.case.375 - i64 103, label %dispatch.case.376 - i64 104, label %dispatch.case.377 + i64 19, label %dispatch.case.347 + i64 26, label %dispatch.case.348 + i64 28, label %dispatch.case.349 + i64 30, label %dispatch.case.350 + i64 32, label %dispatch.case.351 + i64 33, label %dispatch.case.352 + i64 35, label %dispatch.case.353 + i64 37, label %dispatch.case.354 + i64 41, label %dispatch.case.355 + i64 48, label %dispatch.case.356 + i64 50, label %dispatch.case.357 + i64 51, label %dispatch.case.358 + i64 57, label %dispatch.case.359 + i64 58, label %dispatch.case.360 + i64 59, label %dispatch.case.361 + i64 60, label %dispatch.case.362 + i64 63, label %dispatch.case.363 + i64 68, label %dispatch.case.364 + i64 75, label %dispatch.case.365 + i64 84, label %dispatch.case.366 + i64 87, label %dispatch.case.367 + i64 91, label %dispatch.case.368 + i64 96, label %dispatch.case.369 + i64 97, label %dispatch.case.370 + i64 98, label %dispatch.case.371 + i64 99, label %dispatch.case.372 + i64 101, label %dispatch.case.373 + i64 103, label %dispatch.case.374 + i64 104, label %dispatch.case.375 + i64 105, label %dispatch.case.376 + i64 106, label %dispatch.case.377 ] -match.arm.62: ; preds = %entry, %entry, %entry, %entry +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.485 [ - i64 41, label %dispatch.case.486 - i64 42, label %dispatch.case.487 - i64 46, label %dispatch.case.488 - i64 91, label %dispatch.case.489 + i64 42, label %dispatch.case.486 + i64 43, label %dispatch.case.487 + i64 45, label %dispatch.case.488 + i64 47, label %dispatch.case.489 + i64 92, label %dispatch.case.490 ] match.arm.63: ; preds = %entry @@ -1648,7 +1663,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 [163 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [166 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 @@ -1699,7 +1714,7 @@ dispatch.merge.106: ; preds = %dispatch.case.132, br label %match.merge.49 dispatch.default.107: ; preds = %match.arm.55 - store { ptr, i64 } { ptr @str.259, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.262, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.106 dispatch.case.108: ; preds = %match.arm.55 @@ -1908,7 +1923,7 @@ dispatch.merge.258: ; preds = %dispatch.case.264, br label %match.merge.49 dispatch.default.259: ; preds = %match.arm.56 - store { ptr, i64 } { ptr @str.260, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.263, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.258 dispatch.case.260: ; preds = %match.arm.56 @@ -1949,7 +1964,7 @@ dispatch.merge.275: ; preds = %dispatch.case.282, br label %match.merge.49 dispatch.default.276: ; preds = %match.arm.59 - store { ptr, i64 } { ptr @str.261, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.264, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.275 dispatch.case.277: ; preds = %match.arm.59 @@ -2006,7 +2021,7 @@ dispatch.merge.313: ; preds = %dispatch.case.319, br label %match.merge.49 dispatch.default.314: ; preds = %match.arm.60 - store { ptr, i64 } { ptr @str.262, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.265, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.313 dispatch.case.315: ; preds = %match.arm.60 @@ -2055,7 +2070,7 @@ dispatch.merge.345: ; preds = %dispatch.case.377, br label %match.merge.49 dispatch.default.346: ; preds = %match.arm.61 - store { ptr, i64 } { ptr @str.263, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.266, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.347: ; preds = %match.arm.61 @@ -2124,147 +2139,147 @@ dispatch.case.355: ; preds = %match.arm.61 dispatch.case.356: ; 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_u8(ptr %0, ptr %iNp247) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp247) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.357: ; 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_i32(ptr %0, ptr %iNp250) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp250) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.358: ; 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_SockAddr(ptr %0, ptr %iNp253) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp253) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.359: ; 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_u32(ptr %0, ptr %iNp256) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp256) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.360: ; 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_Value(ptr %0, ptr %iNp259) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp259) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.361: ; 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_Array(ptr %0, ptr %iNp262) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp262) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.362: ; 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__mptr_Member(ptr %0, ptr %iNp265) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp265) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.363: ; 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_Object(ptr %0, ptr %iNp268) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp268) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.364: ; 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_Sink(ptr %0, ptr %iNp271) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp271) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.365: ; 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_Parser(ptr %0, ptr %iNp274) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp274) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.366: ; 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_i64(ptr %0, ptr %iNp277) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp277) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.367: ; 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__ptr_Parsed(ptr %0, ptr %iNp280) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp280) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.368: ; 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_Diag(ptr %0, ptr %iNp283) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp283) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.369: ; 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__ptr_Sha256(ptr %0, ptr %iNp286) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp286) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.370: ; 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_ptr_CAllocator(ptr %0, ptr %iNp289) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp289) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.371: ; 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_ptr_void(ptr %0, ptr %iNp292) + %callN = call { ptr, i64 } @pointer_to_string__ptr_error_set(ptr %0, ptr %iNp292) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.372: ; 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_error_set(ptr %0, ptr %iNp295) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp295) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.373: ; 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_string(ptr %0, ptr %iNp298) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp298) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.374: ; 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_Any(ptr %0, ptr %iNp301) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp301) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.375: ; 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_AR_1_Any(ptr %0, ptr %iNp304) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp304) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 dispatch.case.376: ; 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_SL_Any(ptr %0, ptr %iNp307) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp307) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 @@ -2275,13 +2290,13 @@ dispatch.case.377: ; preds = %match.arm.61 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.345 -dispatch.merge.484: ; preds = %dispatch.case.489, %dispatch.case.488, %dispatch.case.487, %dispatch.case.486, %dispatch.default.485 +dispatch.merge.484: ; preds = %dispatch.case.490, %dispatch.case.489, %dispatch.case.488, %dispatch.case.487, %dispatch.case.486, %dispatch.default.485 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.49 dispatch.default.485: ; preds = %match.arm.62 - store { ptr, i64 } { ptr @str.264, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.267, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.484 dispatch.case.486: ; preds = %match.arm.62 @@ -2302,17 +2317,24 @@ dispatch.case.487: ; preds = %match.arm.62 dispatch.case.488: ; preds = %match.arm.62 %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr322 = inttoptr i64 %ua.raw321 to ptr - %ua.load323 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr322, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load323) + %iNp322 = inttoptr i64 %ua.raw321 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp322) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.484 dispatch.case.489: ; preds = %match.arm.62 - %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr326 = inttoptr i64 %ua.raw325 to ptr - %ua.load327 = load { [64 x i8], i1 }, ptr %ua.ptr326, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load327) + %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr325 = inttoptr i64 %ua.raw324 to ptr + %ua.load326 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr325, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load326) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.484 + +dispatch.case.490: ; preds = %match.arm.62 + %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr329 = inttoptr i64 %ua.raw328 to ptr + %ua.load330 = load { [64 x i8], i1 }, ptr %ua.ptr329, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load330) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.484 } @@ -2323,7 +2345,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.265, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.268, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2419,7 +2441,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.266, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.269, 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 @@ -2427,7 +2449,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.267, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.270, 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 @@ -2437,13 +2459,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.268, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.271, 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.269, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.272, 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 @@ -2451,7 +2473,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.270, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.273, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2465,7 +2487,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.271, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.274, 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 @@ -2473,7 +2495,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.272, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.275, 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 @@ -2484,7 +2506,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.273, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.276, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2541,7 +2563,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.274, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.277, 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 @@ -2549,7 +2571,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.275, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.278, 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 @@ -2560,7 +2582,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.276, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.279, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2580,7 +2602,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.277, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.280, 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 @@ -2588,7 +2610,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.278, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.281, 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 @@ -2599,7 +2621,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.279, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.282, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.48 @@ -2820,9 +2842,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3456,7 +3475,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.290, i64 20 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.293, 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 @@ -3472,7 +3491,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.291, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.294, 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) @@ -3500,7 +3519,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.292, i64 20 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.295, i64 20 }) ret { ptr, i64 } %call } @@ -3511,7 +3530,7 @@ 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.293, i64 15 }, { ptr, i64 } { ptr @str.294, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.296, i64 15 }, { ptr, i64 } { ptr @str.297, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3530,12 +3549,12 @@ while.body.134: ; preds = %while.hdr.133 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.295, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.298, i64 1 }) ret { ptr, i64 } %callN 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.296, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.299, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.137 @@ -3547,7 +3566,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.300, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.303, 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 @@ -3604,7 +3623,7 @@ 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.301, i64 9 }, { ptr, i64 } { ptr @str.302, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.304, i64 9 }, { ptr, i64 } { ptr @str.305, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3623,24 +3642,24 @@ while.body.139: ; preds = %while.hdr.138 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.303, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.306, i64 1 }) ret { ptr, i64 } %callN 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.304, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.307, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.142 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.308, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.311, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.312, 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 @@ -3667,19 +3686,19 @@ fv.default: ; preds = %if.merge.142 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 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge 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 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge 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 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -3689,7 +3708,7 @@ 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.310, i64 7 }, { ptr, i64 } { ptr @str.311, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.313, i64 7 }, { ptr, i64 } { ptr @str.314, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3708,24 +3727,24 @@ while.body.144: ; preds = %while.hdr.143 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.312, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.315, i64 1 }) ret { ptr, i64 } %callN 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.313, 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 br label %if.merge.147 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.316, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.319, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 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 { { ptr, ptr, ptr }, ptr }, ptr %alloca, align 8 @@ -3752,13 +3771,13 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge 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 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -3767,7 +3786,7 @@ 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.318, i64 10 }, { ptr, i64 } { ptr @str.319, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.321, i64 10 }, { ptr, i64 } { ptr @str.322, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3786,24 +3805,24 @@ while.body.149: ; preds = %while.hdr.148 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.320, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.323, i64 1 }) ret { ptr, i64 } %callN 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.321, 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 br label %if.merge.152 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.322, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.325, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.326, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -3822,7 +3841,7 @@ 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.324, i64 3 }, { ptr, i64 } { ptr @str.325, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.327, i64 3 }, { ptr, i64 } { ptr @str.328, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3841,24 +3860,24 @@ while.body.154: ; preds = %while.hdr.153 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.326, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.329, i64 1 }) ret { ptr, i64 } %callN 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.327, 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 br label %if.merge.157 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.329, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.332, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.333, 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 @@ -3891,7 +3910,7 @@ 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.331, i64 10 }, { ptr, i64 } { ptr @str.332, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.334, i64 10 }, { ptr, i64 } { ptr @str.335, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3910,24 +3929,24 @@ while.body.159: ; preds = %while.hdr.158 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.333, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.336, 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.334, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.337, 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 [2 x { ptr, i64 }], ptr @field_names.337, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.340, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %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.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 @@ -3953,7 +3972,7 @@ fv.default: ; preds = %if.merge.162 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 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.162 @@ -3968,7 +3987,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.339, i64 5 }, { ptr, i64 } { ptr @str.340, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.342, i64 5 }, { ptr, i64 } { ptr @str.343, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3987,24 +4006,24 @@ 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.341, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.344, 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.342, 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 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.346, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.349, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.350, 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 @@ -4031,7 +4050,7 @@ fv.default: ; preds = %if.merge.167 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 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.167 @@ -4043,7 +4062,7 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -4052,7 +4071,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.348, i64 8 }, { ptr, i64 } { ptr @str.349, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.351, i64 8 }, { ptr, i64 } { ptr @str.352, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4071,24 +4090,24 @@ 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.350, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, 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.351, 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 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.355, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.358, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.359, 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 @@ -4115,7 +4134,7 @@ fv.default: ; preds = %if.merge.172 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 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.172 @@ -4135,7 +4154,7 @@ 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.357, i64 17 }, { ptr, i64 } { ptr @str.358, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.360, i64 17 }, { 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 @@ -4154,24 +4173,24 @@ 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.359, 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.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.360, 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.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 [4 x { ptr, i64 }], ptr @field_names.365, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.366, 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 }, i64, i64, i64 }, ptr %alloca, align 8 @@ -4200,7 +4219,7 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.177 @@ -4224,7 +4243,7 @@ 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.367, i64 4 }, { ptr, i64 } { ptr @str.368, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.370, i64 4 }, { 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 @@ -4243,24 +4262,24 @@ while.body.179: ; preds = %while.hdr.178 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.369, 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.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.370, 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.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 [1 x { ptr, i64 }], ptr @field_names.372, 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.373, 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 { i32 }, ptr %alloca, align 4 @@ -4297,7 +4316,7 @@ 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.374, i64 10 }, { ptr, i64 } { ptr @str.375, 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 @@ -4316,24 +4335,24 @@ while.body.184: ; preds = %while.hdr.183 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.376, 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.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.377, 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.187 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.383, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.384, 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 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -4399,7 +4418,7 @@ 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.385, i64 13 }, { ptr, i64 } { ptr @str.386, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.388, i64 13 }, { 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 @@ -4418,24 +4437,24 @@ while.body.189: ; preds = %while.hdr.188 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.387, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.390, i64 1 }) ret { ptr, i64 } %callN 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.388, 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 br label %if.merge.192 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.391, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.392, 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 { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4477,7 +4496,7 @@ 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.393, i64 8 }, { ptr, i64 } { ptr @str.394, i64 1 }) + %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 @@ -4496,24 +4515,24 @@ while.body.194: ; preds = %while.hdr.193 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.395, 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.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.396, 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.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 [5 x { ptr, i64 }], ptr @field_names.402, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.403, 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 { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -4574,7 +4593,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.404, i64 5 }, { ptr, i64 } { ptr @str.405, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.407, i64 5 }, { 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 @@ -4593,24 +4612,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.406, 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.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.407, 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.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.411, i64 0, i64 %loadN + %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.412, 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, i64, i64 }, ptr %alloca, align 8 @@ -4637,7 +4656,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 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.202 @@ -4656,7 +4675,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.413, i64 6 }, { ptr, i64 } { ptr @str.414, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.416, i64 6 }, { 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 @@ -4675,24 +4694,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.415, 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.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.416, 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.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.420, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.421, 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, i64 }, ptr %alloca, align 8 @@ -4719,7 +4738,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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.207 @@ -4740,7 +4759,7 @@ entry: %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.422, i64 6 }, { ptr, i64 } { ptr @str.423, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.425, i64 6 }, { 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 @@ -4759,24 +4778,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.424, 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.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.425, 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.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.428, 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.429, 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 }, { i64, [24 x i8] } }, ptr %alloca, align 8 @@ -4810,7 +4829,7 @@ 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 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -4820,7 +4839,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.430, i64 4 }, { ptr, i64 } { ptr @str.431, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.433, i64 4 }, { 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 @@ -4839,24 +4858,24 @@ 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.432, 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.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.433, 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.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.437, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.440, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, i64, ptr }, ptr %alloca, align 8 @@ -4884,7 +4903,7 @@ 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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.217 @@ -4895,7 +4914,7 @@ fv.case17: ; preds = %if.merge.217 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 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -4906,7 +4925,7 @@ entry: %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.439, i64 6 }, { ptr, i64 } { ptr @str.440, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.442, i64 6 }, { ptr, i64 } { ptr @str.443, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4925,24 +4944,24 @@ 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.441, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.444, 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.442, 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 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.446, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.449, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.450, 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 @@ -4982,7 +5001,7 @@ 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 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -4991,7 +5010,7 @@ 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.448, i64 12 }, { ptr, i64 } { ptr @str.449, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.451, i64 12 }, { ptr, i64 } { ptr @str.452, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5010,24 +5029,24 @@ 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.450, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.453, 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.451, 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 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 [0 x { ptr, i64 }], ptr @field_names.452, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.453, 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 %alloca, align 1 @@ -5047,7 +5066,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.454, i64 8 }, { ptr, i64 } { ptr @str.455, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.457, i64 8 }, { 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 @@ -5066,24 +5085,24 @@ 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.456, 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.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.457, 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.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.461, 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.462, 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 }, i1, i1 }, ptr %alloca, align 8 @@ -5135,7 +5154,7 @@ entry: %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.463, i64 7 }, { ptr, i64 } { ptr @str.464, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.466, i64 7 }, { 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 @@ -5154,24 +5173,24 @@ 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.465, 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.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.466, 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.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.470, 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.471, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5213,7 +5232,7 @@ 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 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5223,7 +5242,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.472, i64 9 }, { ptr, i64 } { ptr @str.473, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.475, i64 9 }, { 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 @@ -5242,24 +5261,24 @@ 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.474, 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.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.475, 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.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.478, 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.479, 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 { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -5302,7 +5321,7 @@ 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.480, i64 4 }, { ptr, i64 } { ptr @str.481, 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 @@ -5321,24 +5340,24 @@ 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.482, 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.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.483, 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.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.486, 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.487, 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 { i64, { ptr, i64 } }, ptr %alloca, align 8 @@ -5384,7 +5403,7 @@ 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.488, i64 6 }, { ptr, i64 } { ptr @str.489, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.491, i64 6 }, { 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 @@ -5403,24 +5422,24 @@ 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.490, 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.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.491, 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.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 [7 x { ptr, i64 }], ptr @field_names.499, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 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.500, 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 { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, ptr %alloca, align 8 @@ -5477,21 +5496,21 @@ 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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge 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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge 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 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -5502,7 +5521,7 @@ 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.501, i64 6 }, { ptr, i64 } { ptr @str.502, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.504, i64 6 }, { 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 @@ -5521,24 +5540,24 @@ while.body.254: ; preds = %while.hdr.253 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.503, 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.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.504, 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.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 [4 x { ptr, i64 }], ptr @field_names.509, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.510, 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 { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -5567,14 +5586,14 @@ 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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge 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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.257 @@ -5597,9 +5616,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.516, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.519, 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.511, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.514, 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 @@ -5618,8 +5637,8 @@ entry: if.then.265: ; 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.518, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.517, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.520, 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.266 @@ -5638,9 +5657,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.523, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.526, 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.519, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.522, 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 @@ -5659,8 +5678,8 @@ entry: if.then.267: ; 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.525, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.524, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.527, 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.268 @@ -5690,9 +5709,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.533, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.536, 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.526, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.529, 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 @@ -5709,8 +5728,8 @@ entry: if.then.269: ; 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.535, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.534, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.538, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.537, 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.270 @@ -5766,7 +5785,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -5775,7 +5794,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -5788,9 +5807,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.544, 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 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.536, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.539, 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 @@ -5809,8 +5828,8 @@ entry: if.then.271: ; 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.546, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.545, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.548, 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.272 @@ -5829,9 +5848,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.553, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.556, 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.547, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.550, 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 @@ -5850,8 +5869,8 @@ entry: if.then.273: ; 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.555, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.554, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.557, 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.274 @@ -5868,7 +5887,7 @@ 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.556, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.559, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.283 @@ -5885,12 +5904,12 @@ while.body.284: ; preds = %while.hdr.283 while.exit.285: ; preds = %while.hdr.283 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.557, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 1 }) ret { ptr, i64 } %call 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.558, 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 br label %if.merge.287 @@ -5919,7 +5938,7 @@ 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.559, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.562, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.288 @@ -5936,12 +5955,12 @@ while.body.289: ; preds = %while.hdr.288 while.exit.290: ; preds = %while.hdr.288 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.560, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.563, i64 1 }) ret { ptr, i64 } %call 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.561, 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.292 @@ -5954,7 +5973,7 @@ if.merge.292: ; preds = %if.then.291, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -5971,7 +5990,7 @@ 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.562, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.565, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.293 @@ -5988,12 +6007,12 @@ while.body.294: ; preds = %while.hdr.293 while.exit.295: ; preds = %while.hdr.293 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.563, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.566, i64 1 }) ret { ptr, i64 } %call 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.564, 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.297 @@ -6021,7 +6040,7 @@ 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.565, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.568, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.298 @@ -6038,12 +6057,12 @@ while.body.299: ; preds = %while.hdr.298 while.exit.300: ; preds = %while.hdr.298 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.566, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.569, i64 1 }) ret { ptr, i64 } %call 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.567, 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 br label %if.merge.302 @@ -6072,7 +6091,7 @@ 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.568, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.571, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.303 @@ -6089,12 +6108,12 @@ while.body.304: ; preds = %while.hdr.303 while.exit.305: ; preds = %while.hdr.303 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.569, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.572, i64 1 }) ret { ptr, i64 } %call 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.570, 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.307 @@ -6123,7 +6142,7 @@ 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.571, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.574, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.308 @@ -6140,12 +6159,12 @@ while.body.309: ; preds = %while.hdr.308 while.exit.310: ; preds = %while.hdr.308 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.572, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.575, i64 1 }) ret { ptr, i64 } %call 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.573, i64 2 }) + %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 br label %if.merge.312 @@ -6175,7 +6194,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.574, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.577, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.320 @@ -6194,12 +6213,12 @@ while.body.321: ; preds = %while.hdr.320 while.exit.322: ; preds = %while.hdr.320 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.575, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.578, i64 1 }) ret { ptr, i64 } %call 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.576, 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 br label %if.merge.324 @@ -6228,7 +6247,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.577, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.580, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.325 @@ -6247,12 +6266,12 @@ while.body.326: ; preds = %while.hdr.325 while.exit.327: ; preds = %while.hdr.325 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.578, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 1 }) ret { ptr, i64 } %call 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.579, 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.329 @@ -6281,7 +6300,7 @@ 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.580, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.583, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.330 @@ -6300,12 +6319,12 @@ while.body.331: ; preds = %while.hdr.330 while.exit.332: ; preds = %while.hdr.330 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.581, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.584, i64 1 }) ret { ptr, i64 } %call if.then.333: ; preds = %while.body.331 %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.585, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.334 @@ -6318,7 +6337,7 @@ if.merge.334: ; preds = %if.then.333, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -6335,7 +6354,7 @@ 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.583, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.586, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.335 @@ -6354,12 +6373,12 @@ while.body.336: ; preds = %while.hdr.335 while.exit.337: ; preds = %while.hdr.335 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.584, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.587, i64 1 }) ret { ptr, i64 } %call if.then.338: ; preds = %while.body.336 %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 }) + %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.339 @@ -6372,7 +6391,7 @@ if.merge.339: ; preds = %if.then.338, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -6389,7 +6408,7 @@ 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.586, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.589, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.340 @@ -6408,12 +6427,12 @@ while.body.341: ; preds = %while.hdr.340 while.exit.342: ; preds = %while.hdr.340 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.587, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.590, i64 1 }) ret { ptr, i64 } %call if.then.343: ; preds = %while.body.341 %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.591, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.344 @@ -6455,12 +6474,12 @@ if.then.378: ; preds = %entry if.else.379: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.590, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.594, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.593, i64 5 }, { ptr, i64 } %callN) br label %if.merge.380 if.merge.380: ; preds = %if.else.379, %if.then.378 - %bp = phi { ptr, i64 } [ { ptr @str.589, i64 4 }, %if.then.378 ], [ %callN, %if.else.379 ] + %bp = phi { ptr, i64 } [ { ptr @str.592, i64 4 }, %if.then.378 ], [ %callN, %if.else.379 ] ret { ptr, i64 } %bp } @@ -6483,12 +6502,12 @@ if.then.394: ; preds = %entry if.else.395: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.594, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.593, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.597, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.596, i64 11 }, { ptr, i64 } %callN) br label %if.merge.396 if.merge.396: ; preds = %if.else.395, %if.then.394 - %bp = phi { ptr, i64 } [ { ptr @str.592, i64 4 }, %if.then.394 ], [ %callN, %if.else.395 ] + %bp = phi { ptr, i64 } [ { ptr @str.595, i64 4 }, %if.then.394 ], [ %callN, %if.else.395 ] ret { ptr, i64 } %bp } @@ -6511,12 +6530,12 @@ if.then.397: ; preds = %entry if.else.398: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.597, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.596, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 4 }, { ptr, i64 } %callN) br label %if.merge.399 if.merge.399: ; preds = %if.else.398, %if.then.397 - %bp = phi { ptr, i64 } [ { ptr @str.595, i64 4 }, %if.then.397 ], [ %callN, %if.else.398 ] + %bp = phi { ptr, i64 } [ { ptr @str.598, i64 4 }, %if.then.397 ], [ %callN, %if.else.398 ] ret { ptr, i64 } %bp } @@ -6539,12 +6558,12 @@ if.then.400: ; preds = %entry if.else.401: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.599, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.602, i64 11 }, { ptr, i64 } %callN) br label %if.merge.402 if.merge.402: ; preds = %if.else.401, %if.then.400 - %bp = phi { ptr, i64 } [ { ptr @str.598, i64 4 }, %if.then.400 ], [ %callN, %if.else.401 ] + %bp = phi { ptr, i64 } [ { ptr @str.601, i64 4 }, %if.then.400 ], [ %callN, %if.else.401 ] ret { ptr, i64 } %bp } @@ -6567,12 +6586,12 @@ if.then.403: ; preds = %entry if.else.404: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.602, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 6 }, { ptr, i64 } %callN) br label %if.merge.405 if.merge.405: ; preds = %if.else.404, %if.then.403 - %bp = phi { ptr, i64 } [ { ptr @str.601, i64 4 }, %if.then.403 ], [ %callN, %if.else.404 ] + %bp = phi { ptr, i64 } [ { ptr @str.604, i64 4 }, %if.then.403 ], [ %callN, %if.else.404 ] ret { ptr, i64 } %bp } @@ -6594,12 +6613,12 @@ if.then.406: ; preds = %entry 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.606, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.605, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.608, 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.604, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] + %bp = phi { ptr, i64 } [ { ptr @str.607, i64 4 }, %if.then.406 ], [ %callN, %if.else.407 ] ret { ptr, i64 } %bp } @@ -6622,12 +6641,12 @@ if.then.409: ; preds = %entry if.else.410: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.608, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.611, i64 9 }, { ptr, i64 } %callN) br label %if.merge.411 if.merge.411: ; preds = %if.else.410, %if.then.409 - %bp = phi { ptr, i64 } [ { ptr @str.607, i64 4 }, %if.then.409 ], [ %callN, %if.else.410 ] + %bp = phi { ptr, i64 } [ { ptr @str.610, i64 4 }, %if.then.409 ], [ %callN, %if.else.410 ] ret { ptr, i64 } %bp } @@ -6650,12 +6669,12 @@ if.then.412: ; preds = %entry 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.612, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.611, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.615, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.614, i64 18 }, { ptr, i64 } %callN) br label %if.merge.414 if.merge.414: ; preds = %if.else.413, %if.then.412 - %bp = phi { ptr, i64 } [ { ptr @str.610, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] + %bp = phi { ptr, i64 } [ { ptr @str.613, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] ret { ptr, i64 } %bp } @@ -6678,17 +6697,17 @@ if.then.415: ; preds = %entry if.else.416: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.615, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.614, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.618, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.617, i64 5 }, { ptr, i64 } %callN) br label %if.merge.417 if.merge.417: ; preds = %if.else.416, %if.then.415 - %bp = phi { ptr, i64 } [ { ptr @str.613, i64 4 }, %if.then.415 ], [ %callN, %if.else.416 ] + %bp = phi { ptr, i64 } [ { ptr @str.616, i64 4 }, %if.then.415 ], [ %callN, %if.else.416 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6706,17 +6725,17 @@ if.then.418: ; preds = %entry 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.618, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.617, i64 3 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.621, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.620, i64 4 }, { ptr, i64 } %callN) br label %if.merge.420 if.merge.420: ; preds = %if.else.419, %if.then.418 - %bp = phi { ptr, i64 } [ { ptr @str.616, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] + %bp = phi { ptr, i64 } [ { ptr @str.619, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6734,17 +6753,17 @@ if.then.421: ; preds = %entry if.else.422: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.621, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.620, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.624, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.623, i64 9 }, { ptr, i64 } %callN) br label %if.merge.423 if.merge.423: ; preds = %if.else.422, %if.then.421 - %bp = phi { ptr, i64 } [ { ptr @str.619, i64 4 }, %if.then.421 ], [ %callN, %if.else.422 ] + %bp = phi { ptr, i64 } [ { ptr @str.622, i64 4 }, %if.then.421 ], [ %callN, %if.else.422 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6762,40 +6781,12 @@ if.then.424: ; preds = %entry if.else.425: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.624, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.623, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.627, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.626, i64 4 }, { ptr, i64 } %callN) br label %if.merge.426 if.merge.426: ; preds = %if.else.425, %if.then.424 - %bp = phi { ptr, i64 } [ { ptr @str.622, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.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.627, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.626, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.429 - -if.merge.429: ; preds = %if.else.428, %if.then.427 - %bp = phi { ptr, i64 } [ { ptr @str.625, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] + %bp = phi { ptr, i64 } [ { ptr @str.625, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] ret { ptr, i64 } %bp } @@ -6809,20 +6800,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.430, label %if.else.431 + br i1 %icmp, label %if.then.427, label %if.else.428 -if.then.430: ; preds = %entry - br label %if.merge.432 +if.then.427: ; preds = %entry + br label %if.merge.429 -if.else.431: ; preds = %entry +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.630, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.629, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.432 + br label %if.merge.429 -if.merge.432: ; preds = %if.else.431, %if.then.430 - %bp = phi { ptr, i64 } [ { ptr @str.628, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] +if.merge.429: ; preds = %if.else.428, %if.then.427 + %bp = phi { ptr, i64 } [ { ptr @str.628, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] ret { ptr, i64 } %bp } @@ -6837,20 +6828,20 @@ entry: store i64 %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 + br i1 %icmp, label %if.then.430, label %if.else.431 -if.then.433: ; preds = %entry - br label %if.merge.435 +if.then.430: ; preds = %entry + br label %if.merge.432 -if.else.434: ; preds = %entry +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.633, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.632, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.435 + br label %if.merge.432 -if.merge.435: ; preds = %if.else.434, %if.then.433 - %bp = phi { ptr, i64 } [ { ptr @str.631, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] +if.merge.432: ; preds = %if.else.431, %if.then.430 + %bp = phi { ptr, i64 } [ { ptr @str.631, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] ret { ptr, i64 } %bp } @@ -6864,6 +6855,34 @@ 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.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.636, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.635, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.435 + +if.merge.435: ; preds = %if.else.434, %if.then.433 + %bp = phi { ptr, i64 } [ { ptr @str.634, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.436, label %if.else.437 if.then.436: ; preds = %entry @@ -6872,17 +6891,17 @@ if.then.436: ; preds = %entry 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.636, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.635, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.639, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.638, i64 7 }, { ptr, i64 } %callN) br label %if.merge.438 if.merge.438: ; preds = %if.else.437, %if.then.436 - %bp = phi { ptr, i64 } [ { ptr @str.634, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] + %bp = phi { ptr, i64 } [ { ptr @str.637, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6900,17 +6919,17 @@ if.then.439: ; preds = %entry 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.639, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.638, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.642, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.641, 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.637, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] + %bp = phi { ptr, i64 } [ { ptr @str.640, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6928,17 +6947,17 @@ if.then.442: ; preds = %entry 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.642, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.641, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.645, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.644, i64 7 }, { ptr, i64 } %callN) br label %if.merge.444 if.merge.444: ; preds = %if.else.443, %if.then.442 - %bp = phi { ptr, i64 } [ { ptr @str.640, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] + %bp = phi { ptr, i64 } [ { ptr @str.643, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6956,17 +6975,17 @@ 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.645, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.644, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.648, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.647, 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.643, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] + %bp = phi { ptr, i64 } [ { ptr @str.646, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6984,17 +7003,17 @@ 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.648, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.647, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 7 }, { ptr, i64 } %callN) br label %if.merge.450 if.merge.450: ; preds = %if.else.449, %if.then.448 - %bp = phi { ptr, i64 } [ { ptr @str.646, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] + %bp = phi { ptr, i64 } [ { ptr @str.649, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7012,17 +7031,17 @@ if.then.451: ; preds = %entry 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.651, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.650, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.653, i64 5 }, { ptr, i64 } %callN) br label %if.merge.453 if.merge.453: ; preds = %if.else.452, %if.then.451 - %bp = phi { ptr, i64 } [ { ptr @str.649, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] + %bp = phi { ptr, i64 } [ { ptr @str.652, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7040,17 +7059,17 @@ if.then.454: ; preds = %entry 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.654, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.653, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.656, i64 7 }, { ptr, i64 } %callN) br label %if.merge.456 if.merge.456: ; preds = %if.else.455, %if.then.454 - %bp = phi { ptr, i64 } [ { ptr @str.652, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] + %bp = phi { ptr, i64 } [ { ptr @str.655, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7068,17 +7087,17 @@ if.then.457: ; preds = %entry 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.657, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.656, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.660, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, i64 12 }, { ptr, i64 } %callN) br label %if.merge.459 if.merge.459: ; preds = %if.else.458, %if.then.457 - %bp = phi { ptr, i64 } [ { ptr @str.655, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] + %bp = phi { ptr, i64 } [ { ptr @str.658, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7096,17 +7115,17 @@ 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.660, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.659, i64 12 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.663, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.662, i64 6 }, { ptr, i64 } %callN) br label %if.merge.462 if.merge.462: ; preds = %if.else.461, %if.then.460 - %bp = phi { ptr, i64 } [ { ptr @str.658, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] + %bp = phi { ptr, i64 } [ { ptr @str.661, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_error_set(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7124,17 +7143,17 @@ if.then.463: ; preds = %entry 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.663, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.662, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.666, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.665, i64 10 }, { ptr, i64 } %callN) br label %if.merge.465 if.merge.465: ; preds = %if.else.464, %if.then.463 - %bp = phi { ptr, i64 } [ { ptr @str.661, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] + %bp = phi { ptr, i64 } [ { ptr @str.664, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_error_set(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7152,17 +7171,17 @@ if.then.466: ; preds = %entry 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.666, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.665, i64 10 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.668, i64 7 }, { ptr, i64 } %callN) br label %if.merge.468 if.merge.468: ; preds = %if.else.467, %if.then.466 - %bp = phi { ptr, i64 } [ { ptr @str.664, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] + %bp = phi { ptr, i64 } [ { ptr @str.667, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7180,17 +7199,17 @@ if.then.469: ; preds = %entry 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.669, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.668, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.671, 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.667, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] + %bp = phi { ptr, i64 } [ { ptr @str.670, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7208,17 +7227,17 @@ if.then.472: ; preds = %entry 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.672, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.671, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.474 if.merge.474: ; preds = %if.else.473, %if.then.472 - %bp = phi { ptr, i64 } [ { ptr @str.670, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] + %bp = phi { ptr, i64 } [ { ptr @str.673, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7236,17 +7255,17 @@ 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.675, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.674, i64 7 }, { ptr, i64 } %callN) + %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 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.673, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] + %bp = phi { ptr, i64 } [ { ptr @str.676, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7264,12 +7283,12 @@ if.then.478: ; preds = %entry 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.678, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.677, i64 6 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.480 if.merge.480: ; preds = %if.else.479, %if.then.478 - %bp = phi { ptr, i64 } [ { ptr @str.676, i64 4 }, %if.then.478 ], [ %callN, %if.else.479 ] + %bp = phi { ptr, i64 } [ { ptr @str.679, i64 4 }, %if.then.478 ], [ %callN, %if.else.479 ] ret { ptr, i64 } %bp } @@ -7292,12 +7311,12 @@ 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.681, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.680, i64 5 }, { ptr, i64 } %callN) + %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 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.679, i64 4 }, %if.then.481 ], [ %callN, %if.else.482 ] + %bp = phi { ptr, i64 } [ { ptr @str.682, i64 4 }, %if.then.481 ], [ %callN, %if.else.482 ] ret { ptr, i64 } %bp } @@ -7310,17 +7329,17 @@ 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.490, label %if.merge.491 + br i1 %lnot, label %if.then.491, label %if.merge.492 -if.then.490: ; preds = %entry - ret { ptr, i64 } { ptr @str.682, i64 4 } +if.then.491: ; preds = %entry + ret { ptr, i64 } { ptr @str.685, i64 4 } -if.merge.491: ; preds = %entry +if.merge.492: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7334,12 +7353,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.492, label %if.merge.493 + br i1 %lnot, label %if.then.493, label %if.merge.494 -if.then.492: ; preds = %entry - ret { ptr, i64 } { ptr @str.683, i64 4 } +if.then.493: ; preds = %entry + ret { ptr, i64 } { ptr @str.686, i64 4 } -if.merge.493: ; preds = %entry +if.merge.494: ; 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 @@ -7349,6 +7368,27 @@ if.merge.493: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.495, label %if.merge.496 + +if.then.495: ; preds = %entry + ret { ptr, i64 } { ptr @str.687, i64 4 } + +if.merge.496: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -7358,17 +7398,17 @@ 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.494, label %if.merge.495 + br i1 %lnot, label %if.then.497, label %if.merge.498 -if.then.494: ; preds = %entry - ret { ptr, i64 } { ptr @str.684, i64 4 } +if.then.497: ; preds = %entry + ret { ptr, i64 } { ptr @str.688, i64 4 } -if.merge.495: ; preds = %entry +if.merge.498: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7382,17 +7422,17 @@ 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.496, label %if.merge.497 + br i1 %lnot, label %if.then.499, label %if.merge.500 -if.then.496: ; preds = %entry - ret { ptr, i64 } { ptr @str.685, i64 4 } +if.then.499: ; preds = %entry + ret { ptr, i64 } { ptr @str.689, i64 4 } -if.merge.497: ; preds = %entry +if.merge.500: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } diff --git a/examples/expected/1009-errors-catch.ir b/examples/expected/1009-errors-catch.ir index afd7bf5..e2f4b92 100644 --- a/examples/expected/1009-errors-catch.ir +++ b/examples/expected/1009-errors-catch.ir @@ -7,7 +7,7 @@ @str.78 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.79 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.80 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [162 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] +@__sx_type_is_unsigned = private constant [165 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.81 = private constant [9 x i8] c"Overflow\00" @tag.str.82 = private constant [3 x i8] c"Io\00" @@ -43,452 +43,452 @@ @tn.str.110 = private constant [6 x i8] c"isize\00" @tn.str.111 = private constant [6 x i8] c"usize\00" @tn.str.112 = private constant [5 x i8] c"void\00" -@tn.str.113 = private constant [6 x i8] c"*void\00" -@tn.str.114 = private constant [16 x i8] c"Source_Location\00" -@tn.str.115 = private constant [10 x i8] c"Allocator\00" -@tn.str.116 = private constant [8 x i8] c"Context\00" -@tn.str.117 = private constant [7 x i8] c"[4]i64\00" -@tn.str.118 = private constant [9 x i8] c"[]string\00" -@tn.str.119 = private constant [11 x i8] c"CAllocator\00" -@tn.str.120 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.121 = private constant [4 x i8] c"GPA\00" -@tn.str.122 = private constant [5 x i8] c"*GPA\00" -@tn.str.123 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.124 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.125 = private constant [6 x i8] c"Arena\00" -@tn.str.126 = private constant [7 x i8] c"*Arena\00" -@tn.str.127 = private constant [6 x i8] c"[*]u8\00" -@tn.str.128 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.129 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.130 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.131 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.132 = private constant [9 x i8] c"OpenMode\00" -@tn.str.133 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.134 = private constant [5 x i8] c"File\00" -@tn.str.135 = private constant [6 x i8] c"*File\00" -@tn.str.136 = private constant [6 x i8] c"?File\00" -@tn.str.137 = private constant [8 x i8] c"?string\00" -@tn.str.138 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.139 = private constant [4 x i8] c"*u8\00" -@tn.str.140 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.141 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.142 = private constant [5 x i8] c"*i32\00" -@tn.str.143 = private constant [9 x i8] c"SockAddr\00" -@tn.str.144 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.145 = private constant [5 x i8] c"*u32\00" -@tn.str.146 = private constant [10 x i8] c"JsonError\00" -@tn.str.147 = private constant [6 x i8] c"Array\00" -@tn.str.148 = private constant [7 x i8] c"Object\00" -@tn.str.149 = private constant [6 x i8] c"Value\00" -@tn.str.150 = private constant [7 x i8] c"Member\00" -@tn.str.151 = private constant [9 x i8] c"[*]Value\00" -@tn.str.152 = private constant [7 x i8] c"*Array\00" -@tn.str.153 = private constant [10 x i8] c"[*]Member\00" -@tn.str.154 = private constant [8 x i8] c"*Object\00" -@tn.str.155 = private constant [5 x i8] c"[]u8\00" -@tn.str.156 = private constant [5 x i8] c"Sink\00" -@tn.str.157 = private constant [6 x i8] c"*Sink\00" -@tn.str.158 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.159 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.160 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.161 = private constant [7 x i8] c"Parser\00" -@tn.str.162 = private constant [8 x i8] c"*Parser\00" -@tn.str.163 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.164 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.165 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.166 = private constant [13 x i8] c"Architecture\00" -@tn.str.167 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.168 = private constant [11 x i8] c"() -> bool\00" -@tn.str.169 = private constant [5 x i8] c"*i64\00" -@tn.str.170 = private constant [9 x i8] c"CliError\00" -@tn.str.171 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.172 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.173 = private constant [8 x i8] c"Command\00" -@tn.str.174 = private constant [10 x i8] c"FlagValue\00" -@tn.str.175 = private constant [5 x i8] c"Diag\00" -@tn.str.176 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.177 = private constant [7 x i8] c"Parsed\00" -@tn.str.178 = private constant [8 x i8] c"*Parsed\00" -@tn.str.179 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.180 = private constant [10 x i8] c"[]Command\00" -@tn.str.181 = private constant [6 x i8] c"*Diag\00" -@tn.str.182 = private constant [7 x i8] c"[8]i64\00" -@tn.str.183 = private constant [7 x i8] c"[64]u8\00" -@tn.str.184 = private constant [7 x i8] c"Sha256\00" -@tn.str.185 = private constant [8 x i8] c"*Sha256\00" -@tn.str.186 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.187 = private constant [8 x i8] c"[64]i64\00" -@tn.str.188 = private constant [2 x i8] c"E\00" -@tn.str.189 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.190 = private constant [7 x i8] c"**void\00" -@tn.str.191 = private constant [3 x i8] c"*E\00" -@tn.str.192 = private constant [8 x i8] c"*string\00" -@tn.str.193 = private constant [6 x i8] c"[]Any\00" -@tn.str.194 = private constant [5 x i8] c"*Any\00" -@tn.str.195 = private constant [7 x i8] c"[1]Any\00" -@tn.str.196 = private constant [8 x i8] c"*[1]Any\00" -@tn.str.197 = private constant [7 x i8] c"*[]Any\00" -@tn.str.198 = private constant [6 x i8] c"*bool\00" -@tn.str.199 = private constant [8 x i8] c"*[4]i64\00" -@tn.str.200 = private constant [5 x i8] c"*f64\00" -@tn.str.201 = private constant [17 x i8] c"*Source_Location\00" -@tn.str.202 = private constant [11 x i8] c"*Allocator\00" -@tn.str.203 = private constant [9 x i8] c"*Context\00" -@tn.str.204 = private constant [12 x i8] c"*TraceFrame\00" -@tn.str.205 = private constant [15 x i8] c"*ProcessResult\00" -@tn.str.206 = private constant [8 x i8] c"*Member\00" -@tn.str.207 = private constant [14 x i8] c"*BuildOptions\00" -@tn.str.208 = private constant [10 x i8] c"*FlagSpec\00" -@tn.str.209 = private constant [9 x i8] c"*Command\00" -@tn.str.210 = private constant [11 x i8] c"*FlagValue\00" -@tn.str.211 = private constant [10 x i8] c"*OpenMode\00" -@tn.str.212 = private constant [10 x i8] c"*SeekFrom\00" -@tn.str.213 = private constant [7 x i8] c"*Value\00" -@tn.str.214 = private constant [17 x i8] c"*OperatingSystem\00" -@tn.str.215 = private constant [14 x i8] c"*Architecture\00" -@tn.str.216 = private constant [15 x i8] c"*[16]FlagValue\00" -@tn.str.217 = private constant [8 x i8] c"*[8]i64\00" -@tn.str.218 = private constant [8 x i8] c"*[64]u8\00" -@tn.str.219 = private constant [9 x i8] c"*[64]i64\00" -@tn.str.220 = private constant [10 x i8] c"*[]string\00" -@tn.str.221 = private constant [6 x i8] c"*[]u8\00" -@tn.str.222 = private constant [12 x i8] c"*[]FlagSpec\00" -@tn.str.223 = private constant [11 x i8] c"*[]Command\00" -@tn.str.224 = private constant [6 x i8] c"**GPA\00" -@tn.str.225 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.226 = private constant [8 x i8] c"**Arena\00" -@tn.str.227 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.228 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.229 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.230 = private constant [7 x i8] c"**File\00" -@tn.str.231 = private constant [5 x i8] c"**u8\00" -@tn.str.232 = private constant [6 x i8] c"**i32\00" -@tn.str.233 = private constant [11 x i8] c"**SockAddr\00" -@tn.str.234 = private constant [6 x i8] c"**u32\00" -@tn.str.235 = private constant [10 x i8] c"*[*]Value\00" -@tn.str.236 = private constant [8 x i8] c"**Array\00" -@tn.str.237 = private constant [11 x i8] c"*[*]Member\00" -@tn.str.238 = private constant [9 x i8] c"**Object\00" -@tn.str.239 = private constant [7 x i8] c"**Sink\00" -@tn.str.240 = private constant [9 x i8] c"**Parser\00" -@tn.str.241 = private constant [6 x i8] c"**i64\00" -@tn.str.242 = private constant [9 x i8] c"**Parsed\00" -@tn.str.243 = private constant [7 x i8] c"**Diag\00" -@tn.str.244 = private constant [9 x i8] c"**Sha256\00" -@tn.str.245 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.246 = private constant [8 x i8] c"***void\00" -@tn.str.247 = private constant [4 x i8] c"**E\00" -@tn.str.248 = private constant [9 x i8] c"**string\00" -@tn.str.249 = private constant [6 x i8] c"**Any\00" -@tn.str.250 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.251 = private constant [8 x i8] c"**[]Any\00" -@tn.str.252 = private constant [7 x i8] c"**bool\00" -@tn.str.253 = private constant [7 x i8] c"*?File\00" -@tn.str.254 = private constant [9 x i8] c"*?string\00" -@tn.str.255 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.256 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [162 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.96, i64 4 }, { ptr, i64 } { ptr @tn.str.97, i64 2 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 3 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 2 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { 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 6 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 8 }, { ptr, i64 } { ptr @tn.str.110, i64 5 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 4 }, { ptr, i64 } { ptr @tn.str.113, i64 5 }, { ptr, i64 } { ptr @tn.str.114, i64 15 }, { ptr, i64 } { ptr @tn.str.115, i64 9 }, { ptr, i64 } { ptr @tn.str.116, i64 7 }, { ptr, i64 } { ptr @tn.str.117, i64 6 }, { ptr, i64 } { ptr @tn.str.118, i64 8 }, { ptr, i64 } { ptr @tn.str.119, i64 10 }, { ptr, i64 } { ptr @tn.str.120, i64 11 }, { ptr, i64 } { ptr @tn.str.121, i64 3 }, { ptr, i64 } { ptr @tn.str.122, i64 4 }, { ptr, i64 } { ptr @tn.str.123, i64 10 }, { ptr, i64 } { ptr @tn.str.124, i64 11 }, { ptr, i64 } { ptr @tn.str.125, i64 5 }, { ptr, i64 } { ptr @tn.str.126, i64 6 }, { ptr, i64 } { ptr @tn.str.127, i64 5 }, { ptr, i64 } { ptr @tn.str.128, i64 8 }, { ptr, i64 } { ptr @tn.str.129, i64 9 }, { ptr, i64 } { ptr @tn.str.130, i64 17 }, { ptr, i64 } { ptr @tn.str.131, i64 18 }, { ptr, i64 } { ptr @tn.str.132, i64 8 }, { ptr, i64 } { ptr @tn.str.133, i64 8 }, { ptr, i64 } { ptr @tn.str.134, i64 4 }, { ptr, i64 } { ptr @tn.str.135, i64 5 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 7 }, { ptr, i64 } { ptr @tn.str.138, i64 10 }, { ptr, i64 } { ptr @tn.str.139, i64 3 }, { ptr, i64 } { ptr @tn.str.140, i64 13 }, { ptr, i64 } { ptr @tn.str.141, i64 14 }, { ptr, i64 } { ptr @tn.str.142, i64 4 }, { ptr, i64 } { ptr @tn.str.143, i64 8 }, { ptr, i64 } { ptr @tn.str.144, i64 9 }, { ptr, i64 } { ptr @tn.str.145, i64 4 }, { ptr, i64 } { ptr @tn.str.146, i64 9 }, { ptr, i64 } { ptr @tn.str.147, i64 5 }, { ptr, i64 } { ptr @tn.str.148, i64 6 }, { ptr, i64 } { ptr @tn.str.149, i64 5 }, { ptr, i64 } { ptr @tn.str.150, i64 6 }, { ptr, i64 } { ptr @tn.str.151, i64 8 }, { ptr, i64 } { ptr @tn.str.152, i64 6 }, { ptr, i64 } { ptr @tn.str.153, i64 9 }, { ptr, i64 } { ptr @tn.str.154, i64 7 }, { ptr, i64 } { ptr @tn.str.155, i64 4 }, { ptr, i64 } { ptr @tn.str.156, i64 4 }, { ptr, i64 } { ptr @tn.str.157, i64 5 }, { ptr, i64 } { ptr @tn.str.158, i64 16 }, { ptr, i64 } { ptr @tn.str.159, i64 14 }, { ptr, i64 } { ptr @tn.str.160, i64 21 }, { ptr, i64 } { ptr @tn.str.161, i64 6 }, { ptr, i64 } { ptr @tn.str.162, i64 7 }, { ptr, i64 } { ptr @tn.str.163, i64 24 }, { ptr, i64 } { ptr @tn.str.164, i64 23 }, { ptr, i64 } { ptr @tn.str.165, i64 15 }, { ptr, i64 } { ptr @tn.str.166, i64 12 }, { ptr, i64 } { ptr @tn.str.167, i64 12 }, { ptr, i64 } { ptr @tn.str.168, i64 10 }, { ptr, i64 } { ptr @tn.str.169, i64 4 }, { ptr, i64 } { ptr @tn.str.170, i64 8 }, { ptr, i64 } { ptr @tn.str.171, i64 8 }, { ptr, i64 } { ptr @tn.str.172, i64 10 }, { ptr, i64 } { ptr @tn.str.173, i64 7 }, { ptr, i64 } { ptr @tn.str.174, i64 9 }, { ptr, i64 } { ptr @tn.str.175, i64 4 }, { ptr, i64 } { ptr @tn.str.176, i64 13 }, { ptr, i64 } { ptr @tn.str.177, i64 6 }, { ptr, i64 } { ptr @tn.str.178, i64 7 }, { ptr, i64 } { ptr @tn.str.179, i64 18 }, { ptr, i64 } { ptr @tn.str.180, i64 9 }, { ptr, i64 } { ptr @tn.str.181, i64 5 }, { ptr, i64 } { ptr @tn.str.182, i64 6 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 6 }, { ptr, i64 } { ptr @tn.str.185, i64 7 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 7 }, { ptr, i64 } { ptr @tn.str.188, i64 1 }, { ptr, i64 } { ptr @tn.str.189, i64 12 }, { ptr, i64 } { ptr @tn.str.190, i64 6 }, { ptr, i64 } { ptr @tn.str.191, i64 2 }, { ptr, i64 } { ptr @tn.str.192, i64 7 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 4 }, { ptr, i64 } { ptr @tn.str.195, i64 6 }, { ptr, i64 } { ptr @tn.str.196, i64 7 }, { ptr, i64 } { ptr @tn.str.197, i64 6 }, { ptr, i64 } { ptr @tn.str.198, i64 5 }, { ptr, i64 } { ptr @tn.str.199, i64 7 }, { ptr, i64 } { ptr @tn.str.200, i64 4 }, { ptr, i64 } { ptr @tn.str.201, i64 16 }, { ptr, i64 } { ptr @tn.str.202, i64 10 }, { ptr, i64 } { ptr @tn.str.203, i64 8 }, { ptr, i64 } { ptr @tn.str.204, i64 11 }, { ptr, i64 } { ptr @tn.str.205, i64 14 }, { ptr, i64 } { ptr @tn.str.206, i64 7 }, { ptr, i64 } { ptr @tn.str.207, i64 13 }, { ptr, i64 } { ptr @tn.str.208, i64 9 }, { ptr, i64 } { ptr @tn.str.209, i64 8 }, { ptr, i64 } { ptr @tn.str.210, i64 10 }, { ptr, i64 } { ptr @tn.str.211, i64 9 }, { ptr, i64 } { ptr @tn.str.212, i64 9 }, { ptr, i64 } { ptr @tn.str.213, i64 6 }, { ptr, i64 } { ptr @tn.str.214, i64 16 }, { ptr, i64 } { ptr @tn.str.215, i64 13 }, { ptr, i64 } { ptr @tn.str.216, i64 14 }, { ptr, i64 } { ptr @tn.str.217, i64 7 }, { ptr, i64 } { ptr @tn.str.218, i64 7 }, { ptr, i64 } { ptr @tn.str.219, i64 8 }, { ptr, i64 } { ptr @tn.str.220, i64 9 }, { ptr, i64 } { ptr @tn.str.221, i64 5 }, { ptr, i64 } { ptr @tn.str.222, i64 11 }, { ptr, i64 } { ptr @tn.str.223, i64 10 }, { ptr, i64 } { ptr @tn.str.224, i64 5 }, { ptr, i64 } { ptr @tn.str.225, i64 12 }, { ptr, i64 } { ptr @tn.str.226, i64 7 }, { ptr, i64 } { ptr @tn.str.227, i64 6 }, { ptr, i64 } { ptr @tn.str.228, i64 10 }, { ptr, i64 } { ptr @tn.str.229, i64 19 }, { ptr, i64 } { ptr @tn.str.230, i64 6 }, { ptr, i64 } { ptr @tn.str.231, i64 4 }, { ptr, i64 } { ptr @tn.str.232, i64 5 }, { ptr, i64 } { ptr @tn.str.233, i64 10 }, { ptr, i64 } { ptr @tn.str.234, i64 5 }, { ptr, i64 } { ptr @tn.str.235, i64 9 }, { ptr, i64 } { ptr @tn.str.236, i64 7 }, { ptr, i64 } { ptr @tn.str.237, i64 10 }, { ptr, i64 } { ptr @tn.str.238, i64 8 }, { ptr, i64 } { ptr @tn.str.239, i64 6 }, { ptr, i64 } { ptr @tn.str.240, i64 8 }, { ptr, i64 } { ptr @tn.str.241, i64 5 }, { ptr, i64 } { ptr @tn.str.242, i64 8 }, { ptr, i64 } { ptr @tn.str.243, i64 6 }, { ptr, i64 } { ptr @tn.str.244, i64 8 }, { ptr, i64 } { ptr @tn.str.245, i64 13 }, { ptr, i64 } { ptr @tn.str.246, i64 7 }, { ptr, i64 } { ptr @tn.str.247, i64 3 }, { ptr, i64 } { ptr @tn.str.248, i64 8 }, { ptr, i64 } { ptr @tn.str.249, i64 5 }, { ptr, i64 } { ptr @tn.str.250, i64 8 }, { ptr, i64 } { ptr @tn.str.251, i64 7 }, { ptr, i64 } { ptr @tn.str.252, i64 6 }, { ptr, i64 } { ptr @tn.str.253, i64 6 }, { ptr, i64 } { ptr @tn.str.254, i64 8 }, { ptr, i64 } { ptr @tn.str.255, i64 15 }, { ptr, i64 } { ptr @tn.str.256, i64 8 }] -@str.257 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.258 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.259 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@tn.str.113 = private constant [8 x i8] c"cstring\00" +@tn.str.114 = private constant [6 x i8] c"*void\00" +@tn.str.115 = private constant [16 x i8] c"Source_Location\00" +@tn.str.116 = private constant [10 x i8] c"Allocator\00" +@tn.str.117 = private constant [8 x i8] c"Context\00" +@tn.str.118 = private constant [7 x i8] c"[4]i64\00" +@tn.str.119 = private constant [9 x i8] c"[]string\00" +@tn.str.120 = private constant [11 x i8] c"CAllocator\00" +@tn.str.121 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.122 = private constant [4 x i8] c"GPA\00" +@tn.str.123 = private constant [5 x i8] c"*GPA\00" +@tn.str.124 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.125 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.126 = private constant [6 x i8] c"Arena\00" +@tn.str.127 = private constant [7 x i8] c"*Arena\00" +@tn.str.128 = private constant [6 x i8] c"[*]u8\00" +@tn.str.129 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.130 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.131 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.132 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.133 = private constant [9 x i8] c"OpenMode\00" +@tn.str.134 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.135 = private constant [5 x i8] c"File\00" +@tn.str.136 = private constant [6 x i8] c"*File\00" +@tn.str.137 = private constant [6 x i8] c"?File\00" +@tn.str.138 = private constant [8 x i8] c"?string\00" +@tn.str.139 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.140 = private constant [9 x i8] c"?cstring\00" +@tn.str.141 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.142 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.143 = private constant [5 x i8] c"*i32\00" +@tn.str.144 = private constant [9 x i8] c"SockAddr\00" +@tn.str.145 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.146 = private constant [5 x i8] c"*u32\00" +@tn.str.147 = private constant [10 x i8] c"JsonError\00" +@tn.str.148 = private constant [6 x i8] c"Array\00" +@tn.str.149 = private constant [7 x i8] c"Object\00" +@tn.str.150 = private constant [6 x i8] c"Value\00" +@tn.str.151 = private constant [7 x i8] c"Member\00" +@tn.str.152 = private constant [9 x i8] c"[*]Value\00" +@tn.str.153 = private constant [7 x i8] c"*Array\00" +@tn.str.154 = private constant [10 x i8] c"[*]Member\00" +@tn.str.155 = private constant [8 x i8] c"*Object\00" +@tn.str.156 = private constant [5 x i8] c"[]u8\00" +@tn.str.157 = private constant [5 x i8] c"Sink\00" +@tn.str.158 = private constant [6 x i8] c"*Sink\00" +@tn.str.159 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.160 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.161 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.162 = private constant [7 x i8] c"Parser\00" +@tn.str.163 = private constant [8 x i8] c"*Parser\00" +@tn.str.164 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.165 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.166 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.167 = private constant [13 x i8] c"Architecture\00" +@tn.str.168 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.169 = private constant [11 x i8] c"() -> bool\00" +@tn.str.170 = private constant [5 x i8] c"*i64\00" +@tn.str.171 = private constant [9 x i8] c"CliError\00" +@tn.str.172 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.173 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.174 = private constant [8 x i8] c"Command\00" +@tn.str.175 = private constant [10 x i8] c"FlagValue\00" +@tn.str.176 = private constant [5 x i8] c"Diag\00" +@tn.str.177 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.178 = private constant [7 x i8] c"Parsed\00" +@tn.str.179 = private constant [8 x i8] c"*Parsed\00" +@tn.str.180 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.181 = private constant [10 x i8] c"[]Command\00" +@tn.str.182 = private constant [6 x i8] c"*Diag\00" +@tn.str.183 = private constant [7 x i8] c"[8]i64\00" +@tn.str.184 = private constant [7 x i8] c"[64]u8\00" +@tn.str.185 = private constant [7 x i8] c"Sha256\00" +@tn.str.186 = private constant [8 x i8] c"*Sha256\00" +@tn.str.187 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.188 = private constant [8 x i8] c"[64]i64\00" +@tn.str.189 = private constant [2 x i8] c"E\00" +@tn.str.190 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.191 = private constant [7 x i8] c"**void\00" +@tn.str.192 = private constant [3 x i8] c"*E\00" +@tn.str.193 = private constant [8 x i8] c"*string\00" +@tn.str.194 = private constant [6 x i8] c"[]Any\00" +@tn.str.195 = private constant [5 x i8] c"*Any\00" +@tn.str.196 = private constant [7 x i8] c"[1]Any\00" +@tn.str.197 = private constant [8 x i8] c"*[1]Any\00" +@tn.str.198 = private constant [7 x i8] c"*[]Any\00" +@tn.str.199 = private constant [4 x i8] c"*u8\00" +@tn.str.200 = private constant [6 x i8] c"*bool\00" +@tn.str.201 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.202 = private constant [5 x i8] c"*f64\00" +@tn.str.203 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.204 = private constant [11 x i8] c"*Allocator\00" +@tn.str.205 = private constant [9 x i8] c"*Context\00" +@tn.str.206 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.207 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.208 = private constant [8 x i8] c"*Member\00" +@tn.str.209 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.210 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.211 = private constant [9 x i8] c"*Command\00" +@tn.str.212 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.213 = private constant [10 x i8] c"*OpenMode\00" +@tn.str.214 = private constant [10 x i8] c"*SeekFrom\00" +@tn.str.215 = private constant [7 x i8] c"*Value\00" +@tn.str.216 = private constant [17 x i8] c"*OperatingSystem\00" +@tn.str.217 = private constant [14 x i8] c"*Architecture\00" +@tn.str.218 = private constant [15 x i8] c"*[16]FlagValue\00" +@tn.str.219 = private constant [8 x i8] c"*[8]i64\00" +@tn.str.220 = private constant [8 x i8] c"*[64]u8\00" +@tn.str.221 = private constant [9 x i8] c"*[64]i64\00" +@tn.str.222 = private constant [10 x i8] c"*[]string\00" +@tn.str.223 = private constant [6 x i8] c"*[]u8\00" +@tn.str.224 = private constant [12 x i8] c"*[]FlagSpec\00" +@tn.str.225 = private constant [11 x i8] c"*[]Command\00" +@tn.str.226 = private constant [6 x i8] c"**GPA\00" +@tn.str.227 = private constant [13 x i8] c"**ArenaChunk\00" +@tn.str.228 = private constant [8 x i8] c"**Arena\00" +@tn.str.229 = private constant [7 x i8] c"*[*]u8\00" +@tn.str.230 = private constant [11 x i8] c"**BufAlloc\00" +@tn.str.231 = private constant [20 x i8] c"**TrackingAllocator\00" +@tn.str.232 = private constant [7 x i8] c"**File\00" +@tn.str.233 = private constant [6 x i8] c"**i32\00" +@tn.str.234 = private constant [11 x i8] c"**SockAddr\00" +@tn.str.235 = private constant [6 x i8] c"**u32\00" +@tn.str.236 = private constant [10 x i8] c"*[*]Value\00" +@tn.str.237 = private constant [8 x i8] c"**Array\00" +@tn.str.238 = private constant [11 x i8] c"*[*]Member\00" +@tn.str.239 = private constant [9 x i8] c"**Object\00" +@tn.str.240 = private constant [7 x i8] c"**Sink\00" +@tn.str.241 = private constant [9 x i8] c"**Parser\00" +@tn.str.242 = private constant [6 x i8] c"**i64\00" +@tn.str.243 = private constant [9 x i8] c"**Parsed\00" +@tn.str.244 = private constant [7 x i8] c"**Diag\00" +@tn.str.245 = private constant [9 x i8] c"**Sha256\00" +@tn.str.246 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.247 = private constant [8 x i8] c"***void\00" +@tn.str.248 = private constant [4 x i8] c"**E\00" +@tn.str.249 = private constant [9 x i8] c"**string\00" +@tn.str.250 = private constant [6 x i8] c"**Any\00" +@tn.str.251 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.252 = private constant [8 x i8] c"**[]Any\00" +@tn.str.253 = private constant [5 x i8] c"**u8\00" +@tn.str.254 = private constant [7 x i8] c"**bool\00" +@tn.str.255 = private constant [7 x i8] c"*?File\00" +@tn.str.256 = private constant [9 x i8] c"*?string\00" +@tn.str.257 = private constant [10 x i8] c"*?cstring\00" +@tn.str.258 = private constant [16 x i8] c"*?ProcessResult\00" +@tn.str.259 = private constant [9 x i8] c"*?[64]u8\00" +@__sx_type_names = private constant [165 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.96, i64 4 }, { ptr, i64 } { ptr @tn.str.97, i64 2 }, { ptr, i64 } { ptr @tn.str.98, i64 3 }, { ptr, i64 } { ptr @tn.str.99, i64 3 }, { ptr, i64 } { ptr @tn.str.100, i64 3 }, { ptr, i64 } { ptr @tn.str.101, i64 2 }, { ptr, i64 } { ptr @tn.str.102, i64 3 }, { ptr, i64 } { ptr @tn.str.103, i64 3 }, { 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 6 }, { ptr, i64 } { ptr @tn.str.108, i64 3 }, { ptr, i64 } { ptr @tn.str.109, i64 8 }, { ptr, i64 } { ptr @tn.str.110, i64 5 }, { ptr, i64 } { ptr @tn.str.111, i64 5 }, { ptr, i64 } { ptr @tn.str.112, i64 4 }, { ptr, i64 } { ptr @tn.str.113, i64 7 }, { ptr, i64 } { ptr @tn.str.114, i64 5 }, { ptr, i64 } { ptr @tn.str.115, i64 15 }, { ptr, i64 } { ptr @tn.str.116, i64 9 }, { ptr, i64 } { ptr @tn.str.117, i64 7 }, { ptr, i64 } { ptr @tn.str.118, i64 6 }, { ptr, i64 } { ptr @tn.str.119, i64 8 }, { ptr, i64 } { ptr @tn.str.120, i64 10 }, { ptr, i64 } { ptr @tn.str.121, i64 11 }, { ptr, i64 } { ptr @tn.str.122, i64 3 }, { ptr, i64 } { ptr @tn.str.123, i64 4 }, { ptr, i64 } { ptr @tn.str.124, i64 10 }, { ptr, i64 } { ptr @tn.str.125, i64 11 }, { ptr, i64 } { ptr @tn.str.126, i64 5 }, { ptr, i64 } { ptr @tn.str.127, i64 6 }, { ptr, i64 } { ptr @tn.str.128, i64 5 }, { ptr, i64 } { ptr @tn.str.129, i64 8 }, { ptr, i64 } { ptr @tn.str.130, i64 9 }, { ptr, i64 } { ptr @tn.str.131, i64 17 }, { ptr, i64 } { ptr @tn.str.132, i64 18 }, { ptr, i64 } { ptr @tn.str.133, i64 8 }, { ptr, i64 } { ptr @tn.str.134, i64 8 }, { ptr, i64 } { ptr @tn.str.135, i64 4 }, { ptr, i64 } { ptr @tn.str.136, i64 5 }, { ptr, i64 } { ptr @tn.str.137, i64 5 }, { ptr, i64 } { ptr @tn.str.138, i64 7 }, { ptr, i64 } { ptr @tn.str.139, i64 10 }, { ptr, i64 } { ptr @tn.str.140, i64 8 }, { ptr, i64 } { ptr @tn.str.141, i64 13 }, { ptr, i64 } { ptr @tn.str.142, i64 14 }, { ptr, i64 } { ptr @tn.str.143, i64 4 }, { ptr, i64 } { ptr @tn.str.144, i64 8 }, { ptr, i64 } { ptr @tn.str.145, i64 9 }, { ptr, i64 } { ptr @tn.str.146, i64 4 }, { ptr, i64 } { ptr @tn.str.147, i64 9 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 6 }, { ptr, i64 } { ptr @tn.str.150, i64 5 }, { ptr, i64 } { ptr @tn.str.151, i64 6 }, { ptr, i64 } { ptr @tn.str.152, i64 8 }, { ptr, i64 } { ptr @tn.str.153, i64 6 }, { ptr, i64 } { ptr @tn.str.154, i64 9 }, { ptr, i64 } { ptr @tn.str.155, i64 7 }, { ptr, i64 } { ptr @tn.str.156, i64 4 }, { ptr, i64 } { ptr @tn.str.157, i64 4 }, { ptr, i64 } { ptr @tn.str.158, i64 5 }, { ptr, i64 } { ptr @tn.str.159, i64 16 }, { ptr, i64 } { ptr @tn.str.160, i64 14 }, { ptr, i64 } { ptr @tn.str.161, i64 21 }, { ptr, i64 } { ptr @tn.str.162, i64 6 }, { ptr, i64 } { ptr @tn.str.163, i64 7 }, { ptr, i64 } { ptr @tn.str.164, i64 24 }, { ptr, i64 } { ptr @tn.str.165, i64 23 }, { ptr, i64 } { ptr @tn.str.166, i64 15 }, { ptr, i64 } { ptr @tn.str.167, i64 12 }, { ptr, i64 } { ptr @tn.str.168, i64 12 }, { ptr, i64 } { ptr @tn.str.169, i64 10 }, { ptr, i64 } { ptr @tn.str.170, i64 4 }, { ptr, i64 } { ptr @tn.str.171, i64 8 }, { ptr, i64 } { ptr @tn.str.172, i64 8 }, { ptr, i64 } { ptr @tn.str.173, i64 10 }, { ptr, i64 } { ptr @tn.str.174, i64 7 }, { ptr, i64 } { ptr @tn.str.175, i64 9 }, { ptr, i64 } { ptr @tn.str.176, i64 4 }, { ptr, i64 } { ptr @tn.str.177, i64 13 }, { ptr, i64 } { ptr @tn.str.178, i64 6 }, { ptr, i64 } { ptr @tn.str.179, i64 7 }, { ptr, i64 } { ptr @tn.str.180, i64 18 }, { ptr, i64 } { ptr @tn.str.181, i64 9 }, { ptr, i64 } { ptr @tn.str.182, i64 5 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 6 }, { ptr, i64 } { ptr @tn.str.185, i64 6 }, { ptr, i64 } { ptr @tn.str.186, i64 7 }, { ptr, i64 } { ptr @tn.str.187, i64 7 }, { ptr, i64 } { ptr @tn.str.188, i64 7 }, { ptr, i64 } { ptr @tn.str.189, i64 1 }, { ptr, i64 } { ptr @tn.str.190, i64 12 }, { ptr, i64 } { ptr @tn.str.191, i64 6 }, { ptr, i64 } { ptr @tn.str.192, i64 2 }, { ptr, i64 } { ptr @tn.str.193, i64 7 }, { ptr, i64 } { ptr @tn.str.194, i64 5 }, { ptr, i64 } { ptr @tn.str.195, i64 4 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 6 }, { ptr, i64 } { ptr @tn.str.199, i64 3 }, { ptr, i64 } { ptr @tn.str.200, i64 5 }, { ptr, i64 } { ptr @tn.str.201, i64 7 }, { ptr, i64 } { ptr @tn.str.202, i64 4 }, { ptr, i64 } { ptr @tn.str.203, i64 16 }, { ptr, i64 } { ptr @tn.str.204, i64 10 }, { ptr, i64 } { ptr @tn.str.205, i64 8 }, { ptr, i64 } { ptr @tn.str.206, i64 11 }, { ptr, i64 } { ptr @tn.str.207, i64 14 }, { ptr, i64 } { ptr @tn.str.208, i64 7 }, { ptr, i64 } { ptr @tn.str.209, i64 13 }, { ptr, i64 } { ptr @tn.str.210, i64 9 }, { ptr, i64 } { ptr @tn.str.211, i64 8 }, { ptr, i64 } { ptr @tn.str.212, i64 10 }, { ptr, i64 } { ptr @tn.str.213, i64 9 }, { ptr, i64 } { ptr @tn.str.214, i64 9 }, { ptr, i64 } { ptr @tn.str.215, i64 6 }, { ptr, i64 } { ptr @tn.str.216, i64 16 }, { ptr, i64 } { ptr @tn.str.217, i64 13 }, { ptr, i64 } { ptr @tn.str.218, i64 14 }, { ptr, i64 } { ptr @tn.str.219, i64 7 }, { ptr, i64 } { ptr @tn.str.220, i64 7 }, { ptr, i64 } { ptr @tn.str.221, i64 8 }, { ptr, i64 } { ptr @tn.str.222, i64 9 }, { ptr, i64 } { ptr @tn.str.223, i64 5 }, { ptr, i64 } { ptr @tn.str.224, i64 11 }, { ptr, i64 } { ptr @tn.str.225, i64 10 }, { ptr, i64 } { ptr @tn.str.226, i64 5 }, { ptr, i64 } { ptr @tn.str.227, i64 12 }, { ptr, i64 } { ptr @tn.str.228, i64 7 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 10 }, { ptr, i64 } { ptr @tn.str.231, i64 19 }, { ptr, i64 } { ptr @tn.str.232, i64 6 }, { ptr, i64 } { ptr @tn.str.233, i64 5 }, { ptr, i64 } { ptr @tn.str.234, i64 10 }, { ptr, i64 } { ptr @tn.str.235, i64 5 }, { ptr, i64 } { ptr @tn.str.236, i64 9 }, { ptr, i64 } { ptr @tn.str.237, i64 7 }, { ptr, i64 } { ptr @tn.str.238, i64 10 }, { ptr, i64 } { ptr @tn.str.239, i64 8 }, { ptr, i64 } { ptr @tn.str.240, i64 6 }, { ptr, i64 } { ptr @tn.str.241, i64 8 }, { ptr, i64 } { ptr @tn.str.242, i64 5 }, { ptr, i64 } { ptr @tn.str.243, i64 8 }, { ptr, i64 } { ptr @tn.str.244, i64 6 }, { ptr, i64 } { ptr @tn.str.245, i64 8 }, { ptr, i64 } { ptr @tn.str.246, i64 13 }, { ptr, i64 } { ptr @tn.str.247, i64 7 }, { ptr, i64 } { ptr @tn.str.248, i64 3 }, { ptr, i64 } { ptr @tn.str.249, i64 8 }, { ptr, i64 } { ptr @tn.str.250, i64 5 }, { ptr, i64 } { ptr @tn.str.251, i64 8 }, { ptr, i64 } { ptr @tn.str.252, i64 7 }, { ptr, i64 } { ptr @tn.str.253, i64 4 }, { ptr, i64 } { ptr @tn.str.254, i64 6 }, { ptr, i64 } { ptr @tn.str.255, i64 6 }, { ptr, i64 } { ptr @tn.str.256, i64 8 }, { ptr, i64 } { ptr @tn.str.257, i64 9 }, { ptr, i64 } { ptr @tn.str.258, i64 15 }, { ptr, i64 } { ptr @tn.str.259, i64 8 }] @str.260 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.261 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 @str.262 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.263 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 -@str.264 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.265 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.266 = private unnamed_addr constant [5 x i8] c")); \00", align 1 -@str.267 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.268 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.269 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.270 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.271 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.263 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.264 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.265 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.266 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1 +@str.267 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.268 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.269 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.270 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 +@str.271 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 @str.272 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.273 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.274 = private unnamed_addr constant [5 x i8] c")); \00", align 1 @str.275 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 @str.276 = private unnamed_addr constant [3 x i8] c", \00", align 1 @str.277 = private unnamed_addr constant [5 x i8] c")); \00", align 1 +@str.278 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 +@str.279 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@str.280 = 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.278 = private unnamed_addr constant [5 x i8] c"must\00" -@frame.str.279 = 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.278, i64 4 }, { ptr, i64 } { ptr @frame.str.279, i64 34 } } -@frame.str.280 = private unnamed_addr constant [37 x i8] c" if n == 0 { raise error.Empty; }\00" -@trace.frame.281 = 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.278, i64 4 }, { ptr, i64 } { ptr @frame.str.280, i64 36 } } -@frame.str.282 = private unnamed_addr constant [12 x i8] c"handle_some\00" -@frame.str.283 = private unnamed_addr constant [65 x i8] c" raise e; // re-raise the rest\00" -@trace.frame.284 = 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.282, i64 11 }, { ptr, i64 } { ptr @frame.str.283, i64 64 } } -@str.285 = private unnamed_addr constant [18 x i8] c"catch result: {}\0A\00", align 1 -@str.286 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.287 = private unnamed_addr constant [18 x i8] c"catch result: {}\0A\00", align 1 -@str.288 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 -@str.289 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.290 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.291 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@frame.str.281 = private unnamed_addr constant [5 x i8] c"must\00" +@frame.str.282 = 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.281, i64 4 }, { ptr, i64 } { ptr @frame.str.282, i64 34 } } +@frame.str.283 = private unnamed_addr constant [37 x i8] c" if n == 0 { raise error.Empty; }\00" +@trace.frame.284 = 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.281, i64 4 }, { ptr, i64 } { ptr @frame.str.283, i64 36 } } +@frame.str.285 = private unnamed_addr constant [12 x i8] c"handle_some\00" +@frame.str.286 = private unnamed_addr constant [65 x i8] c" raise e; // re-raise the rest\00" +@trace.frame.287 = 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.285, i64 11 }, { ptr, i64 } { ptr @frame.str.286, i64 64 } } +@str.288 = private unnamed_addr constant [18 x i8] c"catch result: {}\0A\00", align 1 +@str.289 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.290 = private unnamed_addr constant [18 x i8] c"catch result: {}\0A\00", align 1 +@str.291 = private unnamed_addr constant [16 x i8] c"Source_Location\00", align 1 +@str.292 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.293 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.294 = private unnamed_addr constant [3 x i8] c", \00", align 1 @fld.str = private constant [5 x i8] c"file\00" -@fld.str.292 = private constant [5 x i8] c"line\00" -@fld.str.293 = private constant [4 x i8] c"col\00" -@fld.str.294 = 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.292, i64 4 }, { ptr, i64 } { ptr @fld.str.293, i64 3 }, { ptr, i64 } { ptr @fld.str.294, i64 4 }] -@str.295 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.296 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 -@str.297 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.298 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.299 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.300 = private constant [4 x i8] c"ctx\00" -@fld.str.301 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.302 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.303 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.300, i64 3 }, { ptr, i64 } { ptr @fld.str.301, i64 11 }, { ptr, i64 } { ptr @fld.str.302, i64 13 }] -@str.304 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.305 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 -@str.306 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.307 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.308 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.309 = private constant [10 x i8] c"allocator\00" -@fld.str.310 = private constant [5 x i8] c"data\00" -@field_names.311 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.309, i64 9 }, { ptr, i64 } { ptr @fld.str.310, i64 4 }] -@str.312 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.313 = private unnamed_addr constant [11 x i8] c"CAllocator\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 -@field_names.317 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.318 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.319 = private unnamed_addr constant [4 x i8] c"GPA\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 -@fld.str.323 = private constant [12 x i8] c"alloc_count\00" -@field_names.324 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.323, i64 11 }] -@str.325 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.326 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" -@fld.str.331 = private constant [4 x i8] c"cap\00" -@field_names.332 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.330, i64 4 }, { ptr, i64 } { ptr @fld.str.331, i64 3 }] -@str.333 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.334 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" -@fld.str.339 = private constant [10 x i8] c"end_index\00" -@fld.str.340 = private constant [7 x i8] c"parent\00" -@field_names.341 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.338, i64 5 }, { ptr, i64 } { ptr @fld.str.339, i64 9 }, { ptr, i64 } { ptr @fld.str.340, i64 6 }] -@str.342 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.343 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" -@fld.str.348 = private constant [4 x i8] c"len\00" -@fld.str.349 = private constant [4 x i8] c"pos\00" -@field_names.350 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.347, i64 3 }, { ptr, i64 } { ptr @fld.str.348, i64 3 }, { ptr, i64 } { ptr @fld.str.349, i64 3 }] -@str.351 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.352 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" -@fld.str.357 = private constant [12 x i8] c"alloc_count\00" -@fld.str.358 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.359 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.360 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.356, i64 6 }, { ptr, i64 } { ptr @fld.str.357, i64 11 }, { ptr, i64 } { ptr @fld.str.358, i64 13 }, { ptr, i64 } { ptr @fld.str.359, i64 17 }] -@str.361 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.362 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" -@field_names.367 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.366, i64 2 }] -@str.368 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.369 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" -@fld.str.374 = private constant [5 x i8] c"line\00" -@fld.str.375 = private constant [4 x i8] c"col\00" -@fld.str.376 = private constant [5 x i8] c"func\00" -@fld.str.377 = private constant [10 x i8] c"line_text\00" -@field_names.378 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.373, i64 4 }, { ptr, i64 } { ptr @fld.str.374, i64 4 }, { ptr, i64 } { ptr @fld.str.375, i64 3 }, { ptr, i64 } { ptr @fld.str.376, i64 4 }, { ptr, i64 } { ptr @fld.str.377, i64 9 }] -@str.379 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.380 = private unnamed_addr constant [14 x i8] c"ProcessResult\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"exit_code\00" -@fld.str.385 = private constant [7 x i8] c"stdout\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 6 }] -@str.387 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.388 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.393 = private constant [11 x i8] c"sin_family\00" -@fld.str.394 = private constant [9 x i8] c"sin_port\00" -@fld.str.395 = private constant [9 x i8] c"sin_addr\00" -@fld.str.396 = private constant [9 x i8] c"sin_zero\00" -@field_names.397 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.392, i64 7 }, { ptr, i64 } { ptr @fld.str.393, i64 10 }, { ptr, i64 } { ptr @fld.str.394, i64 8 }, { ptr, i64 } { ptr @fld.str.395, i64 8 }, { ptr, i64 } { ptr @fld.str.396, i64 8 }] -@str.398 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.399 = private unnamed_addr constant [6 x i8] c"Array\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"items\00" -@fld.str.404 = private constant [4 x i8] c"len\00" -@fld.str.405 = private constant [4 x i8] c"cap\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 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 [7 x i8] c"Object\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 [6 x i8] c"items\00" -@fld.str.413 = private constant [4 x i8] c"len\00" -@fld.str.414 = private constant [4 x i8] c"cap\00" -@field_names.415 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.412, i64 5 }, { 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 [7 x i8] c"Member\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 [4 x i8] c"key\00" -@fld.str.422 = private constant [4 x i8] c"val\00" -@field_names.423 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.421, i64 3 }, { ptr, i64 } { ptr @fld.str.422, i64 3 }] -@str.424 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.425 = private unnamed_addr constant [5 x i8] c"Sink\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 [4 x i8] c"dst\00" -@fld.str.430 = private constant [4 x i8] c"pos\00" -@fld.str.431 = private constant [5 x i8] c"file\00" -@field_names.432 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.429, i64 3 }, { ptr, i64 } { ptr @fld.str.430, i64 3 }, { ptr, i64 } { ptr @fld.str.431, i64 4 }] -@str.433 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.434 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" -@fld.str.439 = private constant [4 x i8] c"pos\00" -@fld.str.440 = private constant [6 x i8] c"alloc\00" -@field_names.441 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.438, i64 3 }, { ptr, i64 } { ptr @fld.str.439, i64 3 }, { ptr, i64 } { ptr @fld.str.440, i64 5 }] -@str.442 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.443 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.447 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.448 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.449 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" -@fld.str.454 = private constant [12 x i8] c"takes_value\00" -@fld.str.455 = private constant [9 x i8] c"required\00" -@field_names.456 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.453, i64 4 }, { ptr, i64 } { ptr @fld.str.454, i64 11 }, { ptr, i64 } { ptr @fld.str.455, i64 8 }] -@str.457 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.458 = private unnamed_addr constant [8 x i8] c"Command\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"group\00" -@fld.str.463 = private constant [8 x i8] c"command\00" -@fld.str.464 = private constant [6 x i8] c"flags\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 7 }, { 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 [10 x i8] c"FlagValue\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"set\00" -@fld.str.472 = private constant [6 x i8] c"value\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 5 }] -@str.474 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.475 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" -@fld.str.480 = private constant [6 x i8] c"token\00" -@field_names.481 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.479, i64 5 }, { ptr, i64 } { ptr @fld.str.480, i64 5 }] -@str.482 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.483 = private unnamed_addr constant [7 x i8] c"Parsed\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 [10 x i8] c"cmd_index\00" -@fld.str.490 = private constant [5 x i8] c"json\00" -@fld.str.491 = private constant [5 x i8] c"rest\00" -@fld.str.492 = private constant [5 x i8] c"spec\00" -@fld.str.493 = private constant [7 x i8] c"values\00" -@field_names.494 = private constant [7 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 9 }, { ptr, i64 } { ptr @fld.str.490, i64 4 }, { ptr, i64 } { ptr @fld.str.491, i64 4 }, { ptr, i64 } { ptr @fld.str.492, i64 4 }, { ptr, i64 } { ptr @fld.str.493, i64 6 }] -@str.495 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.496 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" -@fld.str.501 = private constant [4 x i8] c"buf\00" -@fld.str.502 = private constant [8 x i8] c"buf_len\00" -@fld.str.503 = private constant [10 x i8] c"total_len\00" -@field_names.504 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.500, i64 1 }, { ptr, i64 } { ptr @fld.str.501, i64 3 }, { ptr, i64 } { ptr @fld.str.502, i64 7 }, { ptr, i64 } { ptr @fld.str.503, i64 9 }] -@str.505 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.506 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.507 = private constant [5 x i8] c"read\00" -@fld.str.508 = private constant [6 x i8] c"write\00" -@fld.str.509 = private constant [7 x i8] c"append\00" -@fld.str.510 = private constant [11 x i8] c"read_write\00" -@field_names.511 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.507, i64 4 }, { ptr, i64 } { ptr @fld.str.508, i64 5 }, { ptr, i64 } { ptr @fld.str.509, i64 6 }, { ptr, i64 } { ptr @fld.str.510, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.515 = private constant [4 x i8] c"set\00" -@fld.str.516 = private constant [8 x i8] c"current\00" -@fld.str.517 = private constant [4 x i8] c"end\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 7 }, { ptr, i64 } { ptr @fld.str.517, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.522 = private constant [6 x i8] c"null_\00" -@fld.str.523 = private constant [6 x i8] c"bool_\00" -@fld.str.524 = private constant [5 x i8] c"int_\00" -@fld.str.525 = private constant [4 x i8] c"str\00" -@fld.str.526 = private constant [6 x i8] c"array\00" -@fld.str.527 = private constant [7 x i8] c"object\00" -@field_names.528 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.522, i64 5 }, { ptr, i64 } { ptr @fld.str.523, i64 5 }, { ptr, i64 } { ptr @fld.str.524, i64 4 }, { ptr, i64 } { ptr @fld.str.525, i64 3 }, { ptr, i64 } { ptr @fld.str.526, i64 5 }, { ptr, i64 } { ptr @fld.str.527, i64 6 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.532 = private constant [6 x i8] c"macos\00" -@fld.str.533 = private constant [6 x i8] c"linux\00" -@fld.str.534 = private constant [8 x i8] c"windows\00" -@fld.str.535 = private constant [5 x i8] c"wasm\00" -@fld.str.536 = private constant [4 x i8] c"ios\00" -@fld.str.537 = private constant [8 x i8] c"android\00" -@fld.str.538 = private constant [8 x i8] c"unknown\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 5 }, { ptr, i64 } { ptr @fld.str.534, i64 7 }, { ptr, i64 } { ptr @fld.str.535, i64 4 }, { ptr, i64 } { ptr @fld.str.536, i64 3 }, { ptr, i64 } { ptr @fld.str.537, i64 7 }, { ptr, i64 } { ptr @fld.str.538, i64 7 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.543 = private constant [8 x i8] c"aarch64\00" -@fld.str.544 = private constant [7 x i8] c"x86_64\00" -@fld.str.545 = private constant [7 x i8] c"wasm32\00" -@fld.str.546 = private constant [7 x i8] c"wasm64\00" -@fld.str.547 = private constant [8 x i8] c"unknown\00" -@field_names.548 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.543, i64 7 }, { ptr, i64 } { ptr @fld.str.544, i64 6 }, { ptr, i64 } { ptr @fld.str.545, i64 6 }, { ptr, i64 } { ptr @fld.str.546, i64 6 }, { ptr, i64 } { ptr @fld.str.547, i64 7 }] -@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 [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.295 = private constant [5 x i8] c"line\00" +@fld.str.296 = private constant [4 x i8] c"col\00" +@fld.str.297 = 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.295, i64 4 }, { ptr, i64 } { ptr @fld.str.296, i64 3 }, { ptr, i64 } { ptr @fld.str.297, i64 4 }] +@str.298 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.299 = private unnamed_addr constant [10 x i8] c"Allocator\00", align 1 +@str.300 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.301 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.302 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.303 = private constant [4 x i8] c"ctx\00" +@fld.str.304 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.305 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.306 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.303, i64 3 }, { ptr, i64 } { ptr @fld.str.304, i64 11 }, { ptr, i64 } { ptr @fld.str.305, i64 13 }] +@str.307 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.308 = private unnamed_addr constant [8 x i8] c"Context\00", align 1 +@str.309 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.310 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.311 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.312 = private constant [10 x i8] c"allocator\00" +@fld.str.313 = private constant [5 x i8] c"data\00" +@field_names.314 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.312, i64 9 }, { ptr, i64 } { ptr @fld.str.313, i64 4 }] +@str.315 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.316 = private unnamed_addr constant [11 x i8] c"CAllocator\00", align 1 +@str.317 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.318 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.319 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@field_names.320 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.321 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.322 = private unnamed_addr constant [4 x i8] c"GPA\00", align 1 +@str.323 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.324 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.325 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.326 = private constant [12 x i8] c"alloc_count\00" +@field_names.327 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.326, i64 11 }] +@str.328 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.329 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" +@fld.str.334 = private constant [4 x i8] c"cap\00" +@field_names.335 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.333, i64 4 }, { ptr, i64 } { ptr @fld.str.334, i64 3 }] +@str.336 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.337 = private unnamed_addr constant [6 x i8] c"Arena\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.341 = private constant [6 x i8] c"first\00" +@fld.str.342 = private constant [10 x i8] c"end_index\00" +@fld.str.343 = private constant [7 x i8] c"parent\00" +@field_names.344 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.341, i64 5 }, { ptr, i64 } { ptr @fld.str.342, i64 9 }, { ptr, i64 } { ptr @fld.str.343, i64 6 }] +@str.345 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.346 = private unnamed_addr constant [9 x i8] c"BufAlloc\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"buf\00" +@fld.str.351 = private constant [4 x i8] c"len\00" +@fld.str.352 = private constant [4 x i8] c"pos\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 3 }, { ptr, i64 } { ptr @fld.str.352, i64 3 }] +@str.354 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.355 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" +@fld.str.360 = private constant [12 x i8] c"alloc_count\00" +@fld.str.361 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.362 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.363 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.359, i64 6 }, { ptr, i64 } { ptr @fld.str.360, i64 11 }, { ptr, i64 } { ptr @fld.str.361, i64 13 }, { ptr, i64 } { ptr @fld.str.362, i64 17 }] +@str.364 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.365 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" +@field_names.370 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.369, i64 2 }] +@str.371 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.372 = private unnamed_addr constant [11 x i8] c"TraceFrame\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"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" +@fld.str.380 = private constant [10 x i8] c"line_text\00" +@field_names.381 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.376, 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 }, { ptr, i64 } { ptr @fld.str.380, i64 9 }] +@str.382 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.383 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" +@fld.str.388 = private constant [7 x i8] c"stdout\00" +@field_names.389 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.387, i64 9 }, { ptr, i64 } { ptr @fld.str.388, i64 6 }] +@str.390 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.391 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" +@fld.str.396 = private constant [11 x i8] c"sin_family\00" +@fld.str.397 = private constant [9 x i8] c"sin_port\00" +@fld.str.398 = private constant [9 x i8] c"sin_addr\00" +@fld.str.399 = private constant [9 x i8] c"sin_zero\00" +@field_names.400 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.395, i64 7 }, { ptr, i64 } { ptr @fld.str.396, i64 10 }, { ptr, i64 } { ptr @fld.str.397, i64 8 }, { ptr, i64 } { ptr @fld.str.398, i64 8 }, { ptr, i64 } { ptr @fld.str.399, i64 8 }] +@str.401 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.402 = private unnamed_addr constant [6 x i8] c"Array\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 [6 x i8] c"items\00" +@fld.str.407 = private constant [4 x i8] c"len\00" +@fld.str.408 = private constant [4 x i8] c"cap\00" +@field_names.409 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.406, i64 5 }, { ptr, i64 } { ptr @fld.str.407, i64 3 }, { ptr, i64 } { ptr @fld.str.408, i64 3 }] +@str.410 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.411 = private unnamed_addr constant [7 x i8] c"Object\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 [6 x i8] c"items\00" +@fld.str.416 = private constant [4 x i8] c"len\00" +@fld.str.417 = private constant [4 x i8] c"cap\00" +@field_names.418 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.415, i64 5 }, { ptr, i64 } { ptr @fld.str.416, i64 3 }, { 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 [7 x i8] c"Member\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 [4 x i8] c"key\00" +@fld.str.425 = private constant [4 x i8] c"val\00" +@field_names.426 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.424, i64 3 }, { ptr, i64 } { ptr @fld.str.425, i64 3 }] +@str.427 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.428 = private unnamed_addr constant [5 x i8] c"Sink\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"dst\00" +@fld.str.433 = private constant [4 x i8] c"pos\00" +@fld.str.434 = private constant [5 x i8] c"file\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 4 }] +@str.436 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.437 = private unnamed_addr constant [7 x i8] c"Parser\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 [4 x i8] c"src\00" +@fld.str.442 = private constant [4 x i8] c"pos\00" +@fld.str.443 = private constant [6 x i8] c"alloc\00" +@field_names.444 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.441, i64 3 }, { ptr, i64 } { ptr @fld.str.442, i64 3 }, { ptr, i64 } { ptr @fld.str.443, i64 5 }] +@str.445 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.446 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 +@field_names.450 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.451 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.452 = private unnamed_addr constant [9 x i8] c"FlagSpec\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"name\00" +@fld.str.457 = private constant [12 x i8] c"takes_value\00" +@fld.str.458 = private constant [9 x i8] c"required\00" +@field_names.459 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.456, i64 4 }, { ptr, i64 } { ptr @fld.str.457, i64 11 }, { ptr, i64 } { ptr @fld.str.458, i64 8 }] +@str.460 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.461 = private unnamed_addr constant [8 x i8] c"Command\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"group\00" +@fld.str.466 = private constant [8 x i8] c"command\00" +@fld.str.467 = private constant [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.467, i64 5 }] +@str.469 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.470 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" +@fld.str.475 = private constant [6 x i8] c"value\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 5 }] +@str.477 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.478 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" +@fld.str.483 = private constant [6 x i8] c"token\00" +@field_names.484 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.482, i64 5 }, { ptr, i64 } { ptr @fld.str.483, i64 5 }] +@str.485 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.486 = private unnamed_addr constant [7 x i8] c"Parsed\00", align 1 +@str.487 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.488 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.489 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.490 = private constant [6 x i8] c"group\00" +@fld.str.491 = private constant [8 x i8] c"command\00" +@fld.str.492 = private constant [10 x i8] c"cmd_index\00" +@fld.str.493 = private constant [5 x i8] c"json\00" +@fld.str.494 = private constant [5 x i8] c"rest\00" +@fld.str.495 = private constant [5 x i8] c"spec\00" +@fld.str.496 = private constant [7 x i8] c"values\00" +@field_names.497 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.490, i64 5 }, { ptr, i64 } { ptr @fld.str.491, i64 7 }, { ptr, i64 } { ptr @fld.str.492, i64 9 }, { ptr, i64 } { ptr @fld.str.493, i64 4 }, { ptr, i64 } { ptr @fld.str.494, i64 4 }, { ptr, i64 } { ptr @fld.str.495, i64 4 }, { ptr, i64 } { ptr @fld.str.496, i64 6 }] +@str.498 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.499 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" +@fld.str.504 = private constant [4 x i8] c"buf\00" +@fld.str.505 = private constant [8 x i8] c"buf_len\00" +@fld.str.506 = private constant [10 x i8] c"total_len\00" +@field_names.507 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.503, i64 1 }, { ptr, i64 } { ptr @fld.str.504, i64 3 }, { ptr, i64 } { ptr @fld.str.505, i64 7 }, { ptr, i64 } { ptr @fld.str.506, i64 9 }] +@str.508 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.509 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.510 = private constant [5 x i8] c"read\00" +@fld.str.511 = private constant [6 x i8] c"write\00" +@fld.str.512 = private constant [7 x i8] c"append\00" +@fld.str.513 = private constant [11 x i8] c"read_write\00" +@field_names.514 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.510, i64 4 }, { ptr, i64 } { ptr @fld.str.511, i64 5 }, { ptr, i64 } { ptr @fld.str.512, i64 6 }, { ptr, i64 } { ptr @fld.str.513, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.518 = private constant [4 x i8] c"set\00" +@fld.str.519 = private constant [8 x i8] c"current\00" +@fld.str.520 = private constant [4 x i8] c"end\00" +@field_names.521 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.518, i64 3 }, { ptr, i64 } { ptr @fld.str.519, i64 7 }, { ptr, i64 } { ptr @fld.str.520, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.525 = private constant [6 x i8] c"null_\00" +@fld.str.526 = private constant [6 x i8] c"bool_\00" +@fld.str.527 = private constant [5 x i8] c"int_\00" +@fld.str.528 = private constant [4 x i8] c"str\00" +@fld.str.529 = private constant [6 x i8] c"array\00" +@fld.str.530 = private constant [7 x i8] c"object\00" +@field_names.531 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.525, i64 5 }, { ptr, i64 } { ptr @fld.str.526, i64 5 }, { ptr, i64 } { ptr @fld.str.527, i64 4 }, { ptr, i64 } { ptr @fld.str.528, i64 3 }, { ptr, i64 } { ptr @fld.str.529, i64 5 }, { ptr, i64 } { ptr @fld.str.530, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.535 = private constant [6 x i8] c"macos\00" +@fld.str.536 = private constant [6 x i8] c"linux\00" +@fld.str.537 = private constant [8 x i8] c"windows\00" +@fld.str.538 = private constant [5 x i8] c"wasm\00" +@fld.str.539 = private constant [4 x i8] c"ios\00" +@fld.str.540 = private constant [8 x i8] c"android\00" +@fld.str.541 = private constant [8 x i8] c"unknown\00" +@field_names.542 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.535, i64 5 }, { ptr, i64 } { ptr @fld.str.536, i64 5 }, { ptr, i64 } { ptr @fld.str.537, i64 7 }, { ptr, i64 } { ptr @fld.str.538, i64 4 }, { ptr, i64 } { ptr @fld.str.539, i64 3 }, { ptr, i64 } { ptr @fld.str.540, i64 7 }, { ptr, i64 } { ptr @fld.str.541, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.546 = private constant [8 x i8] c"aarch64\00" +@fld.str.547 = private constant [7 x i8] c"x86_64\00" +@fld.str.548 = private constant [7 x i8] c"wasm32\00" +@fld.str.549 = private constant [7 x i8] c"wasm64\00" +@fld.str.550 = private constant [8 x i8] c"unknown\00" +@field_names.551 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.546, i64 7 }, { ptr, i64 } { ptr @fld.str.547, i64 6 }, { ptr, i64 } { ptr @fld.str.548, i64 6 }, { ptr, i64 } { ptr @fld.str.549, i64 6 }, { ptr, i64 } { ptr @fld.str.550, i64 7 }] +@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 [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 @@ -519,35 +519,35 @@ @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 -@str.584 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.585 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.586 = private unnamed_addr constant [4 x i8] c"@0x\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 @str.587 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.588 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.588 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.589 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.590 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.591 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.591 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.592 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.593 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.594 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.594 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.595 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.596 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.597 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.597 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.598 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.599 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.600 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 +@str.600 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 @str.601 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.602 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.603 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 +@str.603 = private unnamed_addr constant [6 x i8] c"[*]u8\00", align 1 @str.604 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.605 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.606 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 +@str.606 = private unnamed_addr constant [10 x i8] c"*BufAlloc\00", align 1 @str.607 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.608 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.609 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 +@str.609 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\00", align 1 @str.610 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.611 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.612 = private unnamed_addr constant [4 x i8] c"*u8\00", align 1 +@str.612 = private unnamed_addr constant [6 x i8] c"*File\00", align 1 @str.613 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.614 = private unnamed_addr constant [5 x i8] c"null\00", align 1 @str.615 = private unnamed_addr constant [5 x i8] c"*i32\00", align 1 @@ -610,12 +610,16 @@ @str.672 = private unnamed_addr constant [7 x i8] c"*[]Any\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"*bool\00", align 1 +@str.675 = private unnamed_addr constant [4 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 [5 x i8] c"null\00", align 1 -@str.679 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.678 = private unnamed_addr constant [6 x i8] c"*bool\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"null\00", align 1 +@str.682 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.683 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.684 = private unnamed_addr constant [5 x i8] c"null\00", align 1 ; Function Attrs: nounwind declare void @out(ptr) #0 @@ -632,7 +636,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -683,7 +687,7 @@ if.merge.45: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -773,7 +777,7 @@ if.merge.87: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.96 @@ -976,7 +980,7 @@ if.merge.121: ; preds = %if.else.120, %if.th %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1219,7 +1223,7 @@ if.merge.400: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1291,7 +1295,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1322,7 +1326,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1337,6 +1341,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1379,86 +1392,87 @@ entry: i64 1, label %match.arm.71 i64 10, label %match.arm.72 i64 11, label %match.arm.72 - i64 19, label %match.arm.73 i64 20, label %match.arm.73 i64 21, label %match.arm.73 - i64 24, label %match.arm.73 - i64 26, label %match.arm.73 - i64 28, label %match.arm.73 - i64 30, label %match.arm.73 - i64 33, label %match.arm.73 - i64 35, label %match.arm.73 - i64 39, label %match.arm.73 - i64 43, label %match.arm.73 - i64 45, label %match.arm.73 - i64 48, label %match.arm.73 - i64 52, label %match.arm.73 + i64 22, label %match.arm.73 + i64 25, label %match.arm.73 + i64 27, label %match.arm.73 + i64 29, label %match.arm.73 + i64 31, label %match.arm.73 + i64 34, label %match.arm.73 + i64 36, label %match.arm.73 + i64 40, label %match.arm.73 + i64 44, label %match.arm.73 + i64 46, label %match.arm.73 + i64 49, label %match.arm.73 i64 53, label %match.arm.73 - i64 55, label %match.arm.73 - i64 61, label %match.arm.73 - i64 66, label %match.arm.73 - i64 72, label %match.arm.73 - i64 76, label %match.arm.73 - i64 78, label %match.arm.73 + i64 54, label %match.arm.73 + i64 56, label %match.arm.73 + i64 62, label %match.arm.73 + i64 67, label %match.arm.73 + i64 73, label %match.arm.73 + i64 77, label %match.arm.73 i64 79, label %match.arm.73 i64 80, label %match.arm.73 - i64 82, label %match.arm.73 - i64 89, label %match.arm.73 - i64 37, label %match.arm.74 + i64 81, label %match.arm.73 + i64 83, label %match.arm.73 + i64 90, label %match.arm.73 i64 38, label %match.arm.74 - i64 54, label %match.arm.74 - i64 70, label %match.arm.74 + i64 39, label %match.arm.74 + i64 55, label %match.arm.74 i64 71, label %match.arm.74 - i64 51, label %match.arm.75 - i64 64, label %match.arm.75 - i64 75, label %match.arm.75 - i64 93, label %match.arm.75 - i64 22, label %match.arm.77 - i64 81, label %match.arm.77 - i64 87, label %match.arm.77 + i64 72, label %match.arm.74 + i64 52, label %match.arm.75 + i64 65, label %match.arm.75 + i64 76, label %match.arm.75 + i64 94, label %match.arm.75 + i64 23, label %match.arm.77 + i64 82, label %match.arm.77 i64 88, label %match.arm.77 - i64 92, label %match.arm.77 - i64 100, label %match.arm.77 - i64 23, label %match.arm.78 - i64 60, label %match.arm.78 - i64 77, label %match.arm.78 - i64 85, label %match.arm.78 - i64 98, label %match.arm.78 - i64 18, label %match.arm.79 - i64 25, label %match.arm.79 - i64 27, label %match.arm.79 - i64 29, label %match.arm.79 - i64 31, label %match.arm.79 + i64 89, label %match.arm.77 + i64 93, label %match.arm.77 + i64 101, label %match.arm.77 + i64 24, label %match.arm.78 + i64 61, label %match.arm.78 + i64 78, label %match.arm.78 + i64 86, label %match.arm.78 + i64 99, label %match.arm.78 + i64 19, label %match.arm.79 + i64 26, label %match.arm.79 + i64 28, label %match.arm.79 + i64 30, label %match.arm.79 i64 32, label %match.arm.79 - i64 34, label %match.arm.79 - i64 36, label %match.arm.79 - i64 40, label %match.arm.79 - i64 44, label %match.arm.79 - i64 47, label %match.arm.79 - i64 49, label %match.arm.79 + i64 33, label %match.arm.79 + i64 35, label %match.arm.79 + i64 37, label %match.arm.79 + i64 41, label %match.arm.79 + i64 48, label %match.arm.79 i64 50, label %match.arm.79 - i64 56, label %match.arm.79 + i64 51, label %match.arm.79 i64 57, label %match.arm.79 i64 58, label %match.arm.79 i64 59, label %match.arm.79 - i64 62, label %match.arm.79 - i64 67, label %match.arm.79 - i64 74, label %match.arm.79 - i64 83, label %match.arm.79 - i64 86, label %match.arm.79 - i64 90, label %match.arm.79 - i64 94, label %match.arm.79 + i64 60, label %match.arm.79 + i64 63, label %match.arm.79 + i64 68, label %match.arm.79 + i64 75, label %match.arm.79 + i64 84, label %match.arm.79 + i64 87, label %match.arm.79 + i64 91, label %match.arm.79 i64 95, label %match.arm.79 i64 96, label %match.arm.79 i64 97, label %match.arm.79 - i64 99, label %match.arm.79 - i64 101, label %match.arm.79 + i64 98, label %match.arm.79 + i64 100, label %match.arm.79 i64 102, label %match.arm.79 i64 103, label %match.arm.79 - i64 41, label %match.arm.80 + i64 104, label %match.arm.79 + i64 105, label %match.arm.79 i64 42, label %match.arm.80 - i64 46, label %match.arm.80 - i64 91, label %match.arm.80 + i64 43, label %match.arm.80 + i64 45, label %match.arm.80 + i64 47, label %match.arm.80 + i64 92, label %match.arm.80 i64 13, label %match.arm.81 ] @@ -1476,7 +1490,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 [162 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [165 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 @@ -1509,31 +1523,31 @@ match.arm.73: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.125 [ - i64 19, label %dispatch.case.126 - i64 20, label %dispatch.case.127 - i64 21, label %dispatch.case.128 - i64 24, label %dispatch.case.129 - i64 26, label %dispatch.case.130 - i64 28, label %dispatch.case.131 - i64 30, label %dispatch.case.132 - i64 33, label %dispatch.case.133 - i64 35, label %dispatch.case.134 - i64 39, label %dispatch.case.135 - i64 43, label %dispatch.case.136 - i64 45, label %dispatch.case.137 - i64 48, label %dispatch.case.138 - i64 52, label %dispatch.case.139 - i64 53, label %dispatch.case.140 - i64 55, label %dispatch.case.141 - i64 61, label %dispatch.case.142 - i64 66, label %dispatch.case.143 - i64 72, label %dispatch.case.144 - i64 76, label %dispatch.case.145 - i64 78, label %dispatch.case.146 - i64 79, label %dispatch.case.147 - i64 80, label %dispatch.case.148 - i64 82, label %dispatch.case.149 - i64 89, label %dispatch.case.150 + i64 20, label %dispatch.case.126 + i64 21, label %dispatch.case.127 + i64 22, label %dispatch.case.128 + i64 25, label %dispatch.case.129 + i64 27, label %dispatch.case.130 + i64 29, label %dispatch.case.131 + i64 31, label %dispatch.case.132 + i64 34, label %dispatch.case.133 + i64 36, label %dispatch.case.134 + i64 40, label %dispatch.case.135 + i64 44, label %dispatch.case.136 + i64 46, label %dispatch.case.137 + i64 49, label %dispatch.case.138 + i64 53, label %dispatch.case.139 + i64 54, label %dispatch.case.140 + i64 56, label %dispatch.case.141 + i64 62, label %dispatch.case.142 + i64 67, label %dispatch.case.143 + i64 73, label %dispatch.case.144 + i64 77, label %dispatch.case.145 + i64 79, label %dispatch.case.146 + i64 80, label %dispatch.case.147 + i64 81, label %dispatch.case.148 + i64 83, label %dispatch.case.149 + i64 90, label %dispatch.case.150 ] match.arm.74: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1541,11 +1555,11 @@ match.arm.74: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.277 [ - i64 37, label %dispatch.case.278 - i64 38, label %dispatch.case.279 - i64 54, label %dispatch.case.280 - i64 70, label %dispatch.case.281 - i64 71, label %dispatch.case.282 + i64 38, label %dispatch.case.278 + i64 39, label %dispatch.case.279 + i64 55, label %dispatch.case.280 + i64 71, label %dispatch.case.281 + i64 72, label %dispatch.case.282 ] match.arm.75: ; preds = %entry, %entry, %entry, %entry @@ -1568,12 +1582,12 @@ match.arm.77: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.294 [ - i64 22, label %dispatch.case.295 - i64 81, label %dispatch.case.296 - i64 87, label %dispatch.case.297 - i64 88, label %dispatch.case.298 - i64 92, label %dispatch.case.299 - i64 100, label %dispatch.case.300 + i64 23, label %dispatch.case.295 + i64 82, label %dispatch.case.296 + i64 88, label %dispatch.case.297 + i64 89, label %dispatch.case.298 + i64 93, label %dispatch.case.299 + i64 101, label %dispatch.case.300 ] match.arm.78: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1581,11 +1595,11 @@ match.arm.78: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.332 [ - i64 23, label %dispatch.case.333 - i64 60, label %dispatch.case.334 - i64 77, label %dispatch.case.335 - i64 85, label %dispatch.case.336 - i64 98, label %dispatch.case.337 + i64 24, label %dispatch.case.333 + i64 61, label %dispatch.case.334 + i64 78, label %dispatch.case.335 + i64 86, label %dispatch.case.336 + i64 99, label %dispatch.case.337 ] 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 @@ -1593,48 +1607,49 @@ match.arm.79: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.364 [ - i64 18, label %dispatch.case.365 - i64 25, label %dispatch.case.366 - i64 27, label %dispatch.case.367 - i64 29, label %dispatch.case.368 - i64 31, label %dispatch.case.369 - i64 32, label %dispatch.case.370 - i64 34, label %dispatch.case.371 - i64 36, label %dispatch.case.372 - i64 40, label %dispatch.case.373 - i64 44, label %dispatch.case.374 - i64 47, label %dispatch.case.375 - i64 49, label %dispatch.case.376 - i64 50, label %dispatch.case.377 - i64 56, label %dispatch.case.378 - i64 57, label %dispatch.case.379 - i64 58, label %dispatch.case.380 - i64 59, label %dispatch.case.381 - i64 62, label %dispatch.case.382 - i64 67, label %dispatch.case.383 - i64 74, label %dispatch.case.384 - i64 83, label %dispatch.case.385 - i64 86, label %dispatch.case.386 - i64 90, label %dispatch.case.387 - i64 94, label %dispatch.case.388 - i64 95, label %dispatch.case.389 - i64 96, label %dispatch.case.390 - i64 97, label %dispatch.case.391 - i64 99, label %dispatch.case.392 - i64 101, label %dispatch.case.393 - i64 102, label %dispatch.case.394 - i64 103, label %dispatch.case.395 + i64 19, label %dispatch.case.365 + i64 26, label %dispatch.case.366 + i64 28, label %dispatch.case.367 + i64 30, label %dispatch.case.368 + i64 32, label %dispatch.case.369 + i64 33, label %dispatch.case.370 + i64 35, label %dispatch.case.371 + i64 37, label %dispatch.case.372 + i64 41, label %dispatch.case.373 + i64 48, label %dispatch.case.374 + i64 50, label %dispatch.case.375 + i64 51, label %dispatch.case.376 + i64 57, label %dispatch.case.377 + i64 58, label %dispatch.case.378 + i64 59, label %dispatch.case.379 + i64 60, label %dispatch.case.380 + i64 63, label %dispatch.case.381 + i64 68, label %dispatch.case.382 + i64 75, label %dispatch.case.383 + i64 84, label %dispatch.case.384 + i64 87, label %dispatch.case.385 + i64 91, label %dispatch.case.386 + i64 95, label %dispatch.case.387 + i64 96, label %dispatch.case.388 + i64 97, label %dispatch.case.389 + i64 98, label %dispatch.case.390 + i64 100, label %dispatch.case.391 + i64 102, label %dispatch.case.392 + i64 103, label %dispatch.case.393 + i64 104, label %dispatch.case.394 + i64 105, label %dispatch.case.395 ] -match.arm.80: ; preds = %entry, %entry, %entry, %entry +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.503 [ - i64 41, label %dispatch.case.504 - i64 42, label %dispatch.case.505 - i64 46, label %dispatch.case.506 - i64 91, label %dispatch.case.507 + i64 42, label %dispatch.case.504 + i64 43, label %dispatch.case.505 + i64 45, label %dispatch.case.506 + i64 47, label %dispatch.case.507 + i64 92, label %dispatch.case.508 ] match.arm.81: ; preds = %entry @@ -1643,7 +1658,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 [162 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [165 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 @@ -1694,7 +1709,7 @@ dispatch.merge.124: ; preds = %dispatch.case.150, br label %match.merge.67 dispatch.default.125: ; preds = %match.arm.73 - store { ptr, i64 } { ptr @str.257, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.260, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.124 dispatch.case.126: ; preds = %match.arm.73 @@ -1903,7 +1918,7 @@ dispatch.merge.276: ; preds = %dispatch.case.282, br label %match.merge.67 dispatch.default.277: ; preds = %match.arm.74 - store { ptr, i64 } { ptr @str.258, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.261, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.276 dispatch.case.278: ; preds = %match.arm.74 @@ -1944,7 +1959,7 @@ dispatch.merge.293: ; preds = %dispatch.case.300, br label %match.merge.67 dispatch.default.294: ; preds = %match.arm.77 - store { ptr, i64 } { ptr @str.259, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.262, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.293 dispatch.case.295: ; preds = %match.arm.77 @@ -2001,7 +2016,7 @@ dispatch.merge.331: ; preds = %dispatch.case.337, br label %match.merge.67 dispatch.default.332: ; preds = %match.arm.78 - store { ptr, i64 } { ptr @str.260, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.263, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.331 dispatch.case.333: ; preds = %match.arm.78 @@ -2050,7 +2065,7 @@ dispatch.merge.363: ; preds = %dispatch.case.395, br label %match.merge.67 dispatch.default.364: ; preds = %match.arm.79 - store { ptr, i64 } { ptr @str.261, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.264, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.365: ; preds = %match.arm.79 @@ -2119,147 +2134,147 @@ dispatch.case.373: ; preds = %match.arm.79 dispatch.case.374: ; 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_u8(ptr %0, ptr %iNp247) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp247) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.375: ; 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_i32(ptr %0, ptr %iNp250) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp250) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.376: ; 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_SockAddr(ptr %0, ptr %iNp253) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp253) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.377: ; 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_u32(ptr %0, ptr %iNp256) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp256) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.378: ; 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_Value(ptr %0, ptr %iNp259) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp259) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.379: ; 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_Array(ptr %0, ptr %iNp262) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp262) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.380: ; 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__mptr_Member(ptr %0, ptr %iNp265) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp265) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.381: ; 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_Object(ptr %0, ptr %iNp268) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp268) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.382: ; 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_Sink(ptr %0, ptr %iNp271) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp271) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.383: ; 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_Parser(ptr %0, ptr %iNp274) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp274) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.384: ; 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_i64(ptr %0, ptr %iNp277) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp277) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.385: ; 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__ptr_Parsed(ptr %0, ptr %iNp280) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp280) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.386: ; 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_Diag(ptr %0, ptr %iNp283) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp283) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.387: ; 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__ptr_Sha256(ptr %0, ptr %iNp286) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp286) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.388: ; 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_ptr_CAllocator(ptr %0, ptr %iNp289) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp289) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.389: ; 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_ptr_void(ptr %0, ptr %iNp292) + %callN = call { ptr, i64 } @pointer_to_string__ptr_error_set(ptr %0, ptr %iNp292) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.390: ; 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_error_set(ptr %0, ptr %iNp295) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp295) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.391: ; 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_string(ptr %0, ptr %iNp298) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp298) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.392: ; 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_Any(ptr %0, ptr %iNp301) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp301) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.393: ; 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_AR_1_Any(ptr %0, ptr %iNp304) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp304) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 dispatch.case.394: ; 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_SL_Any(ptr %0, ptr %iNp307) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp307) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 @@ -2270,13 +2285,13 @@ dispatch.case.395: ; preds = %match.arm.79 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.363 -dispatch.merge.502: ; preds = %dispatch.case.507, %dispatch.case.506, %dispatch.case.505, %dispatch.case.504, %dispatch.default.503 +dispatch.merge.502: ; preds = %dispatch.case.508, %dispatch.case.507, %dispatch.case.506, %dispatch.case.505, %dispatch.case.504, %dispatch.default.503 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.67 dispatch.default.503: ; preds = %match.arm.80 - store { ptr, i64 } { ptr @str.262, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.265, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.502 dispatch.case.504: ; preds = %match.arm.80 @@ -2297,17 +2312,24 @@ dispatch.case.505: ; preds = %match.arm.80 dispatch.case.506: ; preds = %match.arm.80 %ua.raw321 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr322 = inttoptr i64 %ua.raw321 to ptr - %ua.load323 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr322, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load323) + %iNp322 = inttoptr i64 %ua.raw321 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp322) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.502 dispatch.case.507: ; preds = %match.arm.80 - %ua.raw325 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr326 = inttoptr i64 %ua.raw325 to ptr - %ua.load327 = load { [64 x i8], i1 }, ptr %ua.ptr326, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load327) + %ua.raw324 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr325 = inttoptr i64 %ua.raw324 to ptr + %ua.load326 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr325, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load326) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.502 + +dispatch.case.508: ; preds = %match.arm.80 + %ua.raw328 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr329 = inttoptr i64 %ua.raw328 to ptr + %ua.load330 = load { [64 x i8], i1 }, ptr %ua.ptr329, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load330) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.502 } @@ -2318,7 +2340,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.263, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.266, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2414,7 +2436,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.264, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.267, 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 @@ -2422,7 +2444,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.265, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.268, 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 @@ -2432,13 +2454,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.266, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.269, 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.267, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.270, 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 @@ -2446,7 +2468,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.268, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.271, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2460,7 +2482,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.269, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.272, 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 @@ -2468,7 +2490,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.270, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.273, 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 @@ -2479,7 +2501,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.271, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.274, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2536,7 +2558,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.272, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.275, 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 @@ -2544,7 +2566,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.273, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.276, 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 @@ -2555,7 +2577,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.274, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.277, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2575,7 +2597,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.275, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.278, 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 @@ -2583,7 +2605,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.276, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.279, 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 @@ -2594,7 +2616,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.277, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.280, i64 4 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.66 @@ -2815,9 +2837,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3548,7 +3567,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.285, i64 17 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.288, 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 @@ -3564,7 +3583,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.286, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.289, 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) @@ -3592,7 +3611,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.287, i64 17 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.290, i64 17 }) ret { ptr, i64 } %call } @@ -3603,7 +3622,7 @@ 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.288, i64 15 }, { ptr, i64 } { ptr @str.289, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.291, i64 15 }, { ptr, i64 } { ptr @str.292, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3622,12 +3641,12 @@ while.body.152: ; preds = %while.hdr.151 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.290, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.293, i64 1 }) ret { ptr, i64 } %callN 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.291, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.294, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.155 @@ -3639,7 +3658,7 @@ if.merge.155: ; preds = %if.then.154, %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.295, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.298, 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 @@ -3696,7 +3715,7 @@ 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.296, i64 9 }, { ptr, i64 } { ptr @str.297, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.299, i64 9 }, { ptr, i64 } { ptr @str.300, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3715,24 +3734,24 @@ while.body.157: ; preds = %while.hdr.156 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.298, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.301, 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.299, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.302, 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.303, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.306, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.307, 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 @@ -3759,19 +3778,19 @@ fv.default: ; preds = %if.merge.160 fv.case: ; preds = %if.merge.160 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.160 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge fv.case21: ; preds = %if.merge.160 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -3781,7 +3800,7 @@ 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.305, i64 7 }, { ptr, i64 } { ptr @str.306, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.308, i64 7 }, { ptr, i64 } { ptr @str.309, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3800,24 +3819,24 @@ 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.307, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.310, 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.308, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.311, 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 [2 x { ptr, i64 }], ptr @field_names.311, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.314, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 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 { { ptr, ptr, ptr }, ptr }, ptr %alloca, align 8 @@ -3844,13 +3863,13 @@ fv.case: ; preds = %if.merge.165 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.165 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 - %fv.val19 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -3859,7 +3878,7 @@ 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.313, i64 10 }, { ptr, i64 } { ptr @str.314, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.316, i64 10 }, { ptr, i64 } { ptr @str.317, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3878,24 +3897,24 @@ 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.315, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.318, 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.316, 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 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 [0 x { ptr, i64 }], ptr @field_names.317, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.320, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.321, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -3914,7 +3933,7 @@ 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.319, i64 3 }, { ptr, i64 } { ptr @str.320, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.322, i64 3 }, { ptr, i64 } { ptr @str.323, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3933,24 +3952,24 @@ 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.321, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.324, 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.322, 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 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 [1 x { ptr, i64 }], ptr @field_names.324, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 x { ptr, i64 }], ptr @field_names.327, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.328, 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 @@ -3983,7 +4002,7 @@ 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.326, i64 10 }, { ptr, i64 } { ptr @str.327, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.329, i64 10 }, { ptr, i64 } { ptr @str.330, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4002,24 +4021,24 @@ while.body.177: ; preds = %while.hdr.176 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.328, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.331, 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.329, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.332, 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 [2 x { ptr, i64 }], ptr @field_names.332, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.335, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.336, 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 @@ -4045,7 +4064,7 @@ fv.default: ; preds = %if.merge.180 fv.case: ; preds = %if.merge.180 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.180 @@ -4060,7 +4079,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.334, i64 5 }, { ptr, i64 } { ptr @str.335, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.337, i64 5 }, { 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 @@ -4079,24 +4098,24 @@ while.body.182: ; preds = %while.hdr.181 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.336, 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.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.337, 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.185 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 [3 x { ptr, i64 }], ptr @field_names.341, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.344, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.345, 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 @@ -4123,7 +4142,7 @@ fv.default: ; preds = %if.merge.185 fv.case: ; preds = %if.merge.185 %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.185 @@ -4135,7 +4154,7 @@ fv.case20: ; preds = %if.merge.185 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -4144,7 +4163,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.343, i64 8 }, { ptr, i64 } { ptr @str.344, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.346, i64 8 }, { 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 @@ -4163,24 +4182,24 @@ while.body.187: ; preds = %while.hdr.186 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.345, 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.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.346, 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.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.350, 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.351, 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, i64, i64 }, ptr %alloca, align 8 @@ -4207,7 +4226,7 @@ fv.default: ; preds = %if.merge.190 fv.case: ; preds = %if.merge.190 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.190 @@ -4227,7 +4246,7 @@ 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.352, i64 17 }, { ptr, i64 } { ptr @str.353, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.355, i64 17 }, { 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 @@ -4246,24 +4265,24 @@ 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.354, 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.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.355, 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.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 [4 x { ptr, i64 }], ptr @field_names.360, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.363, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.364, 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 @@ -4292,7 +4311,7 @@ fv.case: ; preds = %if.merge.195 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.195 @@ -4316,7 +4335,7 @@ 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.362, i64 4 }, { ptr, i64 } { ptr @str.363, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.365, i64 4 }, { 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 @@ -4335,24 +4354,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.364, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.367, 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.365, 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 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 [1 x { ptr, i64 }], ptr @field_names.367, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.368, 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 { i32 }, ptr %alloca, align 4 @@ -4389,7 +4408,7 @@ 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.369, i64 10 }, { ptr, i64 } { ptr @str.370, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.372, i64 10 }, { 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 @@ -4408,24 +4427,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.371, 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.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.372, 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.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 [5 x { ptr, i64 }], ptr @field_names.378, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.379, 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 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -4491,7 +4510,7 @@ 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.380, i64 13 }, { ptr, i64 } { ptr @str.381, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.383, i64 13 }, { 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 @@ -4510,24 +4529,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.382, 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.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.383, 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.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.386, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.387, 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 { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4569,7 +4588,7 @@ 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.388, i64 8 }, { ptr, i64 } { ptr @str.389, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.391, i64 8 }, { 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 @@ -4588,24 +4607,24 @@ 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.390, 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.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.391, 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.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 [5 x { ptr, i64 }], ptr @field_names.397, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.398, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -4666,7 +4685,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.399, i64 5 }, { ptr, i64 } { ptr @str.400, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.402, i64 5 }, { 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 @@ -4685,24 +4704,24 @@ 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.401, 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.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.402, 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.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.406, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.407, 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, i64, i64 }, ptr %alloca, align 8 @@ -4729,7 +4748,7 @@ fv.default: ; preds = %if.merge.220 fv.case: ; preds = %if.merge.220 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.220 @@ -4748,7 +4767,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.408, i64 6 }, { ptr, i64 } { ptr @str.409, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.411, i64 6 }, { 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 @@ -4767,24 +4786,24 @@ 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.410, 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.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.411, 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.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.415, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.416, 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, i64 }, ptr %alloca, align 8 @@ -4811,7 +4830,7 @@ fv.default: ; preds = %if.merge.225 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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.225 @@ -4832,7 +4851,7 @@ entry: %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.417, i64 6 }, { ptr, i64 } { ptr @str.418, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.420, i64 6 }, { 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 @@ -4851,24 +4870,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.419, 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.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.420, 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.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 [2 x { ptr, i64 }], ptr @field_names.423, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.424, 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, i64 }, { i64, [24 x i8] } }, ptr %alloca, align 8 @@ -4902,7 +4921,7 @@ fv.case17: ; preds = %if.merge.230 %fv.field18 = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 1 store { i64, [24 x i8] } %fv.field18, ptr %ba.tmp19, align 8 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -4912,7 +4931,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.425, i64 4 }, { ptr, i64 } { ptr @str.426, 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 @@ -4931,24 +4950,24 @@ 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.427, 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.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.428, 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.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.432, i64 0, i64 %loadN + %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.433, 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 }, i64, ptr }, ptr %alloca, align 8 @@ -4976,7 +4995,7 @@ fv.case: ; preds = %if.merge.235 %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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.235 @@ -4987,7 +5006,7 @@ fv.case17: ; preds = %if.merge.235 fv.case20: ; preds = %if.merge.235 %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -4998,7 +5017,7 @@ entry: %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.434, i64 6 }, { ptr, i64 } { ptr @str.435, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.437, i64 6 }, { 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 @@ -5017,24 +5036,24 @@ 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.436, 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.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.437, 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.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.441, 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.442, 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, ptr, ptr } }, ptr %alloca, align 8 @@ -5074,7 +5093,7 @@ fv.case20: ; preds = %if.merge.240 %fv.field21 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 2 store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8 %ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -5083,7 +5102,7 @@ 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.443, i64 12 }, { ptr, i64 } { ptr @str.444, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.446, i64 12 }, { 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 @@ -5102,24 +5121,24 @@ 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.445, 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.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.446, 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.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 [0 x { ptr, i64 }], ptr @field_names.447, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.448, 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 %alloca, align 1 @@ -5139,7 +5158,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.449, i64 8 }, { ptr, i64 } { ptr @str.450, 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 @@ -5158,24 +5177,24 @@ 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.451, 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.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.452, 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.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.456, 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.457, 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 }, i1, i1 }, ptr %alloca, align 8 @@ -5227,7 +5246,7 @@ entry: %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.458, i64 7 }, { ptr, i64 } { ptr @str.459, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.461, i64 7 }, { 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 @@ -5246,24 +5265,24 @@ while.body.252: ; preds = %while.hdr.251 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.460, 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.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.461, 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.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.465, 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.466, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5305,7 +5324,7 @@ fv.case22: ; preds = %if.merge.255 %fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2 store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8 %ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5315,7 +5334,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.467, i64 9 }, { ptr, i64 } { ptr @str.468, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.470, i64 9 }, { 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 @@ -5334,24 +5353,24 @@ 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.469, 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.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.470, 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.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.473, i64 0, i64 %loadN + %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.474, 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 { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -5394,7 +5413,7 @@ 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.475, i64 4 }, { ptr, i64 } { ptr @str.476, 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 @@ -5413,24 +5432,24 @@ 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.477, 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.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.478, 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.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.481, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 x { ptr, i64 }], ptr @field_names.484, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.485, 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 @@ -5476,7 +5495,7 @@ 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.483, i64 6 }, { ptr, i64 } { ptr @str.484, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.486, i64 6 }, { ptr, i64 } { ptr @str.487, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -5495,24 +5514,24 @@ 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.485, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.488, 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.486, 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 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 [7 x { ptr, i64 }], ptr @field_names.494, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 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.495, 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 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, ptr %alloca, align 8 @@ -5569,21 +5588,21 @@ fv.case28: ; preds = %if.merge.270 %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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge fv.case33: ; preds = %if.merge.270 %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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge fv.case38: ; preds = %if.merge.270 %fv.field39 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 6 store [16 x { i1, { ptr, i64 } }] %fv.field39, ptr %ba.tmp40, align 8 %ba.p2i41 = ptrtoint ptr %ba.tmp40 to i64 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -5594,7 +5613,7 @@ 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.496, i64 6 }, { ptr, i64 } { ptr @str.497, i64 1 }) + %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 @@ -5613,24 +5632,24 @@ while.body.272: ; preds = %while.hdr.271 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.498, 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.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.499, 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.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 [4 x { ptr, i64 }], ptr @field_names.504, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.505, 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 { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -5659,14 +5678,14 @@ fv.case: ; preds = %if.merge.275 %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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.275 %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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.275 @@ -5689,9 +5708,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.511, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.514, 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.506, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.509, 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 @@ -5710,8 +5729,8 @@ entry: if.then.283: ; 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.513, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.512, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.515, 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 @@ -5730,9 +5749,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.518, 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 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.514, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.517, 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 @@ -5751,8 +5770,8 @@ entry: if.then.285: ; 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.520, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.519, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.522, 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 @@ -5782,9 +5801,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.528, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.531, 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.521, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.524, 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 @@ -5801,8 +5820,8 @@ entry: if.then.287: ; 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.530, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.529, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.533, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.532, 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 @@ -5858,7 +5877,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -5867,7 +5886,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -5880,9 +5899,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.539, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 x { ptr, i64 }], ptr @field_names.542, 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.531, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.534, 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 @@ -5901,8 +5920,8 @@ entry: if.then.289: ; 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.541, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.540, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.543, 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 @@ -5921,9 +5940,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.548, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.551, 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.542, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.545, 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 @@ -5942,8 +5961,8 @@ entry: if.then.291: ; 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.550, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.549, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.553, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.552, 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 @@ -5960,7 +5979,7 @@ 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.551, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.554, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.301 @@ -5977,12 +5996,12 @@ while.body.302: ; preds = %while.hdr.301 while.exit.303: ; preds = %while.hdr.301 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.552, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 1 }) ret { ptr, i64 } %call 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.553, 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.305 @@ -6011,7 +6030,7 @@ 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.554, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.557, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.306 @@ -6028,12 +6047,12 @@ while.body.307: ; preds = %while.hdr.306 while.exit.308: ; preds = %while.hdr.306 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.555, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, i64 1 }) ret { ptr, i64 } %call 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.556, 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.310 @@ -6046,7 +6065,7 @@ if.merge.310: ; preds = %if.then.309, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -6063,7 +6082,7 @@ 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.557, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.560, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.311 @@ -6080,12 +6099,12 @@ while.body.312: ; preds = %while.hdr.311 while.exit.313: ; preds = %while.hdr.311 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.558, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 1 }) ret { ptr, i64 } %call 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.559, 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.315 @@ -6113,7 +6132,7 @@ 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.560, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.563, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.316 @@ -6130,12 +6149,12 @@ while.body.317: ; preds = %while.hdr.316 while.exit.318: ; preds = %while.hdr.316 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.561, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, i64 1 }) ret { ptr, i64 } %call 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.562, 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.320 @@ -6164,7 +6183,7 @@ 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.563, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.566, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.321 @@ -6181,12 +6200,12 @@ while.body.322: ; preds = %while.hdr.321 while.exit.323: ; preds = %while.hdr.321 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.564, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 1 }) ret { ptr, i64 } %call 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.565, i64 2 }) + %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.325 @@ -6215,7 +6234,7 @@ 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.566, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.569, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.326 @@ -6232,12 +6251,12 @@ while.body.327: ; preds = %while.hdr.326 while.exit.328: ; preds = %while.hdr.326 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.567, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.570, i64 1 }) ret { ptr, i64 } %call 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.568, 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 br label %if.merge.330 @@ -6267,7 +6286,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.569, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.572, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.338 @@ -6286,12 +6305,12 @@ while.body.339: ; preds = %while.hdr.338 while.exit.340: ; preds = %while.hdr.338 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.570, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.573, i64 1 }) ret { ptr, i64 } %call 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.571, 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.342 @@ -6320,7 +6339,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.572, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.575, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.343 @@ -6339,12 +6358,12 @@ while.body.344: ; preds = %while.hdr.343 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.573, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.576, i64 1 }) ret { ptr, i64 } %call 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.574, 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 br label %if.merge.347 @@ -6373,7 +6392,7 @@ 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.575, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.578, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.348 @@ -6392,12 +6411,12 @@ while.body.349: ; preds = %while.hdr.348 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.576, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.579, i64 1 }) ret { ptr, i64 } %call 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.577, i64 2 }) + %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.352 @@ -6410,7 +6429,7 @@ if.merge.352: ; preds = %if.then.351, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -6427,7 +6446,7 @@ 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.578, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.581, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.353 @@ -6446,12 +6465,12 @@ while.body.354: ; preds = %while.hdr.353 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.579, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.582, i64 1 }) ret { ptr, i64 } %call 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.580, i64 2 }) + %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.357 @@ -6464,7 +6483,7 @@ if.merge.357: ; preds = %if.then.356, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -6481,7 +6500,7 @@ 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.581, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.584, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.358 @@ -6500,12 +6519,12 @@ while.body.359: ; preds = %while.hdr.358 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.582, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.585, i64 1 }) ret { ptr, i64 } %call 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.583, 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.362 @@ -6547,12 +6566,12 @@ if.then.396: ; preds = %entry if.else.397: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.586, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.585, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.589, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.588, i64 5 }, { ptr, i64 } %callN) br label %if.merge.398 if.merge.398: ; preds = %if.else.397, %if.then.396 - %bp = phi { ptr, i64 } [ { ptr @str.584, i64 4 }, %if.then.396 ], [ %callN, %if.else.397 ] + %bp = phi { ptr, i64 } [ { ptr @str.587, i64 4 }, %if.then.396 ], [ %callN, %if.else.397 ] ret { ptr, i64 } %bp } @@ -6575,12 +6594,12 @@ if.then.412: ; preds = %entry 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.589, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.588, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 11 }, { ptr, i64 } %callN) br label %if.merge.414 if.merge.414: ; preds = %if.else.413, %if.then.412 - %bp = phi { ptr, i64 } [ { ptr @str.587, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] + %bp = phi { ptr, i64 } [ { ptr @str.590, i64 4 }, %if.then.412 ], [ %callN, %if.else.413 ] ret { ptr, i64 } %bp } @@ -6603,12 +6622,12 @@ if.then.415: ; preds = %entry if.else.416: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.592, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.595, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.594, i64 4 }, { ptr, i64 } %callN) br label %if.merge.417 if.merge.417: ; preds = %if.else.416, %if.then.415 - %bp = phi { ptr, i64 } [ { ptr @str.590, i64 4 }, %if.then.415 ], [ %callN, %if.else.416 ] + %bp = phi { ptr, i64 } [ { ptr @str.593, i64 4 }, %if.then.415 ], [ %callN, %if.else.416 ] ret { ptr, i64 } %bp } @@ -6631,12 +6650,12 @@ if.then.418: ; preds = %entry 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.595, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.594, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.597, i64 11 }, { ptr, i64 } %callN) br label %if.merge.420 if.merge.420: ; preds = %if.else.419, %if.then.418 - %bp = phi { ptr, i64 } [ { ptr @str.593, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] + %bp = phi { ptr, i64 } [ { ptr @str.596, i64 4 }, %if.then.418 ], [ %callN, %if.else.419 ] ret { ptr, i64 } %bp } @@ -6659,12 +6678,12 @@ if.then.421: ; preds = %entry if.else.422: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.598, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.597, i64 6 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 6 }, { ptr, i64 } %callN) br label %if.merge.423 if.merge.423: ; preds = %if.else.422, %if.then.421 - %bp = phi { ptr, i64 } [ { ptr @str.596, i64 4 }, %if.then.421 ], [ %callN, %if.else.422 ] + %bp = phi { ptr, i64 } [ { ptr @str.599, i64 4 }, %if.then.421 ], [ %callN, %if.else.422 ] ret { ptr, i64 } %bp } @@ -6686,12 +6705,12 @@ if.then.424: ; preds = %entry if.else.425: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.601, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.600, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.604, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 5 }, { ptr, i64 } %callN) br label %if.merge.426 if.merge.426: ; preds = %if.else.425, %if.then.424 - %bp = phi { ptr, i64 } [ { ptr @str.599, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] + %bp = phi { ptr, i64 } [ { ptr @str.602, i64 4 }, %if.then.424 ], [ %callN, %if.else.425 ] ret { ptr, i64 } %bp } @@ -6714,12 +6733,12 @@ if.then.427: ; preds = %entry 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.604, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.603, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.607, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 9 }, { ptr, i64 } %callN) br label %if.merge.429 if.merge.429: ; preds = %if.else.428, %if.then.427 - %bp = phi { ptr, i64 } [ { ptr @str.602, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] + %bp = phi { ptr, i64 } [ { ptr @str.605, i64 4 }, %if.then.427 ], [ %callN, %if.else.428 ] ret { ptr, i64 } %bp } @@ -6742,12 +6761,12 @@ if.then.430: ; preds = %entry 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.607, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 18 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.610, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, i64 18 }, { ptr, i64 } %callN) br label %if.merge.432 if.merge.432: ; preds = %if.else.431, %if.then.430 - %bp = phi { ptr, i64 } [ { ptr @str.605, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] + %bp = phi { ptr, i64 } [ { ptr @str.608, i64 4 }, %if.then.430 ], [ %callN, %if.else.431 ] ret { ptr, i64 } %bp } @@ -6770,17 +6789,17 @@ if.then.433: ; preds = %entry 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.610, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.613, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 5 }, { ptr, i64 } %callN) br label %if.merge.435 if.merge.435: ; preds = %if.else.434, %if.then.433 - %bp = phi { ptr, i64 } [ { ptr @str.608, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] + %bp = phi { ptr, i64 } [ { ptr @str.611, i64 4 }, %if.then.433 ], [ %callN, %if.else.434 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6798,17 +6817,17 @@ if.then.436: ; preds = %entry 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.613, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.612, i64 3 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.616, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.615, i64 4 }, { ptr, i64 } %callN) br label %if.merge.438 if.merge.438: ; preds = %if.else.437, %if.then.436 - %bp = phi { ptr, i64 } [ { ptr @str.611, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] + %bp = phi { ptr, i64 } [ { ptr @str.614, i64 4 }, %if.then.436 ], [ %callN, %if.else.437 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6826,17 +6845,17 @@ if.then.439: ; preds = %entry 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.616, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.615, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.618, i64 9 }, { ptr, i64 } %callN) br label %if.merge.441 if.merge.441: ; preds = %if.else.440, %if.then.439 - %bp = phi { ptr, i64 } [ { ptr @str.614, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] + %bp = phi { ptr, i64 } [ { ptr @str.617, i64 4 }, %if.then.439 ], [ %callN, %if.else.440 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6854,40 +6873,12 @@ if.then.442: ; preds = %entry 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.619, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.618, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.622, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.621, i64 4 }, { ptr, i64 } %callN) br label %if.merge.444 if.merge.444: ; preds = %if.else.443, %if.then.442 - %bp = phi { ptr, i64 } [ { ptr @str.617, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.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.622, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.621, 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.620, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] + %bp = phi { ptr, i64 } [ { ptr @str.620, i64 4 }, %if.then.442 ], [ %callN, %if.else.443 ] ret { ptr, i64 } %bp } @@ -6901,20 +6892,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.448, label %if.else.449 + br i1 %icmp, label %if.then.445, label %if.else.446 -if.then.448: ; preds = %entry - br label %if.merge.450 +if.then.445: ; preds = %entry + br label %if.merge.447 -if.else.449: ; 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.625, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.624, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.450 + br label %if.merge.447 -if.merge.450: ; preds = %if.else.449, %if.then.448 - %bp = phi { ptr, i64 } [ { ptr @str.623, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] +if.merge.447: ; preds = %if.else.446, %if.then.445 + %bp = phi { ptr, i64 } [ { ptr @str.623, i64 4 }, %if.then.445 ], [ %callN, %if.else.446 ] ret { ptr, i64 } %bp } @@ -6929,20 +6920,20 @@ entry: store i64 %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.448, label %if.else.449 -if.then.451: ; preds = %entry - br label %if.merge.453 +if.then.448: ; preds = %entry + br label %if.merge.450 -if.else.452: ; 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.628, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.627, i64 6 }, { ptr, i64 } %callN) - br label %if.merge.453 + br label %if.merge.450 -if.merge.453: ; preds = %if.else.452, %if.then.451 - %bp = phi { ptr, i64 } [ { ptr @str.626, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] +if.merge.450: ; preds = %if.else.449, %if.then.448 + %bp = phi { ptr, i64 } [ { ptr @str.626, i64 4 }, %if.then.448 ], [ %callN, %if.else.449 ] ret { ptr, i64 } %bp } @@ -6956,6 +6947,34 @@ 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.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.631, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.630, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.453 + +if.merge.453: ; preds = %if.else.452, %if.then.451 + %bp = phi { ptr, i64 } [ { ptr @str.629, i64 4 }, %if.then.451 ], [ %callN, %if.else.452 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.454, label %if.else.455 if.then.454: ; preds = %entry @@ -6964,17 +6983,17 @@ if.then.454: ; preds = %entry 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.631, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.630, i64 9 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.634, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.633, i64 7 }, { ptr, i64 } %callN) br label %if.merge.456 if.merge.456: ; preds = %if.else.455, %if.then.454 - %bp = phi { ptr, i64 } [ { ptr @str.629, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] + %bp = phi { ptr, i64 } [ { ptr @str.632, i64 4 }, %if.then.454 ], [ %callN, %if.else.455 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -6992,17 +7011,17 @@ if.then.457: ; preds = %entry 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.634, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.633, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.637, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.636, i64 5 }, { ptr, i64 } %callN) br label %if.merge.459 if.merge.459: ; preds = %if.else.458, %if.then.457 - %bp = phi { ptr, i64 } [ { ptr @str.632, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] + %bp = phi { ptr, i64 } [ { ptr @str.635, i64 4 }, %if.then.457 ], [ %callN, %if.else.458 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7020,17 +7039,17 @@ 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.637, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.636, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.640, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.639, i64 7 }, { ptr, i64 } %callN) br label %if.merge.462 if.merge.462: ; preds = %if.else.461, %if.then.460 - %bp = phi { ptr, i64 } [ { ptr @str.635, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] + %bp = phi { ptr, i64 } [ { ptr @str.638, i64 4 }, %if.then.460 ], [ %callN, %if.else.461 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7048,17 +7067,17 @@ if.then.463: ; preds = %entry 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.640, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.639, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.643, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.642, i64 4 }, { ptr, i64 } %callN) br label %if.merge.465 if.merge.465: ; preds = %if.else.464, %if.then.463 - %bp = phi { ptr, i64 } [ { ptr @str.638, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] + %bp = phi { ptr, i64 } [ { ptr @str.641, i64 4 }, %if.then.463 ], [ %callN, %if.else.464 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7076,17 +7095,17 @@ if.then.466: ; preds = %entry 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.643, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.642, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.646, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.645, i64 7 }, { ptr, i64 } %callN) br label %if.merge.468 if.merge.468: ; preds = %if.else.467, %if.then.466 - %bp = phi { ptr, i64 } [ { ptr @str.641, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] + %bp = phi { ptr, i64 } [ { ptr @str.644, i64 4 }, %if.then.466 ], [ %callN, %if.else.467 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7104,17 +7123,17 @@ if.then.469: ; preds = %entry 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.646, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.645, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.648, 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.644, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] + %bp = phi { ptr, i64 } [ { ptr @str.647, i64 4 }, %if.then.469 ], [ %callN, %if.else.470 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7132,17 +7151,17 @@ if.then.472: ; preds = %entry 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.649, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.648, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 7 }, { ptr, i64 } %callN) br label %if.merge.474 if.merge.474: ; preds = %if.else.473, %if.then.472 - %bp = phi { ptr, i64 } [ { ptr @str.647, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] + %bp = phi { ptr, i64 } [ { ptr @str.650, i64 4 }, %if.then.472 ], [ %callN, %if.else.473 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7160,17 +7179,17 @@ 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.652, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 7 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, i64 12 }, { ptr, i64 } %callN) br label %if.merge.477 if.merge.477: ; preds = %if.else.476, %if.then.475 - %bp = phi { ptr, i64 } [ { ptr @str.650, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] + %bp = phi { ptr, i64 } [ { ptr @str.653, i64 4 }, %if.then.475 ], [ %callN, %if.else.476 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7188,17 +7207,17 @@ if.then.478: ; preds = %entry 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.655, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, i64 12 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.658, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 6 }, { ptr, i64 } %callN) br label %if.merge.480 if.merge.480: ; preds = %if.else.479, %if.then.478 - %bp = phi { ptr, i64 } [ { ptr @str.653, i64 4 }, %if.then.478 ], [ %callN, %if.else.479 ] + %bp = phi { ptr, i64 } [ { ptr @str.656, i64 4 }, %if.then.478 ], [ %callN, %if.else.479 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_error_set(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7216,17 +7235,17 @@ 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.658, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 6 }, { ptr, i64 } %callN) + %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 10 }, { ptr, i64 } %callN) br label %if.merge.483 if.merge.483: ; preds = %if.else.482, %if.then.481 - %bp = phi { ptr, i64 } [ { ptr @str.656, i64 4 }, %if.then.481 ], [ %callN, %if.else.482 ] + %bp = phi { ptr, i64 } [ { ptr @str.659, i64 4 }, %if.then.481 ], [ %callN, %if.else.482 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_error_set(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7244,17 +7263,17 @@ if.then.484: ; preds = %entry 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.661, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.660, i64 10 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.486 if.merge.486: ; preds = %if.else.485, %if.then.484 - %bp = phi { ptr, i64 } [ { ptr @str.659, i64 4 }, %if.then.484 ], [ %callN, %if.else.485 ] + %bp = phi { ptr, i64 } [ { ptr @str.662, i64 4 }, %if.then.484 ], [ %callN, %if.else.485 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7272,17 +7291,17 @@ if.then.487: ; 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.664, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.663, i64 7 }, { ptr, i64 } %callN) + %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.489 if.merge.489: ; preds = %if.else.488, %if.then.487 - %bp = phi { ptr, i64 } [ { ptr @str.662, i64 4 }, %if.then.487 ], [ %callN, %if.else.488 ] + %bp = phi { ptr, i64 } [ { ptr @str.665, i64 4 }, %if.then.487 ], [ %callN, %if.else.488 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7300,17 +7319,17 @@ if.then.490: ; 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.667, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.666, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.492 if.merge.492: ; preds = %if.else.491, %if.then.490 - %bp = phi { ptr, i64 } [ { ptr @str.665, i64 4 }, %if.then.490 ], [ %callN, %if.else.491 ] + %bp = phi { ptr, i64 } [ { ptr @str.668, i64 4 }, %if.then.490 ], [ %callN, %if.else.491 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7328,17 +7347,17 @@ if.then.493: ; 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.670, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, i64 7 }, { ptr, i64 } %callN) + %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.495 if.merge.495: ; preds = %if.else.494, %if.then.493 - %bp = phi { ptr, i64 } [ { ptr @str.668, i64 4 }, %if.then.493 ], [ %callN, %if.else.494 ] + %bp = phi { ptr, i64 } [ { ptr @str.671, i64 4 }, %if.then.493 ], [ %callN, %if.else.494 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7356,12 +7375,12 @@ if.then.496: ; 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.673, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 6 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.498 if.merge.498: ; preds = %if.else.497, %if.then.496 - %bp = phi { ptr, i64 } [ { ptr @str.671, i64 4 }, %if.then.496 ], [ %callN, %if.else.497 ] + %bp = phi { ptr, i64 } [ { ptr @str.674, i64 4 }, %if.then.496 ], [ %callN, %if.else.497 ] ret { ptr, i64 } %bp } @@ -7384,12 +7403,12 @@ if.then.499: ; 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.676, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.675, i64 5 }, { ptr, i64 } %callN) + %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.501 if.merge.501: ; preds = %if.else.500, %if.then.499 - %bp = phi { ptr, i64 } [ { ptr @str.674, i64 4 }, %if.then.499 ], [ %callN, %if.else.500 ] + %bp = phi { ptr, i64 } [ { ptr @str.677, i64 4 }, %if.then.499 ], [ %callN, %if.else.500 ] ret { ptr, i64 } %bp } @@ -7402,17 +7421,17 @@ 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.508, label %if.merge.509 + br i1 %lnot, label %if.then.509, label %if.merge.510 -if.then.508: ; preds = %entry - ret { ptr, i64 } { ptr @str.677, i64 4 } +if.then.509: ; preds = %entry + ret { ptr, i64 } { ptr @str.680, i64 4 } -if.merge.509: ; preds = %entry +if.merge.510: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7426,12 +7445,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.510, label %if.merge.511 + br i1 %lnot, label %if.then.511, label %if.merge.512 -if.then.510: ; preds = %entry - ret { ptr, i64 } { ptr @str.678, i64 4 } +if.then.511: ; preds = %entry + ret { ptr, i64 } { ptr @str.681, i64 4 } -if.merge.511: ; preds = %entry +if.merge.512: ; 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 @@ -7441,6 +7460,27 @@ if.merge.511: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.513, label %if.merge.514 + +if.then.513: ; preds = %entry + ret { ptr, i64 } { ptr @str.682, i64 4 } + +if.merge.514: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -7450,17 +7490,17 @@ 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.512, label %if.merge.513 + br i1 %lnot, label %if.then.515, label %if.merge.516 -if.then.512: ; preds = %entry - ret { ptr, i64 } { ptr @str.679, i64 4 } +if.then.515: ; preds = %entry + ret { ptr, i64 } { ptr @str.683, i64 4 } -if.merge.513: ; preds = %entry +if.merge.516: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7474,17 +7514,17 @@ 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.514, label %if.merge.515 + br i1 %lnot, label %if.then.517, label %if.merge.518 -if.then.514: ; preds = %entry - ret { ptr, i64 } { ptr @str.680, i64 4 } +if.then.517: ; preds = %entry + ret { ptr, i64 } { ptr @str.684, i64 4 } -if.merge.515: ; preds = %entry +if.merge.518: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } diff --git a/examples/expected/1173-diagnostics-cstring-coercions.exit b/examples/expected/1173-diagnostics-cstring-coercions.exit new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/examples/expected/1173-diagnostics-cstring-coercions.exit @@ -0,0 +1 @@ +1 diff --git a/examples/expected/1173-diagnostics-cstring-coercions.stderr b/examples/expected/1173-diagnostics-cstring-coercions.stderr new file mode 100644 index 0000000..ae93d4c --- /dev/null +++ b/examples/expected/1173-diagnostics-cstring-coercions.stderr @@ -0,0 +1,11 @@ +error: only a string LITERAL coerces to 'cstring' implicitly; an arbitrary string may be an unterminated view — materialize it with to_cstring(s) + --> examples/1173-diagnostics-cstring-coercions.sx:9:5 + | + 9 | c : cstring = s; // error: non-literal string -> cstring + | ^^^^^^^^^^^^^^^^ + +error: 'cstring' does not coerce to 'string' implicitly (the length is implicit); convert with from_cstring(c) + --> examples/1173-diagnostics-cstring-coercions.sx:10:5 + | +10 | t : string = c; // error: cstring -> string + | ^^^^^^^^^^^^^^^ diff --git a/examples/expected/1173-diagnostics-cstring-coercions.stdout b/examples/expected/1173-diagnostics-cstring-coercions.stdout new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/examples/expected/1173-diagnostics-cstring-coercions.stdout @@ -0,0 +1 @@ + diff --git a/examples/expected/1202-ffi-cc-c-large-aggregate.ir b/examples/expected/1202-ffi-cc-c-large-aggregate.ir index e5b4bf9..5c3c603 100644 --- a/examples/expected/1202-ffi-cc-c-large-aggregate.ir +++ b/examples/expected/1202-ffi-cc-c-large-aggregate.ir @@ -16,7 +16,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -declare ptr @cstring(ptr, i64) #0 +declare ptr @alloc_string(ptr, i64) #0 ; Function Attrs: nounwind declare ptr @int_to_string(ptr, i64) #0 @@ -45,6 +45,15 @@ declare ptr @concat(ptr, ptr, ptr) #0 ; Function Attrs: nounwind declare ptr @substr(ptr, ptr, i64, i64) #0 +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -266,9 +275,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 diff --git a/examples/expected/1222-ffi-cstring-type.exit b/examples/expected/1222-ffi-cstring-type.exit new file mode 100644 index 0000000..573541a --- /dev/null +++ b/examples/expected/1222-ffi-cstring-type.exit @@ -0,0 +1 @@ +0 diff --git a/examples/expected/1222-ffi-cstring-type.stderr b/examples/expected/1222-ffi-cstring-type.stderr new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/examples/expected/1222-ffi-cstring-type.stderr @@ -0,0 +1 @@ + diff --git a/examples/expected/1222-ffi-cstring-type.stdout b/examples/expected/1222-ffi-cstring-type.stdout new file mode 100644 index 0000000..2f5c96a --- /dev/null +++ b/examples/expected/1222-ffi-cstring-type.stdout @@ -0,0 +1,3 @@ +strerror ok +?cstring ok +round trip ok diff --git a/examples/expected/1309-ffi-objc-class-method-lowering.ir b/examples/expected/1309-ffi-objc-class-method-lowering.ir index cefc1d8..fe1d331 100644 --- a/examples/expected/1309-ffi-objc-class-method-lowering.ir +++ b/examples/expected/1309-ffi-objc-class-method-lowering.ir @@ -48,7 +48,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -99,7 +99,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -203,7 +203,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -234,7 +234,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -249,6 +249,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -758,9 +767,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(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 c9113fb..ca1ab83 100644 --- a/examples/expected/1314-ffi-objc-class-dealloc-roundtrip.ir +++ b/examples/expected/1314-ffi-objc-class-dealloc-roundtrip.ir @@ -64,7 +64,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -115,7 +115,7 @@ if.merge.17: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -219,7 +219,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -250,7 +250,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -265,6 +265,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -774,9 +783,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(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 4226537..7782fc7 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.115 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.116 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.117 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [175 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] +@__sx_type_is_unsigned = private constant [178 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.118 = private constant [9 x i8] c"Overflow\00" @tag.str.119 = private constant [3 x i8] c"Io\00" @@ -51,489 +51,489 @@ @tn.str.145 = private constant [6 x i8] c"isize\00" @tn.str.146 = private constant [6 x i8] c"usize\00" @tn.str.147 = private constant [5 x i8] c"void\00" -@tn.str.148 = private constant [6 x i8] c"*void\00" -@tn.str.149 = private constant [16 x i8] c"Source_Location\00" -@tn.str.150 = private constant [10 x i8] c"Allocator\00" -@tn.str.151 = private constant [8 x i8] c"Context\00" -@tn.str.152 = private constant [7 x i8] c"[4]i64\00" -@tn.str.153 = private constant [9 x i8] c"[]string\00" -@tn.str.154 = private constant [11 x i8] c"CAllocator\00" -@tn.str.155 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.156 = private constant [4 x i8] c"GPA\00" -@tn.str.157 = private constant [5 x i8] c"*GPA\00" -@tn.str.158 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.159 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.160 = private constant [6 x i8] c"Arena\00" -@tn.str.161 = private constant [7 x i8] c"*Arena\00" -@tn.str.162 = private constant [6 x i8] c"[*]u8\00" -@tn.str.163 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.164 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.165 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.166 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.167 = private constant [9 x i8] c"OpenMode\00" -@tn.str.168 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.169 = private constant [5 x i8] c"File\00" -@tn.str.170 = private constant [6 x i8] c"*File\00" -@tn.str.171 = private constant [6 x i8] c"?File\00" -@tn.str.172 = private constant [8 x i8] c"?string\00" -@tn.str.173 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.174 = private constant [4 x i8] c"*u8\00" -@tn.str.175 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.176 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.177 = private constant [5 x i8] c"*i32\00" -@tn.str.178 = private constant [9 x i8] c"SockAddr\00" -@tn.str.179 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.180 = private constant [5 x i8] c"*u32\00" -@tn.str.181 = private constant [10 x i8] c"JsonError\00" -@tn.str.182 = private constant [6 x i8] c"Array\00" -@tn.str.183 = private constant [7 x i8] c"Object\00" -@tn.str.184 = private constant [6 x i8] c"Value\00" -@tn.str.185 = private constant [7 x i8] c"Member\00" -@tn.str.186 = private constant [9 x i8] c"[*]Value\00" -@tn.str.187 = private constant [7 x i8] c"*Array\00" -@tn.str.188 = private constant [10 x i8] c"[*]Member\00" -@tn.str.189 = private constant [8 x i8] c"*Object\00" -@tn.str.190 = private constant [5 x i8] c"[]u8\00" -@tn.str.191 = private constant [5 x i8] c"Sink\00" -@tn.str.192 = private constant [6 x i8] c"*Sink\00" -@tn.str.193 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.194 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.195 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.196 = private constant [7 x i8] c"Parser\00" -@tn.str.197 = private constant [8 x i8] c"*Parser\00" -@tn.str.198 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.199 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.200 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.201 = private constant [13 x i8] c"Architecture\00" -@tn.str.202 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.203 = private constant [11 x i8] c"() -> bool\00" -@tn.str.204 = private constant [5 x i8] c"*i64\00" -@tn.str.205 = private constant [9 x i8] c"CliError\00" -@tn.str.206 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.207 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.208 = private constant [8 x i8] c"Command\00" -@tn.str.209 = private constant [10 x i8] c"FlagValue\00" -@tn.str.210 = private constant [5 x i8] c"Diag\00" -@tn.str.211 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.212 = private constant [7 x i8] c"Parsed\00" -@tn.str.213 = private constant [8 x i8] c"*Parsed\00" -@tn.str.214 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.215 = private constant [10 x i8] c"[]Command\00" -@tn.str.216 = private constant [6 x i8] c"*Diag\00" -@tn.str.217 = private constant [7 x i8] c"[8]i64\00" -@tn.str.218 = private constant [7 x i8] c"[64]u8\00" -@tn.str.219 = private constant [7 x i8] c"Sha256\00" -@tn.str.220 = private constant [8 x i8] c"*Sha256\00" -@tn.str.221 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.222 = private constant [8 x i8] c"[64]i64\00" -@tn.str.223 = private constant [9 x i8] c"NSString\00" -@tn.str.224 = private constant [10 x i8] c"*NSString\00" -@tn.str.225 = private constant [10 x i8] c"Closure()\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 [6 x i8] c"SxBox\00" -@tn.str.229 = private constant [7 x i8] c"*SxBox\00" -@tn.str.230 = private constant [13 x i8] c"__SxBoxState\00" -@tn.str.231 = private constant [8 x i8] c"**SxBox\00" -@tn.str.232 = private constant [8 x i8] c"*string\00" -@tn.str.233 = private constant [6 x i8] c"[]Any\00" -@tn.str.234 = private constant [5 x i8] c"*Any\00" -@tn.str.235 = private constant [7 x i8] c"*[]Any\00" -@tn.str.236 = private constant [6 x i8] c"*bool\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"[3]Any\00" -@tn.str.240 = private constant [8 x i8] c"*[3]Any\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 [14 x i8] c"*__SxBoxState\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 [6 x i8] c"**GPA\00" -@tn.str.268 = private constant [13 x i8] c"**ArenaChunk\00" -@tn.str.269 = private constant [8 x i8] c"**Arena\00" -@tn.str.270 = private constant [7 x i8] c"*[*]u8\00" -@tn.str.271 = private constant [11 x i8] c"**BufAlloc\00" -@tn.str.272 = private constant [20 x i8] c"**TrackingAllocator\00" -@tn.str.273 = private constant [7 x i8] c"**File\00" -@tn.str.274 = private constant [5 x i8] c"**u8\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"**NSString\00" -@tn.str.289 = private constant [14 x i8] c"***CAllocator\00" -@tn.str.290 = private constant [8 x i8] c"***void\00" -@tn.str.291 = private constant [9 x i8] c"***SxBox\00" -@tn.str.292 = private constant [9 x i8] c"**string\00" -@tn.str.293 = private constant [6 x i8] c"**Any\00" -@tn.str.294 = private constant [8 x i8] c"**[]Any\00" -@tn.str.295 = private constant [7 x i8] c"**bool\00" -@tn.str.296 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.297 = private constant [9 x i8] c"**[3]Any\00" -@tn.str.298 = private constant [7 x i8] c"*?File\00" -@tn.str.299 = private constant [9 x i8] c"*?string\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 [16 x i8] c"__sx_objc_super\00" -@tn.str.303 = private constant [17 x i8] c"*__sx_objc_super\00" -@tn.str.304 = private constant [6 x i8] c"[8]u8\00" -@__sx_type_names = private constant [175 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 2 }, { ptr, i64 } { ptr @tn.str.133, i64 3 }, { ptr, i64 } { ptr @tn.str.134, i64 3 }, { ptr, i64 } { ptr @tn.str.135, i64 3 }, { ptr, i64 } { ptr @tn.str.136, i64 2 }, { ptr, i64 } { ptr @tn.str.137, i64 3 }, { ptr, i64 } { ptr @tn.str.138, i64 3 }, { ptr, i64 } { ptr @tn.str.139, i64 3 }, { ptr, i64 } { ptr @tn.str.140, i64 3 }, { ptr, i64 } { ptr @tn.str.141, i64 3 }, { ptr, i64 } { ptr @tn.str.142, i64 6 }, { ptr, i64 } { ptr @tn.str.143, i64 3 }, { ptr, i64 } { ptr @tn.str.144, i64 8 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 4 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 15 }, { ptr, i64 } { ptr @tn.str.150, i64 9 }, { ptr, i64 } { ptr @tn.str.151, i64 7 }, { ptr, i64 } { ptr @tn.str.152, i64 6 }, { ptr, i64 } { ptr @tn.str.153, i64 8 }, { ptr, i64 } { ptr @tn.str.154, i64 10 }, { ptr, i64 } { ptr @tn.str.155, i64 11 }, { ptr, i64 } { ptr @tn.str.156, i64 3 }, { ptr, i64 } { ptr @tn.str.157, i64 4 }, { ptr, i64 } { ptr @tn.str.158, i64 10 }, { ptr, i64 } { ptr @tn.str.159, i64 11 }, { 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 8 }, { ptr, i64 } { ptr @tn.str.164, i64 9 }, { ptr, i64 } { ptr @tn.str.165, i64 17 }, { ptr, i64 } { ptr @tn.str.166, i64 18 }, { ptr, i64 } { ptr @tn.str.167, i64 8 }, { ptr, i64 } { ptr @tn.str.168, i64 8 }, { ptr, i64 } { ptr @tn.str.169, i64 4 }, { ptr, i64 } { ptr @tn.str.170, i64 5 }, { ptr, i64 } { ptr @tn.str.171, i64 5 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 10 }, { ptr, i64 } { ptr @tn.str.174, i64 3 }, { ptr, i64 } { ptr @tn.str.175, i64 13 }, { ptr, i64 } { ptr @tn.str.176, i64 14 }, { ptr, i64 } { ptr @tn.str.177, i64 4 }, { ptr, i64 } { ptr @tn.str.178, i64 8 }, { ptr, i64 } { ptr @tn.str.179, i64 9 }, { ptr, i64 } { ptr @tn.str.180, i64 4 }, { ptr, i64 } { ptr @tn.str.181, i64 9 }, { ptr, i64 } { ptr @tn.str.182, i64 5 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 5 }, { ptr, i64 } { ptr @tn.str.185, i64 6 }, { ptr, i64 } { ptr @tn.str.186, i64 8 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 9 }, { ptr, i64 } { ptr @tn.str.189, i64 7 }, { ptr, i64 } { ptr @tn.str.190, i64 4 }, { ptr, i64 } { ptr @tn.str.191, i64 4 }, { ptr, i64 } { ptr @tn.str.192, i64 5 }, { ptr, i64 } { ptr @tn.str.193, i64 16 }, { ptr, i64 } { ptr @tn.str.194, i64 14 }, { ptr, i64 } { ptr @tn.str.195, i64 21 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 24 }, { ptr, i64 } { ptr @tn.str.199, i64 23 }, { ptr, i64 } { ptr @tn.str.200, i64 15 }, { ptr, i64 } { ptr @tn.str.201, i64 12 }, { ptr, i64 } { ptr @tn.str.202, i64 12 }, { ptr, i64 } { ptr @tn.str.203, i64 10 }, { ptr, i64 } { ptr @tn.str.204, i64 4 }, { ptr, i64 } { ptr @tn.str.205, i64 8 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 10 }, { ptr, i64 } { ptr @tn.str.208, i64 7 }, { ptr, i64 } { ptr @tn.str.209, i64 9 }, { ptr, i64 } { ptr @tn.str.210, i64 4 }, { ptr, i64 } { ptr @tn.str.211, i64 13 }, { ptr, i64 } { ptr @tn.str.212, i64 6 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 18 }, { ptr, i64 } { ptr @tn.str.215, i64 9 }, { ptr, i64 } { ptr @tn.str.216, i64 5 }, { ptr, i64 } { ptr @tn.str.217, i64 6 }, { ptr, i64 } { ptr @tn.str.218, i64 6 }, { ptr, i64 } { ptr @tn.str.219, i64 6 }, { ptr, i64 } { ptr @tn.str.220, i64 7 }, { ptr, i64 } { ptr @tn.str.221, i64 7 }, { ptr, i64 } { ptr @tn.str.222, i64 7 }, { ptr, i64 } { ptr @tn.str.223, i64 8 }, { ptr, i64 } { ptr @tn.str.224, i64 9 }, { ptr, i64 } { ptr @tn.str.225, i64 9 }, { ptr, i64 } { ptr @tn.str.226, i64 12 }, { ptr, i64 } { ptr @tn.str.227, i64 6 }, { ptr, i64 } { ptr @tn.str.228, i64 5 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 12 }, { ptr, i64 } { ptr @tn.str.231, i64 7 }, { ptr, i64 } { ptr @tn.str.232, i64 7 }, { ptr, i64 } { ptr @tn.str.233, i64 5 }, { ptr, i64 } { ptr @tn.str.234, i64 4 }, { ptr, i64 } { ptr @tn.str.235, i64 6 }, { ptr, i64 } { ptr @tn.str.236, i64 5 }, { 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 7 }, { 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 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 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 5 }, { ptr, i64 } { ptr @tn.str.268, i64 12 }, { ptr, i64 } { ptr @tn.str.269, i64 7 }, { ptr, i64 } { ptr @tn.str.270, i64 6 }, { ptr, i64 } { ptr @tn.str.271, i64 10 }, { ptr, i64 } { ptr @tn.str.272, i64 19 }, { ptr, i64 } { ptr @tn.str.273, i64 6 }, { ptr, i64 } { ptr @tn.str.274, i64 4 }, { 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 13 }, { ptr, i64 } { ptr @tn.str.290, i64 7 }, { ptr, i64 } { ptr @tn.str.291, i64 8 }, { ptr, i64 } { ptr @tn.str.292, i64 8 }, { ptr, i64 } { ptr @tn.str.293, i64 5 }, { 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 8 }, { ptr, i64 } { ptr @tn.str.298, i64 6 }, { ptr, i64 } { ptr @tn.str.299, i64 8 }, { ptr, i64 } { ptr @tn.str.300, i64 15 }, { ptr, i64 } { ptr @tn.str.301, i64 8 }, { ptr, i64 } { ptr @tn.str.302, i64 15 }, { ptr, i64 } { ptr @tn.str.303, i64 16 }, { ptr, i64 } { ptr @tn.str.304, i64 5 }] -@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 +@tn.str.148 = private constant [8 x i8] c"cstring\00" +@tn.str.149 = private constant [6 x i8] c"*void\00" +@tn.str.150 = private constant [16 x i8] c"Source_Location\00" +@tn.str.151 = private constant [10 x i8] c"Allocator\00" +@tn.str.152 = private constant [8 x i8] c"Context\00" +@tn.str.153 = private constant [7 x i8] c"[4]i64\00" +@tn.str.154 = private constant [9 x i8] c"[]string\00" +@tn.str.155 = private constant [11 x i8] c"CAllocator\00" +@tn.str.156 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.157 = private constant [4 x i8] c"GPA\00" +@tn.str.158 = private constant [5 x i8] c"*GPA\00" +@tn.str.159 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.160 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.161 = private constant [6 x i8] c"Arena\00" +@tn.str.162 = private constant [7 x i8] c"*Arena\00" +@tn.str.163 = private constant [6 x i8] c"[*]u8\00" +@tn.str.164 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.165 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.166 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.167 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.168 = private constant [9 x i8] c"OpenMode\00" +@tn.str.169 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.170 = private constant [5 x i8] c"File\00" +@tn.str.171 = private constant [6 x i8] c"*File\00" +@tn.str.172 = private constant [6 x i8] c"?File\00" +@tn.str.173 = private constant [8 x i8] c"?string\00" +@tn.str.174 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.175 = private constant [9 x i8] c"?cstring\00" +@tn.str.176 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.177 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.178 = private constant [5 x i8] c"*i32\00" +@tn.str.179 = private constant [9 x i8] c"SockAddr\00" +@tn.str.180 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.181 = private constant [5 x i8] c"*u32\00" +@tn.str.182 = private constant [10 x i8] c"JsonError\00" +@tn.str.183 = private constant [6 x i8] c"Array\00" +@tn.str.184 = private constant [7 x i8] c"Object\00" +@tn.str.185 = private constant [6 x i8] c"Value\00" +@tn.str.186 = private constant [7 x i8] c"Member\00" +@tn.str.187 = private constant [9 x i8] c"[*]Value\00" +@tn.str.188 = private constant [7 x i8] c"*Array\00" +@tn.str.189 = private constant [10 x i8] c"[*]Member\00" +@tn.str.190 = private constant [8 x i8] c"*Object\00" +@tn.str.191 = private constant [5 x i8] c"[]u8\00" +@tn.str.192 = private constant [5 x i8] c"Sink\00" +@tn.str.193 = private constant [6 x i8] c"*Sink\00" +@tn.str.194 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.195 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.196 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.197 = private constant [7 x i8] c"Parser\00" +@tn.str.198 = private constant [8 x i8] c"*Parser\00" +@tn.str.199 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.200 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.201 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.202 = private constant [13 x i8] c"Architecture\00" +@tn.str.203 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.204 = private constant [11 x i8] c"() -> bool\00" +@tn.str.205 = private constant [5 x i8] c"*i64\00" +@tn.str.206 = private constant [9 x i8] c"CliError\00" +@tn.str.207 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.208 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.209 = private constant [8 x i8] c"Command\00" +@tn.str.210 = private constant [10 x i8] c"FlagValue\00" +@tn.str.211 = private constant [5 x i8] c"Diag\00" +@tn.str.212 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.213 = private constant [7 x i8] c"Parsed\00" +@tn.str.214 = private constant [8 x i8] c"*Parsed\00" +@tn.str.215 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.216 = private constant [10 x i8] c"[]Command\00" +@tn.str.217 = private constant [6 x i8] c"*Diag\00" +@tn.str.218 = private constant [7 x i8] c"[8]i64\00" +@tn.str.219 = private constant [7 x i8] c"[64]u8\00" +@tn.str.220 = private constant [7 x i8] c"Sha256\00" +@tn.str.221 = private constant [8 x i8] c"*Sha256\00" +@tn.str.222 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.223 = private constant [8 x i8] c"[64]i64\00" +@tn.str.224 = private constant [9 x i8] c"NSString\00" +@tn.str.225 = private constant [10 x i8] c"*NSString\00" +@tn.str.226 = private constant [10 x i8] c"Closure()\00" +@tn.str.227 = private constant [13 x i8] c"**CAllocator\00" +@tn.str.228 = private constant [7 x i8] c"**void\00" +@tn.str.229 = private constant [6 x i8] c"SxBox\00" +@tn.str.230 = private constant [7 x i8] c"*SxBox\00" +@tn.str.231 = private constant [13 x i8] c"__SxBoxState\00" +@tn.str.232 = private constant [8 x i8] c"**SxBox\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 [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"[3]Any\00" +@tn.str.242 = private constant [8 x i8] c"*[3]Any\00" +@tn.str.243 = private constant [8 x i8] c"*[4]i64\00" +@tn.str.244 = private constant [5 x i8] c"*f64\00" +@tn.str.245 = private constant [17 x i8] c"*Source_Location\00" +@tn.str.246 = private constant [11 x i8] c"*Allocator\00" +@tn.str.247 = private constant [9 x i8] c"*Context\00" +@tn.str.248 = private constant [12 x i8] c"*TraceFrame\00" +@tn.str.249 = private constant [15 x i8] c"*ProcessResult\00" +@tn.str.250 = private constant [8 x i8] c"*Member\00" +@tn.str.251 = private constant [14 x i8] c"*BuildOptions\00" +@tn.str.252 = private constant [10 x i8] c"*FlagSpec\00" +@tn.str.253 = private constant [9 x i8] c"*Command\00" +@tn.str.254 = private constant [11 x i8] c"*FlagValue\00" +@tn.str.255 = private constant [14 x i8] c"*__SxBoxState\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 [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"**NSString\00" +@tn.str.290 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.291 = private constant [8 x i8] c"***void\00" +@tn.str.292 = private constant [9 x i8] c"***SxBox\00" +@tn.str.293 = private constant [9 x i8] c"**string\00" +@tn.str.294 = private constant [6 x i8] c"**Any\00" +@tn.str.295 = private constant [8 x i8] c"**[]Any\00" +@tn.str.296 = private constant [5 x i8] c"**u8\00" +@tn.str.297 = private constant [7 x i8] c"**bool\00" +@tn.str.298 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.299 = private constant [9 x i8] c"**[3]Any\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" +@tn.str.305 = private constant [16 x i8] c"__sx_objc_super\00" +@tn.str.306 = private constant [17 x i8] c"*__sx_objc_super\00" +@tn.str.307 = private constant [6 x i8] c"[8]u8\00" +@__sx_type_names = private constant [178 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 2 }, { ptr, i64 } { ptr @tn.str.133, i64 3 }, { ptr, i64 } { ptr @tn.str.134, i64 3 }, { ptr, i64 } { ptr @tn.str.135, i64 3 }, { ptr, i64 } { ptr @tn.str.136, i64 2 }, { ptr, i64 } { ptr @tn.str.137, i64 3 }, { ptr, i64 } { ptr @tn.str.138, i64 3 }, { ptr, i64 } { ptr @tn.str.139, i64 3 }, { ptr, i64 } { ptr @tn.str.140, i64 3 }, { ptr, i64 } { ptr @tn.str.141, i64 3 }, { ptr, i64 } { ptr @tn.str.142, i64 6 }, { ptr, i64 } { ptr @tn.str.143, i64 3 }, { ptr, i64 } { ptr @tn.str.144, i64 8 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 4 }, { ptr, i64 } { ptr @tn.str.148, i64 7 }, { ptr, i64 } { ptr @tn.str.149, i64 5 }, { ptr, i64 } { ptr @tn.str.150, i64 15 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 7 }, { ptr, i64 } { ptr @tn.str.153, i64 6 }, { ptr, i64 } { ptr @tn.str.154, i64 8 }, { ptr, i64 } { ptr @tn.str.155, i64 10 }, { ptr, i64 } { ptr @tn.str.156, i64 11 }, { ptr, i64 } { ptr @tn.str.157, i64 3 }, { ptr, i64 } { ptr @tn.str.158, i64 4 }, { ptr, i64 } { ptr @tn.str.159, i64 10 }, { ptr, i64 } { ptr @tn.str.160, i64 11 }, { 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 8 }, { ptr, i64 } { ptr @tn.str.165, i64 9 }, { ptr, i64 } { ptr @tn.str.166, i64 17 }, { ptr, i64 } { ptr @tn.str.167, i64 18 }, { ptr, i64 } { ptr @tn.str.168, i64 8 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 4 }, { ptr, i64 } { ptr @tn.str.171, i64 5 }, { ptr, i64 } { ptr @tn.str.172, i64 5 }, { ptr, i64 } { ptr @tn.str.173, i64 7 }, { ptr, i64 } { ptr @tn.str.174, i64 10 }, { ptr, i64 } { ptr @tn.str.175, i64 8 }, { ptr, i64 } { ptr @tn.str.176, i64 13 }, { ptr, i64 } { ptr @tn.str.177, i64 14 }, { ptr, i64 } { ptr @tn.str.178, i64 4 }, { ptr, i64 } { ptr @tn.str.179, i64 8 }, { ptr, i64 } { ptr @tn.str.180, i64 9 }, { ptr, i64 } { ptr @tn.str.181, i64 4 }, { ptr, i64 } { ptr @tn.str.182, i64 9 }, { ptr, i64 } { ptr @tn.str.183, i64 5 }, { ptr, i64 } { ptr @tn.str.184, i64 6 }, { ptr, i64 } { ptr @tn.str.185, i64 5 }, { ptr, i64 } { ptr @tn.str.186, i64 6 }, { ptr, i64 } { ptr @tn.str.187, i64 8 }, { ptr, i64 } { ptr @tn.str.188, i64 6 }, { ptr, i64 } { ptr @tn.str.189, i64 9 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 4 }, { ptr, i64 } { ptr @tn.str.192, i64 4 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 16 }, { ptr, i64 } { ptr @tn.str.195, i64 14 }, { ptr, i64 } { ptr @tn.str.196, i64 21 }, { ptr, i64 } { ptr @tn.str.197, i64 6 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 24 }, { ptr, i64 } { ptr @tn.str.200, i64 23 }, { ptr, i64 } { ptr @tn.str.201, i64 15 }, { ptr, i64 } { ptr @tn.str.202, i64 12 }, { ptr, i64 } { ptr @tn.str.203, i64 12 }, { ptr, i64 } { ptr @tn.str.204, i64 10 }, { ptr, i64 } { ptr @tn.str.205, i64 4 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 8 }, { ptr, i64 } { ptr @tn.str.208, i64 10 }, { ptr, i64 } { ptr @tn.str.209, i64 7 }, { ptr, i64 } { ptr @tn.str.210, i64 9 }, { ptr, i64 } { ptr @tn.str.211, i64 4 }, { ptr, i64 } { ptr @tn.str.212, i64 13 }, { ptr, i64 } { ptr @tn.str.213, i64 6 }, { ptr, i64 } { ptr @tn.str.214, i64 7 }, { ptr, i64 } { ptr @tn.str.215, i64 18 }, { ptr, i64 } { ptr @tn.str.216, i64 9 }, { ptr, i64 } { ptr @tn.str.217, i64 5 }, { ptr, i64 } { ptr @tn.str.218, i64 6 }, { ptr, i64 } { ptr @tn.str.219, i64 6 }, { ptr, i64 } { ptr @tn.str.220, i64 6 }, { ptr, i64 } { ptr @tn.str.221, i64 7 }, { ptr, i64 } { ptr @tn.str.222, i64 7 }, { ptr, i64 } { ptr @tn.str.223, i64 7 }, { ptr, i64 } { ptr @tn.str.224, i64 8 }, { ptr, i64 } { ptr @tn.str.225, i64 9 }, { ptr, i64 } { ptr @tn.str.226, i64 9 }, { ptr, i64 } { ptr @tn.str.227, i64 12 }, { ptr, i64 } { ptr @tn.str.228, i64 6 }, { ptr, i64 } { ptr @tn.str.229, i64 5 }, { ptr, i64 } { ptr @tn.str.230, i64 6 }, { ptr, i64 } { ptr @tn.str.231, i64 12 }, { ptr, i64 } { ptr @tn.str.232, i64 7 }, { 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 6 }, { ptr, i64 } { ptr @tn.str.240, i64 7 }, { ptr, i64 } { ptr @tn.str.241, i64 6 }, { ptr, i64 } { ptr @tn.str.242, i64 7 }, { ptr, i64 } { ptr @tn.str.243, i64 7 }, { ptr, i64 } { ptr @tn.str.244, i64 4 }, { ptr, i64 } { ptr @tn.str.245, i64 16 }, { ptr, i64 } { ptr @tn.str.246, i64 10 }, { ptr, i64 } { ptr @tn.str.247, i64 8 }, { ptr, i64 } { ptr @tn.str.248, i64 11 }, { ptr, i64 } { ptr @tn.str.249, i64 14 }, { ptr, i64 } { ptr @tn.str.250, i64 7 }, { ptr, i64 } { ptr @tn.str.251, i64 13 }, { ptr, i64 } { ptr @tn.str.252, i64 9 }, { ptr, i64 } { ptr @tn.str.253, i64 8 }, { ptr, i64 } { ptr @tn.str.254, i64 10 }, { ptr, i64 } { ptr @tn.str.255, i64 13 }, { 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 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 13 }, { ptr, i64 } { ptr @tn.str.291, i64 7 }, { ptr, i64 } { ptr @tn.str.292, i64 8 }, { ptr, i64 } { ptr @tn.str.293, i64 8 }, { ptr, i64 } { ptr @tn.str.294, i64 5 }, { ptr, i64 } { ptr @tn.str.295, i64 7 }, { ptr, i64 } { ptr @tn.str.296, i64 4 }, { ptr, i64 } { ptr @tn.str.297, i64 6 }, { ptr, i64 } { ptr @tn.str.298, i64 8 }, { ptr, i64 } { ptr @tn.str.299, i64 8 }, { 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 }, { ptr, i64 } { ptr @tn.str.305, i64 15 }, { ptr, i64 } { ptr @tn.str.306, i64 16 }, { ptr, i64 } { ptr @tn.str.307, i64 5 }] @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.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 [6 x i8] c"SxBox\00", align 1 -@str.327 = private unnamed_addr constant [9 x i8] c"setArea:\00", align 1 -@str.328 = private unnamed_addr constant [31 x i8] c"FAIL: width/height round-trip\0A\00", align 1 -@str.329 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.330 = private unnamed_addr constant [31 x i8] c"FAIL: width/height round-trip\0A\00", align 1 -@str.331 = private unnamed_addr constant [31 x i8] c"FAIL: area expected 0, got {}\0A\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 [6 x i8] c"SxBox\00", align 1 +@str.330 = private unnamed_addr constant [9 x i8] c"setArea:\00", align 1 +@str.331 = private unnamed_addr constant [31 x i8] c"FAIL: width/height round-trip\0A\00", align 1 @str.332 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.333 = private unnamed_addr constant [31 x i8] c"FAIL: area expected 0, got {}\0A\00", align 1 -@str.334 = private unnamed_addr constant [52 x i8] c"FAIL: setArea: should not be registered (readonly)\0A\00", align 1 +@str.333 = private unnamed_addr constant [31 x i8] c"FAIL: width/height round-trip\0A\00", align 1 +@str.334 = private unnamed_addr constant [31 x i8] c"FAIL: area expected 0, got {}\0A\00", align 1 @str.335 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.336 = private unnamed_addr constant [52 x i8] c"FAIL: setArea: should not be registered (readonly)\0A\00", align 1 -@str.337 = private unnamed_addr constant [29 x i8] c"property: w={} h={} area={}\0A\00", align 1 +@str.336 = private unnamed_addr constant [31 x i8] c"FAIL: area expected 0, got {}\0A\00", align 1 +@str.337 = private unnamed_addr constant [52 x i8] c"FAIL: setArea: should not be registered (readonly)\0A\00", align 1 @str.338 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.339 = private unnamed_addr constant [29 x i8] c"property: w={} h={} area={}\0A\00", align 1 -@str.340 = private unnamed_addr constant [16 x i8] c"Source_Location\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 +@str.339 = private unnamed_addr constant [52 x i8] c"FAIL: setArea: should not be registered (readonly)\0A\00", align 1 +@str.340 = private unnamed_addr constant [29 x i8] c"property: w={} h={} area={}\0A\00", align 1 +@str.341 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.342 = private unnamed_addr constant [29 x i8] c"property: w={} h={} area={}\0A\00", align 1 +@str.343 = private unnamed_addr constant [16 x i8] c"Source_Location\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 = private constant [5 x i8] c"file\00" -@fld.str.344 = private constant [5 x i8] c"line\00" -@fld.str.345 = private constant [4 x i8] c"col\00" -@fld.str.346 = 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.344, i64 4 }, { ptr, i64 } { ptr @fld.str.345, i64 3 }, { ptr, i64 } { ptr @fld.str.346, i64 4 }] -@str.347 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.348 = private unnamed_addr constant [10 x i8] c"Allocator\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 [4 x i8] c"ctx\00" -@fld.str.353 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.354 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.355 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.352, i64 3 }, { ptr, i64 } { ptr @fld.str.353, i64 11 }, { ptr, i64 } { ptr @fld.str.354, i64 13 }] -@str.356 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.357 = private unnamed_addr constant [8 x i8] c"Context\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 [10 x i8] c"allocator\00" -@fld.str.362 = private constant [5 x i8] c"data\00" -@field_names.363 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.361, i64 9 }, { ptr, i64 } { ptr @fld.str.362, i64 4 }] -@str.364 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.365 = private unnamed_addr constant [11 x i8] c"CAllocator\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 -@field_names.369 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.370 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.371 = private unnamed_addr constant [4 x i8] c"GPA\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 [12 x i8] c"alloc_count\00" -@field_names.376 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.375, i64 11 }] -@str.377 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.378 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" -@fld.str.383 = private constant [4 x i8] c"cap\00" -@field_names.384 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.382, i64 4 }, { ptr, i64 } { ptr @fld.str.383, i64 3 }] -@str.385 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.386 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" -@fld.str.391 = private constant [10 x i8] c"end_index\00" -@fld.str.392 = private constant [7 x i8] c"parent\00" -@field_names.393 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.390, i64 5 }, { ptr, i64 } { ptr @fld.str.391, i64 9 }, { ptr, i64 } { ptr @fld.str.392, i64 6 }] -@str.394 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.395 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" -@fld.str.400 = private constant [4 x i8] c"len\00" -@fld.str.401 = private constant [4 x i8] c"pos\00" -@field_names.402 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.399, i64 3 }, { ptr, i64 } { ptr @fld.str.400, i64 3 }, { ptr, i64 } { ptr @fld.str.401, i64 3 }] -@str.403 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.404 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" -@fld.str.409 = private constant [12 x i8] c"alloc_count\00" -@fld.str.410 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.411 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.412 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.408, i64 6 }, { ptr, i64 } { ptr @fld.str.409, i64 11 }, { ptr, i64 } { ptr @fld.str.410, i64 13 }, { ptr, i64 } { ptr @fld.str.411, i64 17 }] -@str.413 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.414 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" -@field_names.419 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.418, i64 2 }] -@str.420 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.421 = private unnamed_addr constant [11 x i8] c"TraceFrame\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"file\00" -@fld.str.426 = private constant [5 x i8] c"line\00" -@fld.str.427 = private constant [4 x i8] c"col\00" -@fld.str.428 = private constant [5 x i8] c"func\00" -@fld.str.429 = private constant [10 x i8] c"line_text\00" -@field_names.430 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.425, i64 4 }, { ptr, i64 } { ptr @fld.str.426, i64 4 }, { ptr, i64 } { ptr @fld.str.427, i64 3 }, { ptr, i64 } { ptr @fld.str.428, i64 4 }, { ptr, i64 } { ptr @fld.str.429, i64 9 }] -@str.431 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.432 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" -@fld.str.437 = private constant [7 x i8] c"stdout\00" -@field_names.438 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.436, i64 9 }, { ptr, i64 } { ptr @fld.str.437, i64 6 }] -@str.439 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.440 = private unnamed_addr constant [9 x i8] c"SockAddr\00", align 1 -@str.441 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.442 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.443 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.444 = private constant [8 x i8] c"sin_len\00" -@fld.str.445 = private constant [11 x i8] c"sin_family\00" -@fld.str.446 = private constant [9 x i8] c"sin_port\00" -@fld.str.447 = private constant [9 x i8] c"sin_addr\00" -@fld.str.448 = private constant [9 x i8] c"sin_zero\00" -@field_names.449 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.444, i64 7 }, { ptr, i64 } { ptr @fld.str.445, i64 10 }, { ptr, i64 } { ptr @fld.str.446, i64 8 }, { ptr, i64 } { ptr @fld.str.447, i64 8 }, { ptr, i64 } { ptr @fld.str.448, i64 8 }] -@str.450 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.451 = private unnamed_addr constant [6 x i8] c"Array\00", align 1 -@str.452 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.453 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.454 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.455 = private constant [6 x i8] c"items\00" -@fld.str.456 = private constant [4 x i8] c"len\00" -@fld.str.457 = private constant [4 x i8] c"cap\00" -@field_names.458 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.455, i64 5 }, { ptr, i64 } { ptr @fld.str.456, i64 3 }, { ptr, i64 } { ptr @fld.str.457, i64 3 }] -@str.459 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.460 = private unnamed_addr constant [7 x i8] c"Object\00", align 1 -@str.461 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.462 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.463 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.464 = private constant [6 x i8] c"items\00" -@fld.str.465 = private constant [4 x i8] c"len\00" -@fld.str.466 = private constant [4 x i8] c"cap\00" -@field_names.467 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.464, i64 5 }, { 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 [7 x i8] c"Member\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"key\00" -@fld.str.474 = private constant [4 x i8] c"val\00" -@field_names.475 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.473, i64 3 }, { ptr, i64 } { ptr @fld.str.474, i64 3 }] -@str.476 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.477 = private unnamed_addr constant [5 x i8] c"Sink\00", align 1 -@str.478 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.479 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.480 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.481 = private constant [4 x i8] c"dst\00" -@fld.str.482 = private constant [4 x i8] c"pos\00" -@fld.str.483 = private constant [5 x i8] c"file\00" -@field_names.484 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.481, i64 3 }, { ptr, i64 } { ptr @fld.str.482, i64 3 }, { ptr, i64 } { ptr @fld.str.483, i64 4 }] -@str.485 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.486 = private unnamed_addr constant [7 x i8] c"Parser\00", align 1 -@str.487 = private unnamed_addr constant [2 x i8] c"{\00", align 1 -@str.488 = private unnamed_addr constant [2 x i8] c"}\00", align 1 -@str.489 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@fld.str.490 = private constant [4 x i8] c"src\00" -@fld.str.491 = private constant [4 x i8] c"pos\00" -@fld.str.492 = private constant [6 x i8] c"alloc\00" -@field_names.493 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.490, i64 3 }, { ptr, i64 } { ptr @fld.str.491, i64 3 }, { ptr, i64 } { ptr @fld.str.492, i64 5 }] -@str.494 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.495 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.499 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.500 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.501 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 -@fld.str.505 = private constant [5 x i8] c"name\00" -@fld.str.506 = private constant [12 x i8] c"takes_value\00" -@fld.str.507 = private constant [9 x i8] c"required\00" -@field_names.508 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.505, i64 4 }, { ptr, i64 } { ptr @fld.str.506, i64 11 }, { ptr, i64 } { ptr @fld.str.507, i64 8 }] -@str.509 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.510 = private unnamed_addr constant [8 x i8] c"Command\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 [6 x i8] c"group\00" -@fld.str.515 = private constant [8 x i8] c"command\00" -@fld.str.516 = private constant [6 x i8] c"flags\00" -@field_names.517 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.514, i64 5 }, { ptr, i64 } { ptr @fld.str.515, i64 7 }, { 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 [10 x i8] c"FlagValue\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"set\00" -@fld.str.524 = private constant [6 x i8] c"value\00" -@field_names.525 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.523, i64 3 }, { 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 [5 x i8] c"Diag\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"index\00" -@fld.str.532 = private constant [6 x i8] c"token\00" -@field_names.533 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.531, i64 5 }, { ptr, i64 } { ptr @fld.str.532, i64 5 }] -@str.534 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.535 = private unnamed_addr constant [7 x i8] c"Parsed\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 [6 x i8] c"group\00" -@fld.str.540 = private constant [8 x i8] c"command\00" -@fld.str.541 = private constant [10 x i8] c"cmd_index\00" -@fld.str.542 = private constant [5 x i8] c"json\00" -@fld.str.543 = private constant [5 x i8] c"rest\00" -@fld.str.544 = private constant [5 x i8] c"spec\00" -@fld.str.545 = private constant [7 x i8] c"values\00" -@field_names.546 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.539, i64 5 }, { ptr, i64 } { ptr @fld.str.540, i64 7 }, { ptr, i64 } { ptr @fld.str.541, i64 9 }, { ptr, i64 } { ptr @fld.str.542, i64 4 }, { ptr, i64 } { ptr @fld.str.543, i64 4 }, { ptr, i64 } { ptr @fld.str.544, i64 4 }, { ptr, i64 } { ptr @fld.str.545, i64 6 }] -@str.547 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.548 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" -@fld.str.553 = private constant [4 x i8] c"buf\00" -@fld.str.554 = private constant [8 x i8] c"buf_len\00" -@fld.str.555 = private constant [10 x i8] c"total_len\00" -@field_names.556 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.552, i64 1 }, { ptr, i64 } { ptr @fld.str.553, i64 3 }, { ptr, i64 } { ptr @fld.str.554, i64 7 }, { ptr, i64 } { ptr @fld.str.555, i64 9 }] -@str.557 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.558 = private unnamed_addr constant [9 x i8] c"NSString\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 -@field_names.562 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.563 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.564 = private unnamed_addr constant [6 x i8] c"SxBox\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 -@field_names.568 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.569 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.570 = private unnamed_addr constant [13 x i8] c"__SxBoxState\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 [15 x i8] c"__sx_allocator\00" -@fld.str.575 = private constant [6 x i8] c"width\00" -@fld.str.576 = private constant [7 x i8] c"height\00" -@fld.str.577 = private constant [5 x i8] c"area\00" -@field_names.578 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.574, i64 14 }, { ptr, i64 } { ptr @fld.str.575, i64 5 }, { ptr, i64 } { ptr @fld.str.576, i64 6 }, { 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 [2 x i8] c".\00", align 1 -@fld.str.581 = private constant [5 x i8] c"read\00" -@fld.str.582 = private constant [6 x i8] c"write\00" -@fld.str.583 = private constant [7 x i8] c"append\00" -@fld.str.584 = private constant [11 x i8] c"read_write\00" -@field_names.585 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.581, i64 4 }, { ptr, i64 } { ptr @fld.str.582, i64 5 }, { ptr, i64 } { ptr @fld.str.583, i64 6 }, { ptr, i64 } { ptr @fld.str.584, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.589 = private constant [4 x i8] c"set\00" -@fld.str.590 = private constant [8 x i8] c"current\00" -@fld.str.591 = private constant [4 x i8] c"end\00" -@field_names.592 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.589, i64 3 }, { ptr, i64 } { ptr @fld.str.590, i64 7 }, { ptr, i64 } { ptr @fld.str.591, i64 3 }] -@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 [6 x i8] c"null_\00" -@fld.str.597 = private constant [6 x i8] c"bool_\00" -@fld.str.598 = private constant [5 x i8] c"int_\00" -@fld.str.599 = private constant [4 x i8] c"str\00" -@fld.str.600 = private constant [6 x i8] c"array\00" -@fld.str.601 = private constant [7 x i8] c"object\00" -@field_names.602 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.596, i64 5 }, { ptr, i64 } { ptr @fld.str.597, i64 5 }, { ptr, i64 } { ptr @fld.str.598, i64 4 }, { ptr, i64 } { ptr @fld.str.599, i64 3 }, { ptr, i64 } { ptr @fld.str.600, i64 5 }, { ptr, i64 } { ptr @fld.str.601, i64 6 }] -@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"macos\00" -@fld.str.607 = private constant [6 x i8] c"linux\00" -@fld.str.608 = private constant [8 x i8] c"windows\00" -@fld.str.609 = private constant [5 x i8] c"wasm\00" -@fld.str.610 = private constant [4 x i8] c"ios\00" -@fld.str.611 = private constant [8 x i8] c"android\00" -@fld.str.612 = private constant [8 x i8] c"unknown\00" -@field_names.613 = private constant [7 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 7 }, { ptr, i64 } { ptr @fld.str.609, i64 4 }, { ptr, i64 } { ptr @fld.str.610, i64 3 }, { ptr, i64 } { ptr @fld.str.611, i64 7 }, { ptr, i64 } { ptr @fld.str.612, i64 7 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.617 = private constant [8 x i8] c"aarch64\00" -@fld.str.618 = private constant [7 x i8] c"x86_64\00" -@fld.str.619 = private constant [7 x i8] c"wasm32\00" -@fld.str.620 = private constant [7 x i8] c"wasm64\00" -@fld.str.621 = private constant [8 x i8] c"unknown\00" -@field_names.622 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.617, i64 7 }, { ptr, i64 } { ptr @fld.str.618, i64 6 }, { ptr, i64 } { ptr @fld.str.619, i64 6 }, { ptr, i64 } { ptr @fld.str.620, i64 6 }, { ptr, i64 } { ptr @fld.str.621, i64 7 }] -@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 [2 x i8] c"]\00", align 1 -@str.627 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.347 = private constant [5 x i8] c"line\00" +@fld.str.348 = private constant [4 x i8] c"col\00" +@fld.str.349 = 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.347, i64 4 }, { ptr, i64 } { ptr @fld.str.348, i64 3 }, { ptr, i64 } { ptr @fld.str.349, i64 4 }] +@str.350 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.351 = private unnamed_addr constant [10 x i8] c"Allocator\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 [4 x i8] c"ctx\00" +@fld.str.356 = private constant [12 x i8] c"alloc_bytes\00" +@fld.str.357 = private constant [14 x i8] c"dealloc_bytes\00" +@field_names.358 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.355, i64 3 }, { ptr, i64 } { ptr @fld.str.356, i64 11 }, { ptr, i64 } { ptr @fld.str.357, i64 13 }] +@str.359 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.360 = private unnamed_addr constant [8 x i8] c"Context\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 [10 x i8] c"allocator\00" +@fld.str.365 = private constant [5 x i8] c"data\00" +@field_names.366 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.364, i64 9 }, { ptr, i64 } { ptr @fld.str.365, i64 4 }] +@str.367 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.368 = private unnamed_addr constant [11 x i8] c"CAllocator\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 +@field_names.372 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.373 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.374 = private unnamed_addr constant [4 x i8] c"GPA\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 [12 x i8] c"alloc_count\00" +@field_names.379 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.378, i64 11 }] +@str.380 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.381 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" +@fld.str.386 = private constant [4 x i8] c"cap\00" +@field_names.387 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.385, i64 4 }, { ptr, i64 } { ptr @fld.str.386, i64 3 }] +@str.388 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.389 = private unnamed_addr constant [6 x i8] c"Arena\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 [6 x i8] c"first\00" +@fld.str.394 = private constant [10 x i8] c"end_index\00" +@fld.str.395 = private constant [7 x i8] c"parent\00" +@field_names.396 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.393, i64 5 }, { ptr, i64 } { ptr @fld.str.394, i64 9 }, { ptr, i64 } { ptr @fld.str.395, i64 6 }] +@str.397 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.398 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" +@fld.str.403 = private constant [4 x i8] c"len\00" +@fld.str.404 = private constant [4 x i8] c"pos\00" +@field_names.405 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.402, i64 3 }, { ptr, i64 } { ptr @fld.str.403, i64 3 }, { ptr, i64 } { ptr @fld.str.404, i64 3 }] +@str.406 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.407 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" +@fld.str.412 = private constant [12 x i8] c"alloc_count\00" +@fld.str.413 = private constant [14 x i8] c"dealloc_count\00" +@fld.str.414 = private constant [18 x i8] c"total_alloc_bytes\00" +@field_names.415 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.411, i64 6 }, { ptr, i64 } { ptr @fld.str.412, i64 11 }, { ptr, i64 } { ptr @fld.str.413, i64 13 }, { ptr, i64 } { ptr @fld.str.414, i64 17 }] +@str.416 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.417 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" +@field_names.422 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.421, i64 2 }] +@str.423 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.424 = private unnamed_addr constant [11 x i8] c"TraceFrame\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 [5 x i8] c"file\00" +@fld.str.429 = private constant [5 x i8] c"line\00" +@fld.str.430 = private constant [4 x i8] c"col\00" +@fld.str.431 = private constant [5 x i8] c"func\00" +@fld.str.432 = private constant [10 x i8] c"line_text\00" +@field_names.433 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.428, i64 4 }, { ptr, i64 } { ptr @fld.str.429, i64 4 }, { ptr, i64 } { ptr @fld.str.430, i64 3 }, { ptr, i64 } { ptr @fld.str.431, i64 4 }, { ptr, i64 } { ptr @fld.str.432, i64 9 }] +@str.434 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.435 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" +@fld.str.440 = private constant [7 x i8] c"stdout\00" +@field_names.441 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.439, i64 9 }, { ptr, i64 } { ptr @fld.str.440, i64 6 }] +@str.442 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.443 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" +@fld.str.448 = private constant [11 x i8] c"sin_family\00" +@fld.str.449 = private constant [9 x i8] c"sin_port\00" +@fld.str.450 = private constant [9 x i8] c"sin_addr\00" +@fld.str.451 = private constant [9 x i8] c"sin_zero\00" +@field_names.452 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.447, i64 7 }, { ptr, i64 } { ptr @fld.str.448, i64 10 }, { ptr, i64 } { ptr @fld.str.449, i64 8 }, { ptr, i64 } { ptr @fld.str.450, i64 8 }, { ptr, i64 } { ptr @fld.str.451, i64 8 }] +@str.453 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.454 = private unnamed_addr constant [6 x i8] c"Array\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"Object\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"Member\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"key\00" +@fld.str.477 = private constant [4 x i8] c"val\00" +@field_names.478 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.476, i64 3 }, { ptr, i64 } { ptr @fld.str.477, i64 3 }] +@str.479 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.480 = private unnamed_addr constant [5 x i8] c"Sink\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"dst\00" +@fld.str.485 = private constant [4 x i8] c"pos\00" +@fld.str.486 = private constant [5 x i8] c"file\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 4 }] +@str.488 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.489 = private unnamed_addr constant [7 x i8] c"Parser\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"src\00" +@fld.str.494 = private constant [4 x i8] c"pos\00" +@fld.str.495 = private constant [6 x i8] c"alloc\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 5 }] +@str.497 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.498 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 +@field_names.502 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.503 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.504 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" +@fld.str.509 = private constant [12 x i8] c"takes_value\00" +@fld.str.510 = private constant [9 x i8] c"required\00" +@field_names.511 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.508, i64 4 }, { ptr, i64 } { ptr @fld.str.509, i64 11 }, { ptr, i64 } { ptr @fld.str.510, i64 8 }] +@str.512 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.513 = private unnamed_addr constant [8 x i8] c"Command\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 [6 x i8] c"flags\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 7 }, { ptr, i64 } { ptr @fld.str.519, i64 5 }] +@str.521 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.522 = private unnamed_addr constant [10 x i8] c"FlagValue\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"set\00" +@fld.str.527 = private constant [6 x i8] c"value\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 5 }] +@str.529 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.530 = private unnamed_addr constant [5 x i8] c"Diag\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 [6 x i8] c"index\00" +@fld.str.535 = private constant [6 x i8] c"token\00" +@field_names.536 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.534, i64 5 }, { 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 [7 x i8] c"Parsed\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"group\00" +@fld.str.543 = private constant [8 x i8] c"command\00" +@fld.str.544 = private constant [10 x i8] c"cmd_index\00" +@fld.str.545 = private constant [5 x i8] c"json\00" +@fld.str.546 = private constant [5 x i8] c"rest\00" +@fld.str.547 = private constant [5 x i8] c"spec\00" +@fld.str.548 = private constant [7 x i8] c"values\00" +@field_names.549 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.542, i64 5 }, { ptr, i64 } { ptr @fld.str.543, i64 7 }, { ptr, i64 } { ptr @fld.str.544, i64 9 }, { ptr, i64 } { ptr @fld.str.545, i64 4 }, { ptr, i64 } { ptr @fld.str.546, i64 4 }, { ptr, i64 } { ptr @fld.str.547, i64 4 }, { ptr, i64 } { ptr @fld.str.548, i64 6 }] +@str.550 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.551 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" +@fld.str.556 = private constant [4 x i8] c"buf\00" +@fld.str.557 = private constant [8 x i8] c"buf_len\00" +@fld.str.558 = private constant [10 x i8] c"total_len\00" +@field_names.559 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.555, i64 1 }, { ptr, i64 } { ptr @fld.str.556, i64 3 }, { ptr, i64 } { ptr @fld.str.557, i64 7 }, { ptr, i64 } { ptr @fld.str.558, i64 9 }] +@str.560 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.561 = private unnamed_addr constant [9 x i8] c"NSString\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 +@field_names.565 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.566 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.567 = private unnamed_addr constant [6 x i8] c"SxBox\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 +@field_names.571 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.572 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.573 = private unnamed_addr constant [13 x i8] c"__SxBoxState\00", align 1 +@str.574 = private unnamed_addr constant [2 x i8] c"{\00", align 1 +@str.575 = private unnamed_addr constant [2 x i8] c"}\00", align 1 +@str.576 = private unnamed_addr constant [3 x i8] c", \00", align 1 +@fld.str.577 = private constant [15 x i8] c"__sx_allocator\00" +@fld.str.578 = private constant [6 x i8] c"width\00" +@fld.str.579 = private constant [7 x i8] c"height\00" +@fld.str.580 = private constant [5 x i8] c"area\00" +@field_names.581 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.577, i64 14 }, { ptr, i64 } { ptr @fld.str.578, i64 5 }, { ptr, i64 } { ptr @fld.str.579, i64 6 }, { 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".\00", align 1 +@fld.str.584 = private constant [5 x i8] c"read\00" +@fld.str.585 = private constant [6 x i8] c"write\00" +@fld.str.586 = private constant [7 x i8] c"append\00" +@fld.str.587 = private constant [11 x i8] c"read_write\00" +@field_names.588 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.584, i64 4 }, { ptr, i64 } { ptr @fld.str.585, i64 5 }, { ptr, i64 } { ptr @fld.str.586, i64 6 }, { ptr, i64 } { ptr @fld.str.587, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.592 = private constant [4 x i8] c"set\00" +@fld.str.593 = private constant [8 x i8] c"current\00" +@fld.str.594 = private constant [4 x i8] c"end\00" +@field_names.595 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.592, i64 3 }, { ptr, i64 } { ptr @fld.str.593, i64 7 }, { ptr, i64 } { ptr @fld.str.594, i64 3 }] +@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 [6 x i8] c"null_\00" +@fld.str.600 = private constant [6 x i8] c"bool_\00" +@fld.str.601 = private constant [5 x i8] c"int_\00" +@fld.str.602 = private constant [4 x i8] c"str\00" +@fld.str.603 = private constant [6 x i8] c"array\00" +@fld.str.604 = private constant [7 x i8] c"object\00" +@field_names.605 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.599, i64 5 }, { ptr, i64 } { ptr @fld.str.600, i64 5 }, { ptr, i64 } { ptr @fld.str.601, i64 4 }, { ptr, i64 } { ptr @fld.str.602, i64 3 }, { ptr, i64 } { ptr @fld.str.603, i64 5 }, { ptr, i64 } { ptr @fld.str.604, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.609 = private constant [6 x i8] c"macos\00" +@fld.str.610 = private constant [6 x i8] c"linux\00" +@fld.str.611 = private constant [8 x i8] c"windows\00" +@fld.str.612 = private constant [5 x i8] c"wasm\00" +@fld.str.613 = private constant [4 x i8] c"ios\00" +@fld.str.614 = private constant [8 x i8] c"android\00" +@fld.str.615 = private constant [8 x i8] c"unknown\00" +@field_names.616 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.609, i64 5 }, { ptr, i64 } { ptr @fld.str.610, i64 5 }, { ptr, i64 } { ptr @fld.str.611, i64 7 }, { ptr, i64 } { ptr @fld.str.612, i64 4 }, { ptr, i64 } { ptr @fld.str.613, i64 3 }, { ptr, i64 } { ptr @fld.str.614, i64 7 }, { ptr, i64 } { ptr @fld.str.615, i64 7 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.620 = private constant [8 x i8] c"aarch64\00" +@fld.str.621 = private constant [7 x i8] c"x86_64\00" +@fld.str.622 = private constant [7 x i8] c"wasm32\00" +@fld.str.623 = private constant [7 x i8] c"wasm64\00" +@fld.str.624 = private constant [8 x i8] c"unknown\00" +@field_names.625 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.620, i64 7 }, { ptr, i64 } { ptr @fld.str.621, i64 6 }, { ptr, i64 } { ptr @fld.str.622, i64 6 }, { ptr, i64 } { ptr @fld.str.623, i64 6 }, { 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 @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 @@ -567,35 +567,35 @@ @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 [5 x i8] c"null\00", align 1 -@str.662 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.663 = private unnamed_addr constant [4 x i8] c"@0x\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 [5 x i8] c"null\00", align 1 -@str.665 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.665 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.666 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.667 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.668 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.668 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.669 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.670 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.671 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.671 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.672 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.673 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.674 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.674 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\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 [6 x i8] c"[*]u8\00", align 1 +@str.677 = private unnamed_addr constant [7 x i8] c"*Arena\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 [10 x i8] c"*BufAlloc\00", align 1 +@str.680 = private unnamed_addr constant [6 x i8] c"[*]u8\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 [19 x i8] c"*TrackingAllocator\00", align 1 +@str.683 = private unnamed_addr constant [10 x i8] c"*BufAlloc\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 [6 x i8] c"*File\00", align 1 +@str.686 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\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 [4 x i8] c"*u8\00", align 1 +@str.689 = private unnamed_addr constant [6 x i8] c"*File\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 [5 x i8] c"*i32\00", align 1 @@ -661,43 +661,47 @@ @str.752 = private unnamed_addr constant [7 x i8] c"*[]Any\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"*bool\00", align 1 +@str.755 = private unnamed_addr constant [4 x i8] c"*u8\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 [8 x i8] c"*[1]Any\00", align 1 +@str.758 = private unnamed_addr constant [6 x i8] c"*bool\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"*[3]Any\00", align 1 +@str.761 = private unnamed_addr constant [8 x i8] c"*[1]Any\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"null\00", align 1 -@str.765 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.764 = private unnamed_addr constant [8 x i8] c"*[3]Any\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 [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.770 = 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_.767 = private unnamed_addr constant [10 x i8] c"setWidth:\00" -@OBJC_METH_VAR_NAME_.768 = private unnamed_addr constant [11 x i8] c"setHeight:\00" -@OBJC_METH_VAR_NAME_.769 = private unnamed_addr constant [6 x i8] c"width\00" -@OBJC_METH_VAR_NAME_.770 = private unnamed_addr constant [7 x i8] c"height\00" -@OBJC_METH_VAR_NAME_.771 = private unnamed_addr constant [5 x i8] c"area\00" +@OBJC_METH_VAR_NAME_.771 = private unnamed_addr constant [10 x i8] c"setWidth:\00" +@OBJC_METH_VAR_NAME_.772 = private unnamed_addr constant [11 x i8] c"setHeight:\00" +@OBJC_METH_VAR_NAME_.773 = private unnamed_addr constant [6 x i8] c"width\00" +@OBJC_METH_VAR_NAME_.774 = private unnamed_addr constant [7 x i8] c"height\00" +@OBJC_METH_VAR_NAME_.775 = 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_.772 = private unnamed_addr constant [6 x i8] c"SxBox\00" -@OBJC_METH_VAR_NAME_.773 = private unnamed_addr constant [6 x i8] c"width\00" +@OBJC_CLASS_NAME_.776 = private unnamed_addr constant [6 x i8] c"SxBox\00" +@OBJC_METH_VAR_NAME_.777 = 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_.774 = private unnamed_addr constant [10 x i8] c"setWidth:\00" -@OBJC_METH_VAR_TYPE_.775 = private unnamed_addr constant [5 x i8] c"v@:i\00" -@OBJC_METH_VAR_NAME_.776 = private unnamed_addr constant [7 x i8] c"height\00" -@OBJC_METH_VAR_TYPE_.777 = private unnamed_addr constant [4 x i8] c"i@:\00" -@OBJC_METH_VAR_NAME_.778 = private unnamed_addr constant [11 x i8] c"setHeight:\00" +@OBJC_METH_VAR_NAME_.778 = private unnamed_addr constant [10 x i8] c"setWidth:\00" @OBJC_METH_VAR_TYPE_.779 = private unnamed_addr constant [5 x i8] c"v@:i\00" -@OBJC_METH_VAR_NAME_.780 = private unnamed_addr constant [5 x i8] c"area\00" +@OBJC_METH_VAR_NAME_.780 = private unnamed_addr constant [7 x i8] c"height\00" @OBJC_METH_VAR_TYPE_.781 = private unnamed_addr constant [4 x i8] c"i@:\00" -@OBJC_METH_VAR_NAME_.782 = private unnamed_addr constant [8 x i8] c"dealloc\00" -@OBJC_METH_VAR_TYPE_.783 = private unnamed_addr constant [4 x i8] c"v@:\00" -@OBJC_METH_VAR_NAME_.784 = private unnamed_addr constant [6 x i8] c"alloc\00" -@OBJC_METH_VAR_TYPE_.785 = private unnamed_addr constant [4 x i8] c"@@:\00" -@OBJC_CLASS_NAME_.786 = private unnamed_addr constant [6 x i8] c"SxBox\00" +@OBJC_METH_VAR_NAME_.782 = private unnamed_addr constant [11 x i8] c"setHeight:\00" +@OBJC_METH_VAR_TYPE_.783 = private unnamed_addr constant [5 x i8] c"v@:i\00" +@OBJC_METH_VAR_NAME_.784 = private unnamed_addr constant [5 x i8] c"area\00" +@OBJC_METH_VAR_TYPE_.785 = private unnamed_addr constant [4 x i8] c"i@:\00" +@OBJC_METH_VAR_NAME_.786 = private unnamed_addr constant [8 x i8] c"dealloc\00" +@OBJC_METH_VAR_TYPE_.787 = private unnamed_addr constant [4 x i8] c"v@:\00" +@OBJC_METH_VAR_NAME_.788 = private unnamed_addr constant [6 x i8] c"alloc\00" +@OBJC_METH_VAR_TYPE_.789 = private unnamed_addr constant [4 x i8] c"@@:\00" +@OBJC_CLASS_NAME_.790 = 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 @@ -715,7 +719,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -766,7 +770,7 @@ if.merge.19: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -856,7 +860,7 @@ if.merge.65: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.74 @@ -1059,7 +1063,7 @@ if.merge.99: ; preds = %if.else.98, %if.the %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1302,7 +1306,7 @@ if.merge.405: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1374,7 +1378,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1405,7 +1409,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1420,6 +1424,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1462,92 +1475,93 @@ entry: i64 1, label %match.arm.49 i64 10, label %match.arm.50 i64 11, label %match.arm.50 - i64 19, label %match.arm.51 i64 20, label %match.arm.51 i64 21, label %match.arm.51 - i64 24, label %match.arm.51 - i64 26, label %match.arm.51 - i64 28, label %match.arm.51 - i64 30, label %match.arm.51 - i64 33, label %match.arm.51 - i64 35, label %match.arm.51 - i64 39, label %match.arm.51 - i64 43, label %match.arm.51 - i64 45, label %match.arm.51 - i64 48, label %match.arm.51 - i64 52, label %match.arm.51 + i64 22, label %match.arm.51 + i64 25, label %match.arm.51 + i64 27, label %match.arm.51 + i64 29, label %match.arm.51 + i64 31, label %match.arm.51 + i64 34, label %match.arm.51 + i64 36, label %match.arm.51 + i64 40, label %match.arm.51 + i64 44, label %match.arm.51 + i64 46, label %match.arm.51 + i64 49, label %match.arm.51 i64 53, label %match.arm.51 - i64 55, label %match.arm.51 - i64 61, label %match.arm.51 - i64 66, label %match.arm.51 - i64 72, label %match.arm.51 - i64 76, label %match.arm.51 - i64 78, label %match.arm.51 + i64 54, label %match.arm.51 + i64 56, label %match.arm.51 + i64 62, label %match.arm.51 + i64 67, label %match.arm.51 + i64 73, label %match.arm.51 + i64 77, label %match.arm.51 i64 79, label %match.arm.51 i64 80, label %match.arm.51 - i64 82, label %match.arm.51 - i64 89, label %match.arm.51 - i64 93, label %match.arm.51 - i64 98, label %match.arm.51 - i64 100, label %match.arm.51 - i64 37, label %match.arm.52 + i64 81, label %match.arm.51 + i64 83, label %match.arm.51 + i64 90, label %match.arm.51 + i64 94, label %match.arm.51 + i64 99, label %match.arm.51 + i64 101, label %match.arm.51 i64 38, label %match.arm.52 - i64 54, label %match.arm.52 - i64 70, label %match.arm.52 + i64 39, label %match.arm.52 + i64 55, label %match.arm.52 i64 71, label %match.arm.52 - i64 51, label %match.arm.53 - i64 64, label %match.arm.53 - i64 75, label %match.arm.53 - i64 22, label %match.arm.55 - i64 81, label %match.arm.55 - i64 87, label %match.arm.55 + i64 72, label %match.arm.52 + i64 52, label %match.arm.53 + i64 65, label %match.arm.53 + i64 76, label %match.arm.53 + i64 23, label %match.arm.55 + i64 82, label %match.arm.55 i64 88, label %match.arm.55 - i64 92, label %match.arm.55 - i64 107, label %match.arm.55 + i64 89, label %match.arm.55 + i64 93, label %match.arm.55 i64 109, label %match.arm.55 - i64 23, label %match.arm.56 - i64 60, label %match.arm.56 - i64 77, label %match.arm.56 - i64 85, label %match.arm.56 - i64 103, label %match.arm.56 - i64 18, label %match.arm.57 - i64 25, label %match.arm.57 - i64 27, label %match.arm.57 - i64 29, label %match.arm.57 - i64 31, label %match.arm.57 + i64 111, label %match.arm.55 + i64 24, label %match.arm.56 + i64 61, label %match.arm.56 + i64 78, label %match.arm.56 + i64 86, label %match.arm.56 + i64 104, label %match.arm.56 + i64 19, label %match.arm.57 + i64 26, label %match.arm.57 + i64 28, label %match.arm.57 + i64 30, label %match.arm.57 i64 32, label %match.arm.57 - i64 34, label %match.arm.57 - i64 36, label %match.arm.57 - i64 40, label %match.arm.57 - i64 44, label %match.arm.57 - i64 47, label %match.arm.57 - i64 49, label %match.arm.57 + i64 33, label %match.arm.57 + i64 35, label %match.arm.57 + i64 37, label %match.arm.57 + i64 41, label %match.arm.57 + i64 48, label %match.arm.57 i64 50, label %match.arm.57 - i64 56, label %match.arm.57 + i64 51, label %match.arm.57 i64 57, label %match.arm.57 i64 58, label %match.arm.57 i64 59, label %match.arm.57 - i64 62, label %match.arm.57 - i64 67, label %match.arm.57 - i64 74, label %match.arm.57 - i64 83, label %match.arm.57 - i64 86, label %match.arm.57 - i64 90, label %match.arm.57 - i64 94, label %match.arm.57 - i64 96, label %match.arm.57 + i64 60, label %match.arm.57 + i64 63, label %match.arm.57 + i64 68, label %match.arm.57 + i64 75, label %match.arm.57 + i64 84, label %match.arm.57 + i64 87, label %match.arm.57 + i64 91, label %match.arm.57 + i64 95, label %match.arm.57 i64 97, label %match.arm.57 - i64 99, label %match.arm.57 - i64 101, label %match.arm.57 + i64 98, label %match.arm.57 + i64 100, label %match.arm.57 i64 102, label %match.arm.57 - i64 104, label %match.arm.57 + i64 103, label %match.arm.57 i64 105, label %match.arm.57 i64 106, label %match.arm.57 + i64 107, label %match.arm.57 i64 108, label %match.arm.57 i64 110, label %match.arm.57 - i64 41, label %match.arm.58 + i64 112, label %match.arm.57 i64 42, label %match.arm.58 - i64 46, label %match.arm.58 - i64 91, label %match.arm.58 + i64 43, label %match.arm.58 + i64 45, label %match.arm.58 + i64 47, label %match.arm.58 + i64 92, label %match.arm.58 i64 13, label %match.arm.59 ] @@ -1565,7 +1579,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 [175 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [178 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 @@ -1598,34 +1612,34 @@ match.arm.51: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.103 [ - i64 19, label %dispatch.case.104 - i64 20, label %dispatch.case.105 - i64 21, label %dispatch.case.106 - i64 24, label %dispatch.case.107 - i64 26, label %dispatch.case.108 - i64 28, label %dispatch.case.109 - i64 30, label %dispatch.case.110 - i64 33, label %dispatch.case.111 - i64 35, label %dispatch.case.112 - i64 39, label %dispatch.case.113 - i64 43, label %dispatch.case.114 - i64 45, label %dispatch.case.115 - i64 48, label %dispatch.case.116 - i64 52, label %dispatch.case.117 - i64 53, label %dispatch.case.118 - i64 55, label %dispatch.case.119 - i64 61, label %dispatch.case.120 - i64 66, label %dispatch.case.121 - i64 72, label %dispatch.case.122 - i64 76, label %dispatch.case.123 - i64 78, label %dispatch.case.124 - i64 79, label %dispatch.case.125 - i64 80, label %dispatch.case.126 - i64 82, label %dispatch.case.127 - i64 89, label %dispatch.case.128 - i64 93, label %dispatch.case.129 - i64 98, label %dispatch.case.130 - i64 100, label %dispatch.case.131 + i64 20, label %dispatch.case.104 + i64 21, label %dispatch.case.105 + i64 22, label %dispatch.case.106 + i64 25, label %dispatch.case.107 + i64 27, label %dispatch.case.108 + i64 29, label %dispatch.case.109 + i64 31, label %dispatch.case.110 + i64 34, label %dispatch.case.111 + i64 36, label %dispatch.case.112 + i64 40, label %dispatch.case.113 + i64 44, label %dispatch.case.114 + i64 46, label %dispatch.case.115 + i64 49, label %dispatch.case.116 + i64 53, label %dispatch.case.117 + i64 54, label %dispatch.case.118 + i64 56, label %dispatch.case.119 + i64 62, label %dispatch.case.120 + i64 67, label %dispatch.case.121 + i64 73, label %dispatch.case.122 + i64 77, label %dispatch.case.123 + i64 79, label %dispatch.case.124 + i64 80, label %dispatch.case.125 + i64 81, label %dispatch.case.126 + i64 83, label %dispatch.case.127 + i64 90, label %dispatch.case.128 + i64 94, label %dispatch.case.129 + i64 99, label %dispatch.case.130 + i64 101, label %dispatch.case.131 ] match.arm.52: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1633,11 +1647,11 @@ match.arm.52: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.273 [ - i64 37, label %dispatch.case.274 - i64 38, label %dispatch.case.275 - i64 54, label %dispatch.case.276 - i64 70, label %dispatch.case.277 - i64 71, label %dispatch.case.278 + i64 38, label %dispatch.case.274 + i64 39, label %dispatch.case.275 + i64 55, label %dispatch.case.276 + i64 71, label %dispatch.case.277 + i64 72, label %dispatch.case.278 ] match.arm.53: ; preds = %entry, %entry, %entry @@ -1660,13 +1674,13 @@ match.arm.55: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.290 [ - i64 22, label %dispatch.case.291 - i64 81, label %dispatch.case.292 - i64 87, label %dispatch.case.293 - i64 88, label %dispatch.case.294 - i64 92, label %dispatch.case.295 - i64 107, label %dispatch.case.296 - i64 109, label %dispatch.case.297 + i64 23, label %dispatch.case.291 + i64 82, label %dispatch.case.292 + i64 88, label %dispatch.case.293 + i64 89, label %dispatch.case.294 + i64 93, label %dispatch.case.295 + i64 109, label %dispatch.case.296 + i64 111, label %dispatch.case.297 ] match.arm.56: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1674,11 +1688,11 @@ match.arm.56: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.334 [ - i64 23, label %dispatch.case.335 - i64 60, label %dispatch.case.336 - i64 77, label %dispatch.case.337 - i64 85, label %dispatch.case.338 - i64 103, label %dispatch.case.339 + i64 24, label %dispatch.case.335 + i64 61, label %dispatch.case.336 + i64 78, label %dispatch.case.337 + i64 86, label %dispatch.case.338 + i64 104, label %dispatch.case.339 ] 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 @@ -1686,51 +1700,52 @@ match.arm.57: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.366 [ - i64 18, label %dispatch.case.367 - i64 25, label %dispatch.case.368 - i64 27, label %dispatch.case.369 - i64 29, label %dispatch.case.370 - i64 31, label %dispatch.case.371 - i64 32, label %dispatch.case.372 - i64 34, label %dispatch.case.373 - i64 36, label %dispatch.case.374 - i64 40, label %dispatch.case.375 - i64 44, label %dispatch.case.376 - i64 47, label %dispatch.case.377 - i64 49, label %dispatch.case.378 - i64 50, label %dispatch.case.379 - i64 56, label %dispatch.case.380 - i64 57, label %dispatch.case.381 - i64 58, label %dispatch.case.382 - i64 59, label %dispatch.case.383 - i64 62, label %dispatch.case.384 - i64 67, label %dispatch.case.385 - i64 74, label %dispatch.case.386 - i64 83, label %dispatch.case.387 - i64 86, label %dispatch.case.388 - i64 90, label %dispatch.case.389 - i64 94, label %dispatch.case.390 - i64 96, label %dispatch.case.391 - i64 97, label %dispatch.case.392 - i64 99, label %dispatch.case.393 - i64 101, label %dispatch.case.394 - i64 102, label %dispatch.case.395 - i64 104, label %dispatch.case.396 - i64 105, label %dispatch.case.397 - i64 106, label %dispatch.case.398 - i64 108, label %dispatch.case.399 - i64 110, label %dispatch.case.400 + i64 19, label %dispatch.case.367 + i64 26, label %dispatch.case.368 + i64 28, label %dispatch.case.369 + i64 30, label %dispatch.case.370 + i64 32, label %dispatch.case.371 + i64 33, label %dispatch.case.372 + i64 35, label %dispatch.case.373 + i64 37, label %dispatch.case.374 + i64 41, label %dispatch.case.375 + i64 48, label %dispatch.case.376 + i64 50, label %dispatch.case.377 + i64 51, label %dispatch.case.378 + i64 57, label %dispatch.case.379 + i64 58, label %dispatch.case.380 + i64 59, label %dispatch.case.381 + i64 60, label %dispatch.case.382 + i64 63, label %dispatch.case.383 + i64 68, label %dispatch.case.384 + i64 75, label %dispatch.case.385 + i64 84, label %dispatch.case.386 + i64 87, label %dispatch.case.387 + i64 91, label %dispatch.case.388 + i64 95, label %dispatch.case.389 + i64 97, label %dispatch.case.390 + i64 98, label %dispatch.case.391 + i64 100, label %dispatch.case.392 + i64 102, label %dispatch.case.393 + i64 103, label %dispatch.case.394 + i64 105, label %dispatch.case.395 + i64 106, label %dispatch.case.396 + i64 107, label %dispatch.case.397 + i64 108, label %dispatch.case.398 + i64 110, label %dispatch.case.399 + i64 112, label %dispatch.case.400 ] -match.arm.58: ; preds = %entry, %entry, %entry, %entry +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.517 [ - i64 41, label %dispatch.case.518 - i64 42, label %dispatch.case.519 - i64 46, label %dispatch.case.520 - i64 91, label %dispatch.case.521 + i64 42, label %dispatch.case.518 + i64 43, label %dispatch.case.519 + i64 45, label %dispatch.case.520 + i64 47, label %dispatch.case.521 + i64 92, label %dispatch.case.522 ] match.arm.59: ; preds = %entry @@ -1739,7 +1754,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 [175 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [178 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 @@ -1790,7 +1805,7 @@ dispatch.merge.102: ; preds = %dispatch.case.131, br label %match.merge.45 dispatch.default.103: ; preds = %match.arm.51 - store { ptr, i64 } { ptr @str.305, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.308, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.102 dispatch.case.104: ; preds = %match.arm.51 @@ -2023,7 +2038,7 @@ dispatch.merge.272: ; preds = %dispatch.case.278, br label %match.merge.45 dispatch.default.273: ; preds = %match.arm.52 - store { ptr, i64 } { ptr @str.306, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.309, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.272 dispatch.case.274: ; preds = %match.arm.52 @@ -2064,7 +2079,7 @@ dispatch.merge.289: ; preds = %dispatch.case.297, br label %match.merge.45 dispatch.default.290: ; preds = %match.arm.55 - store { ptr, i64 } { ptr @str.307, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.310, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.289 dispatch.case.291: ; preds = %match.arm.55 @@ -2129,7 +2144,7 @@ dispatch.merge.333: ; preds = %dispatch.case.339, br label %match.merge.45 dispatch.default.334: ; preds = %match.arm.56 - store { ptr, i64 } { ptr @str.308, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.311, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.333 dispatch.case.335: ; preds = %match.arm.56 @@ -2178,7 +2193,7 @@ dispatch.merge.365: ; preds = %dispatch.case.400, br label %match.merge.45 dispatch.default.366: ; preds = %match.arm.57 - store { ptr, i64 } { ptr @str.309, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.312, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.367: ; preds = %match.arm.57 @@ -2247,154 +2262,154 @@ dispatch.case.375: ; preds = %match.arm.57 dispatch.case.376: ; 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_u8(ptr %0, ptr %iNp263) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp263) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.377: ; 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_i32(ptr %0, ptr %iNp266) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp266) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.378: ; 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_SockAddr(ptr %0, ptr %iNp269) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp269) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.379: ; 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_u32(ptr %0, ptr %iNp272) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp272) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.380: ; 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_Value(ptr %0, ptr %iNp275) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp275) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.381: ; 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_Array(ptr %0, ptr %iNp278) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp278) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.382: ; 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__mptr_Member(ptr %0, ptr %iNp281) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp281) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.383: ; 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_Object(ptr %0, ptr %iNp284) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp284) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.384: ; 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_Sink(ptr %0, ptr %iNp287) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp287) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.385: ; 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_Parser(ptr %0, ptr %iNp290) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp290) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.386: ; 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_i64(ptr %0, ptr %iNp293) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp293) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.387: ; 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__ptr_Parsed(ptr %0, ptr %iNp296) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp296) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.388: ; 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_Diag(ptr %0, ptr %iNp299) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp299) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.389: ; 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__ptr_Sha256(ptr %0, ptr %iNp302) + %callN = call { ptr, i64 } @pointer_to_string__ptr_NSString(ptr %0, ptr %iNp302) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.390: ; 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_NSString(ptr %0, ptr %iNp305) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp305) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.391: ; 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_ptr_CAllocator(ptr %0, ptr %iNp308) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp308) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.392: ; 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_ptr_void(ptr %0, ptr %iNp311) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SxBox(ptr %0, ptr %iNp311) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.393: ; 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_SxBox(ptr %0, ptr %iNp314) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_SxBox(ptr %0, ptr %iNp314) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.394: ; 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_ptr_SxBox(ptr %0, ptr %iNp317) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp317) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.395: ; 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_string(ptr %0, ptr %iNp320) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp320) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.396: ; 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_Any(ptr %0, ptr %iNp323) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp323) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 dispatch.case.397: ; 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_SL_Any(ptr %0, ptr %iNp326) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp326) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 @@ -2419,13 +2434,13 @@ dispatch.case.400: ; preds = %match.arm.57 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.365 -dispatch.merge.516: ; preds = %dispatch.case.521, %dispatch.case.520, %dispatch.case.519, %dispatch.case.518, %dispatch.default.517 +dispatch.merge.516: ; preds = %dispatch.case.522, %dispatch.case.521, %dispatch.case.520, %dispatch.case.519, %dispatch.case.518, %dispatch.default.517 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.45 dispatch.default.517: ; preds = %match.arm.58 - store { ptr, i64 } { ptr @str.310, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.313, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.516 dispatch.case.518: ; preds = %match.arm.58 @@ -2446,17 +2461,24 @@ dispatch.case.519: ; preds = %match.arm.58 dispatch.case.520: ; preds = %match.arm.58 %ua.raw346 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr347 = inttoptr i64 %ua.raw346 to ptr - %ua.load348 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr347, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load348) + %iNp347 = inttoptr i64 %ua.raw346 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp347) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.516 dispatch.case.521: ; preds = %match.arm.58 - %ua.raw350 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr351 = inttoptr i64 %ua.raw350 to ptr - %ua.load352 = load { [64 x i8], i1 }, ptr %ua.ptr351, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load352) + %ua.raw349 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr350 = inttoptr i64 %ua.raw349 to ptr + %ua.load351 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr350, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load351) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.516 + +dispatch.case.522: ; preds = %match.arm.58 + %ua.raw353 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr354 = inttoptr i64 %ua.raw353 to ptr + %ua.load355 = load { [64 x i8], i1 }, ptr %ua.ptr354, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load355) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.516 } @@ -2467,7 +2489,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.314, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2563,7 +2585,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.312, 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 @@ -2571,7 +2593,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.313, 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 @@ -2581,13 +2603,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.314, 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.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.315, 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 @@ -2595,7 +2617,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.316, 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 @@ -2609,7 +2631,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.317, 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 @@ -2617,7 +2639,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.318, 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 @@ -2628,7 +2650,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.319, 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 @@ -2685,7 +2707,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.320, 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 @@ -2693,7 +2715,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.321, 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 @@ -2704,7 +2726,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.322, 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 @@ -2724,7 +2746,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.323, 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 @@ -2732,7 +2754,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.324, 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 @@ -2743,7 +2765,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.325, 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.40 @@ -2964,9 +2986,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3728,9 +3747,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.326) + %callN = call ptr @objc_getClass(ptr @str.329) store ptr %callN, ptr %allocaN, align 8 - %callN = call ptr @sel_registerName(ptr @str.327) + %callN = call ptr @sel_registerName(ptr @str.330) store ptr %callN, ptr %allocaN, align 8 %loadN = load ptr, ptr %allocaN, align 8 %loadN = load ptr, ptr %allocaN, align 8 @@ -3770,14 +3789,14 @@ entry: define internal void @print__ct_s8b0209b1c8e86f29__pack(ptr %0) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.328, i64 30 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.331, 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.329, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.332, 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) @@ -3793,7 +3812,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.330, i64 30 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.333, i64 30 }) ret { ptr, i64 } %call } @@ -3801,7 +3820,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.331, i64 30 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.334, 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 @@ -3817,7 +3836,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.335, 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) @@ -3845,7 +3864,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.333, i64 30 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.336, i64 30 }) ret { ptr, i64 } %call } @@ -3853,14 +3872,14 @@ entry: define internal void @print__ct_sa76620ef481aaa22__pack(ptr %0) #0 { entry: %alloca = alloca { ptr, i64 }, align 8 - store { ptr, i64 } { ptr @str.334, i64 51 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.337, 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.335, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.338, 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) @@ -3876,7 +3895,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.336, i64 51 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.339, i64 51 }) ret { ptr, i64 } %call } @@ -3884,7 +3903,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.337, i64 28 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.340, i64 28 }, ptr %alloca, align 8 %allocaN = alloca i32, align 4 store i32 %1, ptr %allocaN, align 4 %allocaN = alloca i32, align 4 @@ -3914,7 +3933,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.338, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.341, 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) @@ -3966,7 +3985,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.339, i64 28 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.342, i64 28 }) ret { ptr, i64 } %call } @@ -3977,7 +3996,7 @@ 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.340, i64 15 }, { ptr, i64 } { ptr @str.341, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.343, i64 15 }, { ptr, i64 } { ptr @str.344, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3996,12 +4015,12 @@ while.body.133: ; preds = %while.hdr.132 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.342, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.345, i64 1 }) ret { ptr, i64 } %callN 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.343, 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 br label %if.merge.136 @@ -4013,7 +4032,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.347, 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 { { ptr, i64 }, i32, i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4070,7 +4089,7 @@ 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.348, i64 9 }, { ptr, i64 } { ptr @str.349, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.351, i64 9 }, { ptr, i64 } { ptr @str.352, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4089,24 +4108,24 @@ while.body.138: ; preds = %while.hdr.137 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.350, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.353, i64 1 }) ret { ptr, i64 } %callN 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.351, 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 br label %if.merge.141 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.355, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.358, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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.359, 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 @@ -4133,19 +4152,19 @@ fv.default: ; preds = %if.merge.141 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 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge 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 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge 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 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -4155,7 +4174,7 @@ 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.357, i64 7 }, { ptr, i64 } { ptr @str.358, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.360, i64 7 }, { 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 @@ -4174,24 +4193,24 @@ while.body.143: ; preds = %while.hdr.142 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.359, 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.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.360, 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.146 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.363, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.364, 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, ptr, ptr }, ptr }, ptr %alloca, align 8 @@ -4218,13 +4237,13 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge 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 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -4233,7 +4252,7 @@ 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.365, i64 10 }, { ptr, i64 } { ptr @str.366, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.368, i64 10 }, { 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 @@ -4252,24 +4271,24 @@ while.body.148: ; preds = %while.hdr.147 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.367, 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 %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.371, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.151 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.369, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.370, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -4288,7 +4307,7 @@ 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.371, i64 3 }, { ptr, i64 } { ptr @str.372, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.374, i64 3 }, { 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 @@ -4307,24 +4326,24 @@ while.body.153: ; preds = %while.hdr.152 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.373, 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.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.374, 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.156 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.376, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.377, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i64 }, ptr %alloca, align 8 @@ -4357,7 +4376,7 @@ 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.378, i64 10 }, { ptr, i64 } { ptr @str.379, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.381, i64 10 }, { ptr, i64 } { ptr @str.382, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4376,24 +4395,24 @@ while.body.158: ; preds = %while.hdr.157 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.380, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.383, 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.381, 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 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 [2 x { ptr, i64 }], ptr @field_names.384, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.385, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %alloca, align 8 @@ -4419,7 +4438,7 @@ fv.default: ; preds = %if.merge.161 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 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.161 @@ -4434,7 +4453,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.386, i64 5 }, { ptr, i64 } { ptr @str.387, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.389, i64 5 }, { ptr, i64 } { ptr @str.390, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -4453,24 +4472,24 @@ 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.388, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.391, 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.389, 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 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.393, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 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.394, 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, ptr, ptr } }, ptr %alloca, align 8 @@ -4497,7 +4516,7 @@ fv.default: ; preds = %if.merge.166 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 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.166 @@ -4509,7 +4528,7 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -4518,7 +4537,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.395, i64 8 }, { ptr, i64 } { ptr @str.396, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.398, i64 8 }, { 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 @@ -4537,24 +4556,24 @@ 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.397, 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.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.398, 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.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.402, 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.403, 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 @@ -4581,7 +4600,7 @@ fv.default: ; preds = %if.merge.171 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 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.171 @@ -4601,7 +4620,7 @@ 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.404, i64 17 }, { ptr, i64 } { ptr @str.405, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.407, i64 17 }, { 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 @@ -4620,24 +4639,24 @@ 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.406, 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.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.407, 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.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 [4 x { ptr, i64 }], ptr @field_names.412, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.413, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, ptr, ptr }, i64, i64, i64 }, ptr %alloca, align 8 @@ -4666,7 +4685,7 @@ 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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.176 @@ -4690,7 +4709,7 @@ 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.414, i64 4 }, { ptr, i64 } { ptr @str.415, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.417, i64 4 }, { 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 @@ -4709,24 +4728,24 @@ 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.416, 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.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.417, 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.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 [1 x { ptr, i64 }], ptr @field_names.419, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [1 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.420, 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 { i32 }, ptr %alloca, align 4 @@ -4763,7 +4782,7 @@ 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.421, i64 10 }, { ptr, i64 } { ptr @str.422, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.424, i64 10 }, { 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 @@ -4782,24 +4801,24 @@ while.body.183: ; preds = %while.hdr.182 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.423, 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.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.424, 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.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 [5 x { ptr, i64 }], ptr @field_names.430, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.431, 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 { { ptr, i64 }, i32, i32, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -4865,7 +4884,7 @@ 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.432, i64 13 }, { ptr, i64 } { ptr @str.433, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.435, i64 13 }, { 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 @@ -4884,24 +4903,24 @@ while.body.188: ; preds = %while.hdr.187 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.434, 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.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.435, 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.191 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.438, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.439, 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 { i32, { ptr, i64 } }, ptr %alloca, align 8 @@ -4943,7 +4962,7 @@ 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.440, i64 8 }, { ptr, i64 } { ptr @str.441, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.443, i64 8 }, { 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 @@ -4962,24 +4981,24 @@ while.body.193: ; preds = %while.hdr.192 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.442, 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.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.443, 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.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 [5 x { ptr, i64 }], ptr @field_names.449, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 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.450, 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 { i8, i8, i16, i32, i64 }, ptr %alloca, align 8 @@ -5040,7 +5059,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.451, i64 5 }, { ptr, i64 } { ptr @str.452, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.454, i64 5 }, { 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 @@ -5059,24 +5078,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.453, 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.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.454, 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.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.458, i64 0, i64 %loadN + %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.459, 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 { ptr, i64, i64 }, ptr %alloca, align 8 @@ -5103,7 +5122,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 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.201 @@ -5122,7 +5141,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.460, i64 6 }, { ptr, i64 } { ptr @str.461, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.463, i64 6 }, { 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 @@ -5141,24 +5160,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.462, 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.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.463, 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.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.467, 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.468, 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 @@ -5185,7 +5204,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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.206 @@ -5206,7 +5225,7 @@ entry: %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.469, i64 6 }, { ptr, i64 } { ptr @str.470, i64 1 }) + %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 @@ -5225,24 +5244,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.471, 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.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.472, 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.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.475, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [2 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.476, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, { i64, [24 x i8] } }, ptr %alloca, align 8 @@ -5276,7 +5295,7 @@ 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 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -5286,7 +5305,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.477, i64 4 }, { ptr, i64 } { ptr @str.478, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.480, i64 4 }, { 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 @@ -5305,24 +5324,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.479, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.482, 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.480, 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 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.484, i64 0, i64 %loadN + %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.485, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, i64 }, i64, ptr }, ptr %alloca, align 8 @@ -5350,7 +5369,7 @@ 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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.216 @@ -5361,7 +5380,7 @@ fv.case17: ; preds = %if.merge.216 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 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -5372,7 +5391,7 @@ entry: %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.486, i64 6 }, { ptr, i64 } { ptr @str.487, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.489, i64 6 }, { 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 @@ -5391,24 +5410,24 @@ 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.488, 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.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.489, 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.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.493, 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.494, 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, ptr } }, ptr %alloca, align 8 @@ -5448,7 +5467,7 @@ 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 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -5457,7 +5476,7 @@ 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.495, i64 12 }, { ptr, i64 } { ptr @str.496, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.498, i64 12 }, { 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 @@ -5476,24 +5495,24 @@ 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.497, 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.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.498, 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.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 [0 x { ptr, i64 }], ptr @field_names.499, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.500, 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 {}, ptr %alloca, align 1 @@ -5513,7 +5532,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.501, i64 8 }, { ptr, i64 } { ptr @str.502, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.504, i64 8 }, { 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 @@ -5532,24 +5551,24 @@ 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.503, 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.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.504, 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.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.508, 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.509, 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 }, i1, i1 }, ptr %alloca, align 8 @@ -5601,7 +5620,7 @@ entry: %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.510, i64 7 }, { ptr, i64 } { ptr @str.511, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.513, i64 7 }, { 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 @@ -5620,24 +5639,24 @@ 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.512, 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.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.513, 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.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.517, 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.518, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5679,7 +5698,7 @@ 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 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5689,7 +5708,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.519, i64 9 }, { ptr, i64 } { ptr @str.520, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.522, i64 9 }, { 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 @@ -5708,24 +5727,24 @@ 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.521, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.524, 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.522, 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 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.525, i64 0, i64 %loadN + %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.526, i64 2 }) + %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 { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -5768,7 +5787,7 @@ 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.527, i64 4 }, { ptr, i64 } { ptr @str.528, 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 @@ -5787,24 +5806,24 @@ 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.529, 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.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.530, 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.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.533, i64 0, i64 %loadN + %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.534, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { i64, { ptr, i64 } }, ptr %alloca, align 8 @@ -5850,7 +5869,7 @@ 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.535, i64 6 }, { ptr, i64 } { ptr @str.536, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.538, i64 6 }, { 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 @@ -5869,24 +5888,24 @@ 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.537, 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.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.538, 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.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 [7 x { ptr, i64 }], ptr @field_names.546, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [7 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.547, 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 { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, ptr %alloca, align 8 @@ -5943,21 +5962,21 @@ 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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge 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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge 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 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -5968,7 +5987,7 @@ 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.548, i64 6 }, { ptr, i64 } { ptr @str.549, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.551, i64 6 }, { 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 @@ -5987,24 +6006,24 @@ 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.550, 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.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.551, 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.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 [4 x { ptr, i64 }], ptr @field_names.556, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.557, 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 { [8 x i64], [64 x i8], i64, i64 }, ptr %alloca, align 8 @@ -6033,14 +6052,14 @@ 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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge 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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.256 @@ -6059,7 +6078,7 @@ 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.558, i64 8 }, { ptr, i64 } { ptr @str.559, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.561, i64 8 }, { 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 @@ -6078,24 +6097,24 @@ 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.560, 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.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.561, 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.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 [0 x { ptr, i64 }], ptr @field_names.562, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.565, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -6114,7 +6133,7 @@ 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.564, i64 5 }, { ptr, i64 } { ptr @str.565, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.567, i64 5 }, { 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 @@ -6133,24 +6152,24 @@ 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.566, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.569, 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.567, 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 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 [0 x { ptr, i64 }], ptr @field_names.568, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 x { ptr, i64 }], ptr @field_names.571, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, 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 }) + %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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load {}, ptr %alloca, align 1 @@ -6170,7 +6189,7 @@ 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.570, i64 12 }, { ptr, i64 } { ptr @str.571, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.573, i64 12 }, { ptr, i64 } { ptr @str.574, i64 1 }) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -6189,24 +6208,24 @@ 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.572, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.575, 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.573, i64 2 }) + %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 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 [4 x { ptr, i64 }], ptr @field_names.578, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 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.579, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { { ptr, ptr, ptr }, i32, i32, i32 }, ptr %alloca, align 8 @@ -6235,7 +6254,7 @@ fv.case: ; preds = %if.merge.271 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.271 @@ -6266,9 +6285,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.585, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.588, 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.580, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.583, 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 @@ -6287,8 +6306,8 @@ entry: if.then.279: ; 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.587, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.586, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.590, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.589, 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.280 @@ -6307,9 +6326,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.592, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.595, 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.588, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, 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 @@ -6328,8 +6347,8 @@ entry: if.then.281: ; 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.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 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.282 @@ -6359,9 +6378,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.602, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [6 x { ptr, i64 }], ptr @field_names.605, 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.598, 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 @@ -6378,8 +6397,8 @@ entry: if.then.283: ; 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.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.607, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, 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 @@ -6435,7 +6454,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -6444,7 +6463,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -6457,9 +6476,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.613, i64 0, i64 %loadN + %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 - %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.608, 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 @@ -6478,8 +6497,8 @@ entry: if.then.285: ; 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.615, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.614, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.618, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.617, 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 @@ -6498,9 +6517,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.622, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.625, 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.616, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.619, 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 @@ -6519,8 +6538,8 @@ entry: if.then.287: ; 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.624, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.623, i64 1 }, { ptr, i64 } %callN) + %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 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.288 @@ -6537,7 +6556,7 @@ 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.625, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.628, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.298 @@ -6554,12 +6573,12 @@ while.body.299: ; preds = %while.hdr.298 while.exit.300: ; preds = %while.hdr.298 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.626, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.629, i64 1 }) ret { ptr, i64 } %call 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.627, i64 2 }) + %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 br label %if.merge.302 @@ -6588,7 +6607,7 @@ 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.628, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.631, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.303 @@ -6605,12 +6624,12 @@ while.body.304: ; preds = %while.hdr.303 while.exit.305: ; preds = %while.hdr.303 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.629, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, i64 1 }) ret { ptr, i64 } %call 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.630, i64 2 }) + %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.307 @@ -6623,7 +6642,7 @@ if.merge.307: ; preds = %if.then.306, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -6640,7 +6659,7 @@ 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.631, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.634, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.308 @@ -6657,12 +6676,12 @@ while.body.309: ; preds = %while.hdr.308 while.exit.310: ; preds = %while.hdr.308 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.632, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.635, i64 1 }) ret { ptr, i64 } %call 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.633, 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.312 @@ -6690,7 +6709,7 @@ 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.634, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.637, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.313 @@ -6707,12 +6726,12 @@ while.body.314: ; preds = %while.hdr.313 while.exit.315: ; preds = %while.hdr.313 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.635, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.638, i64 1 }) ret { ptr, i64 } %call 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.636, 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 br label %if.merge.317 @@ -6741,7 +6760,7 @@ 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.637, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.640, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.318 @@ -6758,12 +6777,12 @@ while.body.319: ; preds = %while.hdr.318 while.exit.320: ; preds = %while.hdr.318 %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.641, i64 1 }) ret { ptr, i64 } %call 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.639, 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.322 @@ -6792,7 +6811,7 @@ 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.640, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.643, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.323 @@ -6809,12 +6828,12 @@ while.body.324: ; preds = %while.hdr.323 while.exit.325: ; preds = %while.hdr.323 %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.644, i64 1 }) ret { ptr, i64 } %call 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.642, 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.327 @@ -6845,7 +6864,7 @@ 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.643, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.646, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.328 @@ -6862,12 +6881,12 @@ while.body.329: ; preds = %while.hdr.328 while.exit.330: ; preds = %while.hdr.328 %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.647, i64 1 }) ret { ptr, i64 } %call 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.645, 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 br label %if.merge.332 @@ -6897,7 +6916,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.646, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.649, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.340 @@ -6916,12 +6935,12 @@ while.body.341: ; preds = %while.hdr.340 while.exit.342: ; preds = %while.hdr.340 %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.650, i64 1 }) ret { ptr, i64 } %call if.then.343: ; preds = %while.body.341 %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.651, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.344 @@ -6950,7 +6969,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.649, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.652, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.345 @@ -6969,12 +6988,12 @@ while.body.346: ; preds = %while.hdr.345 while.exit.347: ; preds = %while.hdr.345 %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.653, i64 1 }) ret { ptr, i64 } %call if.then.348: ; preds = %while.body.346 %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.654, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.349 @@ -7003,7 +7022,7 @@ 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.652, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.655, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.350 @@ -7022,12 +7041,12 @@ while.body.351: ; preds = %while.hdr.350 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.653, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.656, i64 1 }) ret { ptr, i64 } %call 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.654, 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 br label %if.merge.354 @@ -7040,7 +7059,7 @@ if.merge.354: ; preds = %if.then.353, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -7057,7 +7076,7 @@ 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.655, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.658, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.355 @@ -7076,12 +7095,12 @@ while.body.356: ; preds = %while.hdr.355 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.656, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.659, i64 1 }) ret { ptr, i64 } %call 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.657, 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.359 @@ -7094,7 +7113,7 @@ if.merge.359: ; preds = %if.then.358, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -7111,7 +7130,7 @@ 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.658, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.661, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.360 @@ -7130,12 +7149,12 @@ while.body.361: ; preds = %while.hdr.360 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.659, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.662, i64 1 }) ret { ptr, i64 } %call 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.660, i64 2 }) + %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 br label %if.merge.364 @@ -7177,12 +7196,12 @@ if.then.401: ; preds = %entry if.else.402: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.663, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.662, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.666, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.665, i64 5 }, { ptr, i64 } %callN) br label %if.merge.403 if.merge.403: ; preds = %if.else.402, %if.then.401 - %bp = phi { ptr, i64 } [ { ptr @str.661, i64 4 }, %if.then.401 ], [ %callN, %if.else.402 ] + %bp = phi { ptr, i64 } [ { ptr @str.664, i64 4 }, %if.then.401 ], [ %callN, %if.else.402 ] ret { ptr, i64 } %bp } @@ -7205,12 +7224,12 @@ if.then.417: ; preds = %entry if.else.418: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.666, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.665, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.668, i64 11 }, { ptr, i64 } %callN) br label %if.merge.419 if.merge.419: ; preds = %if.else.418, %if.then.417 - %bp = phi { ptr, i64 } [ { ptr @str.664, i64 4 }, %if.then.417 ], [ %callN, %if.else.418 ] + %bp = phi { ptr, i64 } [ { ptr @str.667, i64 4 }, %if.then.417 ], [ %callN, %if.else.418 ] ret { ptr, i64 } %bp } @@ -7233,12 +7252,12 @@ if.then.420: ; preds = %entry if.else.421: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.669, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.668, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.671, i64 4 }, { ptr, i64 } %callN) br label %if.merge.422 if.merge.422: ; preds = %if.else.421, %if.then.420 - %bp = phi { ptr, i64 } [ { ptr @str.667, i64 4 }, %if.then.420 ], [ %callN, %if.else.421 ] + %bp = phi { ptr, i64 } [ { ptr @str.670, i64 4 }, %if.then.420 ], [ %callN, %if.else.421 ] ret { ptr, i64 } %bp } @@ -7261,12 +7280,12 @@ if.then.423: ; preds = %entry if.else.424: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.671, i64 11 }, { ptr, i64 } %callN) + %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 11 }, { ptr, i64 } %callN) br label %if.merge.425 if.merge.425: ; preds = %if.else.424, %if.then.423 - %bp = phi { ptr, i64 } [ { ptr @str.670, i64 4 }, %if.then.423 ], [ %callN, %if.else.424 ] + %bp = phi { ptr, i64 } [ { ptr @str.673, i64 4 }, %if.then.423 ], [ %callN, %if.else.424 ] ret { ptr, i64 } %bp } @@ -7289,12 +7308,12 @@ if.then.426: ; preds = %entry 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.675, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.674, i64 6 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.428 if.merge.428: ; preds = %if.else.427, %if.then.426 - %bp = phi { ptr, i64 } [ { ptr @str.673, i64 4 }, %if.then.426 ], [ %callN, %if.else.427 ] + %bp = phi { ptr, i64 } [ { ptr @str.676, i64 4 }, %if.then.426 ], [ %callN, %if.else.427 ] ret { ptr, i64 } %bp } @@ -7316,12 +7335,12 @@ if.then.429: ; preds = %entry if.else.430: ; preds = %entry %loadN = load i64, ptr %allocaN, align 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 5 }, { ptr, i64 } %callN) + %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 5 }, { ptr, i64 } %callN) br label %if.merge.431 if.merge.431: ; preds = %if.else.430, %if.then.429 - %bp = phi { ptr, i64 } [ { ptr @str.676, i64 4 }, %if.then.429 ], [ %callN, %if.else.430 ] + %bp = phi { ptr, i64 } [ { ptr @str.679, i64 4 }, %if.then.429 ], [ %callN, %if.else.430 ] ret { ptr, i64 } %bp } @@ -7344,12 +7363,12 @@ if.then.432: ; preds = %entry 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.681, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.680, i64 9 }, { ptr, i64 } %callN) + %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 9 }, { ptr, i64 } %callN) br label %if.merge.434 if.merge.434: ; preds = %if.else.433, %if.then.432 - %bp = phi { ptr, i64 } [ { ptr @str.679, i64 4 }, %if.then.432 ], [ %callN, %if.else.433 ] + %bp = phi { ptr, i64 } [ { ptr @str.682, i64 4 }, %if.then.432 ], [ %callN, %if.else.433 ] ret { ptr, i64 } %bp } @@ -7372,12 +7391,12 @@ if.then.435: ; preds = %entry 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.684, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.683, i64 18 }, { ptr, i64 } %callN) + %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 18 }, { ptr, i64 } %callN) br label %if.merge.437 if.merge.437: ; preds = %if.else.436, %if.then.435 - %bp = phi { ptr, i64 } [ { ptr @str.682, i64 4 }, %if.then.435 ], [ %callN, %if.else.436 ] + %bp = phi { ptr, i64 } [ { ptr @str.685, i64 4 }, %if.then.435 ], [ %callN, %if.else.436 ] ret { ptr, i64 } %bp } @@ -7400,17 +7419,17 @@ if.then.438: ; preds = %entry 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.687, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.686, i64 5 }, { ptr, i64 } %callN) + %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.440 if.merge.440: ; preds = %if.else.439, %if.then.438 - %bp = phi { ptr, i64 } [ { ptr @str.685, i64 4 }, %if.then.438 ], [ %callN, %if.else.439 ] + %bp = phi { ptr, i64 } [ { ptr @str.688, i64 4 }, %if.then.438 ], [ %callN, %if.else.439 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7428,17 +7447,17 @@ if.then.441: ; preds = %entry 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.690, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.689, i64 3 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.443 if.merge.443: ; preds = %if.else.442, %if.then.441 - %bp = phi { ptr, i64 } [ { ptr @str.688, i64 4 }, %if.then.441 ], [ %callN, %if.else.442 ] + %bp = phi { ptr, i64 } [ { ptr @str.691, i64 4 }, %if.then.441 ], [ %callN, %if.else.442 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7456,17 +7475,17 @@ if.then.444: ; preds = %entry 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.693, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.692, i64 4 }, { ptr, i64 } %callN) + %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 9 }, { ptr, i64 } %callN) br label %if.merge.446 if.merge.446: ; preds = %if.else.445, %if.then.444 - %bp = phi { ptr, i64 } [ { ptr @str.691, i64 4 }, %if.then.444 ], [ %callN, %if.else.445 ] + %bp = phi { ptr, i64 } [ { ptr @str.694, i64 4 }, %if.then.444 ], [ %callN, %if.else.445 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7484,40 +7503,12 @@ if.then.447: ; preds = %entry 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.696, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.695, i64 9 }, { ptr, i64 } %callN) + %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 4 }, { ptr, i64 } %callN) br label %if.merge.449 if.merge.449: ; preds = %if.else.448, %if.then.447 - %bp = phi { ptr, i64 } [ { ptr @str.694, i64 4 }, %if.then.447 ], [ %callN, %if.else.448 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.450, label %if.else.451 - -if.then.450: ; preds = %entry - br label %if.merge.452 - -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.699, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.698, i64 4 }, { ptr, i64 } %callN) - br label %if.merge.452 - -if.merge.452: ; preds = %if.else.451, %if.then.450 - %bp = phi { ptr, i64 } [ { ptr @str.697, i64 4 }, %if.then.450 ], [ %callN, %if.else.451 ] + %bp = phi { ptr, i64 } [ { ptr @str.697, i64 4 }, %if.then.447 ], [ %callN, %if.else.448 ] ret { ptr, i64 } %bp } @@ -7531,20 +7522,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.453, label %if.else.454 + br i1 %icmp, label %if.then.450, label %if.else.451 -if.then.453: ; preds = %entry - br label %if.merge.455 +if.then.450: ; preds = %entry + br label %if.merge.452 -if.else.454: ; 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.702, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.701, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.455 + br label %if.merge.452 -if.merge.455: ; preds = %if.else.454, %if.then.453 - %bp = phi { ptr, i64 } [ { ptr @str.700, i64 4 }, %if.then.453 ], [ %callN, %if.else.454 ] +if.merge.452: ; preds = %if.else.451, %if.then.450 + %bp = phi { ptr, i64 } [ { ptr @str.700, i64 4 }, %if.then.450 ], [ %callN, %if.else.451 ] ret { ptr, i64 } %bp } @@ -7559,20 +7550,20 @@ entry: store i64 %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.453, label %if.else.454 -if.then.456: ; preds = %entry - br label %if.merge.458 +if.then.453: ; preds = %entry + br label %if.merge.455 -if.else.457: ; preds = %entry +if.else.454: ; preds = %entry %loadN = load i64, ptr %allocaN, align 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 6 }, { ptr, i64 } %callN) - br label %if.merge.458 + br label %if.merge.455 -if.merge.458: ; preds = %if.else.457, %if.then.456 - %bp = phi { ptr, i64 } [ { ptr @str.703, i64 4 }, %if.then.456 ], [ %callN, %if.else.457 ] +if.merge.455: ; preds = %if.else.454, %if.then.453 + %bp = phi { ptr, i64 } [ { ptr @str.703, i64 4 }, %if.then.453 ], [ %callN, %if.else.454 ] ret { ptr, i64 } %bp } @@ -7586,6 +7577,34 @@ 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.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.708, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.707, i64 9 }, { ptr, i64 } %callN) + br label %if.merge.458 + +if.merge.458: ; preds = %if.else.457, %if.then.456 + %bp = phi { ptr, i64 } [ { ptr @str.706, i64 4 }, %if.then.456 ], [ %callN, %if.else.457 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.459, label %if.else.460 if.then.459: ; preds = %entry @@ -7594,17 +7613,17 @@ if.then.459: ; preds = %entry 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.708, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.707, i64 9 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.461 if.merge.461: ; preds = %if.else.460, %if.then.459 - %bp = phi { ptr, i64 } [ { ptr @str.706, i64 4 }, %if.then.459 ], [ %callN, %if.else.460 ] + %bp = phi { ptr, i64 } [ { ptr @str.709, i64 4 }, %if.then.459 ], [ %callN, %if.else.460 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7622,17 +7641,17 @@ if.then.462: ; preds = %entry 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.711, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.710, i64 7 }, { ptr, i64 } %callN) + %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 5 }, { ptr, i64 } %callN) br label %if.merge.464 if.merge.464: ; preds = %if.else.463, %if.then.462 - %bp = phi { ptr, i64 } [ { ptr @str.709, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] + %bp = phi { ptr, i64 } [ { ptr @str.712, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7650,17 +7669,17 @@ if.then.465: ; preds = %entry 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.714, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.713, i64 5 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.467 if.merge.467: ; preds = %if.else.466, %if.then.465 - %bp = phi { ptr, i64 } [ { ptr @str.712, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] + %bp = phi { ptr, i64 } [ { ptr @str.715, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7678,17 +7697,17 @@ if.then.468: ; preds = %entry 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.717, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.716, i64 7 }, { ptr, i64 } %callN) + %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 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.715, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] + %bp = phi { ptr, i64 } [ { ptr @str.718, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7706,17 +7725,17 @@ if.then.471: ; preds = %entry 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.720, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.719, i64 4 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.473 if.merge.473: ; preds = %if.else.472, %if.then.471 - %bp = phi { ptr, i64 } [ { ptr @str.718, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] + %bp = phi { ptr, i64 } [ { ptr @str.721, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7734,17 +7753,17 @@ if.then.474: ; preds = %entry 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.723, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.722, i64 7 }, { ptr, i64 } %callN) + %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.476 if.merge.476: ; preds = %if.else.475, %if.then.474 - %bp = phi { ptr, i64 } [ { ptr @str.721, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] + %bp = phi { ptr, i64 } [ { ptr @str.724, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7762,17 +7781,17 @@ if.then.477: ; 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.726, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.725, i64 5 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.479 if.merge.479: ; preds = %if.else.478, %if.then.477 - %bp = phi { ptr, i64 } [ { ptr @str.724, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] + %bp = phi { ptr, i64 } [ { ptr @str.727, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_NSString(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7790,17 +7809,17 @@ 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.729, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.728, i64 7 }, { ptr, i64 } %callN) + %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 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.727, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] + %bp = phi { ptr, i64 } [ { ptr @str.730, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_NSString(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7818,17 +7837,17 @@ 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.732, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.731, i64 9 }, { ptr, i64 } %callN) + %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 12 }, { ptr, i64 } %callN) br label %if.merge.485 if.merge.485: ; preds = %if.else.484, %if.then.483 - %bp = phi { ptr, i64 } [ { ptr @str.730, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] + %bp = phi { ptr, i64 } [ { ptr @str.733, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7846,17 +7865,17 @@ if.then.486: ; 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.735, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.734, i64 12 }, { ptr, i64 } %callN) + %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.488 if.merge.488: ; preds = %if.else.487, %if.then.486 - %bp = phi { ptr, i64 } [ { ptr @str.733, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] + %bp = phi { ptr, i64 } [ { ptr @str.736, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SxBox(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7874,17 +7893,17 @@ if.then.489: ; 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.738, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.737, i64 6 }, { ptr, i64 } %callN) + %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 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.736, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] + %bp = phi { ptr, i64 } [ { ptr @str.739, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SxBox(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_SxBox(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7902,17 +7921,17 @@ if.then.492: ; 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.741, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.740, i64 6 }, { ptr, i64 } %callN) + %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.494 if.merge.494: ; preds = %if.else.493, %if.then.492 - %bp = phi { ptr, i64 } [ { ptr @str.739, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] + %bp = phi { ptr, i64 } [ { ptr @str.742, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_SxBox(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7930,17 +7949,17 @@ if.then.495: ; 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.744, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.743, i64 7 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.497 if.merge.497: ; preds = %if.else.496, %if.then.495 - %bp = phi { ptr, i64 } [ { ptr @str.742, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] + %bp = phi { ptr, i64 } [ { ptr @str.745, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7958,17 +7977,17 @@ if.then.498: ; 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.747, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.746, i64 7 }, { ptr, i64 } %callN) + %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 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.745, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] + %bp = phi { ptr, i64 } [ { ptr @str.748, i64 4 }, %if.then.498 ], [ %callN, %if.else.499 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7986,17 +8005,17 @@ if.then.501: ; 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.750, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.749, i64 4 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.503 if.merge.503: ; preds = %if.else.502, %if.then.501 - %bp = phi { ptr, i64 } [ { ptr @str.748, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] + %bp = phi { ptr, i64 } [ { ptr @str.751, i64 4 }, %if.then.501 ], [ %callN, %if.else.502 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -8014,12 +8033,12 @@ if.then.504: ; 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.753, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.752, i64 6 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.506 if.merge.506: ; preds = %if.else.505, %if.then.504 - %bp = phi { ptr, i64 } [ { ptr @str.751, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] + %bp = phi { ptr, i64 } [ { ptr @str.754, i64 4 }, %if.then.504 ], [ %callN, %if.else.505 ] ret { ptr, i64 } %bp } @@ -8042,12 +8061,12 @@ if.then.507: ; 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.756, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.755, i64 5 }, { 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.509 if.merge.509: ; preds = %if.else.508, %if.then.507 - %bp = phi { ptr, i64 } [ { ptr @str.754, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] + %bp = phi { ptr, i64 } [ { ptr @str.757, i64 4 }, %if.then.507 ], [ %callN, %if.else.508 ] ret { ptr, i64 } %bp } @@ -8070,12 +8089,12 @@ if.then.510: ; 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.759, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.758, i64 7 }, { ptr, i64 } %callN) + %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.512 if.merge.512: ; preds = %if.else.511, %if.then.510 - %bp = phi { ptr, i64 } [ { ptr @str.757, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] + %bp = phi { ptr, i64 } [ { ptr @str.760, i64 4 }, %if.then.510 ], [ %callN, %if.else.511 ] ret { ptr, i64 } %bp } @@ -8098,12 +8117,12 @@ 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.762, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.761, i64 7 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.515 if.merge.515: ; preds = %if.else.514, %if.then.513 - %bp = phi { ptr, i64 } [ { ptr @str.760, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] + %bp = phi { ptr, i64 } [ { ptr @str.763, i64 4 }, %if.then.513 ], [ %callN, %if.else.514 ] ret { ptr, i64 } %bp } @@ -8116,17 +8135,17 @@ 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.522, label %if.merge.523 + br i1 %lnot, label %if.then.523, label %if.merge.524 -if.then.522: ; preds = %entry - ret { ptr, i64 } { ptr @str.763, i64 4 } +if.then.523: ; preds = %entry + ret { ptr, i64 } { ptr @str.766, i64 4 } -if.merge.523: ; preds = %entry +if.merge.524: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -8140,12 +8159,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.524, label %if.merge.525 + br i1 %lnot, label %if.then.525, label %if.merge.526 -if.then.524: ; preds = %entry - ret { ptr, i64 } { ptr @str.764, i64 4 } +if.then.525: ; preds = %entry + ret { ptr, i64 } { ptr @str.767, i64 4 } -if.merge.525: ; preds = %entry +if.merge.526: ; 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 @@ -8155,6 +8174,27 @@ if.merge.525: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.527, label %if.merge.528 + +if.then.527: ; preds = %entry + ret { ptr, i64 } { ptr @str.768, i64 4 } + +if.merge.528: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -8164,17 +8204,17 @@ 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.526, label %if.merge.527 + br i1 %lnot, label %if.then.529, label %if.merge.530 -if.then.526: ; preds = %entry - ret { ptr, i64 } { ptr @str.765, i64 4 } +if.then.529: ; preds = %entry + ret { ptr, i64 } { ptr @str.769, i64 4 } -if.merge.527: ; preds = %entry +if.merge.530: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -8188,17 +8228,17 @@ 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.528, label %if.merge.529 + br i1 %lnot, label %if.then.531, label %if.merge.532 -if.then.528: ; preds = %entry - ret { ptr, i64 } { ptr @str.766, i64 4 } +if.then.531: ; preds = %entry + ret { ptr, i64 } { ptr @str.770, i64 4 } -if.merge.529: ; preds = %entry +if.merge.532: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -8299,15 +8339,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_.767) - store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_setWidth_, align 8 - %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.768) - store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_setHeight_, align 8 - %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.769) - store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_width, align 8 - %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.770) - store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_height, align 8 %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.771) + store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_setWidth_, align 8 + %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.772) + store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_setHeight_, align 8 + %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.773) + store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_width, align 8 + %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.774) + store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_height, align 8 + %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.775) store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_area, align 8 ret void } @@ -8319,25 +8359,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_.772, i64 0) + %cls = call ptr @objc_allocateClassPair(ptr %super_cls, ptr @OBJC_CLASS_NAME_.776, 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_.773) + %sel = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.777) %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_.774) - %2 = call i1 @class_addMethod(ptr %cls, ptr %selN, ptr @__SxBox_setWidth_imp, ptr @OBJC_METH_VAR_TYPE_.775) - %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.776) - %3 = call i1 @class_addMethod(ptr %cls, ptr %selN, ptr @__SxBox_height_imp, ptr @OBJC_METH_VAR_TYPE_.777) %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.778) - %4 = call i1 @class_addMethod(ptr %cls, ptr %selN, ptr @__SxBox_setHeight_imp, ptr @OBJC_METH_VAR_TYPE_.779) + %2 = call i1 @class_addMethod(ptr %cls, ptr %selN, ptr @__SxBox_setWidth_imp, ptr @OBJC_METH_VAR_TYPE_.779) %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.780) - %5 = call i1 @class_addMethod(ptr %cls, ptr %selN, ptr @__SxBox_area_imp, ptr @OBJC_METH_VAR_TYPE_.781) + %3 = call i1 @class_addMethod(ptr %cls, ptr %selN, ptr @__SxBox_height_imp, ptr @OBJC_METH_VAR_TYPE_.781) + %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.782) + %4 = call i1 @class_addMethod(ptr %cls, ptr %selN, ptr @__SxBox_setHeight_imp, ptr @OBJC_METH_VAR_TYPE_.783) + %selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.784) + %5 = call i1 @class_addMethod(ptr %cls, ptr %selN, ptr @__SxBox_area_imp, ptr @OBJC_METH_VAR_TYPE_.785) 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_.782) - %6 = call i1 @class_addMethod(ptr %cls, ptr %sel_dealloc, ptr @__SxBox_dealloc_imp, ptr @OBJC_METH_VAR_TYPE_.783) - %sel_alloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.784) - %7 = call i1 @class_addMethod(ptr %metacls, ptr %sel_alloc, ptr @__SxBox_alloc_imp, ptr @OBJC_METH_VAR_TYPE_.785) + %sel_dealloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.786) + %6 = call i1 @class_addMethod(ptr %cls, ptr %sel_dealloc, ptr @__SxBox_dealloc_imp, ptr @OBJC_METH_VAR_TYPE_.787) + %sel_alloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.788) + %7 = call i1 @class_addMethod(ptr %metacls, ptr %sel_alloc, ptr @__SxBox_alloc_imp, ptr @OBJC_METH_VAR_TYPE_.789) %iv = call ptr @class_getInstanceVariable(ptr %cls, ptr @OBJC_IVAR_NAME_) store ptr %iv, ptr @__SxBox_state_ivar, align 8 ret void @@ -8345,7 +8385,7 @@ entry: define internal void @__sx_objc_class_init() { entry: - %cls = call ptr @objc_getClass(ptr @OBJC_CLASS_NAME_.786) + %cls = call ptr @objc_getClass(ptr @OBJC_CLASS_NAME_.790) 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 cffaab9..e699a45 100644 --- a/examples/expected/1329-ffi-objc-call-03-selector-sharing.ir +++ b/examples/expected/1329-ffi-objc-call-03-selector-sharing.ir @@ -40,7 +40,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -91,7 +91,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -195,7 +195,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -226,7 +226,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -241,6 +241,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -750,9 +759,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(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 196b2e6..bf68514 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.115 = private unnamed_addr constant [2 x i8] c"0\00", align 1 @str.116 = private unnamed_addr constant [4 x i8] c"\00", align 1 @str.117 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@__sx_type_is_unsigned = private constant [169 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] +@__sx_type_is_unsigned = private constant [172 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] @tag.str = private constant [1 x i8] zeroinitializer @tag.str.118 = private constant [9 x i8] c"Overflow\00" @tag.str.119 = private constant [3 x i8] c"Io\00" @@ -42,472 +42,472 @@ @tn.str.145 = private constant [6 x i8] c"isize\00" @tn.str.146 = private constant [6 x i8] c"usize\00" @tn.str.147 = private constant [5 x i8] c"void\00" -@tn.str.148 = private constant [6 x i8] c"*void\00" -@tn.str.149 = private constant [16 x i8] c"Source_Location\00" -@tn.str.150 = private constant [10 x i8] c"Allocator\00" -@tn.str.151 = private constant [8 x i8] c"Context\00" -@tn.str.152 = private constant [7 x i8] c"[4]i64\00" -@tn.str.153 = private constant [9 x i8] c"[]string\00" -@tn.str.154 = private constant [11 x i8] c"CAllocator\00" -@tn.str.155 = private constant [12 x i8] c"*CAllocator\00" -@tn.str.156 = private constant [4 x i8] c"GPA\00" -@tn.str.157 = private constant [5 x i8] c"*GPA\00" -@tn.str.158 = private constant [11 x i8] c"ArenaChunk\00" -@tn.str.159 = private constant [12 x i8] c"*ArenaChunk\00" -@tn.str.160 = private constant [6 x i8] c"Arena\00" -@tn.str.161 = private constant [7 x i8] c"*Arena\00" -@tn.str.162 = private constant [6 x i8] c"[*]u8\00" -@tn.str.163 = private constant [9 x i8] c"BufAlloc\00" -@tn.str.164 = private constant [10 x i8] c"*BufAlloc\00" -@tn.str.165 = private constant [18 x i8] c"TrackingAllocator\00" -@tn.str.166 = private constant [19 x i8] c"*TrackingAllocator\00" -@tn.str.167 = private constant [9 x i8] c"OpenMode\00" -@tn.str.168 = private constant [9 x i8] c"SeekFrom\00" -@tn.str.169 = private constant [5 x i8] c"File\00" -@tn.str.170 = private constant [6 x i8] c"*File\00" -@tn.str.171 = private constant [6 x i8] c"?File\00" -@tn.str.172 = private constant [8 x i8] c"?string\00" -@tn.str.173 = private constant [11 x i8] c"TraceFrame\00" -@tn.str.174 = private constant [4 x i8] c"*u8\00" -@tn.str.175 = private constant [14 x i8] c"ProcessResult\00" -@tn.str.176 = private constant [15 x i8] c"?ProcessResult\00" -@tn.str.177 = private constant [5 x i8] c"*i32\00" -@tn.str.178 = private constant [9 x i8] c"SockAddr\00" -@tn.str.179 = private constant [10 x i8] c"*SockAddr\00" -@tn.str.180 = private constant [5 x i8] c"*u32\00" -@tn.str.181 = private constant [10 x i8] c"JsonError\00" -@tn.str.182 = private constant [6 x i8] c"Array\00" -@tn.str.183 = private constant [7 x i8] c"Object\00" -@tn.str.184 = private constant [6 x i8] c"Value\00" -@tn.str.185 = private constant [7 x i8] c"Member\00" -@tn.str.186 = private constant [9 x i8] c"[*]Value\00" -@tn.str.187 = private constant [7 x i8] c"*Array\00" -@tn.str.188 = private constant [10 x i8] c"[*]Member\00" -@tn.str.189 = private constant [8 x i8] c"*Object\00" -@tn.str.190 = private constant [5 x i8] c"[]u8\00" -@tn.str.191 = private constant [5 x i8] c"Sink\00" -@tn.str.192 = private constant [6 x i8] c"*Sink\00" -@tn.str.193 = private constant [17 x i8] c"(i64, JsonError)\00" -@tn.str.194 = private constant [15 x i8] c"JsonParseError\00" -@tn.str.195 = private constant [22 x i8] c"(i64, JsonParseError)\00" -@tn.str.196 = private constant [7 x i8] c"Parser\00" -@tn.str.197 = private constant [8 x i8] c"*Parser\00" -@tn.str.198 = private constant [25 x i8] c"(string, JsonParseError)\00" -@tn.str.199 = private constant [24 x i8] c"(Value, JsonParseError)\00" -@tn.str.200 = private constant [16 x i8] c"OperatingSystem\00" -@tn.str.201 = private constant [13 x i8] c"Architecture\00" -@tn.str.202 = private constant [13 x i8] c"BuildOptions\00" -@tn.str.203 = private constant [11 x i8] c"() -> bool\00" -@tn.str.204 = private constant [5 x i8] c"*i64\00" -@tn.str.205 = private constant [9 x i8] c"CliError\00" -@tn.str.206 = private constant [9 x i8] c"FlagSpec\00" -@tn.str.207 = private constant [11 x i8] c"[]FlagSpec\00" -@tn.str.208 = private constant [8 x i8] c"Command\00" -@tn.str.209 = private constant [10 x i8] c"FlagValue\00" -@tn.str.210 = private constant [5 x i8] c"Diag\00" -@tn.str.211 = private constant [14 x i8] c"[16]FlagValue\00" -@tn.str.212 = private constant [7 x i8] c"Parsed\00" -@tn.str.213 = private constant [8 x i8] c"*Parsed\00" -@tn.str.214 = private constant [19 x i8] c"(Parsed, CliError)\00" -@tn.str.215 = private constant [10 x i8] c"[]Command\00" -@tn.str.216 = private constant [6 x i8] c"*Diag\00" -@tn.str.217 = private constant [7 x i8] c"[8]i64\00" -@tn.str.218 = private constant [7 x i8] c"[64]u8\00" -@tn.str.219 = private constant [7 x i8] c"Sha256\00" -@tn.str.220 = private constant [8 x i8] c"*Sha256\00" -@tn.str.221 = private constant [8 x i8] c"?[64]u8\00" -@tn.str.222 = private constant [8 x i8] c"[64]i64\00" -@tn.str.223 = private constant [9 x i8] c"NSString\00" -@tn.str.224 = private constant [10 x i8] c"*NSString\00" -@tn.str.225 = private constant [10 x i8] c"Closure()\00" -@tn.str.226 = private constant [7 x i8] c"Triple\00" -@tn.str.227 = private constant [13 x i8] c"**CAllocator\00" -@tn.str.228 = private constant [7 x i8] c"**void\00" -@tn.str.229 = private constant [6 x i8] c"*bool\00" -@tn.str.230 = private constant [8 x i8] c"*string\00" -@tn.str.231 = private constant [6 x i8] c"[]Any\00" -@tn.str.232 = private constant [5 x i8] c"*Any\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 [7 x i8] c"*[]Any\00" -@tn.str.236 = private constant [8 x i8] c"*Triple\00" -@tn.str.237 = private constant [7 x i8] c"[3]Any\00" -@tn.str.238 = private constant [8 x i8] c"*[3]Any\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 [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 [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 [5 x i8] c"**u8\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"**NSString\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 [7 x i8] c"**bool\00" -@tn.str.289 = private constant [9 x i8] c"**string\00" -@tn.str.290 = private constant [6 x i8] c"**Any\00" -@tn.str.291 = private constant [9 x i8] c"**[1]Any\00" -@tn.str.292 = private constant [8 x i8] c"**[]Any\00" -@tn.str.293 = private constant [9 x i8] c"**Triple\00" -@tn.str.294 = private constant [9 x i8] c"**[3]Any\00" -@tn.str.295 = private constant [7 x i8] c"*?File\00" -@tn.str.296 = private constant [9 x i8] c"*?string\00" -@tn.str.297 = private constant [16 x i8] c"*?ProcessResult\00" -@tn.str.298 = private constant [9 x i8] c"*?[64]u8\00" -@__sx_type_names = private constant [169 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 2 }, { ptr, i64 } { ptr @tn.str.133, i64 3 }, { ptr, i64 } { ptr @tn.str.134, i64 3 }, { ptr, i64 } { ptr @tn.str.135, i64 3 }, { ptr, i64 } { ptr @tn.str.136, i64 2 }, { ptr, i64 } { ptr @tn.str.137, i64 3 }, { ptr, i64 } { ptr @tn.str.138, i64 3 }, { ptr, i64 } { ptr @tn.str.139, i64 3 }, { ptr, i64 } { ptr @tn.str.140, i64 3 }, { ptr, i64 } { ptr @tn.str.141, i64 3 }, { ptr, i64 } { ptr @tn.str.142, i64 6 }, { ptr, i64 } { ptr @tn.str.143, i64 3 }, { ptr, i64 } { ptr @tn.str.144, i64 8 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 4 }, { ptr, i64 } { ptr @tn.str.148, i64 5 }, { ptr, i64 } { ptr @tn.str.149, i64 15 }, { ptr, i64 } { ptr @tn.str.150, i64 9 }, { ptr, i64 } { ptr @tn.str.151, i64 7 }, { ptr, i64 } { ptr @tn.str.152, i64 6 }, { ptr, i64 } { ptr @tn.str.153, i64 8 }, { ptr, i64 } { ptr @tn.str.154, i64 10 }, { ptr, i64 } { ptr @tn.str.155, i64 11 }, { ptr, i64 } { ptr @tn.str.156, i64 3 }, { ptr, i64 } { ptr @tn.str.157, i64 4 }, { ptr, i64 } { ptr @tn.str.158, i64 10 }, { ptr, i64 } { ptr @tn.str.159, i64 11 }, { 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 8 }, { ptr, i64 } { ptr @tn.str.164, i64 9 }, { ptr, i64 } { ptr @tn.str.165, i64 17 }, { ptr, i64 } { ptr @tn.str.166, i64 18 }, { ptr, i64 } { ptr @tn.str.167, i64 8 }, { ptr, i64 } { ptr @tn.str.168, i64 8 }, { ptr, i64 } { ptr @tn.str.169, i64 4 }, { ptr, i64 } { ptr @tn.str.170, i64 5 }, { ptr, i64 } { ptr @tn.str.171, i64 5 }, { ptr, i64 } { ptr @tn.str.172, i64 7 }, { ptr, i64 } { ptr @tn.str.173, i64 10 }, { ptr, i64 } { ptr @tn.str.174, i64 3 }, { ptr, i64 } { ptr @tn.str.175, i64 13 }, { ptr, i64 } { ptr @tn.str.176, i64 14 }, { ptr, i64 } { ptr @tn.str.177, i64 4 }, { ptr, i64 } { ptr @tn.str.178, i64 8 }, { ptr, i64 } { ptr @tn.str.179, i64 9 }, { ptr, i64 } { ptr @tn.str.180, i64 4 }, { ptr, i64 } { ptr @tn.str.181, i64 9 }, { ptr, i64 } { ptr @tn.str.182, i64 5 }, { ptr, i64 } { ptr @tn.str.183, i64 6 }, { ptr, i64 } { ptr @tn.str.184, i64 5 }, { ptr, i64 } { ptr @tn.str.185, i64 6 }, { ptr, i64 } { ptr @tn.str.186, i64 8 }, { ptr, i64 } { ptr @tn.str.187, i64 6 }, { ptr, i64 } { ptr @tn.str.188, i64 9 }, { ptr, i64 } { ptr @tn.str.189, i64 7 }, { ptr, i64 } { ptr @tn.str.190, i64 4 }, { ptr, i64 } { ptr @tn.str.191, i64 4 }, { ptr, i64 } { ptr @tn.str.192, i64 5 }, { ptr, i64 } { ptr @tn.str.193, i64 16 }, { ptr, i64 } { ptr @tn.str.194, i64 14 }, { ptr, i64 } { ptr @tn.str.195, i64 21 }, { ptr, i64 } { ptr @tn.str.196, i64 6 }, { ptr, i64 } { ptr @tn.str.197, i64 7 }, { ptr, i64 } { ptr @tn.str.198, i64 24 }, { ptr, i64 } { ptr @tn.str.199, i64 23 }, { ptr, i64 } { ptr @tn.str.200, i64 15 }, { ptr, i64 } { ptr @tn.str.201, i64 12 }, { ptr, i64 } { ptr @tn.str.202, i64 12 }, { ptr, i64 } { ptr @tn.str.203, i64 10 }, { ptr, i64 } { ptr @tn.str.204, i64 4 }, { ptr, i64 } { ptr @tn.str.205, i64 8 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 10 }, { ptr, i64 } { ptr @tn.str.208, i64 7 }, { ptr, i64 } { ptr @tn.str.209, i64 9 }, { ptr, i64 } { ptr @tn.str.210, i64 4 }, { ptr, i64 } { ptr @tn.str.211, i64 13 }, { ptr, i64 } { ptr @tn.str.212, i64 6 }, { ptr, i64 } { ptr @tn.str.213, i64 7 }, { ptr, i64 } { ptr @tn.str.214, i64 18 }, { ptr, i64 } { ptr @tn.str.215, i64 9 }, { ptr, i64 } { ptr @tn.str.216, i64 5 }, { ptr, i64 } { ptr @tn.str.217, i64 6 }, { ptr, i64 } { ptr @tn.str.218, i64 6 }, { ptr, i64 } { ptr @tn.str.219, i64 6 }, { ptr, i64 } { ptr @tn.str.220, i64 7 }, { ptr, i64 } { ptr @tn.str.221, i64 7 }, { ptr, i64 } { ptr @tn.str.222, i64 7 }, { ptr, i64 } { ptr @tn.str.223, i64 8 }, { ptr, i64 } { ptr @tn.str.224, i64 9 }, { ptr, i64 } { ptr @tn.str.225, i64 9 }, { ptr, i64 } { ptr @tn.str.226, i64 6 }, { ptr, i64 } { ptr @tn.str.227, i64 12 }, { ptr, i64 } { ptr @tn.str.228, i64 6 }, { ptr, i64 } { ptr @tn.str.229, i64 5 }, { ptr, i64 } { ptr @tn.str.230, i64 7 }, { ptr, i64 } { ptr @tn.str.231, i64 5 }, { ptr, i64 } { ptr @tn.str.232, i64 4 }, { ptr, i64 } { ptr @tn.str.233, i64 6 }, { ptr, i64 } { ptr @tn.str.234, i64 7 }, { ptr, i64 } { ptr @tn.str.235, i64 6 }, { ptr, i64 } { ptr @tn.str.236, i64 7 }, { ptr, i64 } { ptr @tn.str.237, i64 6 }, { ptr, i64 } { ptr @tn.str.238, i64 7 }, { 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 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 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 4 }, { 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 13 }, { ptr, i64 } { ptr @tn.str.287, i64 7 }, { ptr, i64 } { ptr @tn.str.288, i64 6 }, { ptr, i64 } { ptr @tn.str.289, i64 8 }, { ptr, i64 } { ptr @tn.str.290, i64 5 }, { ptr, i64 } { ptr @tn.str.291, i64 8 }, { ptr, i64 } { ptr @tn.str.292, i64 7 }, { ptr, i64 } { ptr @tn.str.293, i64 8 }, { ptr, i64 } { ptr @tn.str.294, i64 8 }, { ptr, i64 } { ptr @tn.str.295, i64 6 }, { ptr, i64 } { ptr @tn.str.296, i64 8 }, { ptr, i64 } { ptr @tn.str.297, i64 15 }, { ptr, i64 } { ptr @tn.str.298, i64 8 }] -@str.299 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.300 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.301 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@tn.str.148 = private constant [8 x i8] c"cstring\00" +@tn.str.149 = private constant [6 x i8] c"*void\00" +@tn.str.150 = private constant [16 x i8] c"Source_Location\00" +@tn.str.151 = private constant [10 x i8] c"Allocator\00" +@tn.str.152 = private constant [8 x i8] c"Context\00" +@tn.str.153 = private constant [7 x i8] c"[4]i64\00" +@tn.str.154 = private constant [9 x i8] c"[]string\00" +@tn.str.155 = private constant [11 x i8] c"CAllocator\00" +@tn.str.156 = private constant [12 x i8] c"*CAllocator\00" +@tn.str.157 = private constant [4 x i8] c"GPA\00" +@tn.str.158 = private constant [5 x i8] c"*GPA\00" +@tn.str.159 = private constant [11 x i8] c"ArenaChunk\00" +@tn.str.160 = private constant [12 x i8] c"*ArenaChunk\00" +@tn.str.161 = private constant [6 x i8] c"Arena\00" +@tn.str.162 = private constant [7 x i8] c"*Arena\00" +@tn.str.163 = private constant [6 x i8] c"[*]u8\00" +@tn.str.164 = private constant [9 x i8] c"BufAlloc\00" +@tn.str.165 = private constant [10 x i8] c"*BufAlloc\00" +@tn.str.166 = private constant [18 x i8] c"TrackingAllocator\00" +@tn.str.167 = private constant [19 x i8] c"*TrackingAllocator\00" +@tn.str.168 = private constant [9 x i8] c"OpenMode\00" +@tn.str.169 = private constant [9 x i8] c"SeekFrom\00" +@tn.str.170 = private constant [5 x i8] c"File\00" +@tn.str.171 = private constant [6 x i8] c"*File\00" +@tn.str.172 = private constant [6 x i8] c"?File\00" +@tn.str.173 = private constant [8 x i8] c"?string\00" +@tn.str.174 = private constant [11 x i8] c"TraceFrame\00" +@tn.str.175 = private constant [9 x i8] c"?cstring\00" +@tn.str.176 = private constant [14 x i8] c"ProcessResult\00" +@tn.str.177 = private constant [15 x i8] c"?ProcessResult\00" +@tn.str.178 = private constant [5 x i8] c"*i32\00" +@tn.str.179 = private constant [9 x i8] c"SockAddr\00" +@tn.str.180 = private constant [10 x i8] c"*SockAddr\00" +@tn.str.181 = private constant [5 x i8] c"*u32\00" +@tn.str.182 = private constant [10 x i8] c"JsonError\00" +@tn.str.183 = private constant [6 x i8] c"Array\00" +@tn.str.184 = private constant [7 x i8] c"Object\00" +@tn.str.185 = private constant [6 x i8] c"Value\00" +@tn.str.186 = private constant [7 x i8] c"Member\00" +@tn.str.187 = private constant [9 x i8] c"[*]Value\00" +@tn.str.188 = private constant [7 x i8] c"*Array\00" +@tn.str.189 = private constant [10 x i8] c"[*]Member\00" +@tn.str.190 = private constant [8 x i8] c"*Object\00" +@tn.str.191 = private constant [5 x i8] c"[]u8\00" +@tn.str.192 = private constant [5 x i8] c"Sink\00" +@tn.str.193 = private constant [6 x i8] c"*Sink\00" +@tn.str.194 = private constant [17 x i8] c"(i64, JsonError)\00" +@tn.str.195 = private constant [15 x i8] c"JsonParseError\00" +@tn.str.196 = private constant [22 x i8] c"(i64, JsonParseError)\00" +@tn.str.197 = private constant [7 x i8] c"Parser\00" +@tn.str.198 = private constant [8 x i8] c"*Parser\00" +@tn.str.199 = private constant [25 x i8] c"(string, JsonParseError)\00" +@tn.str.200 = private constant [24 x i8] c"(Value, JsonParseError)\00" +@tn.str.201 = private constant [16 x i8] c"OperatingSystem\00" +@tn.str.202 = private constant [13 x i8] c"Architecture\00" +@tn.str.203 = private constant [13 x i8] c"BuildOptions\00" +@tn.str.204 = private constant [11 x i8] c"() -> bool\00" +@tn.str.205 = private constant [5 x i8] c"*i64\00" +@tn.str.206 = private constant [9 x i8] c"CliError\00" +@tn.str.207 = private constant [9 x i8] c"FlagSpec\00" +@tn.str.208 = private constant [11 x i8] c"[]FlagSpec\00" +@tn.str.209 = private constant [8 x i8] c"Command\00" +@tn.str.210 = private constant [10 x i8] c"FlagValue\00" +@tn.str.211 = private constant [5 x i8] c"Diag\00" +@tn.str.212 = private constant [14 x i8] c"[16]FlagValue\00" +@tn.str.213 = private constant [7 x i8] c"Parsed\00" +@tn.str.214 = private constant [8 x i8] c"*Parsed\00" +@tn.str.215 = private constant [19 x i8] c"(Parsed, CliError)\00" +@tn.str.216 = private constant [10 x i8] c"[]Command\00" +@tn.str.217 = private constant [6 x i8] c"*Diag\00" +@tn.str.218 = private constant [7 x i8] c"[8]i64\00" +@tn.str.219 = private constant [7 x i8] c"[64]u8\00" +@tn.str.220 = private constant [7 x i8] c"Sha256\00" +@tn.str.221 = private constant [8 x i8] c"*Sha256\00" +@tn.str.222 = private constant [8 x i8] c"?[64]u8\00" +@tn.str.223 = private constant [8 x i8] c"[64]i64\00" +@tn.str.224 = private constant [9 x i8] c"NSString\00" +@tn.str.225 = private constant [10 x i8] c"*NSString\00" +@tn.str.226 = private constant [10 x i8] c"Closure()\00" +@tn.str.227 = private constant [7 x i8] c"Triple\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 [6 x i8] c"*bool\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 [8 x i8] c"*Triple\00" +@tn.str.239 = private constant [7 x i8] c"[3]Any\00" +@tn.str.240 = private constant [8 x i8] c"*[3]Any\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 [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 [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"**NSString\00" +@tn.str.287 = private constant [14 x i8] c"***CAllocator\00" +@tn.str.288 = private constant [8 x i8] c"***void\00" +@tn.str.289 = private constant [7 x i8] c"**bool\00" +@tn.str.290 = private constant [9 x i8] c"**string\00" +@tn.str.291 = private constant [6 x i8] c"**Any\00" +@tn.str.292 = private constant [9 x i8] c"**[1]Any\00" +@tn.str.293 = private constant [8 x i8] c"**[]Any\00" +@tn.str.294 = private constant [5 x i8] c"**u8\00" +@tn.str.295 = private constant [9 x i8] c"**Triple\00" +@tn.str.296 = private constant [9 x i8] c"**[3]Any\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 [172 x { ptr, i64 }] [{ ptr, i64 } { ptr @tn.str, i64 12 }, { ptr, i64 } { ptr @tn.str.131, i64 4 }, { ptr, i64 } { ptr @tn.str.132, i64 2 }, { ptr, i64 } { ptr @tn.str.133, i64 3 }, { ptr, i64 } { ptr @tn.str.134, i64 3 }, { ptr, i64 } { ptr @tn.str.135, i64 3 }, { ptr, i64 } { ptr @tn.str.136, i64 2 }, { ptr, i64 } { ptr @tn.str.137, i64 3 }, { ptr, i64 } { ptr @tn.str.138, i64 3 }, { ptr, i64 } { ptr @tn.str.139, i64 3 }, { ptr, i64 } { ptr @tn.str.140, i64 3 }, { ptr, i64 } { ptr @tn.str.141, i64 3 }, { ptr, i64 } { ptr @tn.str.142, i64 6 }, { ptr, i64 } { ptr @tn.str.143, i64 3 }, { ptr, i64 } { ptr @tn.str.144, i64 8 }, { ptr, i64 } { ptr @tn.str.145, i64 5 }, { ptr, i64 } { ptr @tn.str.146, i64 5 }, { ptr, i64 } { ptr @tn.str.147, i64 4 }, { ptr, i64 } { ptr @tn.str.148, i64 7 }, { ptr, i64 } { ptr @tn.str.149, i64 5 }, { ptr, i64 } { ptr @tn.str.150, i64 15 }, { ptr, i64 } { ptr @tn.str.151, i64 9 }, { ptr, i64 } { ptr @tn.str.152, i64 7 }, { ptr, i64 } { ptr @tn.str.153, i64 6 }, { ptr, i64 } { ptr @tn.str.154, i64 8 }, { ptr, i64 } { ptr @tn.str.155, i64 10 }, { ptr, i64 } { ptr @tn.str.156, i64 11 }, { ptr, i64 } { ptr @tn.str.157, i64 3 }, { ptr, i64 } { ptr @tn.str.158, i64 4 }, { ptr, i64 } { ptr @tn.str.159, i64 10 }, { ptr, i64 } { ptr @tn.str.160, i64 11 }, { 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 8 }, { ptr, i64 } { ptr @tn.str.165, i64 9 }, { ptr, i64 } { ptr @tn.str.166, i64 17 }, { ptr, i64 } { ptr @tn.str.167, i64 18 }, { ptr, i64 } { ptr @tn.str.168, i64 8 }, { ptr, i64 } { ptr @tn.str.169, i64 8 }, { ptr, i64 } { ptr @tn.str.170, i64 4 }, { ptr, i64 } { ptr @tn.str.171, i64 5 }, { ptr, i64 } { ptr @tn.str.172, i64 5 }, { ptr, i64 } { ptr @tn.str.173, i64 7 }, { ptr, i64 } { ptr @tn.str.174, i64 10 }, { ptr, i64 } { ptr @tn.str.175, i64 8 }, { ptr, i64 } { ptr @tn.str.176, i64 13 }, { ptr, i64 } { ptr @tn.str.177, i64 14 }, { ptr, i64 } { ptr @tn.str.178, i64 4 }, { ptr, i64 } { ptr @tn.str.179, i64 8 }, { ptr, i64 } { ptr @tn.str.180, i64 9 }, { ptr, i64 } { ptr @tn.str.181, i64 4 }, { ptr, i64 } { ptr @tn.str.182, i64 9 }, { ptr, i64 } { ptr @tn.str.183, i64 5 }, { ptr, i64 } { ptr @tn.str.184, i64 6 }, { ptr, i64 } { ptr @tn.str.185, i64 5 }, { ptr, i64 } { ptr @tn.str.186, i64 6 }, { ptr, i64 } { ptr @tn.str.187, i64 8 }, { ptr, i64 } { ptr @tn.str.188, i64 6 }, { ptr, i64 } { ptr @tn.str.189, i64 9 }, { ptr, i64 } { ptr @tn.str.190, i64 7 }, { ptr, i64 } { ptr @tn.str.191, i64 4 }, { ptr, i64 } { ptr @tn.str.192, i64 4 }, { ptr, i64 } { ptr @tn.str.193, i64 5 }, { ptr, i64 } { ptr @tn.str.194, i64 16 }, { ptr, i64 } { ptr @tn.str.195, i64 14 }, { ptr, i64 } { ptr @tn.str.196, i64 21 }, { ptr, i64 } { ptr @tn.str.197, i64 6 }, { ptr, i64 } { ptr @tn.str.198, i64 7 }, { ptr, i64 } { ptr @tn.str.199, i64 24 }, { ptr, i64 } { ptr @tn.str.200, i64 23 }, { ptr, i64 } { ptr @tn.str.201, i64 15 }, { ptr, i64 } { ptr @tn.str.202, i64 12 }, { ptr, i64 } { ptr @tn.str.203, i64 12 }, { ptr, i64 } { ptr @tn.str.204, i64 10 }, { ptr, i64 } { ptr @tn.str.205, i64 4 }, { ptr, i64 } { ptr @tn.str.206, i64 8 }, { ptr, i64 } { ptr @tn.str.207, i64 8 }, { ptr, i64 } { ptr @tn.str.208, i64 10 }, { ptr, i64 } { ptr @tn.str.209, i64 7 }, { ptr, i64 } { ptr @tn.str.210, i64 9 }, { ptr, i64 } { ptr @tn.str.211, i64 4 }, { ptr, i64 } { ptr @tn.str.212, i64 13 }, { ptr, i64 } { ptr @tn.str.213, i64 6 }, { ptr, i64 } { ptr @tn.str.214, i64 7 }, { ptr, i64 } { ptr @tn.str.215, i64 18 }, { ptr, i64 } { ptr @tn.str.216, i64 9 }, { ptr, i64 } { ptr @tn.str.217, i64 5 }, { ptr, i64 } { ptr @tn.str.218, i64 6 }, { ptr, i64 } { ptr @tn.str.219, i64 6 }, { ptr, i64 } { ptr @tn.str.220, i64 6 }, { ptr, i64 } { ptr @tn.str.221, i64 7 }, { ptr, i64 } { ptr @tn.str.222, i64 7 }, { ptr, i64 } { ptr @tn.str.223, i64 7 }, { ptr, i64 } { ptr @tn.str.224, i64 8 }, { ptr, i64 } { ptr @tn.str.225, i64 9 }, { ptr, i64 } { ptr @tn.str.226, i64 9 }, { ptr, i64 } { ptr @tn.str.227, i64 6 }, { ptr, i64 } { ptr @tn.str.228, i64 12 }, { ptr, i64 } { ptr @tn.str.229, i64 6 }, { ptr, i64 } { ptr @tn.str.230, i64 5 }, { 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 7 }, { ptr, i64 } { ptr @tn.str.239, i64 6 }, { ptr, i64 } { ptr @tn.str.240, i64 7 }, { 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 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 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 13 }, { ptr, i64 } { ptr @tn.str.288, i64 7 }, { 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 7 }, { ptr, i64 } { ptr @tn.str.294, i64 4 }, { ptr, i64 } { ptr @tn.str.295, i64 8 }, { ptr, i64 } { ptr @tn.str.296, i64 8 }, { 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 [15 x i8] c"result := \22\22; \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 [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1 -@str.310 = private unnamed_addr constant [6 x i8] c"])); \00", align 1 -@str.311 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1 -@str.312 = private unnamed_addr constant [3 x i8] c", \00", align 1 -@str.313 = private unnamed_addr constant [5 x i8] c")); \00", 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 [9 x i8] c"NSObject\00", align 1 -@str.321 = private unnamed_addr constant [14 x i8] c"SxTripleProbe\00", align 1 -@str.322 = private unnamed_addr constant [12 x i8] c"tripleValue\00", align 1 -@str.323 = private unnamed_addr constant [15 x i8] c"{Triple=qqq}@:\00", align 1 -@str.324 = private unnamed_addr constant [16 x i8] c"addMethod = {}\0A\00", align 1 -@str.325 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.326 = private unnamed_addr constant [16 x i8] c"addMethod = {}\0A\00", align 1 -@str.327 = private unnamed_addr constant [23 x i8] c"triple = ({}, {}, {})\0A\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 [9 x i8] c"NSObject\00", align 1 +@str.324 = private unnamed_addr constant [14 x i8] c"SxTripleProbe\00", align 1 +@str.325 = private unnamed_addr constant [12 x i8] c"tripleValue\00", align 1 +@str.326 = private unnamed_addr constant [15 x i8] c"{Triple=qqq}@:\00", align 1 +@str.327 = private unnamed_addr constant [16 x i8] c"addMethod = {}\0A\00", align 1 @str.328 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 -@str.329 = private unnamed_addr constant [23 x i8] c"triple = ({}, {}, {})\0A\00", align 1 -@str.330 = private unnamed_addr constant [16 x i8] c"Source_Location\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 +@str.329 = private unnamed_addr constant [16 x i8] c"addMethod = {}\0A\00", align 1 +@str.330 = private unnamed_addr constant [23 x i8] c"triple = ({}, {}, {})\0A\00", align 1 +@str.331 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1 +@str.332 = private unnamed_addr constant [23 x i8] c"triple = ({}, {}, {})\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.334 = private constant [5 x i8] c"line\00" -@fld.str.335 = private constant [4 x i8] c"col\00" -@fld.str.336 = 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.334, i64 4 }, { ptr, i64 } { ptr @fld.str.335, i64 3 }, { ptr, i64 } { ptr @fld.str.336, i64 4 }] -@str.337 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.338 = private unnamed_addr constant [10 x i8] c"Allocator\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 [4 x i8] c"ctx\00" -@fld.str.343 = private constant [12 x i8] c"alloc_bytes\00" -@fld.str.344 = private constant [14 x i8] c"dealloc_bytes\00" -@field_names.345 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.342, i64 3 }, { ptr, i64 } { ptr @fld.str.343, i64 11 }, { ptr, i64 } { ptr @fld.str.344, i64 13 }] -@str.346 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.347 = private unnamed_addr constant [8 x i8] c"Context\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 [10 x i8] c"allocator\00" -@fld.str.352 = private constant [5 x i8] c"data\00" -@field_names.353 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.351, i64 9 }, { ptr, i64 } { ptr @fld.str.352, i64 4 }] -@str.354 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.355 = private unnamed_addr constant [11 x i8] c"CAllocator\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 -@field_names.359 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.360 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.361 = private unnamed_addr constant [4 x i8] c"GPA\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 [12 x i8] c"alloc_count\00" -@field_names.366 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.365, i64 11 }] -@str.367 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.368 = private unnamed_addr constant [11 x i8] c"ArenaChunk\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 [5 x i8] c"next\00" -@fld.str.373 = private constant [4 x i8] c"cap\00" -@field_names.374 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.372, i64 4 }, { 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 [6 x i8] c"Arena\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 [6 x i8] c"first\00" -@fld.str.381 = private constant [10 x i8] c"end_index\00" -@fld.str.382 = private constant [7 x i8] c"parent\00" -@field_names.383 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.380, i64 5 }, { ptr, i64 } { ptr @fld.str.381, i64 9 }, { ptr, i64 } { ptr @fld.str.382, i64 6 }] -@str.384 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.385 = private unnamed_addr constant [9 x i8] c"BufAlloc\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 [4 x i8] c"buf\00" -@fld.str.390 = private constant [4 x i8] c"len\00" -@fld.str.391 = private constant [4 x i8] c"pos\00" -@field_names.392 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.389, i64 3 }, { ptr, i64 } { ptr @fld.str.390, i64 3 }, { ptr, i64 } { ptr @fld.str.391, i64 3 }] -@str.393 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.394 = private unnamed_addr constant [18 x i8] c"TrackingAllocator\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 [7 x i8] c"parent\00" -@fld.str.399 = private constant [12 x i8] c"alloc_count\00" -@fld.str.400 = private constant [14 x i8] c"dealloc_count\00" -@fld.str.401 = private constant [18 x i8] c"total_alloc_bytes\00" -@field_names.402 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.398, i64 6 }, { ptr, i64 } { ptr @fld.str.399, i64 11 }, { ptr, i64 } { ptr @fld.str.400, i64 13 }, { ptr, i64 } { ptr @fld.str.401, i64 17 }] -@str.403 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.404 = private unnamed_addr constant [5 x i8] c"File\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 [3 x i8] c"fd\00" -@field_names.409 = private constant [1 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.408, i64 2 }] -@str.410 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.411 = private unnamed_addr constant [11 x i8] c"TraceFrame\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"file\00" -@fld.str.416 = private constant [5 x i8] c"line\00" -@fld.str.417 = private constant [4 x i8] c"col\00" -@fld.str.418 = private constant [5 x i8] c"func\00" -@fld.str.419 = private constant [10 x i8] c"line_text\00" -@field_names.420 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.415, i64 4 }, { ptr, i64 } { ptr @fld.str.416, i64 4 }, { ptr, i64 } { ptr @fld.str.417, i64 3 }, { ptr, i64 } { ptr @fld.str.418, i64 4 }, { ptr, i64 } { ptr @fld.str.419, i64 9 }] -@str.421 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.422 = private unnamed_addr constant [14 x i8] c"ProcessResult\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 [10 x i8] c"exit_code\00" -@fld.str.427 = private constant [7 x i8] c"stdout\00" -@field_names.428 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.426, i64 9 }, { ptr, i64 } { ptr @fld.str.427, i64 6 }] -@str.429 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.430 = private unnamed_addr constant [9 x i8] c"SockAddr\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 [8 x i8] c"sin_len\00" -@fld.str.435 = private constant [11 x i8] c"sin_family\00" -@fld.str.436 = private constant [9 x i8] c"sin_port\00" -@fld.str.437 = private constant [9 x i8] c"sin_addr\00" -@fld.str.438 = private constant [9 x i8] c"sin_zero\00" -@field_names.439 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.434, i64 7 }, { ptr, i64 } { ptr @fld.str.435, i64 10 }, { ptr, i64 } { ptr @fld.str.436, i64 8 }, { ptr, i64 } { ptr @fld.str.437, i64 8 }, { ptr, i64 } { ptr @fld.str.438, i64 8 }] -@str.440 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.441 = private unnamed_addr constant [6 x i8] c"Array\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"Object\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"Member\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"key\00" -@fld.str.464 = private constant [4 x i8] c"val\00" -@field_names.465 = private constant [2 x { ptr, i64 }] [{ 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 [5 x i8] c"Sink\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"dst\00" -@fld.str.472 = private constant [4 x i8] c"pos\00" -@fld.str.473 = private constant [5 x i8] c"file\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 4 }] -@str.475 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.476 = private unnamed_addr constant [7 x i8] c"Parser\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"src\00" -@fld.str.481 = private constant [4 x i8] c"pos\00" -@fld.str.482 = private constant [6 x i8] c"alloc\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 5 }] -@str.484 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.485 = private unnamed_addr constant [13 x i8] c"BuildOptions\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 -@field_names.489 = private constant [0 x { ptr, i64 }] zeroinitializer -@str.490 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.491 = private unnamed_addr constant [9 x i8] c"FlagSpec\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 [5 x i8] c"name\00" -@fld.str.496 = private constant [12 x i8] c"takes_value\00" -@fld.str.497 = private constant [9 x i8] c"required\00" -@field_names.498 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.495, i64 4 }, { ptr, i64 } { ptr @fld.str.496, i64 11 }, { ptr, i64 } { ptr @fld.str.497, i64 8 }] -@str.499 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.500 = private unnamed_addr constant [8 x i8] c"Command\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"group\00" -@fld.str.505 = private constant [8 x i8] c"command\00" -@fld.str.506 = private constant [6 x i8] c"flags\00" -@field_names.507 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.504, i64 5 }, { ptr, i64 } { ptr @fld.str.505, i64 7 }, { 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 [10 x i8] c"FlagValue\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"set\00" -@fld.str.514 = private constant [6 x i8] c"value\00" -@field_names.515 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.513, i64 3 }, { 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 [5 x i8] c"Diag\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 [6 x i8] c"index\00" -@fld.str.522 = private constant [6 x i8] c"token\00" -@field_names.523 = private constant [2 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.521, i64 5 }, { 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 [7 x i8] c"Parsed\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"group\00" -@fld.str.530 = private constant [8 x i8] c"command\00" -@fld.str.531 = private constant [10 x i8] c"cmd_index\00" -@fld.str.532 = private constant [5 x i8] c"json\00" -@fld.str.533 = private constant [5 x i8] c"rest\00" -@fld.str.534 = private constant [5 x i8] c"spec\00" -@fld.str.535 = private constant [7 x i8] c"values\00" -@field_names.536 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.529, i64 5 }, { ptr, i64 } { ptr @fld.str.530, i64 7 }, { ptr, i64 } { ptr @fld.str.531, i64 9 }, { ptr, i64 } { ptr @fld.str.532, i64 4 }, { ptr, i64 } { ptr @fld.str.533, i64 4 }, { ptr, i64 } { ptr @fld.str.534, i64 4 }, { ptr, i64 } { ptr @fld.str.535, i64 6 }] -@str.537 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.538 = private unnamed_addr constant [7 x i8] c"Sha256\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 [2 x i8] c"h\00" -@fld.str.543 = private constant [4 x i8] c"buf\00" -@fld.str.544 = private constant [8 x i8] c"buf_len\00" -@fld.str.545 = private constant [10 x i8] c"total_len\00" -@field_names.546 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.542, i64 1 }, { ptr, i64 } { ptr @fld.str.543, i64 3 }, { ptr, i64 } { ptr @fld.str.544, i64 7 }, { ptr, i64 } { ptr @fld.str.545, i64 9 }] -@str.547 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.548 = private unnamed_addr constant [9 x i8] c"NSString\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 [7 x i8] c"Triple\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"a\00" -@fld.str.559 = private constant [2 x i8] c"b\00" -@fld.str.560 = private constant [2 x i8] c"c\00" -@field_names.561 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.558, i64 1 }, { ptr, i64 } { ptr @fld.str.559, i64 1 }, { ptr, i64 } { ptr @fld.str.560, i64 1 }] -@str.562 = private unnamed_addr constant [3 x i8] c": \00", align 1 -@str.563 = private unnamed_addr constant [2 x i8] c".\00", align 1 -@fld.str.564 = private constant [5 x i8] c"read\00" -@fld.str.565 = private constant [6 x i8] c"write\00" -@fld.str.566 = private constant [7 x i8] c"append\00" -@fld.str.567 = private constant [11 x i8] c"read_write\00" -@field_names.568 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.564, i64 4 }, { ptr, i64 } { ptr @fld.str.565, i64 5 }, { ptr, i64 } { ptr @fld.str.566, i64 6 }, { ptr, i64 } { ptr @fld.str.567, i64 10 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.572 = private constant [4 x i8] c"set\00" -@fld.str.573 = private constant [8 x i8] c"current\00" -@fld.str.574 = private constant [4 x i8] c"end\00" -@field_names.575 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.572, i64 3 }, { ptr, i64 } { ptr @fld.str.573, i64 7 }, { ptr, i64 } { ptr @fld.str.574, i64 3 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.579 = private constant [6 x i8] c"null_\00" -@fld.str.580 = private constant [6 x i8] c"bool_\00" -@fld.str.581 = private constant [5 x i8] c"int_\00" -@fld.str.582 = private constant [4 x i8] c"str\00" -@fld.str.583 = private constant [6 x i8] c"array\00" -@fld.str.584 = private constant [7 x i8] c"object\00" -@field_names.585 = private constant [6 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.579, i64 5 }, { ptr, i64 } { ptr @fld.str.580, i64 5 }, { ptr, i64 } { ptr @fld.str.581, i64 4 }, { ptr, i64 } { ptr @fld.str.582, i64 3 }, { ptr, i64 } { ptr @fld.str.583, i64 5 }, { ptr, i64 } { ptr @fld.str.584, i64 6 }] -@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 [2 x i8] c".\00", align 1 -@fld.str.589 = private constant [6 x i8] c"macos\00" -@fld.str.590 = private constant [6 x i8] c"linux\00" -@fld.str.591 = private constant [8 x i8] c"windows\00" -@fld.str.592 = private constant [5 x i8] c"wasm\00" -@fld.str.593 = private constant [4 x i8] c"ios\00" -@fld.str.594 = private constant [8 x i8] c"android\00" -@fld.str.595 = private constant [8 x i8] c"unknown\00" -@field_names.596 = private constant [7 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.589, i64 5 }, { ptr, i64 } { ptr @fld.str.590, i64 5 }, { ptr, i64 } { ptr @fld.str.591, i64 7 }, { ptr, i64 } { ptr @fld.str.592, i64 4 }, { ptr, i64 } { ptr @fld.str.593, i64 3 }, { ptr, i64 } { ptr @fld.str.594, i64 7 }, { ptr, i64 } { ptr @fld.str.595, i64 7 }] -@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 [8 x i8] c"aarch64\00" -@fld.str.601 = private constant [7 x i8] c"x86_64\00" -@fld.str.602 = private constant [7 x i8] c"wasm32\00" -@fld.str.603 = private constant [7 x i8] c"wasm64\00" -@fld.str.604 = private constant [8 x i8] c"unknown\00" -@field_names.605 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.600, i64 7 }, { ptr, i64 } { ptr @fld.str.601, i64 6 }, { ptr, i64 } { ptr @fld.str.602, i64 6 }, { ptr, i64 } { ptr @fld.str.603, i64 6 }, { ptr, i64 } { ptr @fld.str.604, i64 7 }] -@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 [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.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 [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.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 [9 x i8] c"NSString\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 +@field_names.555 = private constant [0 x { ptr, i64 }] zeroinitializer +@str.556 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.557 = private unnamed_addr constant [7 x i8] c"Triple\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 +@fld.str.561 = private constant [2 x i8] c"a\00" +@fld.str.562 = private constant [2 x i8] c"b\00" +@fld.str.563 = private constant [2 x i8] c"c\00" +@field_names.564 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.561, i64 1 }, { ptr, i64 } { ptr @fld.str.562, i64 1 }, { ptr, i64 } { ptr @fld.str.563, i64 1 }] +@str.565 = private unnamed_addr constant [3 x i8] c": \00", align 1 +@str.566 = private unnamed_addr constant [2 x i8] c".\00", align 1 +@fld.str.567 = private constant [5 x i8] c"read\00" +@fld.str.568 = private constant [6 x i8] c"write\00" +@fld.str.569 = private constant [7 x i8] c"append\00" +@fld.str.570 = private constant [11 x i8] c"read_write\00" +@field_names.571 = private constant [4 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.567, i64 4 }, { ptr, i64 } { ptr @fld.str.568, i64 5 }, { ptr, i64 } { ptr @fld.str.569, i64 6 }, { ptr, i64 } { ptr @fld.str.570, i64 10 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.575 = private constant [4 x i8] c"set\00" +@fld.str.576 = private constant [8 x i8] c"current\00" +@fld.str.577 = private constant [4 x i8] c"end\00" +@field_names.578 = private constant [3 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.575, i64 3 }, { ptr, i64 } { ptr @fld.str.576, i64 7 }, { ptr, i64 } { ptr @fld.str.577, i64 3 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.582 = private constant [6 x i8] c"null_\00" +@fld.str.583 = private constant [6 x i8] c"bool_\00" +@fld.str.584 = private constant [5 x i8] c"int_\00" +@fld.str.585 = private constant [4 x i8] c"str\00" +@fld.str.586 = private constant [6 x i8] c"array\00" +@fld.str.587 = private constant [7 x i8] c"object\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 5 }, { ptr, i64 } { ptr @fld.str.584, i64 4 }, { ptr, i64 } { ptr @fld.str.585, i64 3 }, { ptr, i64 } { ptr @fld.str.586, i64 5 }, { ptr, i64 } { ptr @fld.str.587, i64 6 }] +@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 [2 x i8] c".\00", align 1 +@fld.str.592 = private constant [6 x i8] c"macos\00" +@fld.str.593 = private constant [6 x i8] c"linux\00" +@fld.str.594 = private constant [8 x i8] c"windows\00" +@fld.str.595 = private constant [5 x i8] c"wasm\00" +@fld.str.596 = private constant [4 x i8] c"ios\00" +@fld.str.597 = private constant [8 x i8] c"android\00" +@fld.str.598 = private constant [8 x i8] c"unknown\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 5 }, { ptr, i64 } { ptr @fld.str.594, i64 7 }, { ptr, i64 } { ptr @fld.str.595, i64 4 }, { ptr, i64 } { ptr @fld.str.596, i64 3 }, { ptr, i64 } { ptr @fld.str.597, i64 7 }, { ptr, i64 } { ptr @fld.str.598, i64 7 }] +@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 [8 x i8] c"aarch64\00" +@fld.str.604 = private constant [7 x i8] c"x86_64\00" +@fld.str.605 = private constant [7 x i8] c"wasm32\00" +@fld.str.606 = private constant [7 x i8] c"wasm64\00" +@fld.str.607 = private constant [8 x i8] c"unknown\00" +@field_names.608 = private constant [5 x { ptr, i64 }] [{ ptr, i64 } { ptr @fld.str.603, i64 7 }, { ptr, i64 } { ptr @fld.str.604, i64 6 }, { ptr, i64 } { ptr @fld.str.605, i64 6 }, { ptr, i64 } { ptr @fld.str.606, i64 6 }, { ptr, i64 } { ptr @fld.str.607, i64 7 }] +@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 @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 @@ -541,35 +541,35 @@ @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 [5 x i8] c"null\00", align 1 -@str.645 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 -@str.646 = private unnamed_addr constant [4 x i8] c"@0x\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 [5 x i8] c"null\00", align 1 -@str.648 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 +@str.648 = private unnamed_addr constant [6 x i8] c"*void\00", align 1 @str.649 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.650 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.651 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 +@str.651 = private unnamed_addr constant [12 x i8] c"*CAllocator\00", align 1 @str.652 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.653 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.654 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 +@str.654 = private unnamed_addr constant [5 x i8] c"*GPA\00", align 1 @str.655 = private unnamed_addr constant [4 x i8] c"@0x\00", align 1 @str.656 = private unnamed_addr constant [5 x i8] c"null\00", align 1 -@str.657 = private unnamed_addr constant [7 x i8] c"*Arena\00", align 1 +@str.657 = private unnamed_addr constant [12 x i8] c"*ArenaChunk\00", align 1 @str.658 = private unnamed_addr constant [4 x i8] c"@0x\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"[*]u8\00", align 1 +@str.660 = private unnamed_addr constant [7 x i8] c"*Arena\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 [10 x i8] c"*BufAlloc\00", align 1 +@str.663 = private unnamed_addr constant [6 x i8] c"[*]u8\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 [19 x i8] c"*TrackingAllocator\00", align 1 +@str.666 = private unnamed_addr constant [10 x i8] c"*BufAlloc\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 [6 x i8] c"*File\00", align 1 +@str.669 = private unnamed_addr constant [19 x i8] c"*TrackingAllocator\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 [4 x i8] c"*u8\00", align 1 +@str.672 = private unnamed_addr constant [6 x i8] c"*File\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"*i32\00", align 1 @@ -635,15 +635,19 @@ @str.735 = private unnamed_addr constant [7 x i8] c"*[]Any\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"*Triple\00", align 1 +@str.738 = private unnamed_addr constant [4 x i8] c"*u8\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 [8 x i8] c"*[3]Any\00", align 1 +@str.741 = private unnamed_addr constant [8 x i8] c"*Triple\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 [5 x i8] c"null\00", align 1 -@str.745 = private unnamed_addr constant [5 x i8] c"null\00", align 1 +@str.744 = private unnamed_addr constant [8 x i8] c"*[3]Any\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 [5 x i8] c"null\00", align 1 +@str.748 = private unnamed_addr constant [5 x i8] c"null\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"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 }] @@ -662,7 +666,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -713,7 +717,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -803,7 +807,7 @@ if.merge.57: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 20) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 br label %while.hdr.66 @@ -1006,7 +1010,7 @@ if.merge.91: ; preds = %if.else.90, %if.the %addN = add i64 %addN, 6 store i64 %addN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 %loadN) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 %loadN) store { ptr, i64 } %callN, ptr %allocaN, align 8 store i64 0, ptr %allocaN, align 8 %loadN = load i1, ptr %allocaN, align 1 @@ -1249,7 +1253,7 @@ if.merge.390: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %call = call [4 x i64] @decompose_u16x4(ptr %0, i64 %loadN) store [4 x i64] %call, ptr %allocaN, align 8 - %callN = call { ptr, i64 } @cstring(ptr %0, i64 16) + %callN = call { ptr, i64 } @alloc_string(ptr %0, i64 16) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %igp.ptr = getelementptr i64, ptr %allocaN, i64 0 @@ -1321,7 +1325,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1352,7 +1356,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -1367,6 +1371,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -1409,90 +1422,91 @@ entry: i64 1, label %match.arm.41 i64 10, label %match.arm.42 i64 11, label %match.arm.42 - i64 19, label %match.arm.43 i64 20, label %match.arm.43 i64 21, label %match.arm.43 - i64 24, label %match.arm.43 - i64 26, label %match.arm.43 - i64 28, label %match.arm.43 - i64 30, label %match.arm.43 - i64 33, label %match.arm.43 - i64 35, label %match.arm.43 - i64 39, label %match.arm.43 - i64 43, label %match.arm.43 - i64 45, label %match.arm.43 - i64 48, label %match.arm.43 - i64 52, label %match.arm.43 + i64 22, label %match.arm.43 + i64 25, label %match.arm.43 + i64 27, label %match.arm.43 + i64 29, label %match.arm.43 + i64 31, label %match.arm.43 + i64 34, label %match.arm.43 + i64 36, label %match.arm.43 + i64 40, label %match.arm.43 + i64 44, label %match.arm.43 + i64 46, label %match.arm.43 + i64 49, label %match.arm.43 i64 53, label %match.arm.43 - i64 55, label %match.arm.43 - i64 61, label %match.arm.43 - i64 66, label %match.arm.43 - i64 72, label %match.arm.43 - i64 76, label %match.arm.43 - i64 78, label %match.arm.43 + i64 54, label %match.arm.43 + i64 56, label %match.arm.43 + i64 62, label %match.arm.43 + i64 67, label %match.arm.43 + i64 73, label %match.arm.43 + i64 77, label %match.arm.43 i64 79, label %match.arm.43 i64 80, label %match.arm.43 - i64 82, label %match.arm.43 - i64 89, label %match.arm.43 - i64 93, label %match.arm.43 - i64 96, label %match.arm.43 - i64 37, label %match.arm.44 + i64 81, label %match.arm.43 + i64 83, label %match.arm.43 + i64 90, label %match.arm.43 + i64 94, label %match.arm.43 + i64 97, label %match.arm.43 i64 38, label %match.arm.44 - i64 54, label %match.arm.44 - i64 70, label %match.arm.44 + i64 39, label %match.arm.44 + i64 55, label %match.arm.44 i64 71, label %match.arm.44 - i64 51, label %match.arm.45 - i64 64, label %match.arm.45 - i64 75, label %match.arm.45 - i64 22, label %match.arm.47 - i64 81, label %match.arm.47 - i64 87, label %match.arm.47 + i64 72, label %match.arm.44 + i64 52, label %match.arm.45 + i64 65, label %match.arm.45 + i64 76, label %match.arm.45 + i64 23, label %match.arm.47 + i64 82, label %match.arm.47 i64 88, label %match.arm.47 - i64 92, label %match.arm.47 - i64 103, label %match.arm.47 - i64 107, label %match.arm.47 - i64 23, label %match.arm.48 - i64 60, label %match.arm.48 - i64 77, label %match.arm.48 - i64 85, label %match.arm.48 - i64 101, label %match.arm.48 - i64 18, label %match.arm.49 - i64 25, label %match.arm.49 - i64 27, label %match.arm.49 - i64 29, label %match.arm.49 - i64 31, label %match.arm.49 + i64 89, label %match.arm.47 + i64 93, label %match.arm.47 + i64 104, label %match.arm.47 + i64 109, label %match.arm.47 + i64 24, label %match.arm.48 + i64 61, label %match.arm.48 + i64 78, label %match.arm.48 + i64 86, label %match.arm.48 + i64 102, label %match.arm.48 + i64 19, label %match.arm.49 + i64 26, label %match.arm.49 + i64 28, label %match.arm.49 + i64 30, label %match.arm.49 i64 32, label %match.arm.49 - i64 34, label %match.arm.49 - i64 36, label %match.arm.49 - i64 40, label %match.arm.49 - i64 44, label %match.arm.49 - i64 47, label %match.arm.49 - i64 49, label %match.arm.49 + i64 33, label %match.arm.49 + i64 35, label %match.arm.49 + i64 37, label %match.arm.49 + i64 41, label %match.arm.49 + i64 48, label %match.arm.49 i64 50, label %match.arm.49 - i64 56, label %match.arm.49 + i64 51, label %match.arm.49 i64 57, label %match.arm.49 i64 58, label %match.arm.49 i64 59, label %match.arm.49 - i64 62, label %match.arm.49 - i64 67, label %match.arm.49 - i64 74, label %match.arm.49 - i64 83, label %match.arm.49 - i64 86, label %match.arm.49 - i64 90, label %match.arm.49 - i64 94, label %match.arm.49 - i64 97, label %match.arm.49 + i64 60, label %match.arm.49 + i64 63, label %match.arm.49 + i64 68, label %match.arm.49 + i64 75, label %match.arm.49 + i64 84, label %match.arm.49 + i64 87, label %match.arm.49 + i64 91, label %match.arm.49 + i64 95, label %match.arm.49 i64 98, label %match.arm.49 i64 99, label %match.arm.49 i64 100, label %match.arm.49 - i64 102, label %match.arm.49 - i64 104, label %match.arm.49 + i64 101, label %match.arm.49 + i64 103, label %match.arm.49 i64 105, label %match.arm.49 i64 106, label %match.arm.49 + i64 107, label %match.arm.49 i64 108, label %match.arm.49 - i64 41, label %match.arm.50 + i64 110, label %match.arm.49 i64 42, label %match.arm.50 - i64 46, label %match.arm.50 - i64 91, label %match.arm.50 + i64 43, label %match.arm.50 + i64 45, label %match.arm.50 + i64 47, label %match.arm.50 + i64 92, label %match.arm.50 i64 13, label %match.arm.51 ] @@ -1510,7 +1524,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 [169 x i1], ptr @__sx_type_is_unsigned, i64 0, i64 %refl.tid + %tiu.gep = getelementptr inbounds [172 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 @@ -1543,33 +1557,33 @@ match.arm.43: ; preds = %entry, %entry, %ent %ua.raw16 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw16, label %dispatch.default.95 [ - i64 19, label %dispatch.case.96 - i64 20, label %dispatch.case.97 - i64 21, label %dispatch.case.98 - i64 24, label %dispatch.case.99 - i64 26, label %dispatch.case.100 - i64 28, label %dispatch.case.101 - i64 30, label %dispatch.case.102 - i64 33, label %dispatch.case.103 - i64 35, label %dispatch.case.104 - i64 39, label %dispatch.case.105 - i64 43, label %dispatch.case.106 - i64 45, label %dispatch.case.107 - i64 48, label %dispatch.case.108 - i64 52, label %dispatch.case.109 - i64 53, label %dispatch.case.110 - i64 55, label %dispatch.case.111 - i64 61, label %dispatch.case.112 - i64 66, label %dispatch.case.113 - i64 72, label %dispatch.case.114 - i64 76, label %dispatch.case.115 - i64 78, label %dispatch.case.116 - i64 79, label %dispatch.case.117 - i64 80, label %dispatch.case.118 - i64 82, label %dispatch.case.119 - i64 89, label %dispatch.case.120 - i64 93, label %dispatch.case.121 - i64 96, label %dispatch.case.122 + i64 20, label %dispatch.case.96 + i64 21, label %dispatch.case.97 + i64 22, label %dispatch.case.98 + i64 25, label %dispatch.case.99 + i64 27, label %dispatch.case.100 + i64 29, label %dispatch.case.101 + i64 31, label %dispatch.case.102 + i64 34, label %dispatch.case.103 + i64 36, label %dispatch.case.104 + i64 40, label %dispatch.case.105 + i64 44, label %dispatch.case.106 + i64 46, label %dispatch.case.107 + i64 49, label %dispatch.case.108 + i64 53, label %dispatch.case.109 + i64 54, label %dispatch.case.110 + i64 56, label %dispatch.case.111 + i64 62, label %dispatch.case.112 + i64 67, label %dispatch.case.113 + i64 73, label %dispatch.case.114 + i64 77, label %dispatch.case.115 + i64 79, label %dispatch.case.116 + i64 80, label %dispatch.case.117 + i64 81, label %dispatch.case.118 + i64 83, label %dispatch.case.119 + i64 90, label %dispatch.case.120 + i64 94, label %dispatch.case.121 + i64 97, label %dispatch.case.122 ] match.arm.44: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1577,11 +1591,11 @@ match.arm.44: ; preds = %entry, %entry, %ent %ua.raw20 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw20, label %dispatch.default.259 [ - i64 37, label %dispatch.case.260 - i64 38, label %dispatch.case.261 - i64 54, label %dispatch.case.262 - i64 70, label %dispatch.case.263 - i64 71, label %dispatch.case.264 + i64 38, label %dispatch.case.260 + i64 39, label %dispatch.case.261 + i64 55, label %dispatch.case.262 + i64 71, label %dispatch.case.263 + i64 72, label %dispatch.case.264 ] match.arm.45: ; preds = %entry, %entry, %entry @@ -1604,13 +1618,13 @@ match.arm.47: ; preds = %entry, %entry, %ent %ua.raw29 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw29, label %dispatch.default.276 [ - i64 22, label %dispatch.case.277 - i64 81, label %dispatch.case.278 - i64 87, label %dispatch.case.279 - i64 88, label %dispatch.case.280 - i64 92, label %dispatch.case.281 - i64 103, label %dispatch.case.282 - i64 107, label %dispatch.case.283 + i64 23, label %dispatch.case.277 + i64 82, label %dispatch.case.278 + i64 88, label %dispatch.case.279 + i64 89, label %dispatch.case.280 + i64 93, label %dispatch.case.281 + i64 104, label %dispatch.case.282 + i64 109, label %dispatch.case.283 ] match.arm.48: ; preds = %entry, %entry, %entry, %entry, %entry @@ -1618,11 +1632,11 @@ match.arm.48: ; preds = %entry, %entry, %ent %ua.raw33 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw33, label %dispatch.default.320 [ - i64 23, label %dispatch.case.321 - i64 60, label %dispatch.case.322 - i64 77, label %dispatch.case.323 - i64 85, label %dispatch.case.324 - i64 101, label %dispatch.case.325 + i64 24, label %dispatch.case.321 + i64 61, label %dispatch.case.322 + i64 78, label %dispatch.case.323 + i64 86, label %dispatch.case.324 + i64 102, label %dispatch.case.325 ] 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 @@ -1630,50 +1644,51 @@ match.arm.49: ; preds = %entry, %entry, %ent %ua.raw37 = extractvalue { i64, i64 } %loadN, 1 %loadN = load { i64, i64 }, ptr %alloca, align 8 switch i64 %ua.raw37, label %dispatch.default.352 [ - i64 18, label %dispatch.case.353 - i64 25, label %dispatch.case.354 - i64 27, label %dispatch.case.355 - i64 29, label %dispatch.case.356 - i64 31, label %dispatch.case.357 - i64 32, label %dispatch.case.358 - i64 34, label %dispatch.case.359 - i64 36, label %dispatch.case.360 - i64 40, label %dispatch.case.361 - i64 44, label %dispatch.case.362 - i64 47, label %dispatch.case.363 - i64 49, label %dispatch.case.364 - i64 50, label %dispatch.case.365 - i64 56, label %dispatch.case.366 - i64 57, label %dispatch.case.367 - i64 58, label %dispatch.case.368 - i64 59, label %dispatch.case.369 - i64 62, label %dispatch.case.370 - i64 67, label %dispatch.case.371 - i64 74, label %dispatch.case.372 - i64 83, label %dispatch.case.373 - i64 86, label %dispatch.case.374 - i64 90, label %dispatch.case.375 - i64 94, label %dispatch.case.376 - i64 97, label %dispatch.case.377 - i64 98, label %dispatch.case.378 - i64 99, label %dispatch.case.379 - i64 100, label %dispatch.case.380 - i64 102, label %dispatch.case.381 - i64 104, label %dispatch.case.382 - i64 105, label %dispatch.case.383 - i64 106, label %dispatch.case.384 - i64 108, label %dispatch.case.385 + i64 19, label %dispatch.case.353 + i64 26, label %dispatch.case.354 + i64 28, label %dispatch.case.355 + i64 30, label %dispatch.case.356 + i64 32, label %dispatch.case.357 + i64 33, label %dispatch.case.358 + i64 35, label %dispatch.case.359 + i64 37, label %dispatch.case.360 + i64 41, label %dispatch.case.361 + i64 48, label %dispatch.case.362 + i64 50, label %dispatch.case.363 + i64 51, label %dispatch.case.364 + i64 57, label %dispatch.case.365 + i64 58, label %dispatch.case.366 + i64 59, label %dispatch.case.367 + i64 60, label %dispatch.case.368 + i64 63, label %dispatch.case.369 + i64 68, label %dispatch.case.370 + i64 75, label %dispatch.case.371 + i64 84, label %dispatch.case.372 + i64 87, label %dispatch.case.373 + i64 91, label %dispatch.case.374 + i64 95, label %dispatch.case.375 + i64 98, label %dispatch.case.376 + i64 99, label %dispatch.case.377 + i64 100, label %dispatch.case.378 + i64 101, label %dispatch.case.379 + i64 103, label %dispatch.case.380 + i64 105, label %dispatch.case.381 + i64 106, label %dispatch.case.382 + i64 107, label %dispatch.case.383 + i64 108, label %dispatch.case.384 + i64 110, label %dispatch.case.385 ] -match.arm.50: ; preds = %entry, %entry, %entry, %entry +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.499 [ - i64 41, label %dispatch.case.500 - i64 42, label %dispatch.case.501 - i64 46, label %dispatch.case.502 - i64 91, label %dispatch.case.503 + i64 42, label %dispatch.case.500 + i64 43, label %dispatch.case.501 + i64 45, label %dispatch.case.502 + i64 47, label %dispatch.case.503 + i64 92, label %dispatch.case.504 ] match.arm.51: ; preds = %entry @@ -1682,7 +1697,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 [169 x { ptr, i64 }], ptr @__sx_type_names, i64 0, i64 %refl.tid48 + %tn.gep = getelementptr inbounds [172 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 @@ -1733,7 +1748,7 @@ dispatch.merge.94: ; preds = %dispatch.case.122, br label %match.merge.37 dispatch.default.95: ; preds = %match.arm.43 - store { ptr, i64 } { ptr @str.299, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.302, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.94 dispatch.case.96: ; preds = %match.arm.43 @@ -1958,7 +1973,7 @@ dispatch.merge.258: ; preds = %dispatch.case.264, br label %match.merge.37 dispatch.default.259: ; preds = %match.arm.44 - store { ptr, i64 } { ptr @str.300, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.303, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.258 dispatch.case.260: ; preds = %match.arm.44 @@ -1999,7 +2014,7 @@ dispatch.merge.275: ; preds = %dispatch.case.283, br label %match.merge.37 dispatch.default.276: ; preds = %match.arm.47 - store { ptr, i64 } { ptr @str.301, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.304, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.275 dispatch.case.277: ; preds = %match.arm.47 @@ -2064,7 +2079,7 @@ dispatch.merge.319: ; preds = %dispatch.case.325, br label %match.merge.37 dispatch.default.320: ; preds = %match.arm.48 - store { ptr, i64 } { ptr @str.302, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.305, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.319 dispatch.case.321: ; preds = %match.arm.48 @@ -2113,7 +2128,7 @@ dispatch.merge.351: ; preds = %dispatch.case.385, br label %match.merge.37 dispatch.default.352: ; preds = %match.arm.49 - store { ptr, i64 } { ptr @str.303, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.306, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.353: ; preds = %match.arm.49 @@ -2182,154 +2197,154 @@ dispatch.case.361: ; preds = %match.arm.49 dispatch.case.362: ; 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_u8(ptr %0, ptr %iNp259) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %iNp259) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.363: ; 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_i32(ptr %0, ptr %iNp262) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %iNp262) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.364: ; 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_SockAddr(ptr %0, ptr %iNp265) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %iNp265) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.365: ; 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_u32(ptr %0, ptr %iNp268) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Value(ptr %0, ptr %iNp268) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.366: ; 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_Value(ptr %0, ptr %iNp271) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Array(ptr %0, ptr %iNp271) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.367: ; 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_Array(ptr %0, ptr %iNp274) + %callN = call { ptr, i64 } @pointer_to_string__mptr_Member(ptr %0, ptr %iNp274) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.368: ; 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__mptr_Member(ptr %0, ptr %iNp277) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %iNp277) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.369: ; 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_Object(ptr %0, ptr %iNp280) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %iNp280) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.370: ; 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_Sink(ptr %0, ptr %iNp283) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %iNp283) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.371: ; 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_Parser(ptr %0, ptr %iNp286) + %callN = call { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %iNp286) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.372: ; 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_i64(ptr %0, ptr %iNp289) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %iNp289) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.373: ; 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_Parsed(ptr %0, ptr %iNp292) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %iNp292) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.374: ; 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_Diag(ptr %0, ptr %iNp295) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %iNp295) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.375: ; 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_Sha256(ptr %0, ptr %iNp298) + %callN = call { ptr, i64 } @pointer_to_string__ptr_NSString(ptr %0, ptr %iNp298) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.376: ; 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_NSString(ptr %0, ptr %iNp301) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %iNp301) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.377: ; 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_ptr_CAllocator(ptr %0, ptr %iNp304) + %callN = call { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %iNp304) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.378: ; 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_ptr_void(ptr %0, ptr %iNp307) + %callN = call { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %iNp307) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.379: ; 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_bool(ptr %0, ptr %iNp310) + %callN = call { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %iNp310) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.380: ; 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_string(ptr %0, ptr %iNp313) + %callN = call { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %iNp313) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.381: ; 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_Any(ptr %0, ptr %iNp316) + %callN = call { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %iNp316) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.382: ; 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_AR_1_Any(ptr %0, ptr %iNp319) + %callN = call { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %iNp319) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 dispatch.case.383: ; 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_SL_Any(ptr %0, ptr %iNp322) + %callN = call { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %iNp322) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 @@ -2347,13 +2362,13 @@ dispatch.case.385: ; preds = %match.arm.49 store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.351 -dispatch.merge.498: ; preds = %dispatch.case.503, %dispatch.case.502, %dispatch.case.501, %dispatch.case.500, %dispatch.default.499 +dispatch.merge.498: ; preds = %dispatch.case.504, %dispatch.case.503, %dispatch.case.502, %dispatch.case.501, %dispatch.case.500, %dispatch.default.499 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 store { ptr, i64 } %loadN, ptr %allocaN, align 8 br label %match.merge.37 dispatch.default.499: ; preds = %match.arm.50 - store { ptr, i64 } { ptr @str.304, i64 0 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.307, i64 0 }, ptr %allocaN, align 8 br label %dispatch.merge.498 dispatch.case.500: ; preds = %match.arm.50 @@ -2374,17 +2389,24 @@ dispatch.case.501: ; preds = %match.arm.50 dispatch.case.502: ; preds = %match.arm.50 %ua.raw339 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr340 = inttoptr i64 %ua.raw339 to ptr - %ua.load341 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr340, align 8 - %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load341) + %iNp340 = inttoptr i64 %ua.raw339 to ptr + %callN = call { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %iNp340) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.498 dispatch.case.503: ; preds = %match.arm.50 - %ua.raw343 = extractvalue { i64, i64 } %loadN, 1 - %ua.ptr344 = inttoptr i64 %ua.raw343 to ptr - %ua.load345 = load { [64 x i8], i1 }, ptr %ua.ptr344, align 1 - %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load345) + %ua.raw342 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr343 = inttoptr i64 %ua.raw342 to ptr + %ua.load344 = load { { i32, { ptr, i64 } }, i1 }, ptr %ua.ptr343, align 8 + %callN = call { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %ua.load344) + store { ptr, i64 } %callN, ptr %allocaN, align 8 + br label %dispatch.merge.498 + +dispatch.case.504: ; preds = %match.arm.50 + %ua.raw346 = extractvalue { i64, i64 } %loadN, 1 + %ua.ptr347 = inttoptr i64 %ua.raw346 to ptr + %ua.load348 = load { [64 x i8], i1 }, ptr %ua.ptr347, align 1 + %callN = call { ptr, i64 } @optional_to_string__opt_AR_64_u8(ptr %0, { [64 x i8], i1 } %ua.load348) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %dispatch.merge.498 } @@ -2395,7 +2417,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.305, i64 14 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.308, i64 14 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -2491,7 +2513,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.306, i64 36 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.309, 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 @@ -2499,7 +2521,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.307, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.310, 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 @@ -2509,13 +2531,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.308, i64 4 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.311, 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.309, i64 43 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.312, 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 @@ -2523,7 +2545,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.310, i64 5 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.313, i64 5 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 1 @@ -2537,7 +2559,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.311, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.314, 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 @@ -2545,7 +2567,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.312, 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 @@ -2556,7 +2578,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.313, 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 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2613,7 +2635,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.314, i64 36 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.317, 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 @@ -2621,7 +2643,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.315, 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 @@ -2632,7 +2654,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.316, 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 %loadN = load i64, ptr %allocaN, align 8 %addN = add i64 %loadN, 2 @@ -2652,7 +2674,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.317, 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 @@ -2660,7 +2682,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.318, 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 { ptr, i64 }, ptr %alloca, align 8 @@ -2671,7 +2693,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.319, 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 br label %if.merge.36 @@ -2892,9 +2914,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 @@ -3591,19 +3610,19 @@ entry: define i32 @main() #0 { entry: call void @__sx_objc_selector_init() - %call = call ptr @objc_getClass(ptr @str.320) + %call = call ptr @objc_getClass(ptr @str.323) %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.321, i64 0) + %callN = call ptr @objc_allocateClassPair(ptr %load, ptr @str.324, i64 0) %allocaN = alloca ptr, align 8 store ptr %callN, ptr %allocaN, align 8 - %callN = call ptr @sel_registerName(ptr @str.322) + %callN = call ptr @sel_registerName(ptr @str.325) %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.323) + %callN = call i1 @class_addMethod(ptr %loadN, ptr %loadN, ptr @triple_imp, ptr @str.326) %allocaN = alloca i1, align 1 store i1 %callN, ptr %allocaN, align 1 %loadN = load i1, ptr %allocaN, align 1 @@ -3649,7 +3668,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.324, i64 15 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.327, 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 @@ -3665,7 +3684,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.325, 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 12) @@ -3693,7 +3712,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 15 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.329, i64 15 }) ret { ptr, i64 } %call } @@ -3701,7 +3720,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.327, i64 22 }, ptr %alloca, align 8 + store { ptr, i64 } { ptr @str.330, i64 22 }, ptr %alloca, align 8 %allocaN = alloca i64, align 8 store i64 %1, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 @@ -3728,7 +3747,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.328, 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 10) @@ -3777,7 +3796,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 22 }) + %call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.332, i64 22 }) ret { ptr, i64 } %call } @@ -3788,7 +3807,7 @@ 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.330, i64 15 }, { ptr, i64 } { ptr @str.331, 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 @@ -3807,12 +3826,12 @@ while.body.124: ; preds = %while.hdr.123 while.exit.125: ; preds = %while.hdr.123 %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.335, i64 1 }) ret { ptr, i64 } %callN if.then.126: ; preds = %while.body.124 %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.336, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.127 @@ -3824,7 +3843,7 @@ if.merge.127: ; preds = %if.then.126, %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.337, 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 @@ -3881,7 +3900,7 @@ 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.338, i64 9 }, { ptr, i64 } { ptr @str.339, 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 @@ -3900,24 +3919,24 @@ while.body.129: ; preds = %while.hdr.128 while.exit.130: ; preds = %while.hdr.128 %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.343, i64 1 }) ret { ptr, i64 } %callN if.then.131: ; preds = %while.body.129 %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.344, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.132 if.merge.132: ; preds = %if.then.131, %while.body.129 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 - %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.345, 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.346, 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 @@ -3944,19 +3963,19 @@ fv.default: ; preds = %if.merge.132 fv.case: ; preds = %if.merge.132 %fv.field = extractvalue { ptr, ptr, ptr } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.132 %fv.field18 = extractvalue { ptr, ptr, ptr } %loadN, 1 %pNi19 = ptrtoint ptr %fv.field18 to i64 - %fv.val20 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi19, 1 + %fv.val20 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi19, 1 br label %fv.merge fv.case21: ; preds = %if.merge.132 %fv.field22 = extractvalue { ptr, ptr, ptr } %loadN, 2 %pNi23 = ptrtoint ptr %fv.field22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi23, 1 br label %fv.merge } @@ -3966,7 +3985,7 @@ 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.347, i64 7 }, { ptr, i64 } { ptr @str.348, 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 @@ -3985,24 +4004,24 @@ while.body.134: ; preds = %while.hdr.133 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.349, 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.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.350, 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.137 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 [2 x { ptr, i64 }], ptr @field_names.353, 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.354, 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 @@ -4029,13 +4048,13 @@ fv.case: ; preds = %if.merge.137 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.137 %fv.field18 = extractvalue { { ptr, ptr, ptr }, ptr } %loadN, 1 %pNi = ptrtoint ptr %fv.field18 to i64 - %fv.val19 = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %fv.val19 = insertvalue { i64, i64 } { i64 19, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -4044,7 +4063,7 @@ 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.355, i64 10 }, { ptr, i64 } { ptr @str.356, 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 @@ -4063,24 +4082,24 @@ while.body.139: ; preds = %while.hdr.138 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.357, 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.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.358, 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.142 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 [0 x { ptr, i64 }], ptr @field_names.359, 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.360, 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 @@ -4099,7 +4118,7 @@ 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.361, i64 3 }, { ptr, i64 } { ptr @str.362, 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 @@ -4118,24 +4137,24 @@ while.body.144: ; preds = %while.hdr.143 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.363, 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.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.364, 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.147 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 [1 x { ptr, i64 }], ptr @field_names.366, 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.367, 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 @@ -4168,7 +4187,7 @@ 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.368, i64 10 }, { ptr, i64 } { ptr @str.369, 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 @@ -4187,24 +4206,24 @@ while.body.149: ; preds = %while.hdr.148 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.370, 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.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.371, 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.152 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.374, 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.375, 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 @@ -4230,7 +4249,7 @@ fv.default: ; preds = %if.merge.152 fv.case: ; preds = %if.merge.152 %fv.field = extractvalue { ptr, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.152 @@ -4245,7 +4264,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.376, i64 5 }, { ptr, i64 } { ptr @str.377, 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 @@ -4264,24 +4283,24 @@ while.body.154: ; preds = %while.hdr.153 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.378, 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.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.379, 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.157 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 [3 x { ptr, i64 }], ptr @field_names.383, 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.384, 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, { ptr, ptr, ptr } }, ptr %alloca, align 8 @@ -4308,7 +4327,7 @@ fv.default: ; preds = %if.merge.157 fv.case: ; preds = %if.merge.157 %fv.field = extractvalue { ptr, i64, { ptr, ptr, ptr } } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 29, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 30, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.157 @@ -4320,7 +4339,7 @@ fv.case20: ; preds = %if.merge.157 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge } @@ -4329,7 +4348,7 @@ define internal { ptr, i64 } @struct_to_string__BufAlloc(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.385, i64 8 }, { ptr, i64 } { ptr @str.386, i64 1 }) + %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 @@ -4348,24 +4367,24 @@ while.body.159: ; preds = %while.hdr.158 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.387, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.390, 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.388, 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 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.392, i64 0, i64 %loadN + %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.393, 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 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 %loadN = load { ptr, i64, i64 }, ptr %alloca, align 8 @@ -4392,7 +4411,7 @@ fv.default: ; preds = %if.merge.162 fv.case: ; preds = %if.merge.162 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 32, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 33, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.162 @@ -4412,7 +4431,7 @@ 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.394, i64 17 }, { ptr, i64 } { ptr @str.395, 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 @@ -4431,24 +4450,24 @@ 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.396, 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.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.397, 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.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 [4 x { ptr, i64 }], ptr @field_names.402, 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.403, 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 @@ -4477,7 +4496,7 @@ fv.case: ; preds = %if.merge.167 %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 20, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.167 @@ -4501,7 +4520,7 @@ 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.404, i64 4 }, { ptr, i64 } { ptr @str.405, 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 @@ -4520,24 +4539,24 @@ 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.406, 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.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.407, 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.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 [1 x { ptr, i64 }], ptr @field_names.409, 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.410, 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 @@ -4574,7 +4593,7 @@ 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.411, i64 10 }, { ptr, i64 } { ptr @str.412, 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 @@ -4593,24 +4612,24 @@ 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.413, 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.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.414, 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.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 [5 x { ptr, i64 }], ptr @field_names.420, 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.421, 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 @@ -4676,7 +4695,7 @@ 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.422, i64 13 }, { ptr, i64 } { ptr @str.423, 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 @@ -4695,24 +4714,24 @@ while.body.179: ; preds = %while.hdr.178 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.424, 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.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.425, 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.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 [2 x { ptr, i64 }], ptr @field_names.428, 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.429, 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 @@ -4754,7 +4773,7 @@ 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.430, i64 8 }, { ptr, i64 } { ptr @str.431, 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 @@ -4773,24 +4792,24 @@ while.body.184: ; preds = %while.hdr.183 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.432, 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.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.433, 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.187 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.439, 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.440, 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 @@ -4851,7 +4870,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.441, i64 5 }, { ptr, i64 } { ptr @str.442, 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 @@ -4870,24 +4889,24 @@ while.body.189: ; preds = %while.hdr.188 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.443, 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.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.444, 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.192 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 [3 x { ptr, i64 }], ptr @field_names.448, 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.449, 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 @@ -4914,7 +4933,7 @@ fv.default: ; preds = %if.merge.192 fv.case: ; preds = %if.merge.192 %fv.field = extractvalue { ptr, i64, i64 } %loadN, 0 %pNi = ptrtoint ptr %fv.field to i64 - %fv.val = insertvalue { i64, i64 } { i64 56, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 57, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.192 @@ -4933,7 +4952,7 @@ define internal { ptr, i64 } @struct_to_string__Object(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.450, i64 6 }, { ptr, i64 } { ptr @str.451, i64 1 }) + %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 @@ -4952,24 +4971,24 @@ while.body.194: ; preds = %while.hdr.193 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.452, 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.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.453, 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.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.457, 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.458, 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 @@ -4996,7 +5015,7 @@ fv.default: ; preds = %if.merge.197 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 58, i64 undef }, i64 %pNi, 1 + %fv.val = insertvalue { i64, i64 } { i64 59, i64 undef }, i64 %pNi, 1 br label %fv.merge fv.case17: ; preds = %if.merge.197 @@ -5017,7 +5036,7 @@ entry: %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.459, i64 6 }, { ptr, i64 } { ptr @str.460, i64 1 }) + %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 @@ -5036,24 +5055,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.461, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.464, 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.462, 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 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 [2 x { ptr, i64 }], ptr @field_names.465, i64 0, i64 %loadN + %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.466, 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, [24 x i8] } }, ptr %alloca, align 8 @@ -5087,7 +5106,7 @@ fv.case17: ; preds = %if.merge.202 %fv.field18 = extractvalue { { ptr, i64 }, { i64, [24 x i8] } } %loadN, 1 store { i64, [24 x i8] } %fv.field18, ptr %ba.tmp19, align 8 %ba.p2i20 = ptrtoint ptr %ba.tmp19 to i64 - %fv.val21 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 55, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge } @@ -5097,7 +5116,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.467, i64 4 }, { ptr, i64 } { ptr @str.468, 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 @@ -5116,24 +5135,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.469, 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.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.470, 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.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.474, 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.475, 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 @@ -5161,7 +5180,7 @@ fv.case: ; preds = %if.merge.207 %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 60, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 61, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.207 @@ -5172,7 +5191,7 @@ fv.case17: ; preds = %if.merge.207 fv.case20: ; preds = %if.merge.207 %fv.field21 = extractvalue { { ptr, i64 }, i64, ptr } %loadN, 2 %pNi = ptrtoint ptr %fv.field21 to i64 - %fv.val22 = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %pNi, 1 + %fv.val22 = insertvalue { i64, i64 } { i64 41, i64 undef }, i64 %pNi, 1 br label %fv.merge } @@ -5183,7 +5202,7 @@ entry: %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.476, i64 6 }, { ptr, i64 } { ptr @str.477, i64 1 }) + %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 @@ -5202,24 +5221,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.478, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.481, 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.479, 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 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.483, i64 0, i64 %loadN + %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.484, i64 2 }) + %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 @@ -5259,7 +5278,7 @@ fv.case20: ; preds = %if.merge.212 %fv.field21 = extractvalue { { ptr, i64 }, i64, { ptr, ptr, ptr } } %loadN, 2 store { ptr, ptr, ptr } %fv.field21, ptr %ba.tmp22, align 8 %ba.p2i23 = ptrtoint ptr %ba.tmp22 to i64 - %fv.val24 = insertvalue { i64, i64 } { i64 20, i64 undef }, i64 %ba.p2i23, 1 + %fv.val24 = insertvalue { i64, i64 } { i64 21, i64 undef }, i64 %ba.p2i23, 1 br label %fv.merge } @@ -5268,7 +5287,7 @@ 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.485, i64 12 }, { ptr, i64 } { ptr @str.486, 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 @@ -5287,24 +5306,24 @@ 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.487, 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.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.488, 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.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 [0 x { ptr, i64 }], ptr @field_names.489, 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.490, 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 @@ -5324,7 +5343,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.491, i64 8 }, { ptr, i64 } { ptr @str.492, 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 @@ -5343,24 +5362,24 @@ 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.493, 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.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.494, 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.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.498, 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.499, 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 @@ -5412,7 +5431,7 @@ entry: %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.500, i64 7 }, { ptr, i64 } { ptr @str.501, i64 1 }) + %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 @@ -5431,24 +5450,24 @@ 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.502, 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.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 }) + %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.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.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.508, 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 }, { ptr, i64 }, { ptr, i64 } }, ptr %alloca, align 8 @@ -5490,7 +5509,7 @@ fv.case22: ; preds = %if.merge.227 %fv.field23 = extractvalue { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } } %loadN, 2 store { ptr, i64 } %fv.field23, ptr %ba.tmp24, align 8 %ba.p2i25 = ptrtoint ptr %ba.tmp24 to i64 - %fv.val26 = insertvalue { i64, i64 } { i64 77, i64 undef }, i64 %ba.p2i25, 1 + %fv.val26 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i25, 1 br label %fv.merge } @@ -5500,7 +5519,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.509, i64 9 }, { ptr, i64 } { ptr @str.510, 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 @@ -5519,24 +5538,24 @@ 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.511, 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.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.512, 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.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 [2 x { ptr, i64 }], ptr @field_names.515, 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.516, 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 { i1, { ptr, i64 } }, ptr %alloca, align 8 @@ -5579,7 +5598,7 @@ 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.517, i64 4 }, { ptr, i64 } { ptr @str.518, 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 @@ -5598,24 +5617,24 @@ 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.519, 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.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.520, 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.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.523, 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.524, 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 @@ -5661,7 +5680,7 @@ 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.525, i64 6 }, { ptr, i64 } { ptr @str.526, 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 @@ -5680,24 +5699,24 @@ 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.527, 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.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.528, 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.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 [7 x { ptr, i64 }], ptr @field_names.536, 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.537, 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 @@ -5754,21 +5773,21 @@ fv.case28: ; preds = %if.merge.242 %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 23, i64 undef }, i64 %ba.p2i31, 1 + %fv.val32 = insertvalue { i64, i64 } { i64 24, i64 undef }, i64 %ba.p2i31, 1 br label %fv.merge fv.case33: ; preds = %if.merge.242 %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 77, i64 undef }, i64 %ba.p2i36, 1 + %fv.val37 = insertvalue { i64, i64 } { i64 78, i64 undef }, i64 %ba.p2i36, 1 br label %fv.merge fv.case38: ; preds = %if.merge.242 %fv.field39 = extractvalue { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] } %loadN, 6 store [16 x { i1, { ptr, i64 } }] %fv.field39, ptr %ba.tmp40, align 8 %ba.p2i41 = ptrtoint ptr %ba.tmp40 to i64 - %fv.val42 = insertvalue { i64, i64 } { i64 81, i64 undef }, i64 %ba.p2i41, 1 + %fv.val42 = insertvalue { i64, i64 } { i64 82, i64 undef }, i64 %ba.p2i41, 1 br label %fv.merge } @@ -5779,7 +5798,7 @@ 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.538, i64 6 }, { ptr, i64 } { ptr @str.539, 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 @@ -5798,24 +5817,24 @@ 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.540, 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.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.541, 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.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 [4 x { ptr, i64 }], ptr @field_names.546, 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.547, 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 @@ -5844,14 +5863,14 @@ fv.case: ; preds = %if.merge.247 %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 87, i64 undef }, i64 %ba.p2i, 1 + %fv.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 br label %fv.merge fv.case17: ; preds = %if.merge.247 %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 88, i64 undef }, i64 %ba.p2i20, 1 + %fv.val21 = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i20, 1 br label %fv.merge fv.case22: ; preds = %if.merge.247 @@ -5870,7 +5889,7 @@ 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.548, i64 8 }, { ptr, i64 } { ptr @str.549, 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 @@ -5889,24 +5908,24 @@ 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.550, 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.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.551, 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.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 [0 x { ptr, i64 }], ptr @field_names.552, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [0 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.553, 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 {}, ptr %alloca, align 1 @@ -5925,7 +5944,7 @@ 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.554, i64 6 }, { ptr, i64 } { ptr @str.555, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.557, i64 6 }, { 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 @@ -5944,24 +5963,24 @@ while.body.254: ; preds = %while.hdr.253 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.556, 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.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.557, 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.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 [3 x { ptr, i64 }], ptr @field_names.561, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.564, i64 0, i64 %loadN %fn.load = load { ptr, i64 }, ptr %fn.gep, align 8 %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %fn.load) store { ptr, i64 } %callN, ptr %allocaN, align 8 %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.565, 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 @@ -6010,9 +6029,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.568, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [4 x { ptr, i64 }], ptr @field_names.571, 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.563, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.566, 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 @@ -6031,8 +6050,8 @@ entry: if.then.265: ; 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.570, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.569, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.572, 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.266 @@ -6051,9 +6070,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.575, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [3 x { ptr, i64 }], ptr @field_names.578, 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.571, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.574, 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 @@ -6072,8 +6091,8 @@ entry: if.then.267: ; 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.577, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.576, i64 1 }, { ptr, i64 } %callN) + %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 } { ptr @str.579, 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.268 @@ -6103,9 +6122,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.585, i64 0, i64 %loadN + %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 - %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.581, 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 @@ -6122,8 +6141,8 @@ entry: if.then.269: ; 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.587, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.586, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.590, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.589, 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.270 @@ -6179,7 +6198,7 @@ fv.case17: ; preds = %entry %fv.field20 = load { ptr, i64, i64 }, ptr %fv.pp19, align 8 store { ptr, i64, i64 } %fv.field20, ptr %ba.tmp21, align 8 %ba.p2i22 = ptrtoint ptr %ba.tmp21 to i64 - %fv.val23 = insertvalue { i64, i64 } { i64 52, i64 undef }, i64 %ba.p2i22, 1 + %fv.val23 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i22, 1 br label %fv.merge fv.case24: ; preds = %entry @@ -6188,7 +6207,7 @@ fv.case24: ; preds = %entry %fv.field27 = load { ptr, i64, i64 }, ptr %fv.pp26, align 8 store { ptr, i64, i64 } %fv.field27, ptr %ba.tmp28, align 8 %ba.p2i29 = ptrtoint ptr %ba.tmp28 to i64 - %fv.val30 = insertvalue { i64, i64 } { i64 53, i64 undef }, i64 %ba.p2i29, 1 + %fv.val30 = insertvalue { i64, i64 } { i64 54, i64 undef }, i64 %ba.p2i29, 1 br label %fv.merge } @@ -6201,9 +6220,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.596, 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 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.588, i64 1 }, { ptr, i64 } %fn.load) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.591, 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 @@ -6222,8 +6241,8 @@ entry: if.then.271: ; 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.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 } %callN) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.272 @@ -6242,9 +6261,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.605, i64 0, i64 %loadN + %fn.gep = getelementptr inbounds [5 x { ptr, i64 }], ptr @field_names.608, 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.602, 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 @@ -6263,8 +6282,8 @@ entry: if.then.273: ; 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.607, i64 1 }) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.606, i64 1 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.610, i64 1 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.609, 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.274 @@ -6281,7 +6300,7 @@ 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.608, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.611, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.284 @@ -6298,12 +6317,12 @@ while.body.285: ; preds = %while.hdr.284 while.exit.286: ; preds = %while.hdr.284 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.609, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.612, i64 1 }) ret { ptr, i64 } %call 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.610, i64 2 }) + %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.288 @@ -6332,7 +6351,7 @@ 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.611, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.614, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.289 @@ -6349,12 +6368,12 @@ while.body.290: ; preds = %while.hdr.289 while.exit.291: ; preds = %while.hdr.289 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.612, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.615, i64 1 }) ret { ptr, i64 } %call 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.613, 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.293 @@ -6367,7 +6386,7 @@ if.merge.293: ; preds = %if.then.292, %while %ig.val = load { i1, { ptr, i64 } }, ptr %ig.ptr, align 8 store { i1, { ptr, i64 } } %ig.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 79, i64 undef }, i64 %ba.p2i, 1 + %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 @@ -6384,7 +6403,7 @@ 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.614, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.617, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.294 @@ -6401,12 +6420,12 @@ while.body.295: ; preds = %while.hdr.294 while.exit.296: ; preds = %while.hdr.294 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.615, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.618, i64 1 }) ret { ptr, i64 } %call 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.616, 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 br label %if.merge.298 @@ -6434,7 +6453,7 @@ 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.617, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.620, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.299 @@ -6451,12 +6470,12 @@ while.body.300: ; preds = %while.hdr.299 while.exit.301: ; preds = %while.hdr.299 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.618, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.621, i64 1 }) ret { ptr, i64 } %call 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.619, i64 2 }) + %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.303 @@ -6485,7 +6504,7 @@ 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.620, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.623, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.304 @@ -6502,12 +6521,12 @@ while.body.305: ; preds = %while.hdr.304 while.exit.306: ; preds = %while.hdr.304 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 - %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.621, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.624, i64 1 }) ret { ptr, i64 } %call 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.622, i64 2 }) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.625, i64 2 }) store { ptr, i64 } %callN, ptr %allocaN, align 8 br label %if.merge.308 @@ -6536,7 +6555,7 @@ 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.623, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.626, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.309 @@ -6553,12 +6572,12 @@ while.body.310: ; preds = %while.hdr.309 while.exit.311: ; preds = %while.hdr.309 %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.627, i64 1 }) ret { ptr, i64 } %call 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.625, i64 2 }) + %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.313 @@ -6589,7 +6608,7 @@ 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.626, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.629, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.314 @@ -6606,12 +6625,12 @@ while.body.315: ; preds = %while.hdr.314 while.exit.316: ; preds = %while.hdr.314 %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.630, i64 1 }) ret { ptr, i64 } %call 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.628, i64 2 }) + %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.318 @@ -6641,7 +6660,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.629, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.632, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.326 @@ -6660,12 +6679,12 @@ while.body.327: ; preds = %while.hdr.326 while.exit.328: ; preds = %while.hdr.326 %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.633, i64 1 }) ret { ptr, i64 } %call 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.631, i64 2 }) + %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.330 @@ -6694,7 +6713,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.632, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.635, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.331 @@ -6713,12 +6732,12 @@ while.body.332: ; preds = %while.hdr.331 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.633, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.636, i64 1 }) ret { ptr, i64 } %call 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.634, i64 2 }) + %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.335 @@ -6747,7 +6766,7 @@ 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.635, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.638, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.336 @@ -6766,12 +6785,12 @@ while.body.337: ; preds = %while.hdr.336 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.636, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.639, i64 1 }) ret { ptr, i64 } %call 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.637, 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.340 @@ -6784,7 +6803,7 @@ if.merge.340: ; preds = %if.then.339, %while %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 76, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 77, 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 @@ -6801,7 +6820,7 @@ 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.638, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.641, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.341 @@ -6820,12 +6839,12 @@ while.body.342: ; preds = %while.hdr.341 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.639, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.642, i64 1 }) ret { ptr, i64 } %call 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.640, 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 br label %if.merge.345 @@ -6838,7 +6857,7 @@ if.merge.345: ; preds = %if.then.344, %while %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 78, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 79, 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 @@ -6855,7 +6874,7 @@ 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.641, i64 1 }, ptr %allocaN, align 8 + store { ptr, i64 } { ptr @str.644, i64 1 }, ptr %allocaN, align 8 %allocaN = alloca i64, align 8 store i64 0, ptr %allocaN, align 8 br label %while.hdr.346 @@ -6874,12 +6893,12 @@ while.body.347: ; preds = %while.hdr.346 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.642, i64 1 }) + %call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.645, i64 1 }) ret { ptr, i64 } %call 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.643, 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 br label %if.merge.350 @@ -6921,12 +6940,12 @@ if.then.386: ; preds = %entry if.else.387: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.646, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.645, i64 5 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.648, i64 5 }, { ptr, i64 } %callN) br label %if.merge.388 if.merge.388: ; preds = %if.else.387, %if.then.386 - %bp = phi { ptr, i64 } [ { ptr @str.644, i64 4 }, %if.then.386 ], [ %callN, %if.else.387 ] + %bp = phi { ptr, i64 } [ { ptr @str.647, i64 4 }, %if.then.386 ], [ %callN, %if.else.387 ] ret { ptr, i64 } %bp } @@ -6949,12 +6968,12 @@ if.then.402: ; preds = %entry if.else.403: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.649, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.648, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 11 }, { ptr, i64 } %callN) br label %if.merge.404 if.merge.404: ; preds = %if.else.403, %if.then.402 - %bp = phi { ptr, i64 } [ { ptr @str.647, i64 4 }, %if.then.402 ], [ %callN, %if.else.403 ] + %bp = phi { ptr, i64 } [ { ptr @str.650, i64 4 }, %if.then.402 ], [ %callN, %if.else.403 ] ret { ptr, i64 } %bp } @@ -6977,12 +6996,12 @@ if.then.405: ; preds = %entry if.else.406: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.652, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.651, i64 4 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, i64 4 }, { ptr, i64 } %callN) br label %if.merge.407 if.merge.407: ; preds = %if.else.406, %if.then.405 - %bp = phi { ptr, i64 } [ { ptr @str.650, i64 4 }, %if.then.405 ], [ %callN, %if.else.406 ] + %bp = phi { ptr, i64 } [ { ptr @str.653, i64 4 }, %if.then.405 ], [ %callN, %if.else.406 ] ret { ptr, i64 } %bp } @@ -7005,12 +7024,12 @@ if.then.408: ; preds = %entry if.else.409: ; preds = %entry %loadN = load i64, ptr %allocaN, align 8 %call = call { ptr, i64 } @int_to_hex_string(ptr %0, i64 %loadN) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.655, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.654, i64 11 }, { ptr, i64 } %callN) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.658, i64 3 }, { ptr, i64 } %call) + %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 11 }, { ptr, i64 } %callN) br label %if.merge.410 if.merge.410: ; preds = %if.else.409, %if.then.408 - %bp = phi { ptr, i64 } [ { ptr @str.653, i64 4 }, %if.then.408 ], [ %callN, %if.else.409 ] + %bp = phi { ptr, i64 } [ { ptr @str.656, i64 4 }, %if.then.408 ], [ %callN, %if.else.409 ] ret { ptr, i64 } %bp } @@ -7033,12 +7052,12 @@ if.then.411: ; preds = %entry 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.658, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.657, i64 6 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.413 if.merge.413: ; preds = %if.else.412, %if.then.411 - %bp = phi { ptr, i64 } [ { ptr @str.656, i64 4 }, %if.then.411 ], [ %callN, %if.else.412 ] + %bp = phi { ptr, i64 } [ { ptr @str.659, i64 4 }, %if.then.411 ], [ %callN, %if.else.412 ] ret { ptr, i64 } %bp } @@ -7060,12 +7079,12 @@ if.then.414: ; preds = %entry 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.661, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.660, i64 5 }, { ptr, i64 } %callN) + %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.416 if.merge.416: ; preds = %if.else.415, %if.then.414 - %bp = phi { ptr, i64 } [ { ptr @str.659, i64 4 }, %if.then.414 ], [ %callN, %if.else.415 ] + %bp = phi { ptr, i64 } [ { ptr @str.662, i64 4 }, %if.then.414 ], [ %callN, %if.else.415 ] ret { ptr, i64 } %bp } @@ -7088,12 +7107,12 @@ if.then.417: ; preds = %entry if.else.418: ; preds = %entry %loadN = load i64, ptr %allocaN, align 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 9 }, { ptr, i64 } %callN) + %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 9 }, { ptr, i64 } %callN) br label %if.merge.419 if.merge.419: ; preds = %if.else.418, %if.then.417 - %bp = phi { ptr, i64 } [ { ptr @str.662, i64 4 }, %if.then.417 ], [ %callN, %if.else.418 ] + %bp = phi { ptr, i64 } [ { ptr @str.665, i64 4 }, %if.then.417 ], [ %callN, %if.else.418 ] ret { ptr, i64 } %bp } @@ -7116,12 +7135,12 @@ if.then.420: ; preds = %entry if.else.421: ; preds = %entry %loadN = load i64, ptr %allocaN, align 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 18 }, { ptr, i64 } %callN) + %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 18 }, { ptr, i64 } %callN) br label %if.merge.422 if.merge.422: ; preds = %if.else.421, %if.then.420 - %bp = phi { ptr, i64 } [ { ptr @str.665, i64 4 }, %if.then.420 ], [ %callN, %if.else.421 ] + %bp = phi { ptr, i64 } [ { ptr @str.668, i64 4 }, %if.then.420 ], [ %callN, %if.else.421 ] ret { ptr, i64 } %bp } @@ -7144,17 +7163,17 @@ if.then.423: ; preds = %entry if.else.424: ; preds = %entry %loadN = load i64, ptr %allocaN, align 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) + %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 5 }, { ptr, i64 } %callN) br label %if.merge.425 if.merge.425: ; preds = %if.else.424, %if.then.423 - %bp = phi { ptr, i64 } [ { ptr @str.668, i64 4 }, %if.then.423 ], [ %callN, %if.else.424 ] + %bp = phi { ptr, i64 } [ { ptr @str.671, i64 4 }, %if.then.423 ], [ %callN, %if.else.424 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7172,17 +7191,17 @@ if.then.426: ; preds = %entry 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.673, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.672, i64 3 }, { ptr, i64 } %callN) + %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.428 if.merge.428: ; preds = %if.else.427, %if.then.426 - %bp = phi { ptr, i64 } [ { ptr @str.671, i64 4 }, %if.then.426 ], [ %callN, %if.else.427 ] + %bp = phi { ptr, i64 } [ { ptr @str.674, i64 4 }, %if.then.426 ], [ %callN, %if.else.427 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i32(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7200,17 +7219,17 @@ if.then.429: ; preds = %entry if.else.430: ; preds = %entry %loadN = load i64, ptr %allocaN, align 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) + %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.431 if.merge.431: ; preds = %if.else.430, %if.then.429 - %bp = phi { ptr, i64 } [ { ptr @str.674, i64 4 }, %if.then.429 ], [ %callN, %if.else.430 ] + %bp = phi { ptr, i64 } [ { ptr @str.677, i64 4 }, %if.then.429 ], [ %callN, %if.else.430 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SockAddr(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7228,40 +7247,12 @@ if.then.432: ; preds = %entry 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.679, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.678, i64 9 }, { ptr, i64 } %callN) + %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.434 if.merge.434: ; preds = %if.else.433, %if.then.432 - %bp = phi { ptr, i64 } [ { ptr @str.677, i64 4 }, %if.then.432 ], [ %callN, %if.else.433 ] - ret { ptr, i64 } %bp -} - -; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_u32(ptr %0, ptr %1) #0 { -entry: - %alloca = alloca ptr, align 8 - store ptr %1, ptr %alloca, align 8 - %allocaN = alloca i64, align 8 - %load = load ptr, ptr %alloca, align 8 - %pti = ptrtoint ptr %load to i64 - store i64 %pti, ptr %allocaN, align 8 - %loadN = load i64, ptr %allocaN, align 8 - %icmp = icmp eq i64 %loadN, 0 - br i1 %icmp, label %if.then.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.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.437 - -if.merge.437: ; preds = %if.else.436, %if.then.435 - %bp = phi { ptr, i64 } [ { ptr @str.680, i64 4 }, %if.then.435 ], [ %callN, %if.else.436 ] + %bp = phi { ptr, i64 } [ { ptr @str.680, i64 4 }, %if.then.432 ], [ %callN, %if.else.433 ] ret { ptr, i64 } %bp } @@ -7275,20 +7266,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.438, label %if.else.439 + br i1 %icmp, label %if.then.435, label %if.else.436 -if.then.438: ; preds = %entry - br label %if.merge.440 +if.then.435: ; preds = %entry + br label %if.merge.437 -if.else.439: ; preds = %entry +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.685, i64 3 }, { ptr, i64 } %call) %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.684, i64 8 }, { ptr, i64 } %callN) - br label %if.merge.440 + br label %if.merge.437 -if.merge.440: ; preds = %if.else.439, %if.then.438 - %bp = phi { ptr, i64 } [ { ptr @str.683, i64 4 }, %if.then.438 ], [ %callN, %if.else.439 ] +if.merge.437: ; preds = %if.else.436, %if.then.435 + %bp = phi { ptr, i64 } [ { ptr @str.683, i64 4 }, %if.then.435 ], [ %callN, %if.else.436 ] ret { ptr, i64 } %bp } @@ -7303,20 +7294,20 @@ entry: store i64 %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 + br i1 %icmp, label %if.then.438, label %if.else.439 -if.then.441: ; preds = %entry - br label %if.merge.443 +if.then.438: ; preds = %entry + br label %if.merge.440 -if.else.442: ; preds = %entry +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.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.443 + br label %if.merge.440 -if.merge.443: ; preds = %if.else.442, %if.then.441 - %bp = phi { ptr, i64 } [ { ptr @str.686, i64 4 }, %if.then.441 ], [ %callN, %if.else.442 ] +if.merge.440: ; preds = %if.else.439, %if.then.438 + %bp = phi { ptr, i64 } [ { ptr @str.686, i64 4 }, %if.then.438 ], [ %callN, %if.else.439 ] ret { ptr, i64 } %bp } @@ -7330,6 +7321,34 @@ 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.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.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.443 + +if.merge.443: ; preds = %if.else.442, %if.then.441 + %bp = phi { ptr, i64 } [ { ptr @str.689, i64 4 }, %if.then.441 ], [ %callN, %if.else.442 ] + ret { ptr, i64 } %bp +} + +; Function Attrs: nounwind +define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %allocaN = alloca i64, align 8 + %load = load ptr, ptr %alloca, align 8 + %pti = ptrtoint ptr %load to i64 + store i64 %pti, ptr %allocaN, align 8 + %loadN = load i64, ptr %allocaN, align 8 + %icmp = icmp eq i64 %loadN, 0 br i1 %icmp, label %if.then.444, label %if.else.445 if.then.444: ; preds = %entry @@ -7338,17 +7357,17 @@ if.then.444: ; preds = %entry 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.691, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.690, i64 9 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.446 if.merge.446: ; preds = %if.else.445, %if.then.444 - %bp = phi { ptr, i64 } [ { ptr @str.689, i64 4 }, %if.then.444 ], [ %callN, %if.else.445 ] + %bp = phi { ptr, i64 } [ { ptr @str.692, i64 4 }, %if.then.444 ], [ %callN, %if.else.445 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Object(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7366,17 +7385,17 @@ if.then.447: ; preds = %entry 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.694, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.693, i64 7 }, { ptr, i64 } %callN) + %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 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.692, i64 4 }, %if.then.447 ], [ %callN, %if.else.448 ] + %bp = phi { ptr, i64 } [ { ptr @str.695, i64 4 }, %if.then.447 ], [ %callN, %if.else.448 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sink(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7394,17 +7413,17 @@ 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.697, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.696, i64 5 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.452 if.merge.452: ; preds = %if.else.451, %if.then.450 - %bp = phi { ptr, i64 } [ { ptr @str.695, i64 4 }, %if.then.450 ], [ %callN, %if.else.451 ] + %bp = phi { ptr, i64 } [ { ptr @str.698, i64 4 }, %if.then.450 ], [ %callN, %if.else.451 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parser(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7422,17 +7441,17 @@ if.then.453: ; preds = %entry if.else.454: ; preds = %entry %loadN = load i64, ptr %allocaN, align 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 7 }, { ptr, i64 } %callN) + %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.455 if.merge.455: ; preds = %if.else.454, %if.then.453 - %bp = phi { ptr, i64 } [ { ptr @str.698, i64 4 }, %if.then.453 ], [ %callN, %if.else.454 ] + %bp = phi { ptr, i64 } [ { ptr @str.701, i64 4 }, %if.then.453 ], [ %callN, %if.else.454 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_i64(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7450,17 +7469,17 @@ if.then.456: ; preds = %entry 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.703, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.702, i64 4 }, { ptr, i64 } %callN) + %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.458 if.merge.458: ; preds = %if.else.457, %if.then.456 - %bp = phi { ptr, i64 } [ { ptr @str.701, i64 4 }, %if.then.456 ], [ %callN, %if.else.457 ] + %bp = phi { ptr, i64 } [ { ptr @str.704, i64 4 }, %if.then.456 ], [ %callN, %if.else.457 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Parsed(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7478,17 +7497,17 @@ if.then.459: ; preds = %entry 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.706, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.705, i64 7 }, { ptr, i64 } %callN) + %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.461 if.merge.461: ; preds = %if.else.460, %if.then.459 - %bp = phi { ptr, i64 } [ { ptr @str.704, i64 4 }, %if.then.459 ], [ %callN, %if.else.460 ] + %bp = phi { ptr, i64 } [ { ptr @str.707, i64 4 }, %if.then.459 ], [ %callN, %if.else.460 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Diag(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7506,17 +7525,17 @@ if.then.462: ; preds = %entry 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.709, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.708, i64 5 }, { ptr, i64 } %callN) + %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.464 if.merge.464: ; preds = %if.else.463, %if.then.462 - %bp = phi { ptr, i64 } [ { ptr @str.707, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] + %bp = phi { ptr, i64 } [ { ptr @str.710, i64 4 }, %if.then.462 ], [ %callN, %if.else.463 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Sha256(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_NSString(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7534,17 +7553,17 @@ if.then.465: ; preds = %entry 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.712, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.711, i64 7 }, { ptr, i64 } %callN) + %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 9 }, { ptr, i64 } %callN) br label %if.merge.467 if.merge.467: ; preds = %if.else.466, %if.then.465 - %bp = phi { ptr, i64 } [ { ptr @str.710, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] + %bp = phi { ptr, i64 } [ { ptr @str.713, i64 4 }, %if.then.465 ], [ %callN, %if.else.466 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_NSString(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7562,17 +7581,17 @@ if.then.468: ; preds = %entry 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.715, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.714, i64 9 }, { ptr, i64 } %callN) + %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 12 }, { ptr, i64 } %callN) br label %if.merge.470 if.merge.470: ; preds = %if.else.469, %if.then.468 - %bp = phi { ptr, i64 } [ { ptr @str.713, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] + %bp = phi { ptr, i64 } [ { ptr @str.716, i64 4 }, %if.then.468 ], [ %callN, %if.else.469 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_CAllocator(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7590,17 +7609,17 @@ if.then.471: ; preds = %entry 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.718, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.717, i64 12 }, { ptr, i64 } %callN) + %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 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.716, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] + %bp = phi { ptr, i64 } [ { ptr @str.719, i64 4 }, %if.then.471 ], [ %callN, %if.else.472 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_ptr_void(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7618,17 +7637,17 @@ if.then.474: ; preds = %entry 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.721, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.720, i64 6 }, { ptr, i64 } %callN) + %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.476 if.merge.476: ; preds = %if.else.475, %if.then.474 - %bp = phi { ptr, i64 } [ { ptr @str.719, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] + %bp = phi { ptr, i64 } [ { ptr @str.722, i64 4 }, %if.then.474 ], [ %callN, %if.else.475 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_bool(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7646,17 +7665,17 @@ if.then.477: ; 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.724, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.723, i64 5 }, { ptr, i64 } %callN) + %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.479 if.merge.479: ; preds = %if.else.478, %if.then.477 - %bp = phi { ptr, i64 } [ { ptr @str.722, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] + %bp = phi { ptr, i64 } [ { ptr @str.725, i64 4 }, %if.then.477 ], [ %callN, %if.else.478 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_string(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7674,17 +7693,17 @@ 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.727, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.726, i64 7 }, { ptr, i64 } %callN) + %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.482 if.merge.482: ; preds = %if.else.481, %if.then.480 - %bp = phi { ptr, i64 } [ { ptr @str.725, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] + %bp = phi { ptr, i64 } [ { ptr @str.728, i64 4 }, %if.then.480 ], [ %callN, %if.else.481 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7702,17 +7721,17 @@ 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.730, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.729, i64 4 }, { ptr, i64 } %callN) + %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.485 if.merge.485: ; preds = %if.else.484, %if.then.483 - %bp = phi { ptr, i64 } [ { ptr @str.728, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] + %bp = phi { ptr, i64 } [ { ptr @str.731, i64 4 }, %if.then.483 ], [ %callN, %if.else.484 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_AR_1_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7730,17 +7749,17 @@ if.then.486: ; 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.733, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.732, i64 7 }, { ptr, i64 } %callN) + %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 6 }, { ptr, i64 } %callN) br label %if.merge.488 if.merge.488: ; preds = %if.else.487, %if.then.486 - %bp = phi { ptr, i64 } [ { ptr @str.731, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] + %bp = phi { ptr, i64 } [ { ptr @str.734, i64 4 }, %if.then.486 ], [ %callN, %if.else.487 ] ret { ptr, i64 } %bp } ; Function Attrs: nounwind -define internal { ptr, i64 } @pointer_to_string__ptr_SL_Any(ptr %0, ptr %1) #0 { +define internal { ptr, i64 } @pointer_to_string__ptr_u8(ptr %0, ptr %1) #0 { entry: %alloca = alloca ptr, align 8 store ptr %1, ptr %alloca, align 8 @@ -7758,12 +7777,12 @@ if.then.489: ; 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.736, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.735, i64 6 }, { ptr, i64 } %callN) + %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 3 }, { ptr, i64 } %callN) br label %if.merge.491 if.merge.491: ; preds = %if.else.490, %if.then.489 - %bp = phi { ptr, i64 } [ { ptr @str.734, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] + %bp = phi { ptr, i64 } [ { ptr @str.737, i64 4 }, %if.then.489 ], [ %callN, %if.else.490 ] ret { ptr, i64 } %bp } @@ -7786,12 +7805,12 @@ if.then.492: ; 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.739, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.738, i64 7 }, { ptr, i64 } %callN) + %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 7 }, { ptr, i64 } %callN) br label %if.merge.494 if.merge.494: ; preds = %if.else.493, %if.then.492 - %bp = phi { ptr, i64 } [ { ptr @str.737, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] + %bp = phi { ptr, i64 } [ { ptr @str.740, i64 4 }, %if.then.492 ], [ %callN, %if.else.493 ] ret { ptr, i64 } %bp } @@ -7814,12 +7833,12 @@ if.then.495: ; 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.742, i64 3 }, { ptr, i64 } %call) - %callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } { ptr @str.741, i64 7 }, { 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 7 }, { ptr, i64 } %callN) br label %if.merge.497 if.merge.497: ; preds = %if.else.496, %if.then.495 - %bp = phi { ptr, i64 } [ { ptr @str.740, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] + %bp = phi { ptr, i64 } [ { ptr @str.743, i64 4 }, %if.then.495 ], [ %callN, %if.else.496 ] ret { ptr, i64 } %bp } @@ -7832,17 +7851,17 @@ 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.504, label %if.merge.505 + br i1 %lnot, label %if.then.505, label %if.merge.506 -if.then.504: ; preds = %entry - ret { ptr, i64 } { ptr @str.743, i64 4 } +if.then.505: ; preds = %entry + ret { ptr, i64 } { ptr @str.746, i64 4 } -if.merge.505: ; preds = %entry +if.merge.506: ; preds = %entry %loadN = load { { i32 }, i1 }, ptr %alloca, align 4 %ou.val = extractvalue { { i32 }, i1 } %loadN, 0 store { i32 } %ou.val, ptr %ba.tmp, align 4 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 39, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 40, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7856,12 +7875,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.506, label %if.merge.507 + br i1 %lnot, label %if.then.507, label %if.merge.508 -if.then.506: ; preds = %entry - ret { ptr, i64 } { ptr @str.744, i64 4 } +if.then.507: ; preds = %entry + ret { ptr, i64 } { ptr @str.747, i64 4 } -if.merge.507: ; preds = %entry +if.merge.508: ; 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 @@ -7871,6 +7890,27 @@ if.merge.507: ; preds = %entry ret { ptr, i64 } %call } +; Function Attrs: nounwind +define internal { ptr, i64 } @optional_to_string__opt_cstring(ptr %0, ptr %1) #0 { +entry: + %alloca = alloca ptr, align 8 + store ptr %1, ptr %alloca, align 8 + %load = load ptr, ptr %alloca, align 8 + %oh.nn = icmp ne ptr %load, null + %lnot = xor i1 %oh.nn, true + br i1 %lnot, label %if.then.509, label %if.merge.510 + +if.then.509: ; preds = %entry + ret { ptr, i64 } { ptr @str.748, i64 4 } + +if.merge.510: ; preds = %entry + %loadN = load ptr, ptr %alloca, align 8 + %pNi = ptrtoint ptr %loadN to i64 + %ba.val = insertvalue { i64, i64 } { i64 18, i64 undef }, i64 %pNi, 1 + %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) + ret { ptr, i64 } %call +} + ; Function Attrs: nounwind define internal { ptr, i64 } @optional_to_string__opt_ProcessResult(ptr %0, { { i32, { ptr, i64 } }, i1 } %1) #0 { entry: @@ -7880,17 +7920,17 @@ 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.508, label %if.merge.509 + br i1 %lnot, label %if.then.511, label %if.merge.512 -if.then.508: ; preds = %entry - ret { ptr, i64 } { ptr @str.745, i64 4 } +if.then.511: ; preds = %entry + ret { ptr, i64 } { ptr @str.749, i64 4 } -if.merge.509: ; preds = %entry +if.merge.512: ; preds = %entry %loadN = load { { i32, { ptr, i64 } }, i1 }, ptr %alloca, align 8 %ou.val = extractvalue { { i32, { ptr, i64 } }, i1 } %loadN, 0 store { i32, { ptr, i64 } } %ou.val, ptr %ba.tmp, align 8 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 45, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 46, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } @@ -7904,17 +7944,17 @@ 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.510, label %if.merge.511 + br i1 %lnot, label %if.then.513, label %if.merge.514 -if.then.510: ; preds = %entry - ret { ptr, i64 } { ptr @str.746, i64 4 } +if.then.513: ; preds = %entry + ret { ptr, i64 } { ptr @str.750, i64 4 } -if.merge.511: ; preds = %entry +if.merge.514: ; preds = %entry %loadN = load { [64 x i8], i1 }, ptr %alloca, align 1 %ou.val = extractvalue { [64 x i8], i1 } %loadN, 0 store [64 x i8] %ou.val, ptr %ba.tmp, align 1 %ba.p2i = ptrtoint ptr %ba.tmp to i64 - %ba.val = insertvalue { i64, i64 } { i64 88, i64 undef }, i64 %ba.p2i, 1 + %ba.val = insertvalue { i64, i64 } { i64 89, i64 undef }, i64 %ba.p2i, 1 %call = call { ptr, i64 } @any_to_string(ptr %0, { i64, i64 } %ba.val) ret { ptr, i64 } %call } 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 a560d6a..869d9bb 100644 --- a/examples/expected/1347-ffi-objc-dsl-07-mangling-table.ir +++ b/examples/expected/1347-ffi-objc-dsl-07-mangling-table.ir @@ -66,7 +66,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -117,7 +117,7 @@ if.merge.15: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -221,7 +221,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -252,7 +252,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -267,6 +267,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -776,9 +785,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(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 6d4fd7d..1a4f0db 100644 --- a/examples/expected/1402-ffi-jni-call-03-methodid-sharing.ir +++ b/examples/expected/1402-ffi-jni-call-03-methodid-sharing.ir @@ -42,7 +42,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -93,7 +93,7 @@ if.merge.17: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -197,7 +197,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -228,7 +228,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -243,6 +243,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -752,9 +761,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 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 24fd52e..2b945ea 100644 --- a/examples/expected/1403-ffi-jni-call-04-jint-return.ir +++ b/examples/expected/1403-ffi-jni-call-04-jint-return.ir @@ -40,7 +40,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -91,7 +91,7 @@ if.merge.17: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -195,7 +195,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -226,7 +226,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -241,6 +241,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -750,9 +759,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 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 961d3c1..5e0bdb0 100644 --- a/examples/expected/1404-ffi-jni-call-05-jlong-return.ir +++ b/examples/expected/1404-ffi-jni-call-05-jlong-return.ir @@ -40,7 +40,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -91,7 +91,7 @@ if.merge.17: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -195,7 +195,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -226,7 +226,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -241,6 +241,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -750,9 +759,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 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 550a98f..a2c0009 100644 --- a/examples/expected/1405-ffi-jni-call-06-jdouble-return.ir +++ b/examples/expected/1405-ffi-jni-call-06-jdouble-return.ir @@ -40,7 +40,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -91,7 +91,7 @@ if.merge.17: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -195,7 +195,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -226,7 +226,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -241,6 +241,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -750,9 +759,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 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 00872a1..c2b57a7 100644 --- a/examples/expected/1406-ffi-jni-call-07-jboolean-return.ir +++ b/examples/expected/1406-ffi-jni-call-07-jboolean-return.ir @@ -40,7 +40,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -91,7 +91,7 @@ if.merge.17: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -195,7 +195,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -226,7 +226,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -241,6 +241,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -750,9 +759,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 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 7a35864..c781485 100644 --- a/examples/expected/1407-ffi-jni-call-08-jobject-return.ir +++ b/examples/expected/1407-ffi-jni-call-08-jobject-return.ir @@ -40,7 +40,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -91,7 +91,7 @@ if.merge.17: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -195,7 +195,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -226,7 +226,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -241,6 +241,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -750,9 +759,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 diff --git a/examples/expected/1408-ffi-jni-call-09-static.ir b/examples/expected/1408-ffi-jni-call-09-static.ir index f6b7af6..a435dfd 100644 --- a/examples/expected/1408-ffi-jni-call-09-static.ir +++ b/examples/expected/1408-ffi-jni-call-09-static.ir @@ -40,7 +40,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -91,7 +91,7 @@ if.merge.17: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -195,7 +195,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -226,7 +226,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -241,6 +241,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -750,9 +759,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 diff --git a/examples/expected/1418-ffi-jni-class-08-call.ir b/examples/expected/1418-ffi-jni-class-08-call.ir index a9e9991..0b233b1 100644 --- a/examples/expected/1418-ffi-jni-class-08-call.ir +++ b/examples/expected/1418-ffi-jni-class-08-call.ir @@ -40,7 +40,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -91,7 +91,7 @@ if.merge.17: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -195,7 +195,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -226,7 +226,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -241,6 +241,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -750,9 +759,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 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 0e1a874..35574a6 100644 --- a/examples/expected/1421-ffi-jni-env-02-lexical-direct.ir +++ b/examples/expected/1421-ffi-jni-env-02-lexical-direct.ir @@ -40,7 +40,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 { +define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 { entry: %alloca = alloca i64, align 8 store i64 %1, ptr %alloca, align 8 @@ -91,7 +91,7 @@ if.merge.17: ; preds = %entry %loadN = load i64, ptr %alloca, align 8 %icmpN = icmp slt i64 %loadN, 0 store i1 %icmpN, ptr %allocaN, align 1 - %call = call { ptr, i64 } @cstring(ptr %0, i64 20) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 20) store { ptr, i64 } %call, ptr %allocaN, align 8 store i64 19, ptr %allocaN, align 8 %loadN = load i64, ptr %alloca, align 8 @@ -195,7 +195,7 @@ entry: %loadN = load i64, ptr %allocaN, align 8 %loadN = load i64, ptr %allocaN, align 8 %add = add i64 %loadN, %loadN - %call = call { ptr, i64 } @cstring(ptr %0, i64 %add) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -226,7 +226,7 @@ entry: %allocaN = alloca i64, align 8 store i64 %3, ptr %allocaN, align 8 %load = load i64, ptr %allocaN, align 8 - %call = call { ptr, i64 } @cstring(ptr %0, i64 %load) + %call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load) %allocaN = alloca { ptr, i64 }, align 8 store { ptr, i64 } %call, ptr %allocaN, align 8 %loadN = load { ptr, i64 }, ptr %allocaN, align 8 @@ -241,6 +241,15 @@ entry: ret { ptr, i64 } %loadN } +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -750,9 +759,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 diff --git a/examples/expected/1425-ffi-jni-main-03-ctor.ir b/examples/expected/1425-ffi-jni-main-03-ctor.ir index b5641c6..3e19fe7 100644 --- a/examples/expected/1425-ffi-jni-main-03-ctor.ir +++ b/examples/expected/1425-ffi-jni-main-03-ctor.ir @@ -23,7 +23,7 @@ declare ptr @memset(ptr, i32, i64) declare void @out.1(ptr) #0 ; Function Attrs: nounwind -declare ptr @cstring(ptr, i64) #0 +declare ptr @alloc_string(ptr, i64) #0 ; Function Attrs: nounwind declare ptr @int_to_string(ptr, i64) #0 @@ -52,6 +52,15 @@ declare ptr @concat(ptr, ptr, ptr) #0 ; Function Attrs: nounwind declare ptr @substr(ptr, ptr, i64, i64) #0 +; Function Attrs: nounwind +declare i64 @cstring_len(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @from_cstring(ptr, ptr) #0 + +; Function Attrs: nounwind +declare ptr @to_cstring(ptr, ptr) #0 + ; Function Attrs: nounwind declare ptr @path_join(ptr, ptr) #0 @@ -273,9 +282,6 @@ declare i32 @feof(ptr) #0 ; Function Attrs: nounwind declare ptr @getenv(ptr) #0 -; Function Attrs: nounwind -declare i64 @strlen(ptr) #0 - ; Function Attrs: nounwind declare i32 @system(ptr) #0 diff --git a/library/modules/platform/bundle.sx b/library/modules/platform/bundle.sx index 9216125..1b54128 100644 --- a/library/modules/platform/bundle.sx +++ b/library/modules/platform/bundle.sx @@ -204,7 +204,7 @@ bundle_main :: () -> bool { // buffer for libc / `[:0]u8` callees. Allocated from // `context.allocator` like the rest of the bundling stage. str_to_cstr :: (s: string) -> [:0]u8 { - buf := cstring(s.len); + buf := alloc_string(s.len); memcpy(buf.ptr, s.ptr, s.len); buf } @@ -927,7 +927,7 @@ MANIFEST, pkg_esc, lib_esc, lib_esc, lib_esc) // `co/swipelab/sxchess/SxApp` → `co.swipelab.sxchess.SxApp`. slash_to_dot :: (path: string) -> string { - buf := cstring(path.len); + buf := alloc_string(path.len); i := 0; while i < path.len { c := path[i]; diff --git a/library/modules/std.sx b/library/modules/std.sx index 4dc5ea7..3eb0da9 100644 --- a/library/modules/std.sx +++ b/library/modules/std.sx @@ -69,7 +69,10 @@ optional_to_string :: fmt.optional_to_string; concat :: fmt.concat; substr :: fmt.substr; path_join :: fmt.path_join; -cstring :: fmt.cstring; +alloc_string :: fmt.alloc_string; +cstring_len :: fmt.cstring_len; +from_cstring :: fmt.from_cstring; +to_cstring :: fmt.to_cstring; alloc_slice :: fmt.alloc_slice; // fmt internals, re-exported only because they were always part of the diff --git a/library/modules/std/fmt.sx b/library/modules/std/fmt.sx index 21c3874..16127eb 100644 --- a/library/modules/std/fmt.sx +++ b/library/modules/std/fmt.sx @@ -6,7 +6,7 @@ // --- Slice & string allocation --- -cstring :: (size: i64) -> string { +alloc_string :: (size: i64) -> string { raw := context.allocator.alloc_bytes(size + 1); memset(raw, 0, size + 1); s : string = ---; @@ -31,7 +31,7 @@ int_to_string :: (n: i64) -> string { // overflows for i64::MIN (its magnitude is unrepresentable as a // positive i64). sx `%` truncates toward zero, so `n % 10` keeps n's // sign; take each remainder's absolute value for the digit. - tmp := cstring(20); + tmp := alloc_string(20); i := 19; v := n; while v != 0 { @@ -56,7 +56,7 @@ uint_to_string :: (n: i64) -> string { // next limb; the per-step accumulator stays well within i64 // (max 9*65536 + 65535), so signed `/` and `%` are exact. g := decompose_u16x4(n); - tmp := cstring(20); + tmp := alloc_string(20); i := 19; while g[0] != 0 or g[1] != 0 or g[2] != 0 or g[3] != 0 { rem := 0; @@ -89,7 +89,7 @@ float_to_string :: (f: f64) -> string { fl := fstr.len; prefix := if neg then 1 else 0; total := prefix + il + 1 + 6; - buf := cstring(total); + buf := alloc_string(total); pos := 0; if neg { buf[0] = 45; pos = 1; } memcpy(@buf[pos], istr.ptr, il); @@ -144,7 +144,7 @@ int_to_hex_string :: (n: i64) -> string { if n == 0 { return "0"; } g := decompose_u16x4(n); - buf := cstring(16); + buf := alloc_string(16); hex_group(buf, 0, g[0]); hex_group(buf, 4, g[1]); hex_group(buf, 8, g[2]); @@ -162,18 +162,48 @@ int_to_hex_string :: (n: i64) -> string { concat :: (a: string, b: string) -> string { al := a.len; bl := b.len; - buf := cstring(al + bl); + buf := alloc_string(al + bl); memcpy(buf.ptr, a.ptr, al); memcpy(@buf[al], b.ptr, bl); buf } substr :: (s: string, start: i64, len: i64) -> string { - buf := cstring(len); + buf := alloc_string(len); memcpy(buf.ptr, @s[start], len); buf } +// ── cstring: the C-boundary string ──────────────────────────────────── +// `cstring` is ONE pointer to a null-terminated u8 buffer — C's `char *`. +// It carries no length (`cstring_len` walks to the terminator) and +// crosses `#foreign` boundaries verbatim in both directions; `?cstring` +// is the nullable case (null pointer = absent). String LITERALS coerce +// to `cstring` implicitly — their bytes are terminated constants; every +// other `string` must materialize through `to_cstring`. + +// Byte length of `c` (strlen — O(n), walks to the terminator). +cstring_len :: (c: cstring) -> i64 { + p : [*]u8 = xx c; + n := 0; + while p[n] != 0 { n += 1; } + n +} + +// A zero-copy string VIEW over `c`'s bytes ({ptr, strlen}). The view +// shares C's buffer — `substr` it if it must outlive the source. +from_cstring :: (c: cstring) -> string { + p : [*]u8 = xx c; + string.{ ptr = p, len = cstring_len(c) } +} + +// An owned, terminated copy of `s` as a `cstring`. +to_cstring :: (s: string) -> cstring { + z := alloc_string(s.len); + memcpy(z.ptr, s.ptr, s.len); + xx z.ptr +} + // Join path components with the POSIX separator ('/'). Skips empty // components and collapses duplicate separators at component // boundaries. Used for bundle paths where Apple .app and Android APK diff --git a/library/modules/std/fs.sx b/library/modules/std/fs.sx index 33d020c..42c1565 100644 --- a/library/modules/std/fs.sx +++ b/library/modules/std/fs.sx @@ -130,7 +130,7 @@ read_file :: (path: [:0]u8) -> ?string { size := lseek(fd, 0, SEEK_END); if size < 0 { close(fd); return null; } lseek(fd, 0, SEEK_SET); - buf := cstring(size); + buf := alloc_string(size); n := read(fd, buf.ptr, xx size); close(fd); if cast(i64) n != size { return null; } @@ -191,7 +191,7 @@ create_dir_all :: (path: [:0]u8) -> bool { last -= 1; } if last > 0 { - parent := cstring(last); + parent := alloc_string(last); memcpy(parent.ptr, path.ptr, last); if !create_dir_all(parent) { return false; } } @@ -211,7 +211,7 @@ copy_file :: (src: [:0]u8, dst: [:0]u8) -> bool { return false; } ok := true; - buf := cstring(65536); + buf := alloc_string(65536); loop := true; while loop { n := read(src_fd, buf.ptr, 65536); diff --git a/library/modules/std/process.sx b/library/modules/std/process.sx index a7db94b..a54bd9b 100644 --- a/library/modules/std/process.sx +++ b/library/modules/std/process.sx @@ -24,8 +24,7 @@ popen :: (cmd: [:0]u8, mode: [:0]u8) -> *void #foreign libc; pclose :: (stream: *void) -> i32 #foreign libc; fread :: (ptr: [*]u8, size: usize, nmemb: usize, stream: *void) -> usize #foreign libc; feof :: (stream: *void) -> i32 #foreign libc; -getenv :: (name: [:0]u8) -> *u8 #foreign libc; -strlen :: (s: *u8) -> usize #foreign libc; +getenv :: (name: cstring) -> ?cstring #foreign libc; system :: (cmd: [:0]u8) -> i32 #foreign libc; // ── Public types ───────────────────────────────────────────────────── @@ -53,7 +52,7 @@ run :: (cmd: [:0]u8) -> ?ProcessResult { if cast(i64) f == 0 { return null; } out := ""; - buf := cstring(4096); + buf := alloc_string(4096); loop := true; while loop { n := fread(buf.ptr, 1, 4096, f); @@ -84,14 +83,11 @@ run :: (cmd: [:0]u8) -> ?ProcessResult { // Read an environment variable. Returns null if unset; an empty // string if set to "". env :: (name: [:0]u8) -> ?string { - p := getenv(name); - addr : i64 = xx p; - if addr == 0 { return null; } - n := strlen(p); - if n == 0 { return ""; } - buf := cstring(cast(i64) n); - memcpy(buf.ptr, xx p, cast(i64) n); - buf + p := getenv(to_cstring(name)); + if p == null { return null; } + v := from_cstring(p!); + if v.len == 0 { return ""; } + substr(v, 0, v.len) } // Locate an executable by walking `$PATH`. Returns the absolute path @@ -103,7 +99,7 @@ find_executable :: (name: [:0]u8) -> ?string { // (executable names like `codesign`, `javac`, `aapt2`). cmd := concat("command -v ", name); // Need null-terminated for popen. - cmd_z := cstring(cmd.len); + cmd_z := alloc_string(cmd.len); memcpy(cmd_z.ptr, cmd.ptr, cmd.len); if r := run(cmd_z) { if r.exit_code != 0 { return null; } diff --git a/specs.md b/specs.md index c9fc0ac..0851a63 100644 --- a/specs.md +++ b/specs.md @@ -16,7 +16,7 @@ Line comments start with `//` and extend to end of line. #### Reserved type names A spelling that names a builtin type — the arbitrary-width integers `i1`..`i64` / -`u1`..`u64`, plus `bool`, `string`, `void`, `f32`, `f64`, `usize`, `isize`, `Any` — +`u1`..`u64`, plus `bool`, `string`, `cstring`, `void`, `f32`, `f64`, `usize`, `isize`, `Any` — is reserved. A bare reserved spelling is rejected at **value-binding and declaration-name sites**: a value binding (`:=` / typed local / parameter), a `::` **constant** or **function** declaration, an `impl` method **definition**, @@ -39,8 +39,8 @@ slot), so a reserved-spelled impl method still needs the backtick (`` `i2 :: (self) ``), exactly like a free function. See `examples/0158`. The bare member-name exemption applies only to the **identifier-classified** -reserved spellings — `i1`..`i64`, `u1`..`u64`, `bool`, `string`, `void`, `usize`, -`isize`, `Any` — which all lex as ordinary identifiers. The two +reserved spellings — `i1`..`i64`, `u1`..`u64`, `bool`, `string`, `cstring`, `void`, +`usize`, `isize`, `Any` — which all lex as ordinary identifiers. The two **keyword-classified** reserved spellings, `f32` and `f64`, are lexer keywords, and member-name slots require an identifier token; a bare `f32` / `f64` is therefore rejected at parse (`expected field name in struct`) even in a member position. Use @@ -1043,6 +1043,29 @@ the chain leaves the checked zone. **Fat pointer layout**: `[:0]u8`, `string`, and `[]T` are `{ptr, i64}` structs. The raw pointer is always the first field at offset 0. This means `*[:0]u8` works as C's `char**` — a C function dereferences through the outer pointer and reads the raw `char*` from offset 0. +### cstring + +`cstring` is the C-boundary string: ONE pointer to a null-terminated u8 +buffer — exactly C's `char *`. It is thin (8 bytes, no length field; +`cstring_len` walks to the terminator, O(n)) and crosses `#foreign` +boundaries verbatim in BOTH directions. `?cstring` is the nullable case +and lowers to the same bare pointer (null = absent) — the natural type +for `getenv`-style returns and optional `char *` parameters. + +Conversion discipline (Odin's model): + +- A string **literal** coerces to `cstring` implicitly — literal bytes + are terminated constants in the binary, so the conversion is free. +- Any **other** `string` does NOT coerce: it may be an unterminated view + (`string.{ptr, len}` windows, writer output). Materialize an owned, + terminated copy with `to_cstring(s)`. +- `cstring` does not coerce to `string` implicitly — the length is an + O(n) strlen the code must ask for. `from_cstring(c)` is the zero-copy + view (shares C's buffer); `substr(from_cstring(c), 0, n)` the owned + copy. +- `xx` bit-casts `cstring` ↔ `*u8` / `[*]u8` / integer-pointer values + for low-level interop. + ### Optional Types Optional types represent values that may or may not be present. @@ -1182,7 +1205,10 @@ write_fd :: (fd: i32, buf: [*]u8, count: u64) -> i64 #foreign libc "write"; | C type | sx type | Notes | |--------|---------|-------| -| `const char*` (input) | `[:0]u8` | compiler extracts `.ptr` at call site | +| `const char*` (input) | `cstring` | the pointer, verbatim; literals coerce | +| `const char*` (input, legacy) | `[:0]u8` | compiler extracts `.ptr` at call site | +| `const char*` (return) | `cstring` | the pointer, verbatim; `from_cstring` to view | +| nullable `const char*` (both directions) | `?cstring` | null pointer = `null` | | `char*` (output buffer) | `[*]u8` | raw buffer, no length | | `const char**` | `*[:0]u8` | address of `[:0]u8` — `.ptr` at offset 0 | | `int*` (single out) | `*i32` | | diff --git a/src/backend/llvm/types.zig b/src/backend/llvm/types.zig index 47ff16f..64d128f 100644 --- a/src/backend/llvm/types.zig +++ b/src/backend/llvm/types.zig @@ -64,13 +64,14 @@ pub const TypeLowering = struct { .bool => self.e.cached_i1, .error_set => self.e.cached_i32, // u32 tag id on the error channel .string => self.e.getStringStructType(), + .cstring => self.e.cached_ptr, .pointer, .many_pointer, .function => self.e.cached_ptr, .closure => self.e.getClosureStructType(), .slice => self.e.getStringStructType(), // same {ptr, i64} layout .optional => |opt| { // ?*T / ?fn → bare pointer (null = none) const child_info = self.e.ir_mod.types.get(opt.child); - if (child_info == .pointer or child_info == .many_pointer or child_info == .function) { + if (child_info == .pointer or child_info == .many_pointer or child_info == .function or child_info == .cstring) { return self.e.cached_ptr; } if (child_info == .closure) { diff --git a/src/ir/conversions.zig b/src/ir/conversions.zig index 4d10a4c..b17aea2 100644 --- a/src/ir/conversions.zig +++ b/src/ir/conversions.zig @@ -43,11 +43,15 @@ pub const CoercionResolver = struct { widen, // same kind, dst wider narrow, // same kind, dst narrower array_to_slice, // [N]T → []T (materialize backing storage + header) + string_to_cstring, // literal-only implicit; other strings need to_cstring + cstring_to_string_reject, // explicit from_cstring required (diagnostic) none, // nothing applies — pass the value through }; pub fn classify(self: CoercionResolver, src_ty: TypeId, dst_ty: TypeId) CoercionPlan { if (src_ty == dst_ty) return .no_op; + if (src_ty == .string and dst_ty == .cstring) return .string_to_cstring; + if (src_ty == .cstring and dst_ty == .string) return .cstring_to_string_reject; if (src_ty == .any and dst_ty != .any) return .unbox_any; if (dst_ty == .any and src_ty != .any) return .box_any; @@ -113,8 +117,8 @@ pub const CoercionResolver = struct { const dst_float = Lowering.isFloat(dst_ty); const src_int = self.l.isIntEx(src_ty); const dst_int = self.l.isIntEx(dst_ty); - const src_ptr = !src_ty.isBuiltin() and self.l.module.types.get(src_ty) == .pointer; - const dst_ptr = !dst_ty.isBuiltin() and self.l.module.types.get(dst_ty) == .pointer; + const src_ptr = (!src_ty.isBuiltin() and self.l.module.types.get(src_ty) == .pointer) or src_ty == .cstring; + const dst_ptr = (!dst_ty.isBuiltin() and self.l.module.types.get(dst_ty) == .pointer) or dst_ty == .cstring; if (src_int and dst_float) return .int_to_float; if (src_float and dst_int) return .float_to_int; diff --git a/src/ir/lower/coerce.zig b/src/ir/lower/coerce.zig index 1c178b6..4a9f89b 100644 --- a/src/ir/lower/coerce.zig +++ b/src/ir/lower/coerce.zig @@ -630,6 +630,30 @@ pub fn coerceMode(self: *Lowering, val: Ref, src_ty: TypeId, dst_ty: TypeId, mod const unwrapped = self.builder.emit(.{ .optional_unwrap = .{ .operand = val } }, child_ty); return self.coerceMode(unwrapped, child_ty, dst_ty, mode); }, + // string → cstring: ONLY a string LITERAL coerces implicitly — its + // bytes are a terminated constant (Odin's literal blessing). Any + // other string may be an unterminated view, so it must materialize + // through `to_cstring`. + .string_to_cstring => { + if (self.builder.isConstString(val)) { + return self.builder.emit(.{ .data_ptr = .{ .operand = val } }, .cstring); + } + if (self.diagnostics) |d| { + const cs = self.builder.current_span; + d.addFmt(.err, ast.Span{ .start = cs.start, .end = cs.end }, "only a string LITERAL coerces to 'cstring' implicitly; an arbitrary string may be an unterminated view — materialize it with to_cstring(s)", .{}); + } + return val; + }, + // cstring → string: the length is implicit (strlen), so the + // conversion is never silent — `from_cstring(c)` is the zero-copy + // view, `substr(from_cstring(c), 0, ...)` the owned copy. + .cstring_to_string_reject => { + if (self.diagnostics) |d| { + const cs = self.builder.current_span; + d.addFmt(.err, ast.Span{ .start = cs.start, .end = cs.end }, "'cstring' does not coerce to 'string' implicitly (the length is implicit); convert with from_cstring(c)", .{}); + } + return val; + }, // void → Optional: produce null (void is the type of null_literal) .void_to_optional => return self.builder.constNull(dst_ty), // Concrete → Optional wrapping (coerce to the inner type first) diff --git a/src/ir/module.zig b/src/ir/module.zig index dd477e7..0e3fb40 100644 --- a/src/ir/module.zig +++ b/src/ir/module.zig @@ -358,6 +358,24 @@ pub const Builder = struct { /// value and the span it was emitted with; else null. The implicit /// float→int coercion rule reads this to fold an integral literal to its /// int (and to locate a non-integral one for its diagnostic). + /// True iff `ref` is a `const_string` instruction — a string LITERAL + /// value (terminated constant data), the only string shape that may + /// implicitly coerce to `cstring`. + pub fn isConstString(self: *Builder, ref: Ref) bool { + if (self.func == null) return false; + const func = self.currentFunc(); + const ref_idx = @intFromEnum(ref); + if (ref_idx < func.params.len) return false; + for (func.blocks.items) |*block| { + const first = block.first_ref; + if (ref_idx >= first and ref_idx < first + @as(u32, @intCast(block.insts.items.len))) { + const i = block.insts.items[ref_idx - first]; + return i.op == .const_string; + } + } + return false; + } + pub fn constFloatInfo(self: *Builder, ref: Ref) ?ConstFloatInfo { if (self.func == null) return null; const func = self.currentFunc(); diff --git a/src/ir/type_resolver.zig b/src/ir/type_resolver.zig index 38a98ef..f65f3f0 100644 --- a/src/ir/type_resolver.zig +++ b/src/ir/type_resolver.zig @@ -55,6 +55,7 @@ pub const TypeResolver = struct { if (std.mem.eql(u8, name, "f64")) return .f64; if (std.mem.eql(u8, name, "bool")) return .bool; if (std.mem.eql(u8, name, "string")) return .string; + if (std.mem.eql(u8, name, "cstring")) return .cstring; if (std.mem.eql(u8, name, "void")) return .void; if (std.mem.eql(u8, name, "Any")) return .any; // `Type` values are runtime-representable as Any-shaped pairs diff --git a/src/ir/types.zig b/src/ir/types.zig index 97af153..c788d4a 100644 --- a/src/ir/types.zig +++ b/src/ir/types.zig @@ -33,9 +33,10 @@ pub const TypeId = enum(u32) { isize = 15, usize = 16, void = 17, - _, // user-defined types start at 18 + cstring = 18, // thin null-terminated char* (see TypeInfo.cstring) + _, // user-defined types start at 19 - pub const first_user: u32 = 18; + pub const first_user: u32 = 19; pub fn index(self: TypeId) u32 { return @intFromEnum(self); @@ -63,6 +64,7 @@ pub const TypeInfo = union(enum) { void, bool, string, // [:0]u8 — fat pointer {ptr, len} + cstring, // thin null-terminated char* — ONE pointer, length implicit (strlen) @"struct": StructInfo, @"enum": EnumInfo, @@ -382,6 +384,7 @@ pub const TypeTable = struct { .isize, // 15: isize (pointer-sized signed) .usize, // 16: usize (pointer-sized unsigned) .void, // 17 + .cstring, // 18: thin null-terminated char* }; for (&builtins) |info| { table.infos.append(alloc, info) catch unreachable; @@ -587,13 +590,14 @@ pub const TypeTable = struct { .f32 => 4, .f64 => 8, .string => 16, // {ptr, len} + .cstring => 8, // one pointer .pointer, .many_pointer, .function => 8, .closure => 16, // {fn_ptr, env} .optional => |opt| blk: { // Sentinel-shaped optionals (pointer/closure/protocol) cost // no extra storage — null reuses the payload's null state. const child_info = self.get(opt.child); - if (child_info == .pointer or child_info == .many_pointer or child_info == .function) break :blk 8; + if (child_info == .pointer or child_info == .many_pointer or child_info == .function or child_info == .cstring) break :blk 8; if (child_info == .closure) break :blk 16; if (child_info == .@"struct" and child_info.@"struct".is_protocol) break :blk self.sizeOf(opt.child); // Discriminated form: payload + has_value flag (8-aligned). @@ -682,6 +686,7 @@ pub const TypeTable = struct { if (ty == .i32 or ty == .u32 or ty == .f32) return 4; if (ty == .i64 or ty == .u64 or ty == .f64) return 8; if (ty == .usize or ty == .isize) return ptr_size; + if (ty == .cstring) return ptr_size; if (ty == .string) return 16; // {ptr, i64} — always 16 (i64 alignment pads on wasm32) if (ty == .any) return 16; // {i64 tag, i64 value} — Any boxed layout if (ty.isBuiltin()) return ptr_size; // default for unknown builtins @@ -783,6 +788,7 @@ pub const TypeTable = struct { if (ty == .i64 or ty == .u64 or ty == .f64) return 8; if (ty == .usize or ty == .isize) return ptr_align; if (ty == .string) return 8; // i64 drives alignment + if (ty == .cstring) return ptr_align; if (ty == .any) return 8; // {i64, i64} aligns to 8 if (ty.isBuiltin()) return ptr_align; const info = self.get(ty); @@ -853,6 +859,7 @@ pub const TypeTable = struct { .f32 => "f32", .f64 => "f64", .string => "string", + .cstring => "cstring", .any => "Any", .noreturn => "noreturn", .isize => "isize", @@ -999,7 +1006,7 @@ fn hashTypeInfo(h: *std.hash.Wyhash, info: TypeInfo) void { switch (info) { .signed => |w| h.update(&.{w}), .unsigned => |w| h.update(&.{w}), - .f32, .f64, .void, .bool, .string, .any, .noreturn, .usize, .isize, .unresolved => {}, + .f32, .f64, .void, .bool, .string, .cstring, .any, .noreturn, .usize, .isize, .unresolved => {}, .pointer => |p| h.update(std.mem.asBytes(&p.pointee)), .many_pointer => |p| h.update(std.mem.asBytes(&p.element)), .slice => |s| h.update(std.mem.asBytes(&s.element)), @@ -1070,7 +1077,7 @@ fn typeInfoEql(a: TypeInfo, b: TypeInfo) bool { return switch (a) { .signed => |w| w == b.signed, .unsigned => |w| w == b.unsigned, - .f32, .f64, .void, .bool, .string, .any, .noreturn, .usize, .isize, .unresolved => true, + .f32, .f64, .void, .bool, .string, .cstring, .any, .noreturn, .usize, .isize, .unresolved => true, .pointer => |p| p.pointee == b.pointer.pointee, .many_pointer => |p| p.element == b.many_pointer.element, .slice => |s| s.element == b.slice.element, diff --git a/src/types.zig b/src/types.zig index 66380a2..0538bcb 100644 --- a/src/types.zig +++ b/src/types.zig @@ -20,6 +20,7 @@ pub const Type = union(enum) { void_type, boolean, string_type, + cstring_type, enum_type: []const u8, struct_type: []const u8, union_type: []const u8, @@ -116,6 +117,7 @@ pub const Type = union(enum) { if (name.len == 0) return null; return switch (name[0]) { 's' => if (std.mem.eql(u8, name, "string")) .string_type else null, + 'c' => if (std.mem.eql(u8, name, "cstring")) .cstring_type else null, 'u' => { if (std.mem.eql(u8, name, "usize")) return .usize_type; if (name.len >= 2) { @@ -199,6 +201,7 @@ pub const Type = union(enum) { .f64 => "f64", .boolean => "bool", .string_type => "string", + .cstring_type => "cstring", .void_type => "void", .usize_type => "usize", .isize_type => "isize", @@ -286,6 +289,7 @@ pub const Type = union(enum) { .f64 => "f64", .boolean => "bool", .string_type => "string", + .cstring_type => "cstring", .void_type => "void", .any_type => "Any", .usize_type => "usize",