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. |
|
||||
| `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. |
|
||||
| `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/` | Stdlib modules: mem (allocators), fs, process, socket, json, cli, hash, xml, log, trace, test. Import directly until they join the tail. |
|
||||
| `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 — 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/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. |
|
||||
|
||||
@@ -36,7 +36,7 @@ main :: () -> s32 {
|
||||
|
||||
// ── error path: the right tag flows through ──
|
||||
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"); }
|
||||
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 ──
|
||||
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"); }
|
||||
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 ──
|
||||
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"); }
|
||||
|
||||
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)
|
||||
guard !e: c = 0
|
||||
blue: err int = 0, c = 2
|
||||
error err int = 1
|
||||
error err nonzero = true
|
||||
error: is Nope (ok)
|
||||
error tag name = Nope
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
F1 ok: err int = 0
|
||||
F1 ok bare-if: ok
|
||||
F1 ok guard: c = 2
|
||||
F1 bad: err int = 1
|
||||
F1 bad: err nonzero = true
|
||||
F1 bad: is Nope (ok)
|
||||
F1 bad: tag name = Nope
|
||||
F2 red: err int = 0
|
||||
@@ -9,5 +9,5 @@ F2 red bare-if: ok
|
||||
F2 red != Nope (ok)
|
||||
F2 red guard: c = 0
|
||||
F2 blue: err int = 0, c = 2
|
||||
F2 err: err int = 1
|
||||
F2 err: err nonzero = true
|
||||
F2 err: is Nope (ok)
|
||||
|
||||
@@ -197,6 +197,744 @@ declare i64 @write(i32, ptr, i64)
|
||||
; Function Attrs: nounwind
|
||||
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
|
||||
define internal i64 @accept_c(ptr %0) #0 {
|
||||
entry:
|
||||
|
||||
@@ -1,40 +1,37 @@
|
||||
|
||||
@__SxFoo_state_ivar = 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_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.21 = 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.23 = 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.25 = 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.27 = 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.29 = 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.31 = 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.33 = 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.35 = 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.37 = 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.162 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.163 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.164 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.165 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.166 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.167 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.168 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.169 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.170 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.171 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.172 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.173 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.174 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.175 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.176 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.177 = private unnamed_addr constant [10 x i8] c"compiled\0A\00", align 1
|
||||
@str.178 = private unnamed_addr constant [1 x i8] zeroinitializer, 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_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_.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_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_TYPE_.41 = 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_TYPE_.43 = private unnamed_addr constant [4 x i8] c"@@:\00"
|
||||
@OBJC_METH_VAR_NAME_.181 = private unnamed_addr constant [8 x i8] c"dealloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.182 = private unnamed_addr constant [4 x i8] c"v@:\00"
|
||||
@OBJC_METH_VAR_NAME_.183 = private unnamed_addr constant [6 x i8] c"alloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.184 = private unnamed_addr constant [4 x i8] c"@@:\00"
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -339,7 +336,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.162, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, 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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.13
|
||||
|
||||
if.merge.13: ; preds = %if.then.12, %if.then.9
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.36
|
||||
|
||||
@@ -692,6 +689,414 @@ declare i64 @write(i32, ptr, i64)
|
||||
; Function Attrs: nounwind
|
||||
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
|
||||
|
||||
@@ -803,6 +1208,336 @@ 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
|
||||
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
|
||||
define internal void @SxFoo.bump(ptr %0, ptr %1) #0 {
|
||||
entry:
|
||||
@@ -844,14 +1579,14 @@ entry:
|
||||
define internal void @print__ct_sfeff9eeccd48b824__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%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
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.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
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 9)
|
||||
@@ -867,7 +1602,7 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.38, i64 9 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.179, i64 9 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -947,17 +1682,17 @@ declare ptr @class_getInstanceVariable(ptr, ptr)
|
||||
define internal void @__sx_objc_defined_class_init() {
|
||||
entry:
|
||||
%super_cls = call ptr @objc_getClass(ptr @OBJC_CLASS_NAME_)
|
||||
%cls = call ptr @objc_allocateClassPair(ptr %super_cls, ptr @OBJC_CLASS_NAME_.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_)
|
||||
%metacls = call ptr @object_getClass(ptr %cls)
|
||||
%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_)
|
||||
call void @objc_registerClassPair(ptr %cls)
|
||||
store ptr %cls, ptr @__SxFoo_class, align 8
|
||||
%sel_dealloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.40)
|
||||
%2 = call i8 @class_addMethod(ptr %cls, ptr %sel_dealloc, ptr @__SxFoo_dealloc_imp, ptr @OBJC_METH_VAR_TYPE_.41)
|
||||
%sel_alloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.42)
|
||||
%3 = call i8 @class_addMethod(ptr %metacls, ptr %sel_alloc, ptr @__SxFoo_alloc_imp, ptr @OBJC_METH_VAR_TYPE_.43)
|
||||
%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_.182)
|
||||
%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_.184)
|
||||
%iv = call ptr @class_getInstanceVariable(ptr %cls, ptr @OBJC_IVAR_NAME_)
|
||||
store ptr %iv, ptr @__SxFoo_state_ivar, align 8
|
||||
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 }
|
||||
@OBJC_SELECTOR_REFERENCES_init = 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.21 = 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.23 = 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.25 = 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.27 = 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.29 = 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.31 = 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.33 = 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.35 = 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.37 = 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.162 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.163 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.164 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.165 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.166 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.167 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.168 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.169 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.170 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.171 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.172 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.173 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.174 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.175 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.176 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.177 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.178 = private unnamed_addr constant [1 x i8] zeroinitializer, 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_.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 }]
|
||||
|
||||
; Function Attrs: nounwind
|
||||
@@ -331,7 +328,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.162, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, 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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.13
|
||||
|
||||
if.merge.13: ; preds = %if.then.12, %if.then.9
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.36
|
||||
|
||||
@@ -684,6 +681,414 @@ declare i64 @write(i32, ptr, i64)
|
||||
; Function Attrs: nounwind
|
||||
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
|
||||
|
||||
@@ -795,6 +1200,336 @@ 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
|
||||
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
|
||||
define i32 @main() #0 {
|
||||
entry:
|
||||
@@ -829,14 +1564,14 @@ entry:
|
||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%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
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.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
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||
@@ -852,7 +1587,7 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.38, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.179, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -864,7 +1599,7 @@ define internal void @__sx_objc_selector_init() {
|
||||
entry:
|
||||
%sel = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_)
|
||||
store ptr %sel, ptr @OBJC_SELECTOR_REFERENCES_init, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.39)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.180)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_release, align 8
|
||||
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
|
||||
@__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.21 = 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.23 = 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.25 = 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.27 = 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.29 = 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.31 = 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.33 = 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.35 = 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.37 = private unnamed_addr constant [4 x i8] c"()V\00", align 1
|
||||
@str.125 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.126 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.127 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.128 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.129 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.130 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.131 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.132 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.133 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.134 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.135 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.136 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.137 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.138 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.139 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.140 = private unnamed_addr constant [5 x i8] c"noop\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_MID_noop____V = internal global ptr null
|
||||
@str.38 = 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.40 = 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.42 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.142 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
||||
@str.143 = private unnamed_addr constant [4 x i8] c"()V\00", align 1
|
||||
@str.144 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.145 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.146 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -330,7 +330,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.125, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, 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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.15
|
||||
|
||||
if.merge.15: ; preds = %if.then.14, %if.then.11
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -683,6 +683,744 @@ declare i64 @write(i32, ptr, i64)
|
||||
; Function Attrs: nounwind
|
||||
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
|
||||
define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
@@ -709,7 +1447,7 @@ jni.miss: ; preds = %entry
|
||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_noop____V, align 8
|
||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||
%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
|
||||
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
|
||||
%9 = getelementptr inbounds ptr, ptr %jni.ifs4, i32 33
|
||||
%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
|
||||
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 {
|
||||
entry:
|
||||
%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
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.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
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||
@@ -809,6 +1547,6 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.42, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.146, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@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 }
|
||||
@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.22 = 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.24 = 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.26 = 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.28 = 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.30 = 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.32 = 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.34 = 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.36 = 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.125 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.126 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.127 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.128 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.129 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.130 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.131 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.132 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.133 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.134 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.135 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.136 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.137 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.138 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.139 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.140 = private unnamed_addr constant [9 x i8] c"getCount\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_MID_getCount____I = internal global ptr null
|
||||
@str.38 = 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.40 = 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.143 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.144 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -328,7 +328,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.125, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, 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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.15
|
||||
|
||||
if.merge.15: ; preds = %if.then.14, %if.then.11
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -681,6 +681,744 @@ declare i64 @write(i32, ptr, i64)
|
||||
; Function Attrs: nounwind
|
||||
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
|
||||
define internal i32 @read_int(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
@@ -707,7 +1445,7 @@ jni.miss: ; preds = %entry
|
||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_getCount____I, align 8
|
||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||
%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
|
||||
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 {
|
||||
entry:
|
||||
%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
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.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
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||
@@ -784,6 +1522,6 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.144, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@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 }
|
||||
@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.22 = 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.24 = 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.26 = 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.28 = 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.30 = 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.32 = 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.34 = 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.36 = 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.125 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.126 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.127 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.128 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.129 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.130 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.131 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.132 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.133 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.134 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.135 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.136 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.137 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.138 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.139 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.140 = private unnamed_addr constant [18 x i8] c"currentTimeMillis\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_MID_currentTimeMillis____J = internal global ptr null
|
||||
@str.38 = 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.40 = 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.143 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.144 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -328,7 +328,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.125, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, 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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.15
|
||||
|
||||
if.merge.15: ; preds = %if.then.14, %if.then.11
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -681,6 +681,744 @@ declare i64 @write(i32, ptr, i64)
|
||||
; Function Attrs: nounwind
|
||||
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
|
||||
define internal i64 @read_long(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
@@ -707,7 +1445,7 @@ jni.miss: ; preds = %entry
|
||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_currentTimeMillis____J, align 8
|
||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||
%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
|
||||
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 {
|
||||
entry:
|
||||
%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
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.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
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||
@@ -784,6 +1522,6 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.144, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@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 }
|
||||
@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.22 = 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.24 = 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.26 = 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.28 = 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.30 = 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.32 = 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.34 = 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.36 = 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.125 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.126 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.127 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.128 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.129 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.130 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.131 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.132 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.133 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.134 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.135 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.136 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.137 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.138 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.139 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.140 = private unnamed_addr constant [9 x i8] c"getValue\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_MID_getValue____D = internal global ptr null
|
||||
@str.38 = 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.40 = 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.143 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.144 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -328,7 +328,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.125, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, 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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.15
|
||||
|
||||
if.merge.15: ; preds = %if.then.14, %if.then.11
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -681,6 +681,744 @@ declare i64 @write(i32, ptr, i64)
|
||||
; Function Attrs: nounwind
|
||||
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
|
||||
define internal double @read_double(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
@@ -707,7 +1445,7 @@ jni.miss: ; preds = %entry
|
||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_getValue____D, align 8
|
||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||
%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
|
||||
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 {
|
||||
entry:
|
||||
%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
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.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
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||
@@ -784,6 +1522,6 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.144, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@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 }
|
||||
@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.22 = 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.24 = 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.26 = 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.28 = 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.30 = 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.32 = 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.34 = 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.36 = 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.125 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.126 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.127 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.128 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.129 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.130 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.131 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.132 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.133 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.134 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.135 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.136 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.137 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.138 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.139 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.140 = private unnamed_addr constant [8 x i8] c"isShown\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_MID_isShown____Z = internal global ptr null
|
||||
@str.38 = 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.40 = 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.143 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.144 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -328,7 +328,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.125, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, 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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.15
|
||||
|
||||
if.merge.15: ; preds = %if.then.14, %if.then.11
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -681,6 +681,744 @@ declare i64 @write(i32, ptr, i64)
|
||||
; Function Attrs: nounwind
|
||||
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
|
||||
define internal i1 @read_bool(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
@@ -707,7 +1445,7 @@ jni.miss: ; preds = %entry
|
||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_isShown____Z, align 8
|
||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||
%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
|
||||
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 {
|
||||
entry:
|
||||
%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
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.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
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||
@@ -784,6 +1522,6 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.144, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@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 }
|
||||
@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.22 = 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.24 = 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.26 = 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.28 = 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.30 = 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.32 = 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.34 = 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.36 = 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.125 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.126 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.127 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.128 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.129 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.130 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.131 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.132 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.133 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.134 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.135 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.136 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.137 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.138 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.139 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.140 = private unnamed_addr constant [10 x i8] c"getWindow\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_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.39 = 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.142 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.143 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.144 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -328,7 +328,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.125, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, 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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.15
|
||||
|
||||
if.merge.15: ; preds = %if.then.14, %if.then.11
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -681,6 +681,744 @@ declare i64 @write(i32, ptr, i64)
|
||||
; Function Attrs: nounwind
|
||||
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
|
||||
define internal ptr @get_window(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
@@ -707,7 +1445,7 @@ jni.miss: ; preds = %entry
|
||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_getWindow____Landroid_view_Window_, align 8
|
||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||
%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
|
||||
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 {
|
||||
entry:
|
||||
%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
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.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
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||
@@ -784,6 +1522,6 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.144, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@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 }
|
||||
@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.22 = 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.24 = 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.26 = 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.28 = 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.30 = 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.32 = 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.34 = 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.36 = 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.125 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.126 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.127 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.128 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.129 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.130 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.131 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.132 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.133 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.134 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.135 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.136 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.137 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.138 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.139 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.140 = private unnamed_addr constant [4 x i8] c"max\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_MID_max___II_I = internal global ptr null
|
||||
@str.38 = 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.40 = 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.143 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.144 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -328,7 +328,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.125, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, 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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.15
|
||||
|
||||
if.merge.15: ; preds = %if.then.14, %if.then.11
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -681,6 +681,744 @@ declare i64 @write(i32, ptr, i64)
|
||||
; Function Attrs: nounwind
|
||||
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
|
||||
define internal i32 @call_static_max(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
@@ -704,7 +1442,7 @@ jni.miss: ; preds = %entry
|
||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_max___II_I, align 8
|
||||
%4 = getelementptr inbounds ptr, ptr %jni.ifs, i32 113
|
||||
%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
|
||||
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 {
|
||||
entry:
|
||||
%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
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.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
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||
@@ -781,6 +1519,6 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.144, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@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 }
|
||||
@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.22 = 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.24 = 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.26 = 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.28 = 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.30 = 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.32 = 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.34 = 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.36 = 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.125 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.126 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.127 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.128 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.129 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.130 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.131 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.132 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.133 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.134 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.135 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.136 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.137 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.138 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.139 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.140 = private unnamed_addr constant [10 x i8] c"getWindow\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_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.39 = 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.142 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.143 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.144 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -328,7 +328,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.125, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, 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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.15
|
||||
|
||||
if.merge.15: ; preds = %if.then.14, %if.then.11
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -681,6 +681,744 @@ declare i64 @write(i32, ptr, i64)
|
||||
; Function Attrs: nounwind
|
||||
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
|
||||
define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
@@ -708,7 +1446,7 @@ jni.miss: ; preds = %entry
|
||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_getWindow____Ljava_lang_Object_, align 8
|
||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||
%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
|
||||
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 {
|
||||
entry:
|
||||
%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
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.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
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||
@@ -784,6 +1522,6 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.144, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@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 }
|
||||
@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.22 = 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.24 = 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.26 = 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.28 = 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.30 = 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.32 = 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.34 = 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.36 = 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.125 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.126 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.127 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.128 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.129 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.130 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.131 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.132 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.133 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.134 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.135 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.136 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.137 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.138 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.139 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.140 = private unnamed_addr constant [5 x i8] c"noop\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_MID_noop____V = internal global ptr null
|
||||
@str.38 = 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.40 = 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.143 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.144 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -328,7 +328,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.125, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, 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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.15
|
||||
|
||||
if.merge.15: ; preds = %if.then.14, %if.then.11
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%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
|
||||
%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
|
||||
%loadN = load { ptr, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, 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)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, 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
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -681,6 +681,744 @@ declare i64 @write(i32, ptr, i64)
|
||||
; Function Attrs: nounwind
|
||||
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
|
||||
define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
@@ -707,7 +1445,7 @@ jni.miss: ; preds = %entry
|
||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_noop____V, align 8
|
||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||
%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
|
||||
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 {
|
||||
entry:
|
||||
%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
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.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
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||
@@ -782,6 +1520,6 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.144, i64 3 })
|
||||
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
|
||||
@__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.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
|
||||
@str.22 = 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.163 = private unnamed_addr constant [7 x i8] c"<init>\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
|
||||
|
||||
; Function Attrs: nounwind
|
||||
@@ -207,6 +204,414 @@ declare i64 @write(i32, ptr, i64)
|
||||
; Function Attrs: nounwind
|
||||
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
|
||||
|
||||
@@ -318,6 +723,336 @@ 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
|
||||
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
|
||||
define i32 @main() #0 {
|
||||
entry:
|
||||
@@ -356,7 +1091,7 @@ entry:
|
||||
%jni.parent.cls = call ptr %jni.FindClass(ptr %load, ptr @jni.parent.path)
|
||||
%4 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||
%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
|
||||
store ptr %jni.parent.cls, ptr %jni.parent.cls.slot, align 8
|
||||
%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)
|
||||
%7 = getelementptr inbounds ptr, ptr %jni.ifs8, i32 33
|
||||
%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
|
||||
%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)
|
||||
|
||||
@@ -495,7 +495,10 @@ List :: struct ($T: Type) {
|
||||
mem :: #import "modules/std/mem.sx";
|
||||
xml :: #import "modules/std/xml.sx";
|
||||
log :: #import "modules/std/log.sx";
|
||||
// fs/process/socket/json/cli/hash/test join the tail once the global
|
||||
// last-wins maps are fully own-wins (their decls collide across programs
|
||||
// when pulled into every closure) — import them directly meanwhile:
|
||||
// #import "modules/std/fs.sx"; etc.
|
||||
fs :: #import "modules/std/fs.sx";
|
||||
process :: #import "modules/std/process.sx";
|
||||
socket :: #import "modules/std/socket.sx";
|
||||
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
|
||||
usable in the importer — there is no `pub` keyword. The stdlib prelude uses
|
||||
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
|
||||
#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,
|
||||
path_join, ...), List(T), Context + push, the Allocator
|
||||
protocol; plus the namespace tail:
|
||||
mem / xml / log :: #import "modules/std/<m>.sx"
|
||||
protocol; plus the namespace tail: mem / xml / log /
|
||||
fs / process / socket / json / cli / hash / test ::
|
||||
#import "modules/std/<m>.sx"
|
||||
modules/std/ mem.sx (CAllocator, GPA, Arena, TrackingAllocator),
|
||||
fs.sx, process.sx, socket.sx, json.sx, cli.sx, hash.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`,
|
||||
`xml.escape`, `log.warn`, ... through the carried namespace tail (see
|
||||
Namespace Alias Carry). The remaining `std/` modules are imported directly
|
||||
(`#import "modules/std/json.sx"`) until they join the tail.
|
||||
`json.parse`, `fs.exists`, `hash.sha256_hex`, `log.warn`, ... through the
|
||||
carried namespace tail (see Namespace Alias Carry). Direct file imports
|
||||
(`#import "modules/std/json.sx"`) remain available for bare access.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -860,7 +860,27 @@ pub const LLVMEmitter = struct {
|
||||
}
|
||||
|
||||
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| {
|
||||
if (global.comptime_func == null and !used.contains(@intCast(i))) continue;
|
||||
const name = self.ir_mod.types.getString(global.name);
|
||||
const llvm_ty = self.toLLVMType(global.ty);
|
||||
const name_z = self.alloc.dupeZ(u8, name) catch continue;
|
||||
|
||||
Reference in New Issue
Block a user