std.sx now contains only alias declarations (the re-export mechanism: own decls carry one flat-import level) over three part-files: core.sx (builtins, libc escape hatch, Source_Location/Allocator/Context/Into, the reserved `string` decl — which needs and permits no alias), fmt.sx (print/format/any_to_string/string ops/cstring/alloc_slice), list.sx (List). The namespace tail is unchanged; the part-file namespaces (core/fmt/list) carry alongside it. Consumer surface is byte-identical — every bare prelude name resolves through the aliases (0120/0121 machinery). 37 .ir snapshots re-pinned: pure string-constant renumbering from the changed import graph (digit-normalized diff is empty). Gates: zig build test 426/426, suite 588/588, m3te 23/23, game SxChess builds + bundles.
1005 lines
25 KiB
Plaintext
1005 lines
25 KiB
Plaintext
|
|
@__sx_default_context = internal constant { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc_bytes, ptr @__thunk_CAllocator_Allocator_dealloc_bytes }, ptr null }
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @out(ptr) #0
|
|
|
|
declare ptr @malloc(i64)
|
|
|
|
declare void @free(ptr)
|
|
|
|
declare ptr @memcpy(ptr, ptr, i64)
|
|
|
|
declare ptr @memset(ptr, i32, i64)
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @out.1(ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @cstring(ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @int_to_string(ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @uint_to_string(ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @bool_to_string(ptr, i1) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @float_to_string(ptr, double) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @hex_group(ptr, ptr, i64, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare [4 x i64] @decompose_u16x4(ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @int_to_hex_string(ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @concat(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @substr(ptr, ptr, i64, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @path_join(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @any_to_string(ptr, [2 x i64]) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @build_format(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @out.2(ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @mem_realloc(ptr, ptr, ptr, i64, i64, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
define internal ptr @CAllocator.alloc_bytes(ptr %0, ptr %1, i64 %2) #0 {
|
|
entry:
|
|
%alloca = alloca ptr, align 8
|
|
store ptr %1, ptr %alloca, align 8
|
|
%allocaN = alloca i64, align 8
|
|
store i64 %2, ptr %allocaN, align 8
|
|
%load = load i64, ptr %allocaN, align 8
|
|
%call = call ptr @malloc(i64 %load)
|
|
ret ptr %call
|
|
}
|
|
|
|
; Function Attrs: nounwind
|
|
define internal void @CAllocator.dealloc_bytes(ptr %0, ptr %1, ptr %2) #0 {
|
|
entry:
|
|
%alloca = alloca ptr, align 8
|
|
store ptr %1, ptr %alloca, align 8
|
|
%allocaN = alloca ptr, align 8
|
|
store ptr %2, ptr %allocaN, align 8
|
|
%load = load ptr, ptr %allocaN, align 8
|
|
call void @free(ptr %load)
|
|
ret void
|
|
}
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @GPA.init(ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @GPA.alloc_bytes(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @GPA.dealloc_bytes(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @Arena.add_chunk(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @Arena.init(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @Arena.reset(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @Arena.deinit(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @Arena.alloc_bytes(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @Arena.dealloc_bytes(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @BufAlloc.init(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @BufAlloc.reset(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @BufAlloc.alloc_bytes(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @BufAlloc.dealloc_bytes(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @TrackingAllocator.init(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @TrackingAllocator.leak_count(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @TrackingAllocator.report(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @TrackingAllocator.alloc_bytes(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @TrackingAllocator.dealloc_bytes(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @mem_realloc.3(ptr, ptr, ptr, i64, i64, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @CAllocator.alloc_bytes.4(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @CAllocator.dealloc_bytes.5(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @GPA.init.6(ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @GPA.alloc_bytes.7(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @GPA.dealloc_bytes.8(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @Arena.add_chunk.9(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @Arena.init.10(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @Arena.reset.11(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @Arena.deinit.12(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @Arena.alloc_bytes.13(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @Arena.dealloc_bytes.14(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @BufAlloc.init.15(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @BufAlloc.reset.16(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @BufAlloc.alloc_bytes.17(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @BufAlloc.dealloc_bytes.18(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @TrackingAllocator.init.19(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @TrackingAllocator.leak_count.20(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @TrackingAllocator.report.21(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @TrackingAllocator.alloc_bytes.22(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @TrackingAllocator.dealloc_bytes.23(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @escape(ptr, ptr) #0
|
|
|
|
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.24(i32, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @close.25(i32) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i16 @htons(ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @mem_realloc.26(ptr, ptr, ptr, i64, i64, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @CAllocator.alloc_bytes.27(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @CAllocator.dealloc_bytes.28(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @GPA.init.29(ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @GPA.alloc_bytes.30(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @GPA.dealloc_bytes.31(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @Arena.add_chunk.32(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @Arena.init.33(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @Arena.reset.34(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @Arena.deinit.35(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @Arena.alloc_bytes.36(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @Arena.dealloc_bytes.37(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @BufAlloc.init.38(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @BufAlloc.reset.39(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @BufAlloc.alloc_bytes.40(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @BufAlloc.dealloc_bytes.41(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @TrackingAllocator.init.42(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @TrackingAllocator.leak_count.43(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @TrackingAllocator.report.44(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @TrackingAllocator.alloc_bytes.45(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @TrackingAllocator.dealloc_bytes.46(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @open.47(ptr, i32, ...) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @close.48(i32) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @read.49(i32, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @lseek.50(i32, i64, i32) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @unlink.51(ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @rmdir.52(ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @mkdir.53(ptr, i32) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @access.54(ptr, i32) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @chmod.55(ptr, i32) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @rename.56(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @File.is_valid.57(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @File.close.58(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @File.read.59(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @File.write.60(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @File.seek.61(ptr, ptr, i64, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @mode_to_flags.62(ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @open_file.63(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @read_file.64(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @write_file.65(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @append_file.66(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @exists.67(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @delete_file.68(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @delete_dir.69(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @create_dir.70(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @set_mode.71(ptr, ptr, i32) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @move.72(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @create_dir_all.73(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @copy_file.74(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @basename.75(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @dirname.76(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.77(ptr, i32) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @sx_trace_len.78() #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @sx_trace_truncated.79() #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @sx_trace_frame_at.80(i32) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @to_string.81(ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @print_current.82(ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @print_interpreter_frames.83(ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @popen.84(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @pclose.85(ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @fread.86(ptr, i64, i64, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @feof.87(ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @getenv.88(ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @strlen.89(ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @system.90(ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @run.91(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @env.92(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @find_executable.93(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @_exit.94(i32) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @exit.95(ptr, i8, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @assert.96(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.97(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.98(ptr, i32, ...) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @close.99(i32) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @read.100(i32, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @lseek.101(i32, i64, i32) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @unlink.102(ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @rmdir.103(ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @mkdir.104(ptr, i32) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @access.105(ptr, i32) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @chmod.106(ptr, i32) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @rename.107(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @File.is_valid.108(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @File.close.109(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @File.read.110(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @File.write.111(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @File.seek.112(ptr, ptr, i64, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i32 @mode_to_flags.113(ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i64 @open_file.114(ptr, ptr, i64) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare void @read_file.115(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @write_file.116(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @append_file.117(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @exists.118(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @delete_file.119(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @delete_dir.120(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @create_dir.121(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @set_mode.122(ptr, ptr, i32) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @move.123(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @create_dir_all.124(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare i1 @copy_file.125(ptr, ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @basename.126(ptr, ptr) #0
|
|
|
|
; Function Attrs: nounwind
|
|
declare ptr @dirname.127(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.128(ptr, i1) #0
|
|
|
|
; Function Attrs: nounwind
|
|
define internal i64 @accept_c(ptr %0) #0 {
|
|
entry:
|
|
%byval.load = load { i64, i64, i64, i64 }, ptr %0, align 8
|
|
%alloca = alloca { i64, i64, i64, i64 }, align 8
|
|
store { i64, i64, i64, i64 } %byval.load, ptr %alloca, align 8
|
|
%load = load { i64, i64, i64, i64 }, ptr %alloca, align 8
|
|
%sg = extractvalue { i64, i64, i64, i64 } %load, 0
|
|
%loadN = load { i64, i64, i64, i64 }, ptr %alloca, align 8
|
|
%sgN = extractvalue { i64, i64, i64, i64 } %loadN, 1
|
|
%add = add i64 %sg, %sgN
|
|
%loadN = load { i64, i64, i64, i64 }, ptr %alloca, align 8
|
|
%sgN = extractvalue { i64, i64, i64, i64 } %loadN, 2
|
|
%addN = add i64 %add, %sgN
|
|
%loadN = load { i64, i64, i64, i64 }, ptr %alloca, align 8
|
|
%sgN = extractvalue { i64, i64, i64, i64 } %loadN, 3
|
|
%addN = add i64 %addN, %sgN
|
|
ret i64 %addN
|
|
}
|
|
|
|
; Function Attrs: nounwind
|
|
define i32 @main() #0 {
|
|
entry:
|
|
%alloca = alloca { i64, i64, i64, i64 }, align 8
|
|
store { i64, i64, i64, i64 } { i64 1, i64 10, i64 100, i64 1000 }, ptr %alloca, align 8
|
|
%load = load { i64, i64, i64, i64 }, ptr %alloca, align 8
|
|
%byval.tmp = alloca { i64, i64, i64, i64 }, align 8
|
|
store { i64, i64, i64, i64 } %load, ptr %byval.tmp, align 8
|
|
%call = call i64 @accept_c(ptr %byval.tmp)
|
|
%icmp = icmp ne i64 %call, 1111
|
|
br i1 %icmp, label %if.then.0, label %if.merge.1
|
|
|
|
if.then.0: ; preds = %entry
|
|
ret i32 1
|
|
|
|
if.merge.1: ; preds = %entry
|
|
ret i32 0
|
|
}
|
|
|
|
; Function Attrs: nounwind
|
|
define internal ptr @__thunk_CAllocator_Allocator_alloc_bytes(ptr %0, ptr %1, i64 %2) #0 {
|
|
entry:
|
|
%call = call ptr @CAllocator.alloc_bytes(ptr %0, ptr %1, i64 %2)
|
|
ret ptr %call
|
|
}
|
|
|
|
; Function Attrs: nounwind
|
|
define internal void @__thunk_CAllocator_Allocator_dealloc_bytes(ptr %0, ptr %1, ptr %2) #0 {
|
|
entry:
|
|
call void @CAllocator.dealloc_bytes(ptr %0, ptr %1, ptr %2)
|
|
ret void
|
|
}
|