std: full namespace tail — fs/process/socket/json/cli/hash/test
With 0115's own-wins globals landed, the remaining tail modules join std.sx: every '#import "modules/std.sx"' now carries mem/xml/log/fs/ process/socket/json/cli/hash/test as namespaces (trace stays a direct import). Enablers in the same change: - emit: dead-global elimination — a plain-data global no instruction references is not emitted, so tail modules' data (hash's 64-entry K table, OS/ARCH/POINTER_SIZE) stays out of binaries that don't use it. Comptime-backed globals keep their #run evaluation. 37 pinned IR snapshots regenerated (dead globals dropped + string renumbering from the larger module). - 1055/1056 stop pinning the global error-tag ordinal (it shifts with program composition); they assert nonzero + tag identity + name. - specs/readme/CLAUDE.md tail docs updated.
This commit is contained in:
@@ -576,8 +576,8 @@ Wiring a new bundling step:
|
|||||||
| `implementation_plan.md` | Archive of completed work (closures, protocols, etc.). Do not pick up tasks from here. |
|
| `implementation_plan.md` | Archive of completed work (closures, protocols, etc.). Do not pick up tasks from here. |
|
||||||
| `readme.md` | User-facing language overview — **maintained**. Update it whenever a user-facing sx change lands (new/changed syntax, semantics, gating diagnostics, language behavior), per the docs-track-changes rule. |
|
| `readme.md` | User-facing language overview — **maintained**. Update it whenever a user-facing sx change lands (new/changed syntax, semantics, gating diagnostics, language behavior), per the docs-track-changes rule. |
|
||||||
| `CLAUDE.md` | This file. Session instructions. |
|
| `CLAUDE.md` | This file. Session instructions. |
|
||||||
| `library/modules/std.sx` | The prelude (print/format/List/string ops/Context/Allocator) + the namespace tail (`mem`/`xml`/`log` carried to flat importers). |
|
| `library/modules/std.sx` | The prelude (print/format/List/string ops/Context/Allocator) + the namespace tail (`mem`/`xml`/`log`/`fs`/`process`/`socket`/`json`/`cli`/`hash`/`test` carried to flat importers). |
|
||||||
| `library/modules/std/` | Stdlib modules: mem (allocators), fs, process, socket, json, cli, hash, xml, log, trace, test. Import directly until they join the tail. |
|
| `library/modules/std/` | Stdlib modules: mem (allocators), fs, process, socket, json, cli, hash, xml, log, trace, test — all but trace carried by the std.sx tail; direct file imports give bare access. |
|
||||||
| `library/modules/ffi/` | FFI bindings: objc, objc_block, sdl3, opengl, raylib, stb, stb_truetype, wasm. |
|
| `library/modules/ffi/` | FFI bindings: objc, objc_block, sdl3, opengl, raylib, stb, stb_truetype, wasm. |
|
||||||
| `library/modules/math/` | scalar / vector2 / matrix44 — one spelling: `#import "modules/math"` (directory import). |
|
| `library/modules/math/` | scalar / vector2 / matrix44 — one spelling: `#import "modules/math"` (directory import). |
|
||||||
| `library/modules/build.sx` | `BuildOptions` compile-time build DSL. See "Bundling lives in sx" above. |
|
| `library/modules/build.sx` | `BuildOptions` compile-time build DSL. See "Bundling lives in sx" above. |
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ main :: () -> s32 {
|
|||||||
|
|
||||||
// ── error path: the right tag flows through ──
|
// ── error path: the right tag flows through ──
|
||||||
c3, e3 := pick("xxx");
|
c3, e3 := pick("xxx");
|
||||||
print("error err int = {}\n", cast(s64) e3); // 1
|
print("error err nonzero = {}\n", cast(s64) e3 != 0); // true (ordinal is program-global, not pinned)
|
||||||
if e3 == error.Nope { print("error: is Nope (ok)\n"); } else { print("error: not Nope (WRONG)\n"); }
|
if e3 == error.Nope { print("error: is Nope (ok)\n"); } else { print("error: not Nope (WRONG)\n"); }
|
||||||
print("error tag name = {}\n", error_tag_name(e3)); // Nope
|
print("error tag name = {}\n", error_tag_name(e3)); // Nope
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ main :: () -> s32 {
|
|||||||
|
|
||||||
// ── F1 error (explicit tuple): right tag flows, no panic ──
|
// ── F1 error (explicit tuple): right tag flows, no panic ──
|
||||||
c2, e2 := classify("bad");
|
c2, e2 := classify("bad");
|
||||||
print("F1 bad: err int = {}\n", cast(s64) e2); // 1
|
print("F1 bad: err nonzero = {}\n", cast(s64) e2 != 0); // true (ordinal is program-global, not pinned)
|
||||||
if e2 == error.Nope { print("F1 bad: is Nope (ok)\n"); } else { print("F1 bad: not Nope (WRONG)\n"); }
|
if e2 == error.Nope { print("F1 bad: is Nope (ok)\n"); } else { print("F1 bad: not Nope (WRONG)\n"); }
|
||||||
print("F1 bad: tag name = {}\n", error_tag_name(e2)); // Nope
|
print("F1 bad: tag name = {}\n", error_tag_name(e2)); // Nope
|
||||||
|
|
||||||
@@ -59,7 +59,7 @@ main :: () -> s32 {
|
|||||||
|
|
||||||
// ── F2 error (comptime-param, inline error path): right tag ──
|
// ── F2 error (comptime-param, inline error path): right tag ──
|
||||||
c5, e5 := ct_pick(7, "x");
|
c5, e5 := ct_pick(7, "x");
|
||||||
print("F2 err: err int = {}\n", cast(s64) e5); // 1
|
print("F2 err: err nonzero = {}\n", cast(s64) e5 != 0); // true (ordinal is program-global, not pinned)
|
||||||
if e5 == error.Nope { print("F2 err: is Nope (ok)\n"); } else { print("F2 err: not Nope (WRONG)\n"); }
|
if e5 == error.Nope { print("F2 err: is Nope (ok)\n"); } else { print("F2 err: not Nope (WRONG)\n"); }
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -3,6 +3,6 @@ bare-if e: ok
|
|||||||
e != Nope (ok)
|
e != Nope (ok)
|
||||||
guard !e: c = 0
|
guard !e: c = 0
|
||||||
blue: err int = 0, c = 2
|
blue: err int = 0, c = 2
|
||||||
error err int = 1
|
error err nonzero = true
|
||||||
error: is Nope (ok)
|
error: is Nope (ok)
|
||||||
error tag name = Nope
|
error tag name = Nope
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
F1 ok: err int = 0
|
F1 ok: err int = 0
|
||||||
F1 ok bare-if: ok
|
F1 ok bare-if: ok
|
||||||
F1 ok guard: c = 2
|
F1 ok guard: c = 2
|
||||||
F1 bad: err int = 1
|
F1 bad: err nonzero = true
|
||||||
F1 bad: is Nope (ok)
|
F1 bad: is Nope (ok)
|
||||||
F1 bad: tag name = Nope
|
F1 bad: tag name = Nope
|
||||||
F2 red: err int = 0
|
F2 red: err int = 0
|
||||||
@@ -9,5 +9,5 @@ F2 red bare-if: ok
|
|||||||
F2 red != Nope (ok)
|
F2 red != Nope (ok)
|
||||||
F2 red guard: c = 0
|
F2 red guard: c = 0
|
||||||
F2 blue: err int = 0, c = 2
|
F2 blue: err int = 0, c = 2
|
||||||
F2 err: err int = 1
|
F2 err: err nonzero = true
|
||||||
F2 err: is Nope (ok)
|
F2 err: is Nope (ok)
|
||||||
|
|||||||
@@ -197,6 +197,744 @@ declare i64 @write(i32, ptr, i64)
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @log_emit(ptr, ptr, ptr) #0
|
declare void @log_emit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @socket(i32, i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @setsockopt(i32, i32, i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @bind(i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @listen(i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @accept(i32, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.21(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.22(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i16 @htons(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @CAllocator.alloc.23(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @CAllocator.dealloc.24(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @GPA.init.25(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @GPA.alloc.26(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @GPA.dealloc.27(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.add_chunk.28(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.init.29(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.reset.30(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.deinit.31(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Arena.alloc.32(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.dealloc.33(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.init.34(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.reset.35(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.alloc.36(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.dealloc.37(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.init.38(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @TrackingAllocator.leak_count.39(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.report.40(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @TrackingAllocator.alloc.41(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.dealloc.42(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open.43(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.44(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.45(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.46(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.47(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.48(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.49(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.50(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.51(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.52(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.53(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.54(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.55(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.56(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.57(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.58(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.59(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.60(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.61(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.62(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.63(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.64(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.65(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.66(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.67(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.68(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.69(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.70(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.71(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.72(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.put(ptr, ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put_byte(ptr, ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.flush(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @hex_digit(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_u_escape(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_string(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_int(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_value(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_array(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_object(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @write_to_buffer(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_to_file(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @hex_value(ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @encode_utf8(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.skip_ws(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Parser.expect_lit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.read_hex4(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.decode_into(ptr, ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_string(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.parse_number(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_array(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_object(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_value(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_framework(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_output_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_wasm_shell(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_asset_dir(i64, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.asset_dir_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_src_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_dest_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_callback(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_module(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.binary_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_id(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_codesign_identity(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_provisioning_profile(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_id(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.codesign_identity(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.provisioning_profile(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.target_triple(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_macos(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_device(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_simulator(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_android(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_path_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_manifest_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_keystore_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.manifest_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.keystore_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.jni_main_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_foreign_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @build_options() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces.73(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len.74() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated.75() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at.76(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string.77(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current.78(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames.79(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen.80(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose.81(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread.82(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof.83(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv.84(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen.85(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system.86(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run.87(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env.88(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable.89(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit.90(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit.91(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.92(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgv() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgc() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_ok(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_usage(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @os_argc(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @os_args(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @Parsed.is_set(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @is_long_flag(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse.93(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 i32 @open.94(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.95(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.96(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.97(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.98(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.99(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.100(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.101(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.102(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.103(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.104(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.105(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.106(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.107(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.108(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.109(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.110(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.111(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.112(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.113(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.114(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.115(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.116(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.117(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.118(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.119(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.120(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.121(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.122(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.123(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @rotr(ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.process_block(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.update(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @Sha256.final(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @nibble_hex(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @init(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @sha256_hex(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.124(ptr, i1) #0
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal i64 @accept_c(ptr %0) #0 {
|
define internal i64 @accept_c(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
|
|||||||
@@ -1,40 +1,37 @@
|
|||||||
|
|
||||||
@__SxFoo_state_ivar = internal global ptr null
|
@__SxFoo_state_ivar = internal global ptr null
|
||||||
@__SxFoo_class = internal global ptr null
|
@__SxFoo_class = internal global ptr null
|
||||||
@OS = internal global i64 6
|
|
||||||
@ARCH = internal global i64 4
|
|
||||||
@POINTER_SIZE = internal global i64 8
|
|
||||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||||
@__sx_objc_cstr_dealloc = internal global [8 x i8] c"dealloc\00"
|
@__sx_objc_cstr_dealloc = internal global [8 x i8] c"dealloc\00"
|
||||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
@str.162 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.163 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.164 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.165 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
@str.166 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
@str.167 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.168 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.169 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.170 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.171 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.172 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.173 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.174 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.175 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.176 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.36 = private unnamed_addr constant [10 x i8] c"compiled\0A\00", align 1
|
@str.177 = private unnamed_addr constant [10 x i8] c"compiled\0A\00", align 1
|
||||||
@str.37 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
@str.178 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||||
@str.38 = private unnamed_addr constant [10 x i8] c"compiled\0A\00", align 1
|
@str.179 = private unnamed_addr constant [10 x i8] c"compiled\0A\00", align 1
|
||||||
@OBJC_IVAR_NAME_ = private unnamed_addr constant [11 x i8] c"__sx_state\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_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_ = private unnamed_addr constant [9 x i8] c"NSObject\00"
|
||||||
@OBJC_CLASS_NAME_.39 = private unnamed_addr constant [6 x i8] c"SxFoo\00"
|
@OBJC_CLASS_NAME_.180 = private unnamed_addr constant [6 x i8] c"SxFoo\00"
|
||||||
@OBJC_METH_VAR_NAME_ = private unnamed_addr constant [5 x i8] c"bump\00"
|
@OBJC_METH_VAR_NAME_ = private unnamed_addr constant [5 x i8] c"bump\00"
|
||||||
@OBJC_METH_VAR_TYPE_ = private unnamed_addr constant [4 x i8] c"v@:\00"
|
@OBJC_METH_VAR_TYPE_ = private unnamed_addr constant [4 x i8] c"v@:\00"
|
||||||
@OBJC_METH_VAR_NAME_.40 = private unnamed_addr constant [8 x i8] c"dealloc\00"
|
@OBJC_METH_VAR_NAME_.181 = private unnamed_addr constant [8 x i8] c"dealloc\00"
|
||||||
@OBJC_METH_VAR_TYPE_.41 = private unnamed_addr constant [4 x i8] c"v@:\00"
|
@OBJC_METH_VAR_TYPE_.182 = private unnamed_addr constant [4 x i8] c"v@:\00"
|
||||||
@OBJC_METH_VAR_NAME_.42 = private unnamed_addr constant [6 x i8] c"alloc\00"
|
@OBJC_METH_VAR_NAME_.183 = private unnamed_addr constant [6 x i8] c"alloc\00"
|
||||||
@OBJC_METH_VAR_TYPE_.43 = private unnamed_addr constant [4 x i8] c"@@:\00"
|
@OBJC_METH_VAR_TYPE_.184 = private unnamed_addr constant [4 x i8] c"@@:\00"
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @out(ptr) #0
|
declare void @out(ptr) #0
|
||||||
@@ -339,7 +336,7 @@ entry:
|
|||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.162, i64 14 }, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
store i64 0, ptr %allocaN, align 8
|
store i64 0, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
@@ -435,7 +432,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me
|
|||||||
|
|
||||||
if.then.12: ; preds = %if.then.9
|
if.then.12: ; preds = %if.then.9
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.163, i64 36 })
|
||||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -443,7 +440,7 @@ if.then.12: ; preds = %if.then.9
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.164, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -453,13 +450,13 @@ if.then.12: ; preds = %if.then.9
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.165, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.13
|
br label %if.merge.13
|
||||||
|
|
||||||
if.merge.13: ; preds = %if.then.12, %if.then.9
|
if.merge.13: ; preds = %if.then.12, %if.then.9
|
||||||
%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.25, i64 43 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.166, i64 43 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -467,7 +464,7 @@ if.merge.13: ; preds = %if.then.12, %if.the
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.167, i64 5 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 1
|
%addN = add i64 %loadN, 1
|
||||||
@@ -481,7 +478,7 @@ if.merge.13: ; preds = %if.then.12, %if.the
|
|||||||
|
|
||||||
if.then.23: ; preds = %if.else.10
|
if.then.23: ; preds = %if.else.10
|
||||||
%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.27, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.168, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -489,7 +486,7 @@ if.then.23: ; preds = %if.else.10
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.169, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -500,7 +497,7 @@ if.then.23: ; preds = %if.else.10
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.170, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -557,7 +554,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el
|
|||||||
|
|
||||||
if.then.32: ; preds = %if.then.29
|
if.then.32: ; preds = %if.then.29
|
||||||
%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.30, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.171, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -565,7 +562,7 @@ if.then.32: ; preds = %if.then.29
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.172, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -576,7 +573,7 @@ if.then.32: ; preds = %if.then.29
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.173, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -596,7 +593,7 @@ if.merge.34: ; preds = %if.else.33, %if.the
|
|||||||
|
|
||||||
if.then.35: ; preds = %while.exit.2
|
if.then.35: ; preds = %while.exit.2
|
||||||
%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.33, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.174, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -604,7 +601,7 @@ if.then.35: ; preds = %while.exit.2
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.175, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
@@ -615,7 +612,7 @@ if.then.35: ; preds = %while.exit.2
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.176, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.36
|
br label %if.merge.36
|
||||||
|
|
||||||
@@ -692,6 +689,414 @@ declare i64 @write(i32, ptr, i64)
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @log_emit(ptr, ptr, ptr) #0
|
declare void @log_emit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @socket(i32, i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @setsockopt(i32, i32, i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @bind(i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @listen(i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @accept(i32, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.21(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.22(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i16 @htons(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @CAllocator.alloc.23(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @CAllocator.dealloc.24(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @GPA.init.25(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @GPA.alloc.26(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @GPA.dealloc.27(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.add_chunk.28(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.init.29(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.reset.30(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.deinit.31(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Arena.alloc.32(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.dealloc.33(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.init.34(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.reset.35(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.alloc.36(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.dealloc.37(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.init.38(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @TrackingAllocator.leak_count.39(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.report.40(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @TrackingAllocator.alloc.41(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.dealloc.42(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open.43(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.44(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.45(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.46(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.47(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.48(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.49(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.50(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.51(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.52(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.53(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.54(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.55(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.56(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.57(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.58(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.59(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.60(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.61(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.62(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.63(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.64(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.65(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.66(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.67(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.68(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.69(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.70(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.71(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.72(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.put(ptr, ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put_byte(ptr, ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.flush(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @hex_digit(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_u_escape(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_string(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_int(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_value(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_array(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_object(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @write_to_buffer(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_to_file(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @hex_value(ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @encode_utf8(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.skip_ws(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Parser.expect_lit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.read_hex4(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.decode_into(ptr, ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_string(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.parse_number(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_array(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_object(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_value(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||||
|
|
||||||
@@ -803,6 +1208,336 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare i64 @build_options() #0
|
declare i64 @build_options() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces.73(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len.74() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated.75() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at.76(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string.77(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current.78(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames.79(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen.80(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose.81(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread.82(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof.83(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv.84(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen.85(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system.86(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run.87(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env.88(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable.89(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit.90(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit.91(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.92(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgv() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgc() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_ok(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_usage(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @os_argc(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @os_args(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @Parsed.is_set(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @is_long_flag(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse.93(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 i32 @open.94(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.95(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.96(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.97(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.98(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.99(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.100(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.101(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.102(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.103(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.104(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.105(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.106(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.107(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.108(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.109(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.110(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.111(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.112(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.113(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.114(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.115(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.116(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.117(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.118(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.119(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.120(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.121(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.122(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.123(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @rotr(ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.process_block(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.update(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @Sha256.final(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @nibble_hex(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @init(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @sha256_hex(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.124(ptr, i1) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_link_flag.125(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_framework.126(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_output_path.127(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_wasm_shell.128(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_asset_dir.129(i64, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.asset_dir_count.130(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_src_at.131(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_dest_at.132(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_callback.133(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_module.134(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.binary_path.135(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_path.136(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_id.137(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_codesign_identity.138(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_provisioning_profile.139(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_path.140(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_id.141(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.codesign_identity.142(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.provisioning_profile.143(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.target_triple.144(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_macos.145(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios.146(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_device.147(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_simulator.148(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_android.149(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_count.150(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_at.151(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_path_count.152(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_path_at.153(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_manifest_path.154(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_keystore_path.155(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.manifest_path.156(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.keystore_path.157(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.jni_main_count.158(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_foreign_path_at.159(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_java_source_at.160(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @build_options.161() #0
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal void @SxFoo.bump(ptr %0, ptr %1) #0 {
|
define internal void @SxFoo.bump(ptr %0, ptr %1) #0 {
|
||||||
entry:
|
entry:
|
||||||
@@ -844,14 +1579,14 @@ entry:
|
|||||||
define internal void @print__ct_sfeff9eeccd48b824__pack(ptr %0) #0 {
|
define internal void @print__ct_sfeff9eeccd48b824__pack(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.36, i64 9 }, ptr %alloca, align 8
|
store { ptr, i64 } { ptr @str.177, i64 9 }, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||||
store ptr null, ptr %gep, align 8
|
store ptr null, ptr %gep, align 8
|
||||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||||
store i64 0, ptr %gepN, align 8
|
store i64 0, ptr %gepN, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.37, i64 0 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.178, i64 0 }, ptr %allocaN, align 8
|
||||||
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 9)
|
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 9)
|
||||||
@@ -867,7 +1602,7 @@ entry:
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.38, i64 9 })
|
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.179, i64 9 })
|
||||||
ret { ptr, i64 } %call
|
ret { ptr, i64 } %call
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -947,17 +1682,17 @@ declare ptr @class_getInstanceVariable(ptr, ptr)
|
|||||||
define internal void @__sx_objc_defined_class_init() {
|
define internal void @__sx_objc_defined_class_init() {
|
||||||
entry:
|
entry:
|
||||||
%super_cls = call ptr @objc_getClass(ptr @OBJC_CLASS_NAME_)
|
%super_cls = call ptr @objc_getClass(ptr @OBJC_CLASS_NAME_)
|
||||||
%cls = call ptr @objc_allocateClassPair(ptr %super_cls, ptr @OBJC_CLASS_NAME_.39, i64 0)
|
%cls = call ptr @objc_allocateClassPair(ptr %super_cls, ptr @OBJC_CLASS_NAME_.180, i64 0)
|
||||||
%0 = call i8 @class_addIvar(ptr %cls, ptr @OBJC_IVAR_NAME_, i64 8, i8 3, ptr @OBJC_IVAR_TYPE_)
|
%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)
|
%metacls = call ptr @object_getClass(ptr %cls)
|
||||||
%sel = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_)
|
%sel = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_)
|
||||||
%1 = call i8 @class_addMethod(ptr %cls, ptr %sel, ptr @__SxFoo_bump_imp, ptr @OBJC_METH_VAR_TYPE_)
|
%1 = call i8 @class_addMethod(ptr %cls, ptr %sel, ptr @__SxFoo_bump_imp, ptr @OBJC_METH_VAR_TYPE_)
|
||||||
call void @objc_registerClassPair(ptr %cls)
|
call void @objc_registerClassPair(ptr %cls)
|
||||||
store ptr %cls, ptr @__SxFoo_class, align 8
|
store ptr %cls, ptr @__SxFoo_class, align 8
|
||||||
%sel_dealloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.40)
|
%sel_dealloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.181)
|
||||||
%2 = call i8 @class_addMethod(ptr %cls, ptr %sel_dealloc, ptr @__SxFoo_dealloc_imp, ptr @OBJC_METH_VAR_TYPE_.41)
|
%2 = call i8 @class_addMethod(ptr %cls, ptr %sel_dealloc, ptr @__SxFoo_dealloc_imp, ptr @OBJC_METH_VAR_TYPE_.182)
|
||||||
%sel_alloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.42)
|
%sel_alloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.183)
|
||||||
%3 = call i8 @class_addMethod(ptr %metacls, ptr %sel_alloc, ptr @__SxFoo_alloc_imp, ptr @OBJC_METH_VAR_TYPE_.43)
|
%3 = call i8 @class_addMethod(ptr %metacls, ptr %sel_alloc, ptr @__SxFoo_alloc_imp, ptr @OBJC_METH_VAR_TYPE_.184)
|
||||||
%iv = call ptr @class_getInstanceVariable(ptr %cls, ptr @OBJC_IVAR_NAME_)
|
%iv = call ptr @class_getInstanceVariable(ptr %cls, ptr @OBJC_IVAR_NAME_)
|
||||||
store ptr %iv, ptr @__SxFoo_state_ivar, align 8
|
store ptr %iv, ptr @__SxFoo_state_ivar, align 8
|
||||||
ret void
|
ret void
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -1,31 +1,28 @@
|
|||||||
|
|
||||||
@OS = internal global i64 6
|
|
||||||
@ARCH = internal global i64 4
|
|
||||||
@POINTER_SIZE = internal global i64 8
|
|
||||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||||
@OBJC_SELECTOR_REFERENCES_init = internal global ptr null
|
@OBJC_SELECTOR_REFERENCES_init = internal global ptr null
|
||||||
@OBJC_SELECTOR_REFERENCES_release = internal global ptr null
|
@OBJC_SELECTOR_REFERENCES_release = internal global ptr null
|
||||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
@str.162 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.163 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.164 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.165 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
@str.166 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
@str.167 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.168 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.169 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.170 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.171 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.172 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.173 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.174 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.175 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.176 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.36 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.177 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
@str.37 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
@str.178 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||||
@str.38 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.179 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
@OBJC_METH_VAR_NAME_ = private unnamed_addr constant [5 x i8] c"init\00"
|
@OBJC_METH_VAR_NAME_ = private unnamed_addr constant [5 x i8] c"init\00"
|
||||||
@OBJC_METH_VAR_NAME_.39 = private unnamed_addr constant [8 x i8] c"release\00"
|
@OBJC_METH_VAR_NAME_.180 = private unnamed_addr constant [8 x i8] c"release\00"
|
||||||
@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @__sx_objc_selector_init, ptr null }]
|
@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @__sx_objc_selector_init, ptr null }]
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
@@ -331,7 +328,7 @@ entry:
|
|||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.162, i64 14 }, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
store i64 0, ptr %allocaN, align 8
|
store i64 0, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
@@ -427,7 +424,7 @@ if.merge.11: ; preds = %if.merge.25, %if.me
|
|||||||
|
|
||||||
if.then.12: ; preds = %if.then.9
|
if.then.12: ; preds = %if.then.9
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.163, i64 36 })
|
||||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -435,7 +432,7 @@ if.then.12: ; preds = %if.then.9
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.164, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -445,13 +442,13 @@ if.then.12: ; preds = %if.then.9
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.165, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.13
|
br label %if.merge.13
|
||||||
|
|
||||||
if.merge.13: ; preds = %if.then.12, %if.then.9
|
if.merge.13: ; preds = %if.then.12, %if.then.9
|
||||||
%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.25, i64 43 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.166, i64 43 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -459,7 +456,7 @@ if.merge.13: ; preds = %if.then.12, %if.the
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.167, i64 5 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 1
|
%addN = add i64 %loadN, 1
|
||||||
@@ -473,7 +470,7 @@ if.merge.13: ; preds = %if.then.12, %if.the
|
|||||||
|
|
||||||
if.then.23: ; preds = %if.else.10
|
if.then.23: ; preds = %if.else.10
|
||||||
%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.27, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.168, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -481,7 +478,7 @@ if.then.23: ; preds = %if.else.10
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.169, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -492,7 +489,7 @@ if.then.23: ; preds = %if.else.10
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.170, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -549,7 +546,7 @@ if.merge.31: ; preds = %if.merge.34, %if.el
|
|||||||
|
|
||||||
if.then.32: ; preds = %if.then.29
|
if.then.32: ; preds = %if.then.29
|
||||||
%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.30, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.171, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -557,7 +554,7 @@ if.then.32: ; preds = %if.then.29
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.172, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -568,7 +565,7 @@ if.then.32: ; preds = %if.then.29
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.173, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -588,7 +585,7 @@ if.merge.34: ; preds = %if.else.33, %if.the
|
|||||||
|
|
||||||
if.then.35: ; preds = %while.exit.2
|
if.then.35: ; preds = %while.exit.2
|
||||||
%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.33, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.174, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -596,7 +593,7 @@ if.then.35: ; preds = %while.exit.2
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.175, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
@@ -607,7 +604,7 @@ if.then.35: ; preds = %while.exit.2
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.176, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.36
|
br label %if.merge.36
|
||||||
|
|
||||||
@@ -684,6 +681,414 @@ declare i64 @write(i32, ptr, i64)
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @log_emit(ptr, ptr, ptr) #0
|
declare void @log_emit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @socket(i32, i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @setsockopt(i32, i32, i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @bind(i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @listen(i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @accept(i32, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.21(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.22(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i16 @htons(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @CAllocator.alloc.23(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @CAllocator.dealloc.24(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @GPA.init.25(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @GPA.alloc.26(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @GPA.dealloc.27(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.add_chunk.28(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.init.29(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.reset.30(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.deinit.31(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Arena.alloc.32(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.dealloc.33(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.init.34(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.reset.35(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.alloc.36(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.dealloc.37(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.init.38(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @TrackingAllocator.leak_count.39(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.report.40(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @TrackingAllocator.alloc.41(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.dealloc.42(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open.43(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.44(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.45(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.46(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.47(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.48(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.49(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.50(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.51(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.52(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.53(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.54(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.55(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.56(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.57(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.58(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.59(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.60(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.61(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.62(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.63(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.64(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.65(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.66(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.67(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.68(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.69(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.70(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.71(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.72(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.put(ptr, ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put_byte(ptr, ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.flush(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @hex_digit(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_u_escape(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_string(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_int(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_value(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_array(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_object(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @write_to_buffer(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_to_file(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @hex_value(ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @encode_utf8(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.skip_ws(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Parser.expect_lit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.read_hex4(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.decode_into(ptr, ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_string(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.parse_number(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_array(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_object(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_value(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||||
|
|
||||||
@@ -795,6 +1200,336 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare i64 @build_options() #0
|
declare i64 @build_options() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces.73(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len.74() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated.75() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at.76(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string.77(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current.78(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames.79(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen.80(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose.81(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread.82(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof.83(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv.84(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen.85(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system.86(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run.87(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env.88(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable.89(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit.90(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit.91(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.92(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgv() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgc() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_ok(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_usage(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @os_argc(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @os_args(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @Parsed.is_set(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @is_long_flag(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse.93(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 i32 @open.94(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.95(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.96(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.97(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.98(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.99(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.100(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.101(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.102(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.103(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.104(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.105(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.106(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.107(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.108(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.109(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.110(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.111(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.112(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.113(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.114(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.115(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.116(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.117(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.118(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.119(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.120(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.121(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.122(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.123(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @rotr(ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.process_block(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.update(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @Sha256.final(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @nibble_hex(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @init(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @sha256_hex(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.124(ptr, i1) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_link_flag.125(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_framework.126(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_output_path.127(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_wasm_shell.128(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_asset_dir.129(i64, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.asset_dir_count.130(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_src_at.131(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_dest_at.132(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_callback.133(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_module.134(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.binary_path.135(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_path.136(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_id.137(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_codesign_identity.138(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_provisioning_profile.139(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_path.140(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_id.141(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.codesign_identity.142(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.provisioning_profile.143(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.target_triple.144(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_macos.145(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios.146(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_device.147(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_simulator.148(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_android.149(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_count.150(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_at.151(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_path_count.152(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_path_at.153(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_manifest_path.154(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_keystore_path.155(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.manifest_path.156(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.keystore_path.157(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.jni_main_count.158(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_foreign_path_at.159(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_java_source_at.160(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @build_options.161() #0
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define i32 @main() #0 {
|
define i32 @main() #0 {
|
||||||
entry:
|
entry:
|
||||||
@@ -829,14 +1564,14 @@ entry:
|
|||||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.36, i64 3 }, ptr %alloca, align 8
|
store { ptr, i64 } { ptr @str.177, i64 3 }, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||||
store ptr null, ptr %gep, align 8
|
store ptr null, ptr %gep, align 8
|
||||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||||
store i64 0, ptr %gepN, align 8
|
store i64 0, ptr %gepN, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.37, i64 0 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.178, i64 0 }, ptr %allocaN, align 8
|
||||||
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||||
@@ -852,7 +1587,7 @@ entry:
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.38, i64 3 })
|
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.179, i64 3 })
|
||||||
ret { ptr, i64 } %call
|
ret { ptr, i64 } %call
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -864,7 +1599,7 @@ define internal void @__sx_objc_selector_init() {
|
|||||||
entry:
|
entry:
|
||||||
%sel = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_)
|
%sel = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_)
|
||||||
store ptr %sel, ptr @OBJC_SELECTOR_REFERENCES_init, align 8
|
store ptr %sel, ptr @OBJC_SELECTOR_REFERENCES_init, align 8
|
||||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.39)
|
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.180)
|
||||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_release, align 8
|
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_release, align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -2,30 +2,30 @@
|
|||||||
@g_should_call = internal global i1 false
|
@g_should_call = internal global i1 false
|
||||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
@str.125 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.126 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.127 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.128 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
@str.129 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
@str.130 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.131 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.132 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.133 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.134 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.135 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.136 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.137 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.138 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.139 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.36 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
@str.140 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
||||||
@str.37 = private unnamed_addr constant [4 x i8] c"()V\00", align 1
|
@str.141 = private unnamed_addr constant [4 x i8] c"()V\00", align 1
|
||||||
@SX_JNI_CLS_noop____V = internal global ptr null
|
@SX_JNI_CLS_noop____V = internal global ptr null
|
||||||
@SX_JNI_MID_noop____V = internal global ptr null
|
@SX_JNI_MID_noop____V = internal global ptr null
|
||||||
@str.38 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
@str.142 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
||||||
@str.39 = private unnamed_addr constant [4 x i8] c"()V\00", align 1
|
@str.143 = private unnamed_addr constant [4 x i8] c"()V\00", align 1
|
||||||
@str.40 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.144 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
@str.41 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
@str.145 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||||
@str.42 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.146 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @out(ptr) #0
|
declare void @out(ptr) #0
|
||||||
@@ -330,7 +330,7 @@ entry:
|
|||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.125, i64 14 }, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
store i64 0, ptr %allocaN, align 8
|
store i64 0, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
@@ -426,7 +426,7 @@ if.merge.13: ; preds = %if.merge.27, %if.me
|
|||||||
|
|
||||||
if.then.14: ; preds = %if.then.11
|
if.then.14: ; preds = %if.then.11
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.126, i64 36 })
|
||||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -434,7 +434,7 @@ if.then.14: ; preds = %if.then.11
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.127, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -444,13 +444,13 @@ if.then.14: ; preds = %if.then.11
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.128, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.15
|
br label %if.merge.15
|
||||||
|
|
||||||
if.merge.15: ; preds = %if.then.14, %if.then.11
|
if.merge.15: ; preds = %if.then.14, %if.then.11
|
||||||
%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.25, i64 43 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.129, i64 43 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -458,7 +458,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.130, i64 5 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 1
|
%addN = add i64 %loadN, 1
|
||||||
@@ -472,7 +472,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
|||||||
|
|
||||||
if.then.25: ; preds = %if.else.12
|
if.then.25: ; preds = %if.else.12
|
||||||
%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.27, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.131, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -480,7 +480,7 @@ if.then.25: ; preds = %if.else.12
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.132, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -491,7 +491,7 @@ if.then.25: ; preds = %if.else.12
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.133, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -548,7 +548,7 @@ if.merge.33: ; preds = %if.merge.36, %if.el
|
|||||||
|
|
||||||
if.then.34: ; preds = %if.then.31
|
if.then.34: ; preds = %if.then.31
|
||||||
%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.30, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.134, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -556,7 +556,7 @@ if.then.34: ; preds = %if.then.31
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.135, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -567,7 +567,7 @@ if.then.34: ; preds = %if.then.31
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.136, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -587,7 +587,7 @@ if.merge.36: ; preds = %if.else.35, %if.the
|
|||||||
|
|
||||||
if.then.37: ; preds = %while.exit.4
|
if.then.37: ; preds = %while.exit.4
|
||||||
%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.33, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.137, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -595,7 +595,7 @@ if.then.37: ; preds = %while.exit.4
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.138, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
@@ -606,7 +606,7 @@ if.then.37: ; preds = %while.exit.4
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.139, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.38
|
br label %if.merge.38
|
||||||
|
|
||||||
@@ -683,6 +683,744 @@ declare i64 @write(i32, ptr, i64)
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @log_emit(ptr, ptr, ptr) #0
|
declare void @log_emit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @socket(i32, i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @setsockopt(i32, i32, i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @bind(i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @listen(i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @accept(i32, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.21(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.22(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i16 @htons(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @CAllocator.alloc.23(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @CAllocator.dealloc.24(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @GPA.init.25(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @GPA.alloc.26(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @GPA.dealloc.27(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.add_chunk.28(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.init.29(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.reset.30(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.deinit.31(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Arena.alloc.32(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.dealloc.33(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.init.34(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.reset.35(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.alloc.36(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.dealloc.37(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.init.38(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @TrackingAllocator.leak_count.39(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.report.40(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @TrackingAllocator.alloc.41(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.dealloc.42(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open.43(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.44(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.45(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.46(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.47(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.48(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.49(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.50(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.51(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.52(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.53(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.54(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.55(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.56(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.57(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.58(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.59(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.60(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.61(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.62(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.63(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.64(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.65(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.66(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.67(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.68(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.69(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.70(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.71(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.72(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.put(ptr, ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put_byte(ptr, ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.flush(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @hex_digit(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_u_escape(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_string(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_int(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_value(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_array(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_object(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @write_to_buffer(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_to_file(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @hex_value(ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @encode_utf8(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.skip_ws(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Parser.expect_lit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.read_hex4(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.decode_into(ptr, ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_string(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.parse_number(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_array(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_object(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_value(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_framework(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_output_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_wasm_shell(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_asset_dir(i64, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.asset_dir_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_src_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_dest_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_callback(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_module(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.binary_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_id(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_codesign_identity(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_provisioning_profile(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_id(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.codesign_identity(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.provisioning_profile(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.target_triple(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_macos(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_device(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_simulator(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_android(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_path_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_manifest_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_keystore_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.manifest_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.keystore_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.jni_main_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_foreign_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @build_options() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces.73(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len.74() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated.75() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at.76(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string.77(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current.78(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames.79(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen.80(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose.81(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread.82(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof.83(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv.84(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen.85(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system.86(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run.87(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env.88(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable.89(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit.90(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit.91(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.92(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgv() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgc() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_ok(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_usage(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @os_argc(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @os_args(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @Parsed.is_set(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @is_long_flag(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse.93(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 i32 @open.94(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.95(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.96(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.97(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.98(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.99(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.100(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.101(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.102(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.103(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.104(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.105(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.106(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.107(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.108(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.109(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.110(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.111(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.112(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.113(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.114(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.115(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.116(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.117(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.118(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.119(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.120(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.121(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.122(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.123(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @rotr(ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.process_block(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.update(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @Sha256.final(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @nibble_hex(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @init(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @sha256_hex(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.124(ptr, i1) #0
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 {
|
define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 {
|
||||||
entry:
|
entry:
|
||||||
@@ -709,7 +1447,7 @@ jni.miss: ; preds = %entry
|
|||||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_noop____V, align 8
|
store ptr %jni.global.cls, ptr @SX_JNI_CLS_noop____V, align 8
|
||||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||||
%jni.GetMethodID = load ptr, ptr %5, align 8
|
%jni.GetMethodID = load ptr, ptr %5, align 8
|
||||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.36, ptr @str.37)
|
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.140, ptr @str.141)
|
||||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_noop____V, align 8
|
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_noop____V, align 8
|
||||||
br label %jni.cont
|
br label %jni.cont
|
||||||
|
|
||||||
@@ -734,7 +1472,7 @@ jni.miss7: ; preds = %jni.cont
|
|||||||
store ptr %jni.global.cls12, ptr @SX_JNI_CLS_noop____V, align 8
|
store ptr %jni.global.cls12, ptr @SX_JNI_CLS_noop____V, align 8
|
||||||
%9 = getelementptr inbounds ptr, ptr %jni.ifs4, i32 33
|
%9 = getelementptr inbounds ptr, ptr %jni.ifs4, i32 33
|
||||||
%jni.GetMethodID13 = load ptr, ptr %9, align 8
|
%jni.GetMethodID13 = load ptr, ptr %9, align 8
|
||||||
%jni.fresh.mid14 = call ptr %jni.GetMethodID13(ptr %load, ptr %jni.global.cls12, ptr @str.38, ptr @str.39)
|
%jni.fresh.mid14 = call ptr %jni.GetMethodID13(ptr %load, ptr %jni.global.cls12, ptr @str.142, ptr @str.143)
|
||||||
store ptr %jni.fresh.mid14, ptr @SX_JNI_MID_noop____V, align 8
|
store ptr %jni.fresh.mid14, ptr @SX_JNI_MID_noop____V, align 8
|
||||||
br label %jni.cont8
|
br label %jni.cont8
|
||||||
|
|
||||||
@@ -786,14 +1524,14 @@ declare void @sx_jni_env_tl_set(ptr) #0
|
|||||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.40, i64 3 }, ptr %alloca, align 8
|
store { ptr, i64 } { ptr @str.144, i64 3 }, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||||
store ptr null, ptr %gep, align 8
|
store ptr null, ptr %gep, align 8
|
||||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||||
store i64 0, ptr %gepN, align 8
|
store i64 0, ptr %gepN, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.41, i64 0 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.145, i64 0 }, ptr %allocaN, align 8
|
||||||
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||||
@@ -809,6 +1547,6 @@ entry:
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.42, i64 3 })
|
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.146, i64 3 })
|
||||||
ret { ptr, i64 } %call
|
ret { ptr, i64 } %call
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,28 +2,28 @@
|
|||||||
@g_should_call = internal global i1 false
|
@g_should_call = internal global i1 false
|
||||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
@str.125 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.126 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.127 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.128 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
@str.129 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
@str.130 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.131 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.132 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.133 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.134 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.135 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.136 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.137 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.138 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.139 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.36 = private unnamed_addr constant [9 x i8] c"getCount\00", align 1
|
@str.140 = private unnamed_addr constant [9 x i8] c"getCount\00", align 1
|
||||||
@str.37 = private unnamed_addr constant [4 x i8] c"()I\00", align 1
|
@str.141 = private unnamed_addr constant [4 x i8] c"()I\00", align 1
|
||||||
@SX_JNI_CLS_getCount____I = internal global ptr null
|
@SX_JNI_CLS_getCount____I = internal global ptr null
|
||||||
@SX_JNI_MID_getCount____I = internal global ptr null
|
@SX_JNI_MID_getCount____I = internal global ptr null
|
||||||
@str.38 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.142 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
@str.39 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
@str.143 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||||
@str.40 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.144 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @out(ptr) #0
|
declare void @out(ptr) #0
|
||||||
@@ -328,7 +328,7 @@ entry:
|
|||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.125, i64 14 }, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
store i64 0, ptr %allocaN, align 8
|
store i64 0, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
@@ -424,7 +424,7 @@ if.merge.13: ; preds = %if.merge.27, %if.me
|
|||||||
|
|
||||||
if.then.14: ; preds = %if.then.11
|
if.then.14: ; preds = %if.then.11
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.126, i64 36 })
|
||||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -432,7 +432,7 @@ if.then.14: ; preds = %if.then.11
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.127, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -442,13 +442,13 @@ if.then.14: ; preds = %if.then.11
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.128, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.15
|
br label %if.merge.15
|
||||||
|
|
||||||
if.merge.15: ; preds = %if.then.14, %if.then.11
|
if.merge.15: ; preds = %if.then.14, %if.then.11
|
||||||
%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.25, i64 43 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.129, i64 43 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -456,7 +456,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.130, i64 5 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 1
|
%addN = add i64 %loadN, 1
|
||||||
@@ -470,7 +470,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
|||||||
|
|
||||||
if.then.25: ; preds = %if.else.12
|
if.then.25: ; preds = %if.else.12
|
||||||
%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.27, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.131, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -478,7 +478,7 @@ if.then.25: ; preds = %if.else.12
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.132, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -489,7 +489,7 @@ if.then.25: ; preds = %if.else.12
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.133, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -546,7 +546,7 @@ if.merge.33: ; preds = %if.merge.36, %if.el
|
|||||||
|
|
||||||
if.then.34: ; preds = %if.then.31
|
if.then.34: ; preds = %if.then.31
|
||||||
%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.30, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.134, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -554,7 +554,7 @@ if.then.34: ; preds = %if.then.31
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.135, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -565,7 +565,7 @@ if.then.34: ; preds = %if.then.31
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.136, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -585,7 +585,7 @@ if.merge.36: ; preds = %if.else.35, %if.the
|
|||||||
|
|
||||||
if.then.37: ; preds = %while.exit.4
|
if.then.37: ; preds = %while.exit.4
|
||||||
%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.33, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.137, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -593,7 +593,7 @@ if.then.37: ; preds = %while.exit.4
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.138, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
@@ -604,7 +604,7 @@ if.then.37: ; preds = %while.exit.4
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.139, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.38
|
br label %if.merge.38
|
||||||
|
|
||||||
@@ -681,6 +681,744 @@ declare i64 @write(i32, ptr, i64)
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @log_emit(ptr, ptr, ptr) #0
|
declare void @log_emit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @socket(i32, i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @setsockopt(i32, i32, i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @bind(i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @listen(i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @accept(i32, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.21(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.22(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i16 @htons(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @CAllocator.alloc.23(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @CAllocator.dealloc.24(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @GPA.init.25(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @GPA.alloc.26(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @GPA.dealloc.27(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.add_chunk.28(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.init.29(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.reset.30(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.deinit.31(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Arena.alloc.32(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.dealloc.33(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.init.34(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.reset.35(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.alloc.36(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.dealloc.37(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.init.38(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @TrackingAllocator.leak_count.39(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.report.40(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @TrackingAllocator.alloc.41(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.dealloc.42(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open.43(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.44(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.45(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.46(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.47(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.48(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.49(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.50(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.51(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.52(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.53(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.54(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.55(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.56(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.57(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.58(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.59(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.60(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.61(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.62(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.63(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.64(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.65(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.66(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.67(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.68(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.69(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.70(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.71(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.72(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.put(ptr, ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put_byte(ptr, ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.flush(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @hex_digit(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_u_escape(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_string(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_int(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_value(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_array(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_object(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @write_to_buffer(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_to_file(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @hex_value(ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @encode_utf8(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.skip_ws(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Parser.expect_lit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.read_hex4(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.decode_into(ptr, ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_string(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.parse_number(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_array(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_object(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_value(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_framework(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_output_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_wasm_shell(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_asset_dir(i64, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.asset_dir_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_src_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_dest_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_callback(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_module(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.binary_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_id(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_codesign_identity(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_provisioning_profile(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_id(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.codesign_identity(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.provisioning_profile(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.target_triple(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_macos(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_device(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_simulator(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_android(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_path_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_manifest_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_keystore_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.manifest_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.keystore_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.jni_main_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_foreign_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @build_options() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces.73(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len.74() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated.75() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at.76(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string.77(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current.78(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames.79(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen.80(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose.81(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread.82(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof.83(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv.84(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen.85(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system.86(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run.87(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env.88(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable.89(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit.90(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit.91(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.92(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgv() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgc() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_ok(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_usage(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @os_argc(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @os_args(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @Parsed.is_set(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @is_long_flag(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse.93(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 i32 @open.94(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.95(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.96(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.97(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.98(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.99(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.100(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.101(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.102(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.103(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.104(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.105(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.106(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.107(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.108(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.109(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.110(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.111(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.112(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.113(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.114(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.115(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.116(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.117(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.118(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.119(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.120(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.121(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.122(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.123(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @rotr(ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.process_block(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.update(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @Sha256.final(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @nibble_hex(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @init(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @sha256_hex(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.124(ptr, i1) #0
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal i32 @read_int(ptr %0, ptr %1, ptr %2) #0 {
|
define internal i32 @read_int(ptr %0, ptr %1, ptr %2) #0 {
|
||||||
entry:
|
entry:
|
||||||
@@ -707,7 +1445,7 @@ jni.miss: ; preds = %entry
|
|||||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_getCount____I, align 8
|
store ptr %jni.global.cls, ptr @SX_JNI_CLS_getCount____I, align 8
|
||||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||||
%jni.GetMethodID = load ptr, ptr %5, align 8
|
%jni.GetMethodID = load ptr, ptr %5, align 8
|
||||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.36, ptr @str.37)
|
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.140, ptr @str.141)
|
||||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_getCount____I, align 8
|
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_getCount____I, align 8
|
||||||
br label %jni.cont
|
br label %jni.cont
|
||||||
|
|
||||||
@@ -761,14 +1499,14 @@ declare void @sx_jni_env_tl_set(ptr) #0
|
|||||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.38, i64 3 }, ptr %alloca, align 8
|
store { ptr, i64 } { ptr @str.142, i64 3 }, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||||
store ptr null, ptr %gep, align 8
|
store ptr null, ptr %gep, align 8
|
||||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||||
store i64 0, ptr %gepN, align 8
|
store i64 0, ptr %gepN, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.39, i64 0 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.143, i64 0 }, ptr %allocaN, align 8
|
||||||
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||||
@@ -784,6 +1522,6 @@ entry:
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.144, i64 3 })
|
||||||
ret { ptr, i64 } %call
|
ret { ptr, i64 } %call
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,28 +2,28 @@
|
|||||||
@g_should_call = internal global i1 false
|
@g_should_call = internal global i1 false
|
||||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
@str.125 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.126 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.127 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.128 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
@str.129 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
@str.130 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.131 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.132 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.133 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.134 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.135 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.136 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.137 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.138 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.139 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.36 = private unnamed_addr constant [18 x i8] c"currentTimeMillis\00", align 1
|
@str.140 = private unnamed_addr constant [18 x i8] c"currentTimeMillis\00", align 1
|
||||||
@str.37 = private unnamed_addr constant [4 x i8] c"()J\00", align 1
|
@str.141 = private unnamed_addr constant [4 x i8] c"()J\00", align 1
|
||||||
@SX_JNI_CLS_currentTimeMillis____J = internal global ptr null
|
@SX_JNI_CLS_currentTimeMillis____J = internal global ptr null
|
||||||
@SX_JNI_MID_currentTimeMillis____J = internal global ptr null
|
@SX_JNI_MID_currentTimeMillis____J = internal global ptr null
|
||||||
@str.38 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.142 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
@str.39 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
@str.143 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||||
@str.40 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.144 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @out(ptr) #0
|
declare void @out(ptr) #0
|
||||||
@@ -328,7 +328,7 @@ entry:
|
|||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.125, i64 14 }, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
store i64 0, ptr %allocaN, align 8
|
store i64 0, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
@@ -424,7 +424,7 @@ if.merge.13: ; preds = %if.merge.27, %if.me
|
|||||||
|
|
||||||
if.then.14: ; preds = %if.then.11
|
if.then.14: ; preds = %if.then.11
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.126, i64 36 })
|
||||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -432,7 +432,7 @@ if.then.14: ; preds = %if.then.11
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.127, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -442,13 +442,13 @@ if.then.14: ; preds = %if.then.11
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.128, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.15
|
br label %if.merge.15
|
||||||
|
|
||||||
if.merge.15: ; preds = %if.then.14, %if.then.11
|
if.merge.15: ; preds = %if.then.14, %if.then.11
|
||||||
%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.25, i64 43 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.129, i64 43 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -456,7 +456,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.130, i64 5 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 1
|
%addN = add i64 %loadN, 1
|
||||||
@@ -470,7 +470,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
|||||||
|
|
||||||
if.then.25: ; preds = %if.else.12
|
if.then.25: ; preds = %if.else.12
|
||||||
%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.27, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.131, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -478,7 +478,7 @@ if.then.25: ; preds = %if.else.12
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.132, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -489,7 +489,7 @@ if.then.25: ; preds = %if.else.12
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.133, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -546,7 +546,7 @@ if.merge.33: ; preds = %if.merge.36, %if.el
|
|||||||
|
|
||||||
if.then.34: ; preds = %if.then.31
|
if.then.34: ; preds = %if.then.31
|
||||||
%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.30, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.134, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -554,7 +554,7 @@ if.then.34: ; preds = %if.then.31
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.135, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -565,7 +565,7 @@ if.then.34: ; preds = %if.then.31
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.136, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -585,7 +585,7 @@ if.merge.36: ; preds = %if.else.35, %if.the
|
|||||||
|
|
||||||
if.then.37: ; preds = %while.exit.4
|
if.then.37: ; preds = %while.exit.4
|
||||||
%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.33, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.137, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -593,7 +593,7 @@ if.then.37: ; preds = %while.exit.4
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.138, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
@@ -604,7 +604,7 @@ if.then.37: ; preds = %while.exit.4
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.139, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.38
|
br label %if.merge.38
|
||||||
|
|
||||||
@@ -681,6 +681,744 @@ declare i64 @write(i32, ptr, i64)
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @log_emit(ptr, ptr, ptr) #0
|
declare void @log_emit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @socket(i32, i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @setsockopt(i32, i32, i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @bind(i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @listen(i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @accept(i32, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.21(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.22(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i16 @htons(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @CAllocator.alloc.23(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @CAllocator.dealloc.24(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @GPA.init.25(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @GPA.alloc.26(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @GPA.dealloc.27(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.add_chunk.28(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.init.29(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.reset.30(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.deinit.31(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Arena.alloc.32(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.dealloc.33(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.init.34(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.reset.35(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.alloc.36(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.dealloc.37(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.init.38(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @TrackingAllocator.leak_count.39(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.report.40(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @TrackingAllocator.alloc.41(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.dealloc.42(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open.43(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.44(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.45(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.46(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.47(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.48(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.49(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.50(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.51(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.52(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.53(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.54(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.55(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.56(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.57(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.58(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.59(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.60(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.61(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.62(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.63(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.64(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.65(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.66(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.67(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.68(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.69(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.70(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.71(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.72(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.put(ptr, ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put_byte(ptr, ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.flush(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @hex_digit(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_u_escape(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_string(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_int(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_value(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_array(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_object(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @write_to_buffer(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_to_file(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @hex_value(ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @encode_utf8(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.skip_ws(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Parser.expect_lit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.read_hex4(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.decode_into(ptr, ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_string(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.parse_number(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_array(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_object(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_value(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_framework(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_output_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_wasm_shell(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_asset_dir(i64, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.asset_dir_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_src_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_dest_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_callback(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_module(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.binary_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_id(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_codesign_identity(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_provisioning_profile(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_id(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.codesign_identity(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.provisioning_profile(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.target_triple(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_macos(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_device(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_simulator(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_android(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_path_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_manifest_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_keystore_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.manifest_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.keystore_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.jni_main_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_foreign_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @build_options() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces.73(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len.74() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated.75() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at.76(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string.77(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current.78(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames.79(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen.80(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose.81(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread.82(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof.83(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv.84(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen.85(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system.86(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run.87(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env.88(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable.89(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit.90(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit.91(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.92(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgv() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgc() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_ok(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_usage(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @os_argc(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @os_args(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @Parsed.is_set(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @is_long_flag(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse.93(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 i32 @open.94(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.95(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.96(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.97(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.98(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.99(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.100(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.101(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.102(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.103(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.104(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.105(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.106(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.107(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.108(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.109(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.110(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.111(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.112(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.113(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.114(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.115(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.116(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.117(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.118(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.119(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.120(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.121(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.122(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.123(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @rotr(ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.process_block(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.update(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @Sha256.final(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @nibble_hex(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @init(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @sha256_hex(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.124(ptr, i1) #0
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal i64 @read_long(ptr %0, ptr %1, ptr %2) #0 {
|
define internal i64 @read_long(ptr %0, ptr %1, ptr %2) #0 {
|
||||||
entry:
|
entry:
|
||||||
@@ -707,7 +1445,7 @@ jni.miss: ; preds = %entry
|
|||||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_currentTimeMillis____J, align 8
|
store ptr %jni.global.cls, ptr @SX_JNI_CLS_currentTimeMillis____J, align 8
|
||||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||||
%jni.GetMethodID = load ptr, ptr %5, align 8
|
%jni.GetMethodID = load ptr, ptr %5, align 8
|
||||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.36, ptr @str.37)
|
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.140, ptr @str.141)
|
||||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_currentTimeMillis____J, align 8
|
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_currentTimeMillis____J, align 8
|
||||||
br label %jni.cont
|
br label %jni.cont
|
||||||
|
|
||||||
@@ -761,14 +1499,14 @@ declare void @sx_jni_env_tl_set(ptr) #0
|
|||||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.38, i64 3 }, ptr %alloca, align 8
|
store { ptr, i64 } { ptr @str.142, i64 3 }, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||||
store ptr null, ptr %gep, align 8
|
store ptr null, ptr %gep, align 8
|
||||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||||
store i64 0, ptr %gepN, align 8
|
store i64 0, ptr %gepN, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.39, i64 0 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.143, i64 0 }, ptr %allocaN, align 8
|
||||||
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||||
@@ -784,6 +1522,6 @@ entry:
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.144, i64 3 })
|
||||||
ret { ptr, i64 } %call
|
ret { ptr, i64 } %call
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,28 +2,28 @@
|
|||||||
@g_should_call = internal global i1 false
|
@g_should_call = internal global i1 false
|
||||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
@str.125 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.126 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.127 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.128 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
@str.129 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
@str.130 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.131 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.132 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.133 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.134 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.135 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.136 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.137 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.138 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.139 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.36 = private unnamed_addr constant [9 x i8] c"getValue\00", align 1
|
@str.140 = private unnamed_addr constant [9 x i8] c"getValue\00", align 1
|
||||||
@str.37 = private unnamed_addr constant [4 x i8] c"()D\00", align 1
|
@str.141 = private unnamed_addr constant [4 x i8] c"()D\00", align 1
|
||||||
@SX_JNI_CLS_getValue____D = internal global ptr null
|
@SX_JNI_CLS_getValue____D = internal global ptr null
|
||||||
@SX_JNI_MID_getValue____D = internal global ptr null
|
@SX_JNI_MID_getValue____D = internal global ptr null
|
||||||
@str.38 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.142 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
@str.39 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
@str.143 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||||
@str.40 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.144 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @out(ptr) #0
|
declare void @out(ptr) #0
|
||||||
@@ -328,7 +328,7 @@ entry:
|
|||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.125, i64 14 }, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
store i64 0, ptr %allocaN, align 8
|
store i64 0, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
@@ -424,7 +424,7 @@ if.merge.13: ; preds = %if.merge.27, %if.me
|
|||||||
|
|
||||||
if.then.14: ; preds = %if.then.11
|
if.then.14: ; preds = %if.then.11
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.126, i64 36 })
|
||||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -432,7 +432,7 @@ if.then.14: ; preds = %if.then.11
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.127, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -442,13 +442,13 @@ if.then.14: ; preds = %if.then.11
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.128, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.15
|
br label %if.merge.15
|
||||||
|
|
||||||
if.merge.15: ; preds = %if.then.14, %if.then.11
|
if.merge.15: ; preds = %if.then.14, %if.then.11
|
||||||
%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.25, i64 43 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.129, i64 43 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -456,7 +456,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.130, i64 5 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 1
|
%addN = add i64 %loadN, 1
|
||||||
@@ -470,7 +470,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
|||||||
|
|
||||||
if.then.25: ; preds = %if.else.12
|
if.then.25: ; preds = %if.else.12
|
||||||
%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.27, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.131, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -478,7 +478,7 @@ if.then.25: ; preds = %if.else.12
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.132, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -489,7 +489,7 @@ if.then.25: ; preds = %if.else.12
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.133, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -546,7 +546,7 @@ if.merge.33: ; preds = %if.merge.36, %if.el
|
|||||||
|
|
||||||
if.then.34: ; preds = %if.then.31
|
if.then.34: ; preds = %if.then.31
|
||||||
%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.30, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.134, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -554,7 +554,7 @@ if.then.34: ; preds = %if.then.31
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.135, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -565,7 +565,7 @@ if.then.34: ; preds = %if.then.31
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.136, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -585,7 +585,7 @@ if.merge.36: ; preds = %if.else.35, %if.the
|
|||||||
|
|
||||||
if.then.37: ; preds = %while.exit.4
|
if.then.37: ; preds = %while.exit.4
|
||||||
%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.33, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.137, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -593,7 +593,7 @@ if.then.37: ; preds = %while.exit.4
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.138, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
@@ -604,7 +604,7 @@ if.then.37: ; preds = %while.exit.4
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.139, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.38
|
br label %if.merge.38
|
||||||
|
|
||||||
@@ -681,6 +681,744 @@ declare i64 @write(i32, ptr, i64)
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @log_emit(ptr, ptr, ptr) #0
|
declare void @log_emit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @socket(i32, i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @setsockopt(i32, i32, i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @bind(i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @listen(i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @accept(i32, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.21(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.22(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i16 @htons(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @CAllocator.alloc.23(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @CAllocator.dealloc.24(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @GPA.init.25(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @GPA.alloc.26(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @GPA.dealloc.27(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.add_chunk.28(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.init.29(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.reset.30(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.deinit.31(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Arena.alloc.32(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.dealloc.33(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.init.34(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.reset.35(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.alloc.36(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.dealloc.37(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.init.38(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @TrackingAllocator.leak_count.39(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.report.40(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @TrackingAllocator.alloc.41(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.dealloc.42(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open.43(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.44(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.45(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.46(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.47(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.48(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.49(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.50(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.51(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.52(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.53(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.54(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.55(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.56(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.57(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.58(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.59(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.60(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.61(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.62(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.63(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.64(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.65(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.66(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.67(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.68(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.69(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.70(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.71(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.72(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.put(ptr, ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put_byte(ptr, ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.flush(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @hex_digit(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_u_escape(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_string(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_int(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_value(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_array(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_object(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @write_to_buffer(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_to_file(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @hex_value(ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @encode_utf8(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.skip_ws(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Parser.expect_lit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.read_hex4(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.decode_into(ptr, ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_string(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.parse_number(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_array(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_object(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_value(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_framework(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_output_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_wasm_shell(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_asset_dir(i64, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.asset_dir_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_src_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_dest_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_callback(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_module(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.binary_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_id(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_codesign_identity(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_provisioning_profile(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_id(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.codesign_identity(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.provisioning_profile(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.target_triple(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_macos(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_device(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_simulator(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_android(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_path_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_manifest_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_keystore_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.manifest_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.keystore_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.jni_main_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_foreign_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @build_options() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces.73(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len.74() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated.75() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at.76(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string.77(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current.78(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames.79(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen.80(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose.81(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread.82(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof.83(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv.84(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen.85(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system.86(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run.87(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env.88(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable.89(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit.90(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit.91(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.92(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgv() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgc() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_ok(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_usage(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @os_argc(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @os_args(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @Parsed.is_set(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @is_long_flag(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse.93(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 i32 @open.94(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.95(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.96(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.97(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.98(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.99(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.100(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.101(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.102(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.103(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.104(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.105(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.106(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.107(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.108(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.109(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.110(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.111(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.112(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.113(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.114(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.115(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.116(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.117(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.118(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.119(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.120(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.121(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.122(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.123(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @rotr(ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.process_block(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.update(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @Sha256.final(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @nibble_hex(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @init(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @sha256_hex(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.124(ptr, i1) #0
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal double @read_double(ptr %0, ptr %1, ptr %2) #0 {
|
define internal double @read_double(ptr %0, ptr %1, ptr %2) #0 {
|
||||||
entry:
|
entry:
|
||||||
@@ -707,7 +1445,7 @@ jni.miss: ; preds = %entry
|
|||||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_getValue____D, align 8
|
store ptr %jni.global.cls, ptr @SX_JNI_CLS_getValue____D, align 8
|
||||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||||
%jni.GetMethodID = load ptr, ptr %5, align 8
|
%jni.GetMethodID = load ptr, ptr %5, align 8
|
||||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.36, ptr @str.37)
|
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.140, ptr @str.141)
|
||||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_getValue____D, align 8
|
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_getValue____D, align 8
|
||||||
br label %jni.cont
|
br label %jni.cont
|
||||||
|
|
||||||
@@ -761,14 +1499,14 @@ declare void @sx_jni_env_tl_set(ptr) #0
|
|||||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.38, i64 3 }, ptr %alloca, align 8
|
store { ptr, i64 } { ptr @str.142, i64 3 }, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||||
store ptr null, ptr %gep, align 8
|
store ptr null, ptr %gep, align 8
|
||||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||||
store i64 0, ptr %gepN, align 8
|
store i64 0, ptr %gepN, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.39, i64 0 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.143, i64 0 }, ptr %allocaN, align 8
|
||||||
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||||
@@ -784,6 +1522,6 @@ entry:
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.144, i64 3 })
|
||||||
ret { ptr, i64 } %call
|
ret { ptr, i64 } %call
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,28 +2,28 @@
|
|||||||
@g_should_call = internal global i1 false
|
@g_should_call = internal global i1 false
|
||||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
@str.125 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.126 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.127 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.128 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
@str.129 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
@str.130 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.131 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.132 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.133 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.134 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.135 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.136 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.137 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.138 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.139 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.36 = private unnamed_addr constant [8 x i8] c"isShown\00", align 1
|
@str.140 = private unnamed_addr constant [8 x i8] c"isShown\00", align 1
|
||||||
@str.37 = private unnamed_addr constant [4 x i8] c"()Z\00", align 1
|
@str.141 = private unnamed_addr constant [4 x i8] c"()Z\00", align 1
|
||||||
@SX_JNI_CLS_isShown____Z = internal global ptr null
|
@SX_JNI_CLS_isShown____Z = internal global ptr null
|
||||||
@SX_JNI_MID_isShown____Z = internal global ptr null
|
@SX_JNI_MID_isShown____Z = internal global ptr null
|
||||||
@str.38 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.142 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
@str.39 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
@str.143 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||||
@str.40 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.144 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @out(ptr) #0
|
declare void @out(ptr) #0
|
||||||
@@ -328,7 +328,7 @@ entry:
|
|||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.125, i64 14 }, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
store i64 0, ptr %allocaN, align 8
|
store i64 0, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
@@ -424,7 +424,7 @@ if.merge.13: ; preds = %if.merge.27, %if.me
|
|||||||
|
|
||||||
if.then.14: ; preds = %if.then.11
|
if.then.14: ; preds = %if.then.11
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.126, i64 36 })
|
||||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -432,7 +432,7 @@ if.then.14: ; preds = %if.then.11
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.127, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -442,13 +442,13 @@ if.then.14: ; preds = %if.then.11
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.128, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.15
|
br label %if.merge.15
|
||||||
|
|
||||||
if.merge.15: ; preds = %if.then.14, %if.then.11
|
if.merge.15: ; preds = %if.then.14, %if.then.11
|
||||||
%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.25, i64 43 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.129, i64 43 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -456,7 +456,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.130, i64 5 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 1
|
%addN = add i64 %loadN, 1
|
||||||
@@ -470,7 +470,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
|||||||
|
|
||||||
if.then.25: ; preds = %if.else.12
|
if.then.25: ; preds = %if.else.12
|
||||||
%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.27, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.131, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -478,7 +478,7 @@ if.then.25: ; preds = %if.else.12
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.132, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -489,7 +489,7 @@ if.then.25: ; preds = %if.else.12
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.133, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -546,7 +546,7 @@ if.merge.33: ; preds = %if.merge.36, %if.el
|
|||||||
|
|
||||||
if.then.34: ; preds = %if.then.31
|
if.then.34: ; preds = %if.then.31
|
||||||
%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.30, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.134, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -554,7 +554,7 @@ if.then.34: ; preds = %if.then.31
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.135, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -565,7 +565,7 @@ if.then.34: ; preds = %if.then.31
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.136, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -585,7 +585,7 @@ if.merge.36: ; preds = %if.else.35, %if.the
|
|||||||
|
|
||||||
if.then.37: ; preds = %while.exit.4
|
if.then.37: ; preds = %while.exit.4
|
||||||
%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.33, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.137, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -593,7 +593,7 @@ if.then.37: ; preds = %while.exit.4
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.138, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
@@ -604,7 +604,7 @@ if.then.37: ; preds = %while.exit.4
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.139, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.38
|
br label %if.merge.38
|
||||||
|
|
||||||
@@ -681,6 +681,744 @@ declare i64 @write(i32, ptr, i64)
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @log_emit(ptr, ptr, ptr) #0
|
declare void @log_emit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @socket(i32, i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @setsockopt(i32, i32, i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @bind(i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @listen(i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @accept(i32, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.21(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.22(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i16 @htons(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @CAllocator.alloc.23(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @CAllocator.dealloc.24(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @GPA.init.25(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @GPA.alloc.26(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @GPA.dealloc.27(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.add_chunk.28(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.init.29(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.reset.30(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.deinit.31(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Arena.alloc.32(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.dealloc.33(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.init.34(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.reset.35(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.alloc.36(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.dealloc.37(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.init.38(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @TrackingAllocator.leak_count.39(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.report.40(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @TrackingAllocator.alloc.41(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.dealloc.42(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open.43(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.44(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.45(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.46(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.47(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.48(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.49(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.50(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.51(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.52(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.53(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.54(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.55(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.56(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.57(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.58(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.59(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.60(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.61(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.62(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.63(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.64(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.65(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.66(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.67(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.68(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.69(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.70(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.71(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.72(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.put(ptr, ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put_byte(ptr, ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.flush(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @hex_digit(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_u_escape(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_string(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_int(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_value(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_array(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_object(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @write_to_buffer(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_to_file(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @hex_value(ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @encode_utf8(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.skip_ws(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Parser.expect_lit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.read_hex4(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.decode_into(ptr, ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_string(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.parse_number(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_array(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_object(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_value(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_framework(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_output_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_wasm_shell(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_asset_dir(i64, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.asset_dir_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_src_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_dest_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_callback(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_module(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.binary_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_id(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_codesign_identity(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_provisioning_profile(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_id(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.codesign_identity(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.provisioning_profile(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.target_triple(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_macos(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_device(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_simulator(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_android(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_path_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_manifest_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_keystore_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.manifest_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.keystore_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.jni_main_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_foreign_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @build_options() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces.73(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len.74() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated.75() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at.76(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string.77(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current.78(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames.79(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen.80(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose.81(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread.82(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof.83(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv.84(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen.85(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system.86(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run.87(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env.88(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable.89(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit.90(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit.91(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.92(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgv() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgc() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_ok(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_usage(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @os_argc(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @os_args(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @Parsed.is_set(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @is_long_flag(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse.93(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 i32 @open.94(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.95(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.96(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.97(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.98(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.99(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.100(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.101(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.102(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.103(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.104(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.105(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.106(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.107(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.108(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.109(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.110(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.111(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.112(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.113(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.114(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.115(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.116(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.117(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.118(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.119(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.120(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.121(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.122(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.123(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @rotr(ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.process_block(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.update(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @Sha256.final(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @nibble_hex(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @init(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @sha256_hex(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.124(ptr, i1) #0
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal i1 @read_bool(ptr %0, ptr %1, ptr %2) #0 {
|
define internal i1 @read_bool(ptr %0, ptr %1, ptr %2) #0 {
|
||||||
entry:
|
entry:
|
||||||
@@ -707,7 +1445,7 @@ jni.miss: ; preds = %entry
|
|||||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_isShown____Z, align 8
|
store ptr %jni.global.cls, ptr @SX_JNI_CLS_isShown____Z, align 8
|
||||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||||
%jni.GetMethodID = load ptr, ptr %5, align 8
|
%jni.GetMethodID = load ptr, ptr %5, align 8
|
||||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.36, ptr @str.37)
|
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.140, ptr @str.141)
|
||||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_isShown____Z, align 8
|
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_isShown____Z, align 8
|
||||||
br label %jni.cont
|
br label %jni.cont
|
||||||
|
|
||||||
@@ -761,14 +1499,14 @@ declare void @sx_jni_env_tl_set(ptr) #0
|
|||||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.38, i64 3 }, ptr %alloca, align 8
|
store { ptr, i64 } { ptr @str.142, i64 3 }, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||||
store ptr null, ptr %gep, align 8
|
store ptr null, ptr %gep, align 8
|
||||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||||
store i64 0, ptr %gepN, align 8
|
store i64 0, ptr %gepN, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.39, i64 0 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.143, i64 0 }, ptr %allocaN, align 8
|
||||||
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||||
@@ -784,6 +1522,6 @@ entry:
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.144, i64 3 })
|
||||||
ret { ptr, i64 } %call
|
ret { ptr, i64 } %call
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,28 +2,28 @@
|
|||||||
@g_should_call = internal global i1 false
|
@g_should_call = internal global i1 false
|
||||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
@str.125 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.126 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.127 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.128 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
@str.129 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
@str.130 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.131 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.132 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.133 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.134 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.135 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.136 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.137 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.138 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.139 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.36 = private unnamed_addr constant [10 x i8] c"getWindow\00", align 1
|
@str.140 = private unnamed_addr constant [10 x i8] c"getWindow\00", align 1
|
||||||
@str.37 = private unnamed_addr constant [24 x i8] c"()Landroid/view/Window;\00", align 1
|
@str.141 = private unnamed_addr constant [24 x i8] c"()Landroid/view/Window;\00", align 1
|
||||||
@SX_JNI_CLS_getWindow____Landroid_view_Window_ = internal global ptr null
|
@SX_JNI_CLS_getWindow____Landroid_view_Window_ = internal global ptr null
|
||||||
@SX_JNI_MID_getWindow____Landroid_view_Window_ = internal global ptr null
|
@SX_JNI_MID_getWindow____Landroid_view_Window_ = internal global ptr null
|
||||||
@str.38 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.142 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
@str.39 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
@str.143 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||||
@str.40 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.144 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @out(ptr) #0
|
declare void @out(ptr) #0
|
||||||
@@ -328,7 +328,7 @@ entry:
|
|||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.125, i64 14 }, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
store i64 0, ptr %allocaN, align 8
|
store i64 0, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
@@ -424,7 +424,7 @@ if.merge.13: ; preds = %if.merge.27, %if.me
|
|||||||
|
|
||||||
if.then.14: ; preds = %if.then.11
|
if.then.14: ; preds = %if.then.11
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.126, i64 36 })
|
||||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -432,7 +432,7 @@ if.then.14: ; preds = %if.then.11
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.127, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -442,13 +442,13 @@ if.then.14: ; preds = %if.then.11
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.128, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.15
|
br label %if.merge.15
|
||||||
|
|
||||||
if.merge.15: ; preds = %if.then.14, %if.then.11
|
if.merge.15: ; preds = %if.then.14, %if.then.11
|
||||||
%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.25, i64 43 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.129, i64 43 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -456,7 +456,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.130, i64 5 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 1
|
%addN = add i64 %loadN, 1
|
||||||
@@ -470,7 +470,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
|||||||
|
|
||||||
if.then.25: ; preds = %if.else.12
|
if.then.25: ; preds = %if.else.12
|
||||||
%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.27, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.131, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -478,7 +478,7 @@ if.then.25: ; preds = %if.else.12
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.132, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -489,7 +489,7 @@ if.then.25: ; preds = %if.else.12
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.133, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -546,7 +546,7 @@ if.merge.33: ; preds = %if.merge.36, %if.el
|
|||||||
|
|
||||||
if.then.34: ; preds = %if.then.31
|
if.then.34: ; preds = %if.then.31
|
||||||
%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.30, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.134, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -554,7 +554,7 @@ if.then.34: ; preds = %if.then.31
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.135, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -565,7 +565,7 @@ if.then.34: ; preds = %if.then.31
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.136, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -585,7 +585,7 @@ if.merge.36: ; preds = %if.else.35, %if.the
|
|||||||
|
|
||||||
if.then.37: ; preds = %while.exit.4
|
if.then.37: ; preds = %while.exit.4
|
||||||
%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.33, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.137, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -593,7 +593,7 @@ if.then.37: ; preds = %while.exit.4
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.138, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
@@ -604,7 +604,7 @@ if.then.37: ; preds = %while.exit.4
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.139, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.38
|
br label %if.merge.38
|
||||||
|
|
||||||
@@ -681,6 +681,744 @@ declare i64 @write(i32, ptr, i64)
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @log_emit(ptr, ptr, ptr) #0
|
declare void @log_emit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @socket(i32, i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @setsockopt(i32, i32, i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @bind(i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @listen(i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @accept(i32, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.21(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.22(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i16 @htons(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @CAllocator.alloc.23(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @CAllocator.dealloc.24(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @GPA.init.25(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @GPA.alloc.26(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @GPA.dealloc.27(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.add_chunk.28(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.init.29(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.reset.30(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.deinit.31(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Arena.alloc.32(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.dealloc.33(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.init.34(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.reset.35(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.alloc.36(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.dealloc.37(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.init.38(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @TrackingAllocator.leak_count.39(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.report.40(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @TrackingAllocator.alloc.41(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.dealloc.42(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open.43(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.44(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.45(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.46(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.47(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.48(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.49(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.50(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.51(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.52(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.53(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.54(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.55(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.56(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.57(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.58(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.59(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.60(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.61(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.62(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.63(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.64(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.65(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.66(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.67(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.68(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.69(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.70(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.71(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.72(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.put(ptr, ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put_byte(ptr, ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.flush(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @hex_digit(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_u_escape(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_string(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_int(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_value(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_array(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_object(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @write_to_buffer(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_to_file(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @hex_value(ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @encode_utf8(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.skip_ws(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Parser.expect_lit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.read_hex4(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.decode_into(ptr, ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_string(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.parse_number(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_array(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_object(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_value(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_framework(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_output_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_wasm_shell(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_asset_dir(i64, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.asset_dir_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_src_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_dest_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_callback(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_module(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.binary_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_id(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_codesign_identity(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_provisioning_profile(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_id(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.codesign_identity(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.provisioning_profile(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.target_triple(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_macos(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_device(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_simulator(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_android(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_path_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_manifest_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_keystore_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.manifest_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.keystore_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.jni_main_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_foreign_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @build_options() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces.73(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len.74() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated.75() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at.76(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string.77(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current.78(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames.79(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen.80(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose.81(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread.82(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof.83(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv.84(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen.85(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system.86(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run.87(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env.88(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable.89(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit.90(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit.91(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.92(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgv() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgc() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_ok(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_usage(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @os_argc(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @os_args(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @Parsed.is_set(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @is_long_flag(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse.93(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 i32 @open.94(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.95(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.96(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.97(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.98(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.99(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.100(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.101(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.102(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.103(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.104(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.105(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.106(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.107(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.108(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.109(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.110(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.111(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.112(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.113(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.114(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.115(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.116(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.117(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.118(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.119(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.120(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.121(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.122(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.123(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @rotr(ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.process_block(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.update(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @Sha256.final(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @nibble_hex(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @init(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @sha256_hex(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.124(ptr, i1) #0
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal ptr @get_window(ptr %0, ptr %1, ptr %2) #0 {
|
define internal ptr @get_window(ptr %0, ptr %1, ptr %2) #0 {
|
||||||
entry:
|
entry:
|
||||||
@@ -707,7 +1445,7 @@ jni.miss: ; preds = %entry
|
|||||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_getWindow____Landroid_view_Window_, align 8
|
store ptr %jni.global.cls, ptr @SX_JNI_CLS_getWindow____Landroid_view_Window_, align 8
|
||||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||||
%jni.GetMethodID = load ptr, ptr %5, align 8
|
%jni.GetMethodID = load ptr, ptr %5, align 8
|
||||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.36, ptr @str.37)
|
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.140, ptr @str.141)
|
||||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_getWindow____Landroid_view_Window_, align 8
|
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_getWindow____Landroid_view_Window_, align 8
|
||||||
br label %jni.cont
|
br label %jni.cont
|
||||||
|
|
||||||
@@ -761,14 +1499,14 @@ declare void @sx_jni_env_tl_set(ptr) #0
|
|||||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.38, i64 3 }, ptr %alloca, align 8
|
store { ptr, i64 } { ptr @str.142, i64 3 }, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||||
store ptr null, ptr %gep, align 8
|
store ptr null, ptr %gep, align 8
|
||||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||||
store i64 0, ptr %gepN, align 8
|
store i64 0, ptr %gepN, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.39, i64 0 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.143, i64 0 }, ptr %allocaN, align 8
|
||||||
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||||
@@ -784,6 +1522,6 @@ entry:
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.144, i64 3 })
|
||||||
ret { ptr, i64 } %call
|
ret { ptr, i64 } %call
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,28 +2,28 @@
|
|||||||
@g_should_call = internal global i1 false
|
@g_should_call = internal global i1 false
|
||||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
@str.125 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.126 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.127 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.128 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
@str.129 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
@str.130 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.131 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.132 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.133 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.134 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.135 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.136 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.137 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.138 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.139 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.36 = private unnamed_addr constant [4 x i8] c"max\00", align 1
|
@str.140 = private unnamed_addr constant [4 x i8] c"max\00", align 1
|
||||||
@str.37 = private unnamed_addr constant [6 x i8] c"(II)I\00", align 1
|
@str.141 = private unnamed_addr constant [6 x i8] c"(II)I\00", align 1
|
||||||
@SX_JNI_CLS_max___II_I = internal global ptr null
|
@SX_JNI_CLS_max___II_I = internal global ptr null
|
||||||
@SX_JNI_MID_max___II_I = internal global ptr null
|
@SX_JNI_MID_max___II_I = internal global ptr null
|
||||||
@str.38 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.142 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
@str.39 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
@str.143 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||||
@str.40 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.144 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @out(ptr) #0
|
declare void @out(ptr) #0
|
||||||
@@ -328,7 +328,7 @@ entry:
|
|||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.125, i64 14 }, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
store i64 0, ptr %allocaN, align 8
|
store i64 0, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
@@ -424,7 +424,7 @@ if.merge.13: ; preds = %if.merge.27, %if.me
|
|||||||
|
|
||||||
if.then.14: ; preds = %if.then.11
|
if.then.14: ; preds = %if.then.11
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.126, i64 36 })
|
||||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -432,7 +432,7 @@ if.then.14: ; preds = %if.then.11
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.127, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -442,13 +442,13 @@ if.then.14: ; preds = %if.then.11
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.128, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.15
|
br label %if.merge.15
|
||||||
|
|
||||||
if.merge.15: ; preds = %if.then.14, %if.then.11
|
if.merge.15: ; preds = %if.then.14, %if.then.11
|
||||||
%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.25, i64 43 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.129, i64 43 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -456,7 +456,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.130, i64 5 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 1
|
%addN = add i64 %loadN, 1
|
||||||
@@ -470,7 +470,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
|||||||
|
|
||||||
if.then.25: ; preds = %if.else.12
|
if.then.25: ; preds = %if.else.12
|
||||||
%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.27, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.131, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -478,7 +478,7 @@ if.then.25: ; preds = %if.else.12
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.132, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -489,7 +489,7 @@ if.then.25: ; preds = %if.else.12
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.133, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -546,7 +546,7 @@ if.merge.33: ; preds = %if.merge.36, %if.el
|
|||||||
|
|
||||||
if.then.34: ; preds = %if.then.31
|
if.then.34: ; preds = %if.then.31
|
||||||
%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.30, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.134, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -554,7 +554,7 @@ if.then.34: ; preds = %if.then.31
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.135, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -565,7 +565,7 @@ if.then.34: ; preds = %if.then.31
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.136, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -585,7 +585,7 @@ if.merge.36: ; preds = %if.else.35, %if.the
|
|||||||
|
|
||||||
if.then.37: ; preds = %while.exit.4
|
if.then.37: ; preds = %while.exit.4
|
||||||
%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.33, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.137, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -593,7 +593,7 @@ if.then.37: ; preds = %while.exit.4
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.138, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
@@ -604,7 +604,7 @@ if.then.37: ; preds = %while.exit.4
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.139, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.38
|
br label %if.merge.38
|
||||||
|
|
||||||
@@ -681,6 +681,744 @@ declare i64 @write(i32, ptr, i64)
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @log_emit(ptr, ptr, ptr) #0
|
declare void @log_emit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @socket(i32, i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @setsockopt(i32, i32, i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @bind(i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @listen(i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @accept(i32, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.21(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.22(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i16 @htons(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @CAllocator.alloc.23(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @CAllocator.dealloc.24(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @GPA.init.25(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @GPA.alloc.26(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @GPA.dealloc.27(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.add_chunk.28(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.init.29(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.reset.30(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.deinit.31(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Arena.alloc.32(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.dealloc.33(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.init.34(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.reset.35(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.alloc.36(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.dealloc.37(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.init.38(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @TrackingAllocator.leak_count.39(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.report.40(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @TrackingAllocator.alloc.41(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.dealloc.42(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open.43(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.44(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.45(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.46(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.47(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.48(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.49(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.50(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.51(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.52(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.53(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.54(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.55(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.56(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.57(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.58(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.59(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.60(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.61(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.62(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.63(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.64(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.65(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.66(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.67(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.68(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.69(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.70(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.71(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.72(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.put(ptr, ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put_byte(ptr, ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.flush(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @hex_digit(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_u_escape(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_string(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_int(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_value(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_array(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_object(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @write_to_buffer(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_to_file(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @hex_value(ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @encode_utf8(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.skip_ws(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Parser.expect_lit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.read_hex4(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.decode_into(ptr, ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_string(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.parse_number(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_array(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_object(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_value(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_framework(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_output_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_wasm_shell(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_asset_dir(i64, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.asset_dir_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_src_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_dest_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_callback(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_module(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.binary_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_id(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_codesign_identity(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_provisioning_profile(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_id(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.codesign_identity(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.provisioning_profile(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.target_triple(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_macos(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_device(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_simulator(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_android(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_path_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_manifest_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_keystore_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.manifest_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.keystore_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.jni_main_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_foreign_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @build_options() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces.73(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len.74() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated.75() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at.76(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string.77(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current.78(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames.79(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen.80(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose.81(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread.82(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof.83(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv.84(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen.85(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system.86(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run.87(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env.88(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable.89(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit.90(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit.91(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.92(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgv() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgc() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_ok(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_usage(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @os_argc(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @os_args(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @Parsed.is_set(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @is_long_flag(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse.93(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 i32 @open.94(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.95(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.96(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.97(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.98(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.99(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.100(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.101(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.102(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.103(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.104(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.105(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.106(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.107(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.108(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.109(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.110(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.111(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.112(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.113(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.114(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.115(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.116(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.117(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.118(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.119(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.120(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.121(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.122(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.123(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @rotr(ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.process_block(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.update(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @Sha256.final(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @nibble_hex(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @init(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @sha256_hex(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.124(ptr, i1) #0
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal i32 @call_static_max(ptr %0, ptr %1, ptr %2) #0 {
|
define internal i32 @call_static_max(ptr %0, ptr %1, ptr %2) #0 {
|
||||||
entry:
|
entry:
|
||||||
@@ -704,7 +1442,7 @@ jni.miss: ; preds = %entry
|
|||||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_max___II_I, align 8
|
store ptr %jni.global.cls, ptr @SX_JNI_CLS_max___II_I, align 8
|
||||||
%4 = getelementptr inbounds ptr, ptr %jni.ifs, i32 113
|
%4 = getelementptr inbounds ptr, ptr %jni.ifs, i32 113
|
||||||
%jni.GetStaticMethodID = load ptr, ptr %4, align 8
|
%jni.GetStaticMethodID = load ptr, ptr %4, align 8
|
||||||
%jni.fresh.mid = call ptr %jni.GetStaticMethodID(ptr %load, ptr %jni.global.cls, ptr @str.36, ptr @str.37)
|
%jni.fresh.mid = call ptr %jni.GetStaticMethodID(ptr %load, ptr %jni.global.cls, ptr @str.140, ptr @str.141)
|
||||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_max___II_I, align 8
|
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_max___II_I, align 8
|
||||||
br label %jni.cont
|
br label %jni.cont
|
||||||
|
|
||||||
@@ -758,14 +1496,14 @@ declare void @sx_jni_env_tl_set(ptr) #0
|
|||||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.38, i64 3 }, ptr %alloca, align 8
|
store { ptr, i64 } { ptr @str.142, i64 3 }, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||||
store ptr null, ptr %gep, align 8
|
store ptr null, ptr %gep, align 8
|
||||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||||
store i64 0, ptr %gepN, align 8
|
store i64 0, ptr %gepN, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.39, i64 0 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.143, i64 0 }, ptr %allocaN, align 8
|
||||||
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||||
@@ -781,6 +1519,6 @@ entry:
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.144, i64 3 })
|
||||||
ret { ptr, i64 } %call
|
ret { ptr, i64 } %call
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,28 +2,28 @@
|
|||||||
@g_should_call = internal global i1 false
|
@g_should_call = internal global i1 false
|
||||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
@str.125 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.126 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.127 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.128 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
@str.129 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
@str.130 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.131 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.132 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.133 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.134 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.135 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.136 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.137 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.138 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.139 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.36 = private unnamed_addr constant [10 x i8] c"getWindow\00", align 1
|
@str.140 = private unnamed_addr constant [10 x i8] c"getWindow\00", align 1
|
||||||
@str.37 = private unnamed_addr constant [21 x i8] c"()Ljava/lang/Object;\00", align 1
|
@str.141 = private unnamed_addr constant [21 x i8] c"()Ljava/lang/Object;\00", align 1
|
||||||
@SX_JNI_CLS_getWindow____Ljava_lang_Object_ = internal global ptr null
|
@SX_JNI_CLS_getWindow____Ljava_lang_Object_ = internal global ptr null
|
||||||
@SX_JNI_MID_getWindow____Ljava_lang_Object_ = internal global ptr null
|
@SX_JNI_MID_getWindow____Ljava_lang_Object_ = internal global ptr null
|
||||||
@str.38 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.142 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
@str.39 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
@str.143 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||||
@str.40 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.144 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @out(ptr) #0
|
declare void @out(ptr) #0
|
||||||
@@ -328,7 +328,7 @@ entry:
|
|||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.125, i64 14 }, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
store i64 0, ptr %allocaN, align 8
|
store i64 0, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
@@ -424,7 +424,7 @@ if.merge.13: ; preds = %if.merge.27, %if.me
|
|||||||
|
|
||||||
if.then.14: ; preds = %if.then.11
|
if.then.14: ; preds = %if.then.11
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.126, i64 36 })
|
||||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -432,7 +432,7 @@ if.then.14: ; preds = %if.then.11
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.127, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -442,13 +442,13 @@ if.then.14: ; preds = %if.then.11
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.128, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.15
|
br label %if.merge.15
|
||||||
|
|
||||||
if.merge.15: ; preds = %if.then.14, %if.then.11
|
if.merge.15: ; preds = %if.then.14, %if.then.11
|
||||||
%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.25, i64 43 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.129, i64 43 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -456,7 +456,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.130, i64 5 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 1
|
%addN = add i64 %loadN, 1
|
||||||
@@ -470,7 +470,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
|||||||
|
|
||||||
if.then.25: ; preds = %if.else.12
|
if.then.25: ; preds = %if.else.12
|
||||||
%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.27, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.131, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -478,7 +478,7 @@ if.then.25: ; preds = %if.else.12
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.132, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -489,7 +489,7 @@ if.then.25: ; preds = %if.else.12
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.133, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -546,7 +546,7 @@ if.merge.33: ; preds = %if.merge.36, %if.el
|
|||||||
|
|
||||||
if.then.34: ; preds = %if.then.31
|
if.then.34: ; preds = %if.then.31
|
||||||
%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.30, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.134, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -554,7 +554,7 @@ if.then.34: ; preds = %if.then.31
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.135, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -565,7 +565,7 @@ if.then.34: ; preds = %if.then.31
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.136, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -585,7 +585,7 @@ if.merge.36: ; preds = %if.else.35, %if.the
|
|||||||
|
|
||||||
if.then.37: ; preds = %while.exit.4
|
if.then.37: ; preds = %while.exit.4
|
||||||
%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.33, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.137, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -593,7 +593,7 @@ if.then.37: ; preds = %while.exit.4
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.138, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
@@ -604,7 +604,7 @@ if.then.37: ; preds = %while.exit.4
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.139, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.38
|
br label %if.merge.38
|
||||||
|
|
||||||
@@ -681,6 +681,744 @@ declare i64 @write(i32, ptr, i64)
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @log_emit(ptr, ptr, ptr) #0
|
declare void @log_emit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @socket(i32, i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @setsockopt(i32, i32, i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @bind(i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @listen(i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @accept(i32, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.21(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.22(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i16 @htons(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @CAllocator.alloc.23(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @CAllocator.dealloc.24(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @GPA.init.25(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @GPA.alloc.26(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @GPA.dealloc.27(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.add_chunk.28(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.init.29(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.reset.30(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.deinit.31(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Arena.alloc.32(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.dealloc.33(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.init.34(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.reset.35(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.alloc.36(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.dealloc.37(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.init.38(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @TrackingAllocator.leak_count.39(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.report.40(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @TrackingAllocator.alloc.41(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.dealloc.42(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open.43(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.44(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.45(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.46(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.47(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.48(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.49(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.50(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.51(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.52(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.53(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.54(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.55(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.56(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.57(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.58(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.59(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.60(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.61(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.62(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.63(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.64(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.65(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.66(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.67(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.68(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.69(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.70(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.71(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.72(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.put(ptr, ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put_byte(ptr, ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.flush(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @hex_digit(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_u_escape(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_string(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_int(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_value(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_array(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_object(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @write_to_buffer(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_to_file(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @hex_value(ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @encode_utf8(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.skip_ws(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Parser.expect_lit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.read_hex4(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.decode_into(ptr, ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_string(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.parse_number(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_array(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_object(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_value(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_framework(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_output_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_wasm_shell(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_asset_dir(i64, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.asset_dir_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_src_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_dest_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_callback(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_module(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.binary_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_id(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_codesign_identity(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_provisioning_profile(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_id(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.codesign_identity(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.provisioning_profile(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.target_triple(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_macos(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_device(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_simulator(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_android(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_path_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_manifest_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_keystore_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.manifest_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.keystore_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.jni_main_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_foreign_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @build_options() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces.73(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len.74() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated.75() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at.76(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string.77(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current.78(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames.79(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen.80(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose.81(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread.82(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof.83(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv.84(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen.85(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system.86(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run.87(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env.88(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable.89(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit.90(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit.91(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.92(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgv() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgc() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_ok(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_usage(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @os_argc(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @os_args(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @Parsed.is_set(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @is_long_flag(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse.93(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 i32 @open.94(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.95(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.96(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.97(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.98(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.99(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.100(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.101(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.102(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.103(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.104(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.105(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.106(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.107(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.108(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.109(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.110(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.111(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.112(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.113(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.114(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.115(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.116(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.117(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.118(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.119(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.120(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.121(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.122(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.123(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @rotr(ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.process_block(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.update(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @Sha256.final(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @nibble_hex(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @init(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @sha256_hex(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.124(ptr, i1) #0
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 {
|
define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 {
|
||||||
entry:
|
entry:
|
||||||
@@ -708,7 +1446,7 @@ jni.miss: ; preds = %entry
|
|||||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_getWindow____Ljava_lang_Object_, align 8
|
store ptr %jni.global.cls, ptr @SX_JNI_CLS_getWindow____Ljava_lang_Object_, align 8
|
||||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||||
%jni.GetMethodID = load ptr, ptr %5, align 8
|
%jni.GetMethodID = load ptr, ptr %5, align 8
|
||||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.36, ptr @str.37)
|
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.140, ptr @str.141)
|
||||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_getWindow____Ljava_lang_Object_, align 8
|
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_getWindow____Ljava_lang_Object_, align 8
|
||||||
br label %jni.cont
|
br label %jni.cont
|
||||||
|
|
||||||
@@ -761,14 +1499,14 @@ declare void @sx_jni_env_tl_set(ptr) #0
|
|||||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.38, i64 3 }, ptr %alloca, align 8
|
store { ptr, i64 } { ptr @str.142, i64 3 }, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||||
store ptr null, ptr %gep, align 8
|
store ptr null, ptr %gep, align 8
|
||||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||||
store i64 0, ptr %gepN, align 8
|
store i64 0, ptr %gepN, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.39, i64 0 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.143, i64 0 }, ptr %allocaN, align 8
|
||||||
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||||
@@ -784,6 +1522,6 @@ entry:
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.144, i64 3 })
|
||||||
ret { ptr, i64 } %call
|
ret { ptr, i64 } %call
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,28 +2,28 @@
|
|||||||
@g_should_call = internal global i1 false
|
@g_should_call = internal global i1 false
|
||||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
@str.125 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.126 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.127 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.128 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
@str.129 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
@str.130 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.131 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.132 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.133 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.134 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.135 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.136 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
@str.137 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
@str.138 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
@str.139 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||||
@str.36 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
@str.140 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
||||||
@str.37 = private unnamed_addr constant [4 x i8] c"()V\00", align 1
|
@str.141 = private unnamed_addr constant [4 x i8] c"()V\00", align 1
|
||||||
@SX_JNI_CLS_noop____V = internal global ptr null
|
@SX_JNI_CLS_noop____V = internal global ptr null
|
||||||
@SX_JNI_MID_noop____V = internal global ptr null
|
@SX_JNI_MID_noop____V = internal global ptr null
|
||||||
@str.38 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.142 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
@str.39 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
@str.143 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||||
@str.40 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
@str.144 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @out(ptr) #0
|
declare void @out(ptr) #0
|
||||||
@@ -328,7 +328,7 @@ entry:
|
|||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.125, i64 14 }, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
store i64 0, ptr %allocaN, align 8
|
store i64 0, ptr %allocaN, align 8
|
||||||
%allocaN = alloca i64, align 8
|
%allocaN = alloca i64, align 8
|
||||||
@@ -424,7 +424,7 @@ if.merge.13: ; preds = %if.merge.27, %if.me
|
|||||||
|
|
||||||
if.then.14: ; preds = %if.then.11
|
if.then.14: ; preds = %if.then.11
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.126, i64 36 })
|
||||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -432,7 +432,7 @@ if.then.14: ; preds = %if.then.11
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.127, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -442,13 +442,13 @@ if.then.14: ; preds = %if.then.11
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.128, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.15
|
br label %if.merge.15
|
||||||
|
|
||||||
if.merge.15: ; preds = %if.then.14, %if.then.11
|
if.merge.15: ; preds = %if.then.14, %if.then.11
|
||||||
%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.25, i64 43 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.129, i64 43 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -456,7 +456,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.130, i64 5 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 1
|
%addN = add i64 %loadN, 1
|
||||||
@@ -470,7 +470,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
|||||||
|
|
||||||
if.then.25: ; preds = %if.else.12
|
if.then.25: ; preds = %if.else.12
|
||||||
%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.27, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.131, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -478,7 +478,7 @@ if.then.25: ; preds = %if.else.12
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.132, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -489,7 +489,7 @@ if.then.25: ; preds = %if.else.12
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.133, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -546,7 +546,7 @@ if.merge.33: ; preds = %if.merge.36, %if.el
|
|||||||
|
|
||||||
if.then.34: ; preds = %if.then.31
|
if.then.34: ; preds = %if.then.31
|
||||||
%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.30, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.134, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -554,7 +554,7 @@ if.then.34: ; preds = %if.then.31
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.135, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -565,7 +565,7 @@ if.then.34: ; preds = %if.then.31
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.136, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
%addN = add i64 %loadN, 2
|
%addN = add i64 %loadN, 2
|
||||||
@@ -585,7 +585,7 @@ if.merge.36: ; preds = %if.else.35, %if.the
|
|||||||
|
|
||||||
if.then.37: ; preds = %while.exit.4
|
if.then.37: ; preds = %while.exit.4
|
||||||
%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.33, i64 36 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.137, i64 36 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load i64, ptr %allocaN, align 8
|
%loadN = load i64, ptr %allocaN, align 8
|
||||||
@@ -593,7 +593,7 @@ if.then.37: ; preds = %while.exit.4
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.138, i64 2 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
@@ -604,7 +604,7 @@ if.then.37: ; preds = %while.exit.4
|
|||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.139, i64 4 })
|
||||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||||
br label %if.merge.38
|
br label %if.merge.38
|
||||||
|
|
||||||
@@ -681,6 +681,744 @@ declare i64 @write(i32, ptr, i64)
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @log_emit(ptr, ptr, ptr) #0
|
declare void @log_emit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @socket(i32, i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @setsockopt(i32, i32, i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @bind(i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @listen(i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @accept(i32, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.21(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.22(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i16 @htons(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @CAllocator.alloc.23(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @CAllocator.dealloc.24(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @GPA.init.25(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @GPA.alloc.26(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @GPA.dealloc.27(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.add_chunk.28(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.init.29(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.reset.30(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.deinit.31(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Arena.alloc.32(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.dealloc.33(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.init.34(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.reset.35(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.alloc.36(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.dealloc.37(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.init.38(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @TrackingAllocator.leak_count.39(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.report.40(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @TrackingAllocator.alloc.41(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.dealloc.42(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open.43(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.44(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.45(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.46(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.47(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.48(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.49(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.50(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.51(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.52(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.53(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.54(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.55(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.56(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.57(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.58(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.59(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.60(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.61(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.62(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.63(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.64(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.65(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.66(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.67(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.68(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.69(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.70(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.71(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.72(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.put(ptr, ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put_byte(ptr, ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.flush(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @hex_digit(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_u_escape(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_string(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_int(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_value(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_array(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_object(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @write_to_buffer(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_to_file(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @hex_value(ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @encode_utf8(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.skip_ws(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Parser.expect_lit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.read_hex4(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.decode_into(ptr, ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_string(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.parse_number(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_array(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_object(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_value(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_framework(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_output_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_wasm_shell(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_asset_dir(i64, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.asset_dir_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_src_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_dest_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_callback(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_module(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.binary_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_id(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_codesign_identity(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_provisioning_profile(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_id(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.codesign_identity(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.provisioning_profile(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.target_triple(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_macos(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_device(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_simulator(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_android(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_path_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_manifest_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_keystore_path(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.manifest_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.keystore_path(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.jni_main_count(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_foreign_path_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @build_options() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces.73(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len.74() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated.75() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at.76(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string.77(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current.78(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames.79(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen.80(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose.81(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread.82(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof.83(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv.84(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen.85(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system.86(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run.87(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env.88(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable.89(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit.90(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit.91(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.92(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgv() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgc() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_ok(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_usage(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @os_argc(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @os_args(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @Parsed.is_set(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @is_long_flag(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse.93(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 i32 @open.94(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.95(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.96(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.97(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.98(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.99(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.100(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.101(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.102(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.103(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.104(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.105(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.106(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.107(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.108(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.109(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.110(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.111(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.112(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.113(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.114(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.115(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.116(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.117(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.118(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.119(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.120(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.121(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.122(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.123(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @rotr(ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.process_block(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.update(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @Sha256.final(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @nibble_hex(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @init(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @sha256_hex(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.124(ptr, i1) #0
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 {
|
define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 {
|
||||||
entry:
|
entry:
|
||||||
@@ -707,7 +1445,7 @@ jni.miss: ; preds = %entry
|
|||||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_noop____V, align 8
|
store ptr %jni.global.cls, ptr @SX_JNI_CLS_noop____V, align 8
|
||||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||||
%jni.GetMethodID = load ptr, ptr %5, align 8
|
%jni.GetMethodID = load ptr, ptr %5, align 8
|
||||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.36, ptr @str.37)
|
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.140, ptr @str.141)
|
||||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_noop____V, align 8
|
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_noop____V, align 8
|
||||||
br label %jni.cont
|
br label %jni.cont
|
||||||
|
|
||||||
@@ -759,14 +1497,14 @@ declare void @sx_jni_env_tl_set(ptr) #0
|
|||||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%alloca = alloca { ptr, i64 }, align 8
|
%alloca = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.38, i64 3 }, ptr %alloca, align 8
|
store { ptr, i64 } { ptr @str.142, i64 3 }, ptr %alloca, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||||
store ptr null, ptr %gep, align 8
|
store ptr null, ptr %gep, align 8
|
||||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||||
store i64 0, ptr %gepN, align 8
|
store i64 0, ptr %gepN, align 8
|
||||||
%allocaN = alloca { ptr, i64 }, align 8
|
%allocaN = alloca { ptr, i64 }, align 8
|
||||||
store { ptr, i64 } { ptr @str.39, i64 0 }, ptr %allocaN, align 8
|
store { ptr, i64 } { ptr @str.143, i64 0 }, ptr %allocaN, align 8
|
||||||
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
||||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||||
@@ -782,6 +1520,6 @@ entry:
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||||
entry:
|
entry:
|
||||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.144, i64 3 })
|
||||||
ret { ptr, i64 } %call
|
ret { ptr, i64 } %call
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,11 @@
|
|||||||
|
|
||||||
@OS = internal global i64 6
|
|
||||||
@ARCH = internal global i64 4
|
|
||||||
@POINTER_SIZE = internal global i64 8
|
|
||||||
@g_held_view = internal global ptr null
|
@g_held_view = internal global ptr null
|
||||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||||
@str = private unnamed_addr constant [9 x i8] c"onCreate\00", align 1
|
@str = private unnamed_addr constant [9 x i8] c"onCreate\00", align 1
|
||||||
@str.21 = private unnamed_addr constant [23 x i8] c"(Landroid/os/Bundle;)V\00", align 1
|
@str.162 = private unnamed_addr constant [23 x i8] c"(Landroid/os/Bundle;)V\00", align 1
|
||||||
@jni.parent.path = private unnamed_addr constant [21 x i8] c"android/app/Activity\00", align 1
|
@jni.parent.path = private unnamed_addr constant [21 x i8] c"android/app/Activity\00", align 1
|
||||||
@str.22 = private unnamed_addr constant [7 x i8] c"<init>\00", align 1
|
@str.163 = private unnamed_addr constant [7 x i8] c"<init>\00", align 1
|
||||||
@str.23 = private unnamed_addr constant [29 x i8] c"(Landroid/content/Context;)V\00", align 1
|
@str.164 = private unnamed_addr constant [29 x i8] c"(Landroid/content/Context;)V\00", align 1
|
||||||
@jni.ctor.path = private unnamed_addr constant [25 x i8] c"android/view/SurfaceView\00", align 1
|
@jni.ctor.path = private unnamed_addr constant [25 x i8] c"android/view/SurfaceView\00", align 1
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
@@ -207,6 +204,414 @@ declare i64 @write(i32, ptr, i64)
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @log_emit(ptr, ptr, ptr) #0
|
declare void @log_emit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @socket(i32, i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @setsockopt(i32, i32, i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @bind(i32, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @listen(i32, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @accept(i32, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.21(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.22(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i16 @htons(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @CAllocator.alloc.23(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @CAllocator.dealloc.24(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @GPA.init.25(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @GPA.alloc.26(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @GPA.dealloc.27(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.add_chunk.28(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.init.29(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.reset.30(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.deinit.31(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Arena.alloc.32(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Arena.dealloc.33(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.init.34(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.reset.35(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BufAlloc.alloc.36(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BufAlloc.dealloc.37(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.init.38(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @TrackingAllocator.leak_count.39(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.report.40(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @TrackingAllocator.alloc.41(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @TrackingAllocator.dealloc.42(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @open.43(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.44(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.45(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.46(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.47(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.48(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.49(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.50(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.51(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.52(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.53(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.54(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.55(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.56(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.57(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.58(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.59(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.60(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.61(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.62(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.63(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.64(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.65(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.66(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.67(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.68(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.69(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.70(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.71(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.72(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Array.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.put(ptr, ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Object.deinit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put_byte(ptr, ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.put(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Sink.flush(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @hex_digit(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_u_escape(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_string(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_int(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_value(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_array(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_object(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @write_to_buffer(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @write_to_file(ptr, ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @hex_value(ptr, i8) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @encode_utf8(ptr, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.skip_ws(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @Parser.expect_lit(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.read_hex4(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.decode_into(ptr, ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_string(ptr sret({ { ptr, i64 }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [2 x i64] @Parser.parse_number(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_array(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_object(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Parser.parse_value(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse(ptr sret({ { i64, [24 x i8] }, i32 }), ptr, ptr, ptr) #0
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||||
|
|
||||||
@@ -318,6 +723,336 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
|||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
declare i64 @build_options() #0
|
declare i64 @build_options() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @spaces.73(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_len.74() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @sx_trace_truncated.75() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @sx_trace_frame_at.76(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @to_string.77(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_current.78(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @print_interpreter_frames.79(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @popen.80(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @pclose.81(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @fread.82(ptr, i64, i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @feof.83(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @getenv.84(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @strlen.85(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @system.86(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @run.87(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @env.88(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @find_executable.89(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @_exit.90(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit.91(ptr, i8, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.92(ptr, i1, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgv() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @_NSGetArgc() #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_ok(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @exit_usage(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @os_argc(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @os_args(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @Parsed.is_set(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @is_long_flag(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @parse.93(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 i32 @open.94(ptr, i32, ...) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @close.95(i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @read.96(i32, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @lseek.97(i32, i64, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @unlink.98(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rmdir.99(ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mkdir.100(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @access.101(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @chmod.102(ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @rename.103(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.is_valid.104(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @File.close.105(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.read.106(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.write.107(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @File.seek.108(ptr, ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i32 @mode_to_flags.109(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @open_file.110(ptr, ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @read_file.111(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @write_file.112(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @append_file.113(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @exists.114(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_file.115(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @delete_dir.116(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir.117(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @set_mode.118(ptr, ptr, i32) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @move.119(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @create_dir_all.120(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @copy_file.121(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @basename.122(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @dirname.123(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @rotr(ptr, i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @big_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma0(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @small_sigma1(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.process_block(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @Sha256.update(ptr, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @Sha256.final(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i8 @nibble_hex(ptr, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @init(ptr sret({ [8 x i64], [64 x i8], i64, i64 }), ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare [64 x i8] @sha256_hex(ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @assert.124(ptr, i1) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_link_flag.125(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_framework.126(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_output_path.127(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_wasm_shell.128(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.add_asset_dir.129(i64, ptr, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.asset_dir_count.130(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_src_at.131(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.asset_dir_dest_at.132(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_callback.133(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_post_link_module.134(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.binary_path.135(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_path.136(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_bundle_id.137(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_codesign_identity.138(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_provisioning_profile.139(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_path.140(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.bundle_id.141(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.codesign_identity.142(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.provisioning_profile.143(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.target_triple.144(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_macos.145(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios.146(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_device.147(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_ios_simulator.148(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i1 @BuildOptions.is_android.149(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_count.150(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_at.151(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.framework_path_count.152(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.framework_path_at.153(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_manifest_path.154(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare void @BuildOptions.set_keystore_path.155(i64, ptr) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.manifest_path.156(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.keystore_path.157(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @BuildOptions.jni_main_count.158(i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_foreign_path_at.159(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare ptr @BuildOptions.jni_main_java_source_at.160(i64, i64) #0
|
||||||
|
|
||||||
|
; Function Attrs: nounwind
|
||||||
|
declare i64 @build_options.161() #0
|
||||||
|
|
||||||
; Function Attrs: nounwind
|
; Function Attrs: nounwind
|
||||||
define i32 @main() #0 {
|
define i32 @main() #0 {
|
||||||
entry:
|
entry:
|
||||||
@@ -356,7 +1091,7 @@ entry:
|
|||||||
%jni.parent.cls = call ptr %jni.FindClass(ptr %load, ptr @jni.parent.path)
|
%jni.parent.cls = call ptr %jni.FindClass(ptr %load, ptr @jni.parent.path)
|
||||||
%4 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
%4 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||||
%jni.GetMethodID = load ptr, ptr %4, align 8
|
%jni.GetMethodID = load ptr, ptr %4, align 8
|
||||||
%jni.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.parent.cls, ptr @str, ptr @str.21)
|
%jni.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.parent.cls, ptr @str, ptr @str.162)
|
||||||
%jni.parent.cls.slot = alloca ptr, align 8
|
%jni.parent.cls.slot = alloca ptr, align 8
|
||||||
store ptr %jni.parent.cls, ptr %jni.parent.cls.slot, align 8
|
store ptr %jni.parent.cls, ptr %jni.parent.cls.slot, align 8
|
||||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 91
|
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 91
|
||||||
@@ -372,7 +1107,7 @@ entry:
|
|||||||
%jni.ctor.cls = call ptr %jni.FindClass9(ptr %load, ptr @jni.ctor.path)
|
%jni.ctor.cls = call ptr %jni.FindClass9(ptr %load, ptr @jni.ctor.path)
|
||||||
%7 = getelementptr inbounds ptr, ptr %jni.ifs8, i32 33
|
%7 = getelementptr inbounds ptr, ptr %jni.ifs8, i32 33
|
||||||
%jni.GetMethodID10 = load ptr, ptr %7, align 8
|
%jni.GetMethodID10 = load ptr, ptr %7, align 8
|
||||||
%jni.ctor.mid = call ptr %jni.GetMethodID10(ptr %load, ptr %jni.ctor.cls, ptr @str.22, ptr @str.23)
|
%jni.ctor.mid = call ptr %jni.GetMethodID10(ptr %load, ptr %jni.ctor.cls, ptr @str.163, ptr @str.164)
|
||||||
%8 = getelementptr inbounds ptr, ptr %jni.ifs8, i32 28
|
%8 = getelementptr inbounds ptr, ptr %jni.ifs8, i32 28
|
||||||
%jni.NewObject = load ptr, ptr %8, align 8
|
%jni.NewObject = load ptr, ptr %8, align 8
|
||||||
%jni.new.obj = call ptr %jni.NewObject(ptr %load, ptr %jni.ctor.cls, ptr %jni.ctor.mid, ptr %loadN)
|
%jni.new.obj = call ptr %jni.NewObject(ptr %load, ptr %jni.ctor.cls, ptr %jni.ctor.mid, ptr %loadN)
|
||||||
|
|||||||
@@ -495,7 +495,10 @@ List :: struct ($T: Type) {
|
|||||||
mem :: #import "modules/std/mem.sx";
|
mem :: #import "modules/std/mem.sx";
|
||||||
xml :: #import "modules/std/xml.sx";
|
xml :: #import "modules/std/xml.sx";
|
||||||
log :: #import "modules/std/log.sx";
|
log :: #import "modules/std/log.sx";
|
||||||
// fs/process/socket/json/cli/hash/test join the tail once the global
|
fs :: #import "modules/std/fs.sx";
|
||||||
// last-wins maps are fully own-wins (their decls collide across programs
|
process :: #import "modules/std/process.sx";
|
||||||
// when pulled into every closure) — import them directly meanwhile:
|
socket :: #import "modules/std/socket.sx";
|
||||||
// #import "modules/std/fs.sx"; etc.
|
json :: #import "modules/std/json.sx";
|
||||||
|
cli :: #import "modules/std/cli.sx";
|
||||||
|
hash :: #import "modules/std/hash.sx";
|
||||||
|
test :: #import "modules/std/test.sx";
|
||||||
|
|||||||
@@ -445,7 +445,8 @@ site.)
|
|||||||
declaration, and flat-importing the module that declares it makes the alias
|
declaration, and flat-importing the module that declares it makes the alias
|
||||||
usable in the importer — there is no `pub` keyword. The stdlib prelude uses
|
usable in the importer — there is no `pub` keyword. The stdlib prelude uses
|
||||||
exactly this: `#import "modules/std.sx"` gives every bare prelude name
|
exactly this: `#import "modules/std.sx"` gives every bare prelude name
|
||||||
(`print`, `List`, `Context`, …) plus the carried namespaces of std's tail:
|
(`print`, `List`, `Context`, …) plus the carried namespaces of std's tail
|
||||||
|
(`mem`, `fs`, `process`, `socket`, `json`, `cli`, `hash`, `xml`, `log`, `test`):
|
||||||
|
|
||||||
```sx
|
```sx
|
||||||
#import "modules/std.sx";
|
#import "modules/std.sx";
|
||||||
|
|||||||
11
specs.md
11
specs.md
@@ -2596,8 +2596,9 @@ main :: () -> s32 {
|
|||||||
```
|
```
|
||||||
modules/std.sx the prelude — print/format, string ops (concat, substr,
|
modules/std.sx the prelude — print/format, string ops (concat, substr,
|
||||||
path_join, ...), List(T), Context + push, the Allocator
|
path_join, ...), List(T), Context + push, the Allocator
|
||||||
protocol; plus the namespace tail:
|
protocol; plus the namespace tail: mem / xml / log /
|
||||||
mem / xml / log :: #import "modules/std/<m>.sx"
|
fs / process / socket / json / cli / hash / test ::
|
||||||
|
#import "modules/std/<m>.sx"
|
||||||
modules/std/ mem.sx (CAllocator, GPA, Arena, TrackingAllocator),
|
modules/std/ mem.sx (CAllocator, GPA, Arena, TrackingAllocator),
|
||||||
fs.sx, process.sx, socket.sx, json.sx, cli.sx, hash.sx,
|
fs.sx, process.sx, socket.sx, json.sx, cli.sx, hash.sx,
|
||||||
xml.sx, log.sx, trace.sx, test.sx
|
xml.sx, log.sx, trace.sx, test.sx
|
||||||
@@ -2612,9 +2613,9 @@ modules/gpu/, modules/ui/ GPU protocol + retained UI toolkit
|
|||||||
```
|
```
|
||||||
|
|
||||||
`#import "modules/std.sx"` gives every prelude name bare, plus `mem.GPA`,
|
`#import "modules/std.sx"` gives every prelude name bare, plus `mem.GPA`,
|
||||||
`xml.escape`, `log.warn`, ... through the carried namespace tail (see
|
`json.parse`, `fs.exists`, `hash.sha256_hex`, `log.warn`, ... through the
|
||||||
Namespace Alias Carry). The remaining `std/` modules are imported directly
|
carried namespace tail (see Namespace Alias Carry). Direct file imports
|
||||||
(`#import "modules/std/json.sx"`) until they join the tail.
|
(`#import "modules/std/json.sx"`) remain available for bare access.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -860,7 +860,27 @@ pub const LLVMEmitter = struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn emitGlobals(self: *LLVMEmitter) void {
|
fn emitGlobals(self: *LLVMEmitter) void {
|
||||||
|
// Dead-global elimination: a plain-data global no instruction
|
||||||
|
// references is not emitted — without this, every module pulled in
|
||||||
|
// via the std namespace tail lands its data (hash's K table, ...)
|
||||||
|
// in every binary. Comptime-backed globals are kept: their #run
|
||||||
|
// evaluation (and its failure diagnostics) is a semantic effect,
|
||||||
|
// not just data.
|
||||||
|
var used = std.AutoHashMap(u32, void).init(self.alloc);
|
||||||
|
defer used.deinit();
|
||||||
|
for (self.ir_mod.functions.items) |*func| {
|
||||||
|
for (func.blocks.items) |*block| {
|
||||||
|
for (block.insts.items) |*instruction| {
|
||||||
|
switch (instruction.op) {
|
||||||
|
.global_get, .global_addr => |gid| used.put(gid.index(), {}) catch {},
|
||||||
|
.global_set => |gs| used.put(gs.global.index(), {}) catch {},
|
||||||
|
else => {},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
for (self.ir_mod.globals.items, 0..) |global, i| {
|
for (self.ir_mod.globals.items, 0..) |global, i| {
|
||||||
|
if (global.comptime_func == null and !used.contains(@intCast(i))) continue;
|
||||||
const name = self.ir_mod.types.getString(global.name);
|
const name = self.ir_mod.types.getString(global.name);
|
||||||
const llvm_ty = self.toLLVMType(global.ty);
|
const llvm_ty = self.toLLVMType(global.ty);
|
||||||
const name_z = self.alloc.dupeZ(u8, name) catch continue;
|
const name_z = self.alloc.dupeZ(u8, name) catch continue;
|
||||||
|
|||||||
Reference in New Issue
Block a user