comptime VM arc: abi(.compiler) ABI, out as sx fn, VM-native diagnostics, BuildConfig threaded
Lands the full VM/compiler-API arc on branch reify (701/0 both gates): - abi(.compiler) ABI replaces abi(.zig) extern compiler + the fake #library "compiler"; bodiless decl = compiler-API surface, bodied = user compiler-domain fn (lowered for VM eval, emit-skipped). - out is a plain sx fn (libc write) — the out builtin deleted; the VM handles it via host-FFI. trace_resolve + interp_print_frames ported. - 4B VM-native diagnostics: 1179/1180 render proper comptime type construction failed: under strict. - S5a: build_options/set_post_link_callback on abi(.compiler) with BuildConfig threaded into the VM (green intermediate). - 0522 fixed (describe(args: []Type)); regression 0638. Strict deletion-gate down to 4 compiler_call bails (1609/1614/1615/1616) + 1654 (legitimate unresolvable-symbol diagnostic).
This commit is contained in:
@@ -19,10 +19,16 @@
|
||||
// carries `const_type` elements that only the interp materialises;
|
||||
// LLVM emission leaves the per-element slots as undef (4A.bare
|
||||
// semantics — bare-pack is comptime-only).
|
||||
//
|
||||
// The element type is `[]Type` (a bare `$args` is the list of the
|
||||
// pack args' TYPES, each an 8-byte `.type_value`). Declaring it
|
||||
// `[]Any` (16-byte boxes) read every element past the first at the
|
||||
// wrong stride — the legacy interp's loose Value model tolerated it,
|
||||
// the byte-accurate comptime VM does not.
|
||||
|
||||
#import "modules/std.sx";
|
||||
|
||||
describe :: (args: []Any) -> string {
|
||||
describe :: (args: []Type) -> string {
|
||||
s := "[";
|
||||
i : i64 = 0;
|
||||
while i < args.len {
|
||||
|
||||
@@ -23,7 +23,10 @@ post_link :: () -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
configure :: () {
|
||||
// The registrar is itself compiler-domain (`abi(.compiler)`): it runs in the
|
||||
// comptime evaluator (never the binary), so its `build_options()` /
|
||||
// `set_post_link_callback()` compiler-API calls are permitted.
|
||||
configure :: () abi(.compiler) {
|
||||
opts := build_options();
|
||||
opts.set_post_link_callback(post_link);
|
||||
}
|
||||
|
||||
@@ -20,7 +20,10 @@ cb :: () -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
configure :: () {
|
||||
// The registrar is itself compiler-domain (`abi(.compiler)`): it runs in the
|
||||
// comptime evaluator (never the binary), so its `build_options()` /
|
||||
// `set_post_link_callback()` compiler-API calls are permitted.
|
||||
configure :: () abi(.compiler) {
|
||||
opts := build_options();
|
||||
opts.set_post_link_callback(cb);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Comptime compiler API — welded compiler FUNCTIONS over the host-call bridge.
|
||||
//
|
||||
// `intern` / `text_of` are bound to the `compiler` library via
|
||||
// `abi(.zig) extern compiler`. They have no real symbol — under the comptime
|
||||
// `abi(.compiler)`. They have no real symbol — under the comptime
|
||||
// interpreter the call dispatches to the compiler's registered Zig handler
|
||||
// (the string pool), never dlsym. Comptime-only: here they run inside `#run`,
|
||||
// folding to a plain string constant the runtime `main` prints.
|
||||
@@ -11,11 +11,10 @@
|
||||
|
||||
#import "modules/std.sx";
|
||||
|
||||
compiler :: #library "compiler";
|
||||
|
||||
StringId :: u32;
|
||||
intern :: (s: string) -> StringId abi(.zig) extern compiler;
|
||||
text_of :: (id: StringId) -> string abi(.zig) extern compiler;
|
||||
intern :: (s: string) -> StringId abi(.compiler);
|
||||
text_of :: (id: StringId) -> string abi(.compiler);
|
||||
|
||||
greeting :: #run text_of(intern("hello, compiler"));
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Comptime compiler API — read-only reflection readers (Phase 3).
|
||||
//
|
||||
// `find_type` / `type_field_count` are bound to the `compiler` library via
|
||||
// `abi(.zig) extern compiler`, joining the `intern` / `text_of` seed. They are
|
||||
// `abi(.compiler)`, joining the `intern` / `text_of` seed. They are
|
||||
// the first REFLECTION readers: the compiler exposes its own type table to
|
||||
// comptime sx as plain handles (a `TypeId` is a u32, like a `StringId`), so the
|
||||
// calls are clean scalar host-calls — handle in, scalar out, no marshaling.
|
||||
@@ -14,14 +14,13 @@
|
||||
|
||||
#import "modules/std.sx";
|
||||
|
||||
compiler :: #library "compiler";
|
||||
|
||||
StringId :: u32;
|
||||
TypeId :: u32;
|
||||
|
||||
intern :: (s: string) -> StringId abi(.zig) extern compiler;
|
||||
find_type :: (name: StringId) -> TypeId abi(.zig) extern compiler;
|
||||
type_field_count :: (t: TypeId) -> i64 abi(.zig) extern compiler;
|
||||
intern :: (s: string) -> StringId abi(.compiler);
|
||||
find_type :: (name: StringId) -> TypeId abi(.compiler);
|
||||
type_field_count :: (t: TypeId) -> i64 abi(.compiler);
|
||||
|
||||
Point :: struct { x: i64; y: i64; z: i64; }
|
||||
|
||||
|
||||
@@ -15,18 +15,17 @@
|
||||
|
||||
#import "modules/std.sx";
|
||||
|
||||
compiler :: #library "compiler";
|
||||
|
||||
StringId :: u32;
|
||||
TypeId :: u32;
|
||||
|
||||
intern :: (s: string) -> StringId abi(.zig) extern compiler;
|
||||
text_of :: (id: StringId) -> string abi(.zig) extern compiler;
|
||||
find_type :: (name: StringId) -> TypeId abi(.zig) extern compiler;
|
||||
type_field_count :: (t: TypeId) -> i64 abi(.zig) extern compiler;
|
||||
type_nominal_name :: (t: TypeId) -> StringId abi(.zig) extern compiler;
|
||||
type_field_name :: (t: TypeId, idx: i64) -> StringId abi(.zig) extern compiler;
|
||||
type_field_type :: (t: TypeId, idx: i64) -> TypeId abi(.zig) extern compiler;
|
||||
intern :: (s: string) -> StringId abi(.compiler);
|
||||
text_of :: (id: StringId) -> string abi(.compiler);
|
||||
find_type :: (name: StringId) -> TypeId abi(.compiler);
|
||||
type_field_count :: (t: TypeId) -> i64 abi(.compiler);
|
||||
type_nominal_name :: (t: TypeId) -> StringId abi(.compiler);
|
||||
type_field_name :: (t: TypeId, idx: i64) -> StringId abi(.compiler);
|
||||
type_field_type :: (t: TypeId, idx: i64) -> TypeId abi(.compiler);
|
||||
|
||||
Point :: struct { x: i64; y: i64; }
|
||||
Pair :: struct { lo: Point; hi: Point; }
|
||||
|
||||
@@ -14,17 +14,16 @@
|
||||
|
||||
#import "modules/std.sx";
|
||||
|
||||
compiler :: #library "compiler";
|
||||
|
||||
StringId :: u32;
|
||||
TypeId :: u32;
|
||||
|
||||
intern :: (s: string) -> StringId abi(.zig) extern compiler;
|
||||
text_of :: (id: StringId) -> string abi(.zig) extern compiler;
|
||||
find_type :: (name: StringId) -> TypeId abi(.zig) extern compiler;
|
||||
type_kind :: (t: TypeId) -> i64 abi(.zig) extern compiler;
|
||||
type_field_name :: (t: TypeId, idx: i64) -> StringId abi(.zig) extern compiler;
|
||||
type_field_value :: (t: TypeId, idx: i64) -> i64 abi(.zig) extern compiler;
|
||||
intern :: (s: string) -> StringId abi(.compiler);
|
||||
text_of :: (id: StringId) -> string abi(.compiler);
|
||||
find_type :: (name: StringId) -> TypeId abi(.compiler);
|
||||
type_kind :: (t: TypeId) -> i64 abi(.compiler);
|
||||
type_field_name :: (t: TypeId, idx: i64) -> StringId abi(.compiler);
|
||||
type_field_value :: (t: TypeId, idx: i64) -> i64 abi(.compiler);
|
||||
|
||||
Color :: enum { red; green; blue; }
|
||||
WindowFlags :: enum flags u32 { vsync :: 64; resizable :: 4; hidden :: 128; }
|
||||
|
||||
@@ -19,19 +19,18 @@
|
||||
|
||||
#import "modules/std.sx";
|
||||
|
||||
compiler :: #library "compiler";
|
||||
|
||||
Member :: struct { name: string; ty: Type; }
|
||||
|
||||
StringId :: u32;
|
||||
TypeId :: u32;
|
||||
|
||||
intern :: (s: string) -> StringId abi(.zig) extern compiler;
|
||||
find_type :: (name: StringId) -> TypeId abi(.zig) extern compiler;
|
||||
type_kind :: (t: TypeId) -> i64 abi(.zig) extern compiler;
|
||||
declare_type :: (name: string) -> Type abi(.zig) extern compiler;
|
||||
pointer_to :: (t: Type) -> Type abi(.zig) extern compiler;
|
||||
register_type :: (handle: Type, kind: i64, members: []Member) -> Type abi(.zig) extern compiler;
|
||||
intern :: (s: string) -> StringId abi(.compiler);
|
||||
find_type :: (name: StringId) -> TypeId abi(.compiler);
|
||||
type_kind :: (t: TypeId) -> i64 abi(.compiler);
|
||||
declare_type :: (name: string) -> Type abi(.compiler);
|
||||
pointer_to :: (t: Type) -> Type abi(.compiler);
|
||||
register_type :: (handle: Type, kind: i64, members: []Member) -> Type abi(.compiler);
|
||||
|
||||
KIND_ENUM :: 2; // an ACTUAL payloadless enum
|
||||
KIND_TAGGED_UNION :: 3; // a payload-carrying enum
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
// A module that MINTS a comptime enum via the compiler API and exports it.
|
||||
#import "modules/std.sx";
|
||||
|
||||
compiler :: #library "compiler";
|
||||
|
||||
Member :: struct { name: string; ty: Type; }
|
||||
declare_type :: (name: string) -> Type abi(.zig) extern compiler;
|
||||
register_type :: (handle: Type, kind: i64, members: []Member) -> Type abi(.zig) extern compiler;
|
||||
declare_type :: (name: string) -> Type abi(.compiler);
|
||||
register_type :: (handle: Type, kind: i64, members: []Member) -> Type abi(.compiler);
|
||||
|
||||
build_suit :: () -> Type {
|
||||
return register_type(declare_type("Suit"), 2, .[ // kind 2 = actual enum
|
||||
|
||||
16
examples/0638-comptime-domain-fn-not-emitted.sx
Normal file
16
examples/0638-comptime-domain-fn-not-emitted.sx
Normal file
@@ -0,0 +1,16 @@
|
||||
// A BODIED `abi(.compiler)` function is a compiler-domain function: the comptime
|
||||
// evaluator runs its sx body, but it is NEVER lowered into the shipped binary
|
||||
// (emit_llvm skips it, like an extern). Here `double` folds the `#run` const at
|
||||
// compile time; `main` only ever sees the folded constant, and no `double` symbol
|
||||
// exists in the binary. (Regression for the S3 step of the abi(.compiler) work —
|
||||
// see current/PLAN-COMPILER-VM.md.)
|
||||
|
||||
#import "modules/std.sx";
|
||||
|
||||
double :: (x: i64) -> i64 abi(.compiler) { x * 2 }
|
||||
|
||||
answer :: #run double(42);
|
||||
|
||||
main :: () {
|
||||
print("answer = {}\n", answer);
|
||||
}
|
||||
@@ -1,11 +1,10 @@
|
||||
// Diagnostic: a `fn abi(.zig) extern compiler` whose name is NOT on the compiler
|
||||
// Diagnostic: a `fn abi(.compiler)` whose name is NOT on the compiler
|
||||
// library's function-export list is a build error — the export list is the
|
||||
// safety boundary, so an unbound name can't silently fall through to dlsym.
|
||||
|
||||
#import "modules/std.sx";
|
||||
|
||||
compiler :: #library "compiler";
|
||||
|
||||
not_a_real_compiler_fn :: (x: i64) -> i64 abi(.zig) extern compiler;
|
||||
not_a_real_compiler_fn :: (x: i64) -> i64 abi(.compiler);
|
||||
|
||||
main :: () { print("unreached\n"); }
|
||||
|
||||
@@ -6,10 +6,9 @@
|
||||
|
||||
#import "modules/std.sx";
|
||||
|
||||
compiler :: #library "compiler";
|
||||
|
||||
StringId :: u32;
|
||||
intern :: (s: string) -> StringId abi(.zig) extern compiler;
|
||||
intern :: (s: string) -> StringId abi(.compiler);
|
||||
|
||||
main :: () {
|
||||
id := intern("called at runtime");
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
// Methods on it (add_link_flag, set_output_path) are compiler builtins
|
||||
// that configure the build without runtime cost.
|
||||
|
||||
configure_build :: () {
|
||||
configure_build :: () abi(.compiler) {
|
||||
opts := build_options();
|
||||
// These calls are intercepted by the compiler at compile time.
|
||||
// On a normal (non-wasm) target, inline if gates them off.
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#import "modules/std.sx";
|
||||
#import "modules/build.sx";
|
||||
|
||||
configure_build :: () {
|
||||
configure_build :: () abi(.compiler) {
|
||||
opts := build_options();
|
||||
opts.add_framework("CoreFoundation");
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ post_link :: () -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
configure :: () {
|
||||
configure :: () abi(.compiler) {
|
||||
opts := build_options();
|
||||
opts.set_post_link_callback(post_link);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
// binary. Under `sx run` (JIT) the callback is registered but never
|
||||
// fires — so the test runner only sees `runtime main`.
|
||||
|
||||
configure :: () {
|
||||
configure :: () abi(.compiler) {
|
||||
opts := build_options();
|
||||
opts.set_bundle_path("HelloApp.app");
|
||||
opts.set_bundle_id("co.example.hello");
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
// UIApplicationSceneManifest, DTPlatformName=iPhoneSimulator). Ad-hoc
|
||||
// codesign; no provisioning embed needed for the simulator.
|
||||
|
||||
configure :: () {
|
||||
configure :: () abi(.compiler) {
|
||||
opts := build_options();
|
||||
opts.set_bundle_path("IosSimApp.app");
|
||||
opts.set_bundle_id("co.example.iossim");
|
||||
|
||||
@@ -26,7 +26,7 @@ UIApplicationMain :: (argc: i32, argv: *void, principal_class: *NSString, delega
|
||||
#import "modules/build.sx";
|
||||
#import "modules/platform/bundle.sx";
|
||||
|
||||
configure :: () {
|
||||
configure :: () abi(.compiler) {
|
||||
opts := build_options();
|
||||
opts.set_bundle_path("/tmp/SxDeviceProbe.app");
|
||||
opts.set_bundle_id("co.swipelab.sxprobe");
|
||||
|
||||
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
@@ -0,0 +1 @@
|
||||
0
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
answer = 84
|
||||
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
@@ -1,5 +1,5 @@
|
||||
error: 'not_a_real_compiler_fn' is not a function exported by the 'compiler' library
|
||||
--> examples/1184-diagnostics-weld-fn-unexported.sx:9:1
|
||||
error: 'not_a_real_compiler_fn' is not a function exported by the compiler
|
||||
--> examples/1184-diagnostics-weld-fn-unexported.sx:8:1
|
||||
|
|
||||
9 | not_a_real_compiler_fn :: (x: i64) -> i64 abi(.zig) extern compiler;
|
||||
8 | not_a_real_compiler_fn :: (x: i64) -> i64 abi(.compiler);
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
@@ -1 +1 @@
|
||||
error: 'intern' is a comptime-only compiler-library function — it cannot be called at runtime (use it inside #run or a comptime '::')
|
||||
error: 'intern' is a comptime-only compiler-domain function — it cannot be called at runtime (use it inside #run or a comptime '::')
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
|
||||
@__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 }
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
declare void @out(ptr, ptr) #0
|
||||
|
||||
declare ptr @malloc(i64)
|
||||
|
||||
@@ -13,7 +15,7 @@ declare ptr @memcpy(ptr, ptr, i64)
|
||||
declare ptr @memset(ptr, i32, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.1(ptr) #0
|
||||
declare void @out.1(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @alloc_string(ptr, i64) #0
|
||||
@@ -64,7 +66,7 @@ declare ptr @any_to_string(ptr, [2 x i64]) #0
|
||||
declare ptr @build_format(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.2(ptr) #0
|
||||
declare void @out.2(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
@@ -156,8 +158,6 @@ declare i32 @close(i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read(i32, ptr, i64) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek(i32, i64, i32) #0
|
||||
|
||||
@@ -581,9 +581,6 @@ 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
|
||||
|
||||
@@ -668,6 +665,9 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_post_link_callback(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
|
||||
@@ -4,37 +4,49 @@
|
||||
@__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 }
|
||||
@__sx_objc_cstr_dealloc = internal constant [8 x i8] c"dealloc\00"
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.114 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.115 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.116 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.117 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.118 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.119 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.120 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.121 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.122 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.123 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.124 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.125 = private unnamed_addr constant [5 x i8] c")); \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.112 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.113 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.114 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.115 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.116 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.117 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.118 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.119 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.120 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.121 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.122 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.123 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.124 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.125 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.126 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.127 = private unnamed_addr constant [10 x i8] c"compiled\0A\00", align 1
|
||||
@str.128 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.129 = private unnamed_addr constant [10 x i8] c"compiled\0A\00", align 1
|
||||
@str.130 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.131 = 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_.132 = private unnamed_addr constant [6 x i8] c"SxFoo\00"
|
||||
@OBJC_CLASS_NAME_.130 = 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_.133 = private unnamed_addr constant [8 x i8] c"dealloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.134 = private unnamed_addr constant [4 x i8] c"v@:\00"
|
||||
@OBJC_METH_VAR_NAME_.135 = private unnamed_addr constant [6 x i8] c"alloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.136 = private unnamed_addr constant [4 x i8] c"@@:\00"
|
||||
@OBJC_METH_VAR_NAME_.131 = private unnamed_addr constant [8 x i8] c"dealloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.132 = private unnamed_addr constant [4 x i8] c"v@:\00"
|
||||
@OBJC_METH_VAR_NAME_.133 = private unnamed_addr constant [6 x i8] c"alloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.134 = private unnamed_addr constant [4 x i8] c"@@:\00"
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
define internal void @out(ptr %0, { ptr, i64 } %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%load = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%dptr = extractvalue { ptr, i64 } %load, 0
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%call = call i64 @write(i32 1, ptr %dptr, i64 %len)
|
||||
ret void
|
||||
}
|
||||
|
||||
declare ptr @malloc(i64)
|
||||
|
||||
@@ -45,7 +57,7 @@ declare ptr @memcpy(ptr, ptr, i64)
|
||||
declare ptr @memset(ptr, i32, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.1(ptr) #0
|
||||
declare void @out.1(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
@@ -270,7 +282,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.114, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.112, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -366,7 +378,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.115, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.113, 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
|
||||
@@ -374,7 +386,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.116, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.114, 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
|
||||
@@ -384,13 +396,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.117, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.115, 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.118, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.116, 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
|
||||
@@ -398,7 +410,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.119, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.117, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -412,7 +424,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.120, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.118, 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
|
||||
@@ -420,7 +432,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.121, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.119, 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
|
||||
@@ -431,7 +443,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.122, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.120, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -488,7 +500,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.123, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.121, 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
|
||||
@@ -496,7 +508,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.124, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.122, 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
|
||||
@@ -507,7 +519,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.125, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.123, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -527,7 +539,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.126, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.124, 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
|
||||
@@ -535,7 +547,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.127, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.125, 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
|
||||
@@ -546,7 +558,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.128, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.126, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.36
|
||||
|
||||
@@ -556,7 +568,7 @@ if.merge.36: ; preds = %if.then.35, %while.
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.2(ptr) #0
|
||||
declare void @out.2(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
@@ -648,8 +660,6 @@ declare i32 @close(i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read(i32, ptr, i64) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek(i32, i64, i32) #0
|
||||
|
||||
@@ -1073,9 +1083,6 @@ 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
|
||||
|
||||
@@ -1160,6 +1167,9 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_post_link_callback(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
@@ -1554,91 +1564,85 @@ declare ptr @BuildOptions.asset_dir_src_at.83(i64, i64) #0
|
||||
declare ptr @BuildOptions.asset_dir_dest_at.84(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_callback.85(i64, ptr) #0
|
||||
declare void @BuildOptions.set_post_link_module.85(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_module.86(i64, ptr) #0
|
||||
declare ptr @BuildOptions.binary_path.86(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.binary_path.87(i64) #0
|
||||
declare void @BuildOptions.set_bundle_path.87(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_path.88(i64, ptr) #0
|
||||
declare void @BuildOptions.set_bundle_id.88(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_id.89(i64, ptr) #0
|
||||
declare void @BuildOptions.set_codesign_identity.89(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_codesign_identity.90(i64, ptr) #0
|
||||
declare void @BuildOptions.set_provisioning_profile.90(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_provisioning_profile.91(i64, ptr) #0
|
||||
declare ptr @BuildOptions.bundle_path.91(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_path.92(i64) #0
|
||||
declare ptr @BuildOptions.bundle_id.92(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_id.93(i64) #0
|
||||
declare ptr @BuildOptions.codesign_identity.93(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.codesign_identity.94(i64) #0
|
||||
declare ptr @BuildOptions.provisioning_profile.94(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.provisioning_profile.95(i64) #0
|
||||
declare ptr @BuildOptions.target_triple.95(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.target_triple.96(i64) #0
|
||||
declare i1 @BuildOptions.is_macos.96(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_macos.97(i64) #0
|
||||
declare i1 @BuildOptions.is_ios.97(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios.98(i64) #0
|
||||
declare i1 @BuildOptions.is_ios_device.98(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_device.99(i64) #0
|
||||
declare i1 @BuildOptions.is_ios_simulator.99(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_simulator.100(i64) #0
|
||||
declare i1 @BuildOptions.is_android.100(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_android.101(i64) #0
|
||||
declare i64 @BuildOptions.framework_count.101(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_count.102(i64) #0
|
||||
declare ptr @BuildOptions.framework_at.102(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_at.103(i64, i64) #0
|
||||
declare i64 @BuildOptions.framework_path_count.103(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_path_count.104(i64) #0
|
||||
declare ptr @BuildOptions.framework_path_at.104(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_path_at.105(i64, i64) #0
|
||||
declare void @BuildOptions.set_manifest_path.105(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_manifest_path.106(i64, ptr) #0
|
||||
declare void @BuildOptions.set_keystore_path.106(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_keystore_path.107(i64, ptr) #0
|
||||
declare ptr @BuildOptions.manifest_path.107(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.manifest_path.108(i64) #0
|
||||
declare ptr @BuildOptions.keystore_path.108(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.keystore_path.109(i64) #0
|
||||
declare i64 @BuildOptions.jni_main_count.109(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.jni_main_count.110(i64) #0
|
||||
declare ptr @BuildOptions.jni_main_runtime_path_at.110(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_runtime_path_at.111(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.112(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options.113() #0
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.111(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal void @SxFoo.bump(ptr %0, ptr %1) #0 {
|
||||
@@ -1681,30 +1685,28 @@ entry:
|
||||
define internal void @print__ct_sfeff9eeccd48b824__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.129, i64 9 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.127, i64 9 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds nuw { 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.130, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.128, 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)
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%str.ptr = extractvalue { ptr, i64 } %loadN, 0
|
||||
%str.len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len)
|
||||
call void @out(ptr %0, { ptr, i64 } %loadN)
|
||||
ret void
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.131, i64 9 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.129, i64 9 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -1784,17 +1786,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_.132, i64 0)
|
||||
%cls = call ptr @objc_allocateClassPair(ptr %super_cls, ptr @OBJC_CLASS_NAME_.130, 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_.133)
|
||||
%2 = call i8 @class_addMethod(ptr %cls, ptr %sel_dealloc, ptr @__SxFoo_dealloc_imp, ptr @OBJC_METH_VAR_TYPE_.134)
|
||||
%sel_alloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.135)
|
||||
%3 = call i8 @class_addMethod(ptr %metacls, ptr %sel_alloc, ptr @__SxFoo_alloc_imp, ptr @OBJC_METH_VAR_TYPE_.136)
|
||||
%sel_dealloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.131)
|
||||
%2 = call i8 @class_addMethod(ptr %cls, ptr %sel_dealloc, ptr @__SxFoo_dealloc_imp, ptr @OBJC_METH_VAR_TYPE_.132)
|
||||
%sel_alloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.133)
|
||||
%3 = call i8 @class_addMethod(ptr %metacls, ptr %sel_alloc, ptr @__SxFoo_alloc_imp, ptr @OBJC_METH_VAR_TYPE_.134)
|
||||
%iv = call ptr @class_getInstanceVariable(ptr %cls, ptr @OBJC_IVAR_NAME_)
|
||||
store ptr %iv, ptr @__SxFoo_state_ivar, align 8
|
||||
ret void
|
||||
|
||||
@@ -4,53 +4,65 @@
|
||||
@__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 }
|
||||
@__sx_objc_cstr_dealloc = internal constant [8 x i8] c"dealloc\00"
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.114 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.115 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.116 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.117 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.118 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.119 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.120 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.121 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.122 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.123 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.124 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.125 = private unnamed_addr constant [5 x i8] c")); \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 [6 x i8] c"SxFoo\00", align 1
|
||||
@str.130 = private unnamed_addr constant [8 x i8] c"dealloc\00", align 1
|
||||
@str.131 = private unnamed_addr constant [6 x i8] c"alloc\00", align 1
|
||||
@str.132 = private unnamed_addr constant [8 x i8] c"release\00", align 1
|
||||
@str.112 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.113 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.114 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.115 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.116 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.117 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.118 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.119 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.120 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.121 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.122 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.123 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.124 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.125 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.126 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.127 = private unnamed_addr constant [6 x i8] c"SxFoo\00", align 1
|
||||
@str.128 = private unnamed_addr constant [8 x i8] c"dealloc\00", align 1
|
||||
@str.129 = private unnamed_addr constant [6 x i8] c"alloc\00", align 1
|
||||
@str.130 = private unnamed_addr constant [8 x i8] c"release\00", align 1
|
||||
@str.131 = private unnamed_addr constant [28 x i8] c"FAIL: SxFoo not registered\0A\00", align 1
|
||||
@str.132 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.133 = private unnamed_addr constant [28 x i8] c"FAIL: SxFoo not registered\0A\00", align 1
|
||||
@str.134 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.135 = private unnamed_addr constant [28 x i8] c"FAIL: SxFoo not registered\0A\00", align 1
|
||||
@str.134 = private unnamed_addr constant [27 x i8] c"FAIL: dealloc IMP missing\0A\00", align 1
|
||||
@str.135 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.136 = private unnamed_addr constant [27 x i8] c"FAIL: dealloc IMP missing\0A\00", align 1
|
||||
@str.137 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.138 = private unnamed_addr constant [27 x i8] c"FAIL: dealloc IMP missing\0A\00", align 1
|
||||
@str.137 = private unnamed_addr constant [28 x i8] c"FAIL: +alloc returned null\0A\00", align 1
|
||||
@str.138 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.139 = private unnamed_addr constant [28 x i8] c"FAIL: +alloc returned null\0A\00", align 1
|
||||
@str.140 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.141 = private unnamed_addr constant [28 x i8] c"FAIL: +alloc returned null\0A\00", align 1
|
||||
@str.140 = private unnamed_addr constant [36 x i8] c"FAIL: +alloc round 2 returned null\0A\00", align 1
|
||||
@str.141 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.142 = private unnamed_addr constant [36 x i8] c"FAIL: +alloc round 2 returned null\0A\00", align 1
|
||||
@str.143 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.144 = private unnamed_addr constant [36 x i8] c"FAIL: +alloc round 2 returned null\0A\00", align 1
|
||||
@str.143 = private unnamed_addr constant [13 x i8] c"dealloc: ok\0A\00", align 1
|
||||
@str.144 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.145 = private unnamed_addr constant [13 x i8] c"dealloc: ok\0A\00", align 1
|
||||
@str.146 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.147 = private unnamed_addr constant [13 x i8] c"dealloc: ok\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_.148 = private unnamed_addr constant [6 x i8] c"SxFoo\00"
|
||||
@OBJC_CLASS_NAME_.146 = 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_.149 = private unnamed_addr constant [8 x i8] c"dealloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.150 = private unnamed_addr constant [4 x i8] c"v@:\00"
|
||||
@OBJC_METH_VAR_NAME_.151 = private unnamed_addr constant [6 x i8] c"alloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.152 = private unnamed_addr constant [4 x i8] c"@@:\00"
|
||||
@OBJC_METH_VAR_NAME_.147 = private unnamed_addr constant [8 x i8] c"dealloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.148 = private unnamed_addr constant [4 x i8] c"v@:\00"
|
||||
@OBJC_METH_VAR_NAME_.149 = private unnamed_addr constant [6 x i8] c"alloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.150 = private unnamed_addr constant [4 x i8] c"@@:\00"
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
define internal void @out(ptr %0, { ptr, i64 } %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%load = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%dptr = extractvalue { ptr, i64 } %load, 0
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%call = call i64 @write(i32 1, ptr %dptr, i64 %len)
|
||||
ret void
|
||||
}
|
||||
|
||||
declare ptr @malloc(i64)
|
||||
|
||||
@@ -61,7 +73,7 @@ declare ptr @memcpy(ptr, ptr, i64)
|
||||
declare ptr @memset(ptr, i32, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.1(ptr) #0
|
||||
declare void @out.1(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
@@ -286,7 +298,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.114, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.112, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -382,7 +394,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.115, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.113, 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
|
||||
@@ -390,7 +402,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.116, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.114, 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
|
||||
@@ -400,13 +412,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.117, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.115, 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.118, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.116, 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
|
||||
@@ -414,7 +426,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.119, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.117, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -428,7 +440,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.120, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.118, 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
|
||||
@@ -436,7 +448,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.121, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.119, 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
|
||||
@@ -447,7 +459,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.122, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.120, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -504,7 +516,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.123, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.121, 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
|
||||
@@ -512,7 +524,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.124, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.122, 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
|
||||
@@ -523,7 +535,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.125, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.123, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -543,7 +555,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.126, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.124, 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
|
||||
@@ -551,7 +563,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.127, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.125, 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
|
||||
@@ -562,7 +574,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.128, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.126, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -572,7 +584,7 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.2(ptr) #0
|
||||
declare void @out.2(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
@@ -664,8 +676,6 @@ declare i32 @close(i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read(i32, ptr, i64) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek(i32, i64, i32) #0
|
||||
|
||||
@@ -1089,9 +1099,6 @@ 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
|
||||
|
||||
@@ -1176,6 +1183,9 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_post_link_callback(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
@@ -1570,91 +1580,85 @@ declare ptr @BuildOptions.asset_dir_src_at.83(i64, i64) #0
|
||||
declare ptr @BuildOptions.asset_dir_dest_at.84(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_callback.85(i64, ptr) #0
|
||||
declare void @BuildOptions.set_post_link_module.85(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_module.86(i64, ptr) #0
|
||||
declare ptr @BuildOptions.binary_path.86(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.binary_path.87(i64) #0
|
||||
declare void @BuildOptions.set_bundle_path.87(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_path.88(i64, ptr) #0
|
||||
declare void @BuildOptions.set_bundle_id.88(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_id.89(i64, ptr) #0
|
||||
declare void @BuildOptions.set_codesign_identity.89(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_codesign_identity.90(i64, ptr) #0
|
||||
declare void @BuildOptions.set_provisioning_profile.90(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_provisioning_profile.91(i64, ptr) #0
|
||||
declare ptr @BuildOptions.bundle_path.91(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_path.92(i64) #0
|
||||
declare ptr @BuildOptions.bundle_id.92(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_id.93(i64) #0
|
||||
declare ptr @BuildOptions.codesign_identity.93(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.codesign_identity.94(i64) #0
|
||||
declare ptr @BuildOptions.provisioning_profile.94(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.provisioning_profile.95(i64) #0
|
||||
declare ptr @BuildOptions.target_triple.95(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.target_triple.96(i64) #0
|
||||
declare i1 @BuildOptions.is_macos.96(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_macos.97(i64) #0
|
||||
declare i1 @BuildOptions.is_ios.97(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios.98(i64) #0
|
||||
declare i1 @BuildOptions.is_ios_device.98(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_device.99(i64) #0
|
||||
declare i1 @BuildOptions.is_ios_simulator.99(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_simulator.100(i64) #0
|
||||
declare i1 @BuildOptions.is_android.100(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_android.101(i64) #0
|
||||
declare i64 @BuildOptions.framework_count.101(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_count.102(i64) #0
|
||||
declare ptr @BuildOptions.framework_at.102(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_at.103(i64, i64) #0
|
||||
declare i64 @BuildOptions.framework_path_count.103(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_path_count.104(i64) #0
|
||||
declare ptr @BuildOptions.framework_path_at.104(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_path_at.105(i64, i64) #0
|
||||
declare void @BuildOptions.set_manifest_path.105(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_manifest_path.106(i64, ptr) #0
|
||||
declare void @BuildOptions.set_keystore_path.106(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_keystore_path.107(i64, ptr) #0
|
||||
declare ptr @BuildOptions.manifest_path.107(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.manifest_path.108(i64) #0
|
||||
declare ptr @BuildOptions.keystore_path.108(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.keystore_path.109(i64) #0
|
||||
declare i64 @BuildOptions.jni_main_count.109(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.jni_main_count.110(i64) #0
|
||||
declare ptr @BuildOptions.jni_main_runtime_path_at.110(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_runtime_path_at.111(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.112(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options.113() #0
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.111(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @objc_getClass(ptr) #0
|
||||
@@ -1741,7 +1745,7 @@ entry:
|
||||
%allocaN = alloca ptr, align 8
|
||||
%allocaN = alloca ptr, align 8
|
||||
%allocaN = alloca ptr, align 8
|
||||
%call = call ptr @objc_getClass(ptr @str.129)
|
||||
%call = call ptr @objc_getClass(ptr @str.127)
|
||||
store ptr %call, ptr %alloca, align 8
|
||||
%load = load ptr, ptr %alloca, align 8
|
||||
%icmp = icmp eq ptr %load, null
|
||||
@@ -1752,7 +1756,7 @@ if.then.0: ; preds = %entry
|
||||
ret i32 1
|
||||
|
||||
if.merge.1: ; preds = %entry
|
||||
%callN = call ptr @sel_registerName(ptr @str.130)
|
||||
%callN = call ptr @sel_registerName(ptr @str.128)
|
||||
store ptr %callN, ptr %allocaN, align 8
|
||||
%loadN = load ptr, ptr %alloca, align 8
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
@@ -1767,7 +1771,7 @@ if.then.39: ; preds = %if.merge.1
|
||||
ret i32 1
|
||||
|
||||
if.merge.40: ; preds = %if.merge.1
|
||||
%callN = call ptr @sel_registerName(ptr @str.131)
|
||||
%callN = call ptr @sel_registerName(ptr @str.129)
|
||||
store ptr %callN, ptr %allocaN, align 8
|
||||
store ptr @objc_msgSend, ptr %allocaN, align 8
|
||||
%loadN = load ptr, ptr %alloca, align 8
|
||||
@@ -1784,7 +1788,7 @@ if.then.41: ; preds = %if.merge.40
|
||||
ret i32 1
|
||||
|
||||
if.merge.42: ; preds = %if.merge.40
|
||||
%callN = call ptr @sel_registerName(ptr @str.132)
|
||||
%callN = call ptr @sel_registerName(ptr @str.130)
|
||||
store ptr %callN, ptr %allocaN, align 8
|
||||
store ptr @objc_msgSend, ptr %allocaN, align 8
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
@@ -1831,30 +1835,28 @@ entry:
|
||||
define internal void @print__ct_s354c93d7643e1bdf__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.133, i64 27 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.131, i64 27 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds nuw { 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.134, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.132, 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 27)
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%str.ptr = extractvalue { ptr, i64 } %loadN, 0
|
||||
%str.len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len)
|
||||
call void @out(ptr %0, { ptr, i64 } %loadN)
|
||||
ret void
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.135, i64 27 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.133, i64 27 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -1862,30 +1864,28 @@ entry:
|
||||
define internal void @print__ct_sfe783e2b27a4beff__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.136, i64 26 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.134, i64 26 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds nuw { 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.137, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.135, i64 0 }, ptr %allocaN, align 8
|
||||
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 26)
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%str.ptr = extractvalue { ptr, i64 } %loadN, 0
|
||||
%str.len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len)
|
||||
call void @out(ptr %0, { ptr, i64 } %loadN)
|
||||
ret void
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_1(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.138, i64 26 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.136, i64 26 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -1893,30 +1893,28 @@ entry:
|
||||
define internal void @print__ct_scaebdbbd10c81716__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.139, i64 27 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.137, i64 27 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds nuw { 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.140, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.138, 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 27)
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%str.ptr = extractvalue { ptr, i64 } %loadN, 0
|
||||
%str.len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len)
|
||||
call void @out(ptr %0, { ptr, i64 } %loadN)
|
||||
ret void
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_2(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.141, i64 27 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.139, i64 27 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -1924,30 +1922,28 @@ entry:
|
||||
define internal void @print__ct_s7c1052877b8cc801__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.142, i64 35 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.140, i64 35 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds nuw { 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.143, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.141, 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 35)
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%str.ptr = extractvalue { ptr, i64 } %loadN, 0
|
||||
%str.len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len)
|
||||
call void @out(ptr %0, { ptr, i64 } %loadN)
|
||||
ret void
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_3(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.144, i64 35 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.142, i64 35 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -1955,30 +1951,28 @@ entry:
|
||||
define internal void @print__ct_sed4e79fbcbd67966__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.145, i64 12 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.143, i64 12 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds nuw { 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.146, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.144, 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 12)
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%str.ptr = extractvalue { ptr, i64 } %loadN, 0
|
||||
%str.len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len)
|
||||
call void @out(ptr %0, { ptr, i64 } %loadN)
|
||||
ret void
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_4(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.147, i64 12 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.145, i64 12 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -2036,17 +2030,17 @@ declare i8 @class_addIvar(ptr, ptr, i64, i8, 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_.148, i64 0)
|
||||
%cls = call ptr @objc_allocateClassPair(ptr %super_cls, ptr @OBJC_CLASS_NAME_.146, 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 i1 @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_.149)
|
||||
%2 = call i1 @class_addMethod(ptr %cls, ptr %sel_dealloc, ptr @__SxFoo_dealloc_imp, ptr @OBJC_METH_VAR_TYPE_.150)
|
||||
%sel_alloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.151)
|
||||
%3 = call i1 @class_addMethod(ptr %metacls, ptr %sel_alloc, ptr @__SxFoo_alloc_imp, ptr @OBJC_METH_VAR_TYPE_.152)
|
||||
%sel_dealloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.147)
|
||||
%2 = call i1 @class_addMethod(ptr %cls, ptr %sel_dealloc, ptr @__SxFoo_dealloc_imp, ptr @OBJC_METH_VAR_TYPE_.148)
|
||||
%sel_alloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.149)
|
||||
%3 = call i1 @class_addMethod(ptr %metacls, ptr %sel_alloc, ptr @__SxFoo_alloc_imp, ptr @OBJC_METH_VAR_TYPE_.150)
|
||||
%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 one or more lines are too long
@@ -3,30 +3,42 @@
|
||||
@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.114 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.115 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.116 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.117 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.118 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.119 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.120 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.121 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.122 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.123 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.124 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.125 = private unnamed_addr constant [5 x i8] c")); \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.112 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.113 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.114 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.115 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.116 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.117 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.118 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.119 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.120 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.121 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.122 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.123 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.124 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.125 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.126 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.127 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.128 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.129 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.130 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.131 = 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_.132 = private unnamed_addr constant [8 x i8] c"release\00"
|
||||
@OBJC_METH_VAR_NAME_.130 = 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 }]
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
define internal void @out(ptr %0, { ptr, i64 } %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%load = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%dptr = extractvalue { ptr, i64 } %load, 0
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%call = call i64 @write(i32 1, ptr %dptr, i64 %len)
|
||||
ret void
|
||||
}
|
||||
|
||||
declare ptr @malloc(i64)
|
||||
|
||||
@@ -37,7 +49,7 @@ declare ptr @memcpy(ptr, ptr, i64)
|
||||
declare ptr @memset(ptr, i32, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.1(ptr) #0
|
||||
declare void @out.1(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
@@ -262,7 +274,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.114, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.112, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -358,7 +370,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.115, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.113, 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
|
||||
@@ -366,7 +378,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.116, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.114, 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
|
||||
@@ -376,13 +388,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.117, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.115, 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.118, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.116, 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
|
||||
@@ -390,7 +402,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.119, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.117, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -404,7 +416,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.120, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.118, 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
|
||||
@@ -412,7 +424,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.121, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.119, 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
|
||||
@@ -423,7 +435,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.122, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.120, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -480,7 +492,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.123, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.121, 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
|
||||
@@ -488,7 +500,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.124, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.122, 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
|
||||
@@ -499,7 +511,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.125, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.123, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -519,7 +531,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.126, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.124, 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
|
||||
@@ -527,7 +539,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.127, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.125, 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
|
||||
@@ -538,7 +550,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.128, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.126, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.36
|
||||
|
||||
@@ -548,7 +560,7 @@ if.merge.36: ; preds = %if.then.35, %while.
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.2(ptr) #0
|
||||
declare void @out.2(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
@@ -640,8 +652,6 @@ declare i32 @close(i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read(i32, ptr, i64) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek(i32, i64, i32) #0
|
||||
|
||||
@@ -1065,9 +1075,6 @@ 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
|
||||
|
||||
@@ -1152,6 +1159,9 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_post_link_callback(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
@@ -1546,91 +1556,85 @@ declare ptr @BuildOptions.asset_dir_src_at.83(i64, i64) #0
|
||||
declare ptr @BuildOptions.asset_dir_dest_at.84(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_callback.85(i64, ptr) #0
|
||||
declare void @BuildOptions.set_post_link_module.85(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_module.86(i64, ptr) #0
|
||||
declare ptr @BuildOptions.binary_path.86(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.binary_path.87(i64) #0
|
||||
declare void @BuildOptions.set_bundle_path.87(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_path.88(i64, ptr) #0
|
||||
declare void @BuildOptions.set_bundle_id.88(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_id.89(i64, ptr) #0
|
||||
declare void @BuildOptions.set_codesign_identity.89(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_codesign_identity.90(i64, ptr) #0
|
||||
declare void @BuildOptions.set_provisioning_profile.90(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_provisioning_profile.91(i64, ptr) #0
|
||||
declare ptr @BuildOptions.bundle_path.91(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_path.92(i64) #0
|
||||
declare ptr @BuildOptions.bundle_id.92(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_id.93(i64) #0
|
||||
declare ptr @BuildOptions.codesign_identity.93(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.codesign_identity.94(i64) #0
|
||||
declare ptr @BuildOptions.provisioning_profile.94(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.provisioning_profile.95(i64) #0
|
||||
declare ptr @BuildOptions.target_triple.95(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.target_triple.96(i64) #0
|
||||
declare i1 @BuildOptions.is_macos.96(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_macos.97(i64) #0
|
||||
declare i1 @BuildOptions.is_ios.97(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios.98(i64) #0
|
||||
declare i1 @BuildOptions.is_ios_device.98(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_device.99(i64) #0
|
||||
declare i1 @BuildOptions.is_ios_simulator.99(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_simulator.100(i64) #0
|
||||
declare i1 @BuildOptions.is_android.100(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_android.101(i64) #0
|
||||
declare i64 @BuildOptions.framework_count.101(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_count.102(i64) #0
|
||||
declare ptr @BuildOptions.framework_at.102(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_at.103(i64, i64) #0
|
||||
declare i64 @BuildOptions.framework_path_count.103(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_path_count.104(i64) #0
|
||||
declare ptr @BuildOptions.framework_path_at.104(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_path_at.105(i64, i64) #0
|
||||
declare void @BuildOptions.set_manifest_path.105(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_manifest_path.106(i64, ptr) #0
|
||||
declare void @BuildOptions.set_keystore_path.106(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_keystore_path.107(i64, ptr) #0
|
||||
declare ptr @BuildOptions.manifest_path.107(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.manifest_path.108(i64) #0
|
||||
declare ptr @BuildOptions.keystore_path.108(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.keystore_path.109(i64) #0
|
||||
declare i64 @BuildOptions.jni_main_count.109(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.jni_main_count.110(i64) #0
|
||||
declare ptr @BuildOptions.jni_main_runtime_path_at.110(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_runtime_path_at.111(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.112(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options.113() #0
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.111(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define i32 @main() #0 {
|
||||
@@ -1666,30 +1670,28 @@ entry:
|
||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.129, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.127, i64 3 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds nuw { 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.130, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.128, 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)
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%str.ptr = extractvalue { ptr, i64 } %loadN, 0
|
||||
%str.len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len)
|
||||
call void @out(ptr %0, { ptr, i64 } %loadN)
|
||||
ret void
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.131, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.129, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -1701,7 +1703,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_.132)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.130)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_release, align 8
|
||||
ret void
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -8,51 +8,63 @@
|
||||
@OBJC_SELECTOR_REFERENCES_initWithFrame_options_ = internal global ptr null
|
||||
@OBJC_SELECTOR_REFERENCES_actualSelectorName = internal global ptr null
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.114 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.115 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.116 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.117 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.118 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.119 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.120 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.121 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.122 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.123 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.124 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.125 = private unnamed_addr constant [5 x i8] c")); \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 [9 x i8] c"NSObject\00", align 1
|
||||
@str.130 = private unnamed_addr constant [16 x i8] c"SxManglingProbe\00", align 1
|
||||
@str.131 = private unnamed_addr constant [7 x i8] c"length\00", align 1
|
||||
@str.132 = private unnamed_addr constant [4 x i8] c"i@:\00", align 1
|
||||
@str.133 = private unnamed_addr constant [11 x i8] c"addObject:\00", align 1
|
||||
@str.134 = private unnamed_addr constant [5 x i8] c"i@:i\00", align 1
|
||||
@str.135 = private unnamed_addr constant [13 x i8] c"combine:and:\00", align 1
|
||||
@str.136 = private unnamed_addr constant [6 x i8] c"i@:ii\00", align 1
|
||||
@str.137 = private unnamed_addr constant [20 x i8] c"insert:after:index:\00", align 1
|
||||
@str.138 = private unnamed_addr constant [7 x i8] c"i@:iii\00", align 1
|
||||
@str.139 = private unnamed_addr constant [24 x i8] c"add:observer:for:event:\00", align 1
|
||||
@str.140 = private unnamed_addr constant [8 x i8] c"i@:iiii\00", align 1
|
||||
@str.141 = private unnamed_addr constant [23 x i8] c"initWithFrame:options:\00", align 1
|
||||
@str.142 = private unnamed_addr constant [6 x i8] c"i@:ii\00", align 1
|
||||
@str.143 = private unnamed_addr constant [19 x i8] c"actualSelectorName\00", align 1
|
||||
@str.144 = private unnamed_addr constant [4 x i8] c"i@:\00", align 1
|
||||
@str.112 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.113 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.114 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.115 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.116 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.117 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.118 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.119 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.120 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.121 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.122 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.123 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.124 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.125 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.126 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.127 = private unnamed_addr constant [9 x i8] c"NSObject\00", align 1
|
||||
@str.128 = private unnamed_addr constant [16 x i8] c"SxManglingProbe\00", align 1
|
||||
@str.129 = private unnamed_addr constant [7 x i8] c"length\00", align 1
|
||||
@str.130 = private unnamed_addr constant [4 x i8] c"i@:\00", align 1
|
||||
@str.131 = private unnamed_addr constant [11 x i8] c"addObject:\00", align 1
|
||||
@str.132 = private unnamed_addr constant [5 x i8] c"i@:i\00", align 1
|
||||
@str.133 = private unnamed_addr constant [13 x i8] c"combine:and:\00", align 1
|
||||
@str.134 = private unnamed_addr constant [6 x i8] c"i@:ii\00", align 1
|
||||
@str.135 = private unnamed_addr constant [20 x i8] c"insert:after:index:\00", align 1
|
||||
@str.136 = private unnamed_addr constant [7 x i8] c"i@:iii\00", align 1
|
||||
@str.137 = private unnamed_addr constant [24 x i8] c"add:observer:for:event:\00", align 1
|
||||
@str.138 = private unnamed_addr constant [8 x i8] c"i@:iiii\00", align 1
|
||||
@str.139 = private unnamed_addr constant [23 x i8] c"initWithFrame:options:\00", align 1
|
||||
@str.140 = private unnamed_addr constant [6 x i8] c"i@:ii\00", align 1
|
||||
@str.141 = private unnamed_addr constant [19 x i8] c"actualSelectorName\00", align 1
|
||||
@str.142 = private unnamed_addr constant [4 x i8] c"i@:\00", align 1
|
||||
@str.143 = private unnamed_addr constant [19 x i8] c"mangling table OK\0A\00", align 1
|
||||
@str.144 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.145 = private unnamed_addr constant [19 x i8] c"mangling table OK\0A\00", align 1
|
||||
@str.146 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.147 = private unnamed_addr constant [19 x i8] c"mangling table OK\0A\00", align 1
|
||||
@OBJC_METH_VAR_NAME_ = private unnamed_addr constant [7 x i8] c"length\00"
|
||||
@OBJC_METH_VAR_NAME_.148 = private unnamed_addr constant [11 x i8] c"addObject:\00"
|
||||
@OBJC_METH_VAR_NAME_.149 = private unnamed_addr constant [13 x i8] c"combine:and:\00"
|
||||
@OBJC_METH_VAR_NAME_.150 = private unnamed_addr constant [20 x i8] c"insert:after:index:\00"
|
||||
@OBJC_METH_VAR_NAME_.151 = private unnamed_addr constant [24 x i8] c"add:observer:for:event:\00"
|
||||
@OBJC_METH_VAR_NAME_.152 = private unnamed_addr constant [23 x i8] c"initWithFrame:options:\00"
|
||||
@OBJC_METH_VAR_NAME_.153 = private unnamed_addr constant [19 x i8] c"actualSelectorName\00"
|
||||
@OBJC_METH_VAR_NAME_.146 = private unnamed_addr constant [11 x i8] c"addObject:\00"
|
||||
@OBJC_METH_VAR_NAME_.147 = private unnamed_addr constant [13 x i8] c"combine:and:\00"
|
||||
@OBJC_METH_VAR_NAME_.148 = private unnamed_addr constant [20 x i8] c"insert:after:index:\00"
|
||||
@OBJC_METH_VAR_NAME_.149 = private unnamed_addr constant [24 x i8] c"add:observer:for:event:\00"
|
||||
@OBJC_METH_VAR_NAME_.150 = private unnamed_addr constant [23 x i8] c"initWithFrame:options:\00"
|
||||
@OBJC_METH_VAR_NAME_.151 = private unnamed_addr constant [19 x i8] c"actualSelectorName\00"
|
||||
@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @__sx_objc_selector_init, ptr null }]
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
define internal void @out(ptr %0, { ptr, i64 } %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%load = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%dptr = extractvalue { ptr, i64 } %load, 0
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%call = call i64 @write(i32 1, ptr %dptr, i64 %len)
|
||||
ret void
|
||||
}
|
||||
|
||||
declare ptr @malloc(i64)
|
||||
|
||||
@@ -63,7 +75,7 @@ declare ptr @memcpy(ptr, ptr, i64)
|
||||
declare ptr @memset(ptr, i32, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.1(ptr) #0
|
||||
declare void @out.1(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
@@ -288,7 +300,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.114, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.112, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -384,7 +396,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.115, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.113, 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
|
||||
@@ -392,7 +404,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.116, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.114, 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
|
||||
@@ -402,13 +414,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.117, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.115, 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.118, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.116, 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
|
||||
@@ -416,7 +428,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.119, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.117, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -430,7 +442,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.120, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.118, 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
|
||||
@@ -438,7 +450,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.121, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.119, 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
|
||||
@@ -449,7 +461,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.122, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.120, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -506,7 +518,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.123, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.121, 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
|
||||
@@ -514,7 +526,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.124, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.122, 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
|
||||
@@ -525,7 +537,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.125, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.123, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -545,7 +557,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.126, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.124, 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
|
||||
@@ -553,7 +565,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.127, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.125, 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
|
||||
@@ -564,7 +576,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.128, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.126, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.36
|
||||
|
||||
@@ -574,7 +586,7 @@ if.merge.36: ; preds = %if.then.35, %while.
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.2(ptr) #0
|
||||
declare void @out.2(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
@@ -666,8 +678,6 @@ declare i32 @close(i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read(i32, ptr, i64) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek(i32, i64, i32) #0
|
||||
|
||||
@@ -1091,9 +1101,6 @@ 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
|
||||
|
||||
@@ -1178,6 +1185,9 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_post_link_callback(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
@@ -1572,91 +1582,85 @@ declare ptr @BuildOptions.asset_dir_src_at.83(i64, i64) #0
|
||||
declare ptr @BuildOptions.asset_dir_dest_at.84(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_callback.85(i64, ptr) #0
|
||||
declare void @BuildOptions.set_post_link_module.85(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_module.86(i64, ptr) #0
|
||||
declare ptr @BuildOptions.binary_path.86(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.binary_path.87(i64) #0
|
||||
declare void @BuildOptions.set_bundle_path.87(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_path.88(i64, ptr) #0
|
||||
declare void @BuildOptions.set_bundle_id.88(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_id.89(i64, ptr) #0
|
||||
declare void @BuildOptions.set_codesign_identity.89(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_codesign_identity.90(i64, ptr) #0
|
||||
declare void @BuildOptions.set_provisioning_profile.90(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_provisioning_profile.91(i64, ptr) #0
|
||||
declare ptr @BuildOptions.bundle_path.91(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_path.92(i64) #0
|
||||
declare ptr @BuildOptions.bundle_id.92(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_id.93(i64) #0
|
||||
declare ptr @BuildOptions.codesign_identity.93(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.codesign_identity.94(i64) #0
|
||||
declare ptr @BuildOptions.provisioning_profile.94(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.provisioning_profile.95(i64) #0
|
||||
declare ptr @BuildOptions.target_triple.95(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.target_triple.96(i64) #0
|
||||
declare i1 @BuildOptions.is_macos.96(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_macos.97(i64) #0
|
||||
declare i1 @BuildOptions.is_ios.97(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios.98(i64) #0
|
||||
declare i1 @BuildOptions.is_ios_device.98(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_device.99(i64) #0
|
||||
declare i1 @BuildOptions.is_ios_simulator.99(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_simulator.100(i64) #0
|
||||
declare i1 @BuildOptions.is_android.100(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_android.101(i64) #0
|
||||
declare i64 @BuildOptions.framework_count.101(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_count.102(i64) #0
|
||||
declare ptr @BuildOptions.framework_at.102(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_at.103(i64, i64) #0
|
||||
declare i64 @BuildOptions.framework_path_count.103(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_path_count.104(i64) #0
|
||||
declare ptr @BuildOptions.framework_path_at.104(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_path_at.105(i64, i64) #0
|
||||
declare void @BuildOptions.set_manifest_path.105(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_manifest_path.106(i64, ptr) #0
|
||||
declare void @BuildOptions.set_keystore_path.106(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_keystore_path.107(i64, ptr) #0
|
||||
declare ptr @BuildOptions.manifest_path.107(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.manifest_path.108(i64) #0
|
||||
declare ptr @BuildOptions.keystore_path.108(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.keystore_path.109(i64) #0
|
||||
declare i64 @BuildOptions.jni_main_count.109(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.jni_main_count.110(i64) #0
|
||||
declare ptr @BuildOptions.jni_main_runtime_path_at.110(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_runtime_path_at.111(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.112(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options.113() #0
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.111(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @objc_getClass(ptr) #0
|
||||
@@ -1738,14 +1742,17 @@ entry:
|
||||
define i32 @main() #0 {
|
||||
entry:
|
||||
call void @__sx_objc_selector_init()
|
||||
%call = call ptr @objc_getClass(ptr @str.129)
|
||||
%call = call ptr @objc_getClass(ptr @str.127)
|
||||
%alloca = alloca ptr, align 8
|
||||
store ptr %call, ptr %alloca, align 8
|
||||
%load = load ptr, ptr %alloca, align 8
|
||||
%callN = call ptr @objc_allocateClassPair(ptr %load, ptr @str.130, i64 0)
|
||||
%callN = call ptr @objc_allocateClassPair(ptr %load, ptr @str.128, i64 0)
|
||||
%allocaN = alloca ptr, align 8
|
||||
store ptr %callN, ptr %allocaN, align 8
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.129)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.130)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.131)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.132)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
@@ -1764,9 +1771,6 @@ entry:
|
||||
%callN = call ptr @sel_registerName(ptr @str.141)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.142)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.143)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.144)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
call void @objc_registerClassPair(ptr %loadN)
|
||||
%allocaN = alloca ptr, align 8
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
@@ -1815,30 +1819,28 @@ entry:
|
||||
define internal void @print__ct_s4c1a58a7c89bfbba__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.145, i64 18 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.143, i64 18 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds nuw { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds nuw { 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.146, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.144, 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 18)
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%str.ptr = extractvalue { ptr, i64 } %loadN, 0
|
||||
%str.len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len)
|
||||
call void @out(ptr %0, { ptr, i64 } %loadN)
|
||||
ret void
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.147, i64 18 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.145, i64 18 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -1846,17 +1848,17 @@ 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_length, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.148)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.146)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_addObject_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.149)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.147)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_combine_and_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.150)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.148)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_insert_after_index_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.151)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.149)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_add_observer_for_event_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.152)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.150)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_initWithFrame_options_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.153)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.151)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_actualSelectorName, align 8
|
||||
ret void
|
||||
}
|
||||
|
||||
@@ -27,8 +27,20 @@
|
||||
@str.97 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.98 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
define internal void @out(ptr %0, { ptr, i64 } %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%load = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%dptr = extractvalue { ptr, i64 } %load, 0
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%call = call i64 @write(i32 1, ptr %dptr, i64 %len)
|
||||
ret void
|
||||
}
|
||||
|
||||
declare ptr @malloc(i64)
|
||||
|
||||
@@ -39,7 +51,7 @@ declare ptr @memcpy(ptr, ptr, i64)
|
||||
declare ptr @memset(ptr, i32, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.1(ptr) #0
|
||||
declare void @out.1(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
@@ -550,7 +562,7 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.2(ptr) #0
|
||||
declare void @out.2(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
@@ -642,8 +654,6 @@ declare i32 @close(i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read(i32, ptr, i64) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek(i32, i64, i32) #0
|
||||
|
||||
@@ -1067,9 +1077,6 @@ 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
|
||||
|
||||
@@ -1154,6 +1161,9 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_post_link_callback(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
@@ -1640,9 +1650,7 @@ entry:
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%str.ptr = extractvalue { ptr, i64 } %loadN, 0
|
||||
%str.len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len)
|
||||
call void @out(ptr %0, { ptr, i64 } %loadN)
|
||||
ret void
|
||||
}
|
||||
|
||||
|
||||
@@ -25,8 +25,20 @@
|
||||
@str.95 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.96 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
define internal void @out(ptr %0, { ptr, i64 } %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%load = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%dptr = extractvalue { ptr, i64 } %load, 0
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%call = call i64 @write(i32 1, ptr %dptr, i64 %len)
|
||||
ret void
|
||||
}
|
||||
|
||||
declare ptr @malloc(i64)
|
||||
|
||||
@@ -37,7 +49,7 @@ declare ptr @memcpy(ptr, ptr, i64)
|
||||
declare ptr @memset(ptr, i32, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.1(ptr) #0
|
||||
declare void @out.1(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
@@ -548,7 +560,7 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.2(ptr) #0
|
||||
declare void @out.2(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
@@ -640,8 +652,6 @@ declare i32 @close(i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read(i32, ptr, i64) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek(i32, i64, i32) #0
|
||||
|
||||
@@ -1065,9 +1075,6 @@ 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
|
||||
|
||||
@@ -1152,6 +1159,9 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_post_link_callback(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
@@ -1615,9 +1625,7 @@ entry:
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%str.ptr = extractvalue { ptr, i64 } %loadN, 0
|
||||
%str.len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len)
|
||||
call void @out(ptr %0, { ptr, i64 } %loadN)
|
||||
ret void
|
||||
}
|
||||
|
||||
|
||||
@@ -25,8 +25,20 @@
|
||||
@str.95 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.96 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
define internal void @out(ptr %0, { ptr, i64 } %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%load = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%dptr = extractvalue { ptr, i64 } %load, 0
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%call = call i64 @write(i32 1, ptr %dptr, i64 %len)
|
||||
ret void
|
||||
}
|
||||
|
||||
declare ptr @malloc(i64)
|
||||
|
||||
@@ -37,7 +49,7 @@ declare ptr @memcpy(ptr, ptr, i64)
|
||||
declare ptr @memset(ptr, i32, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.1(ptr) #0
|
||||
declare void @out.1(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
@@ -548,7 +560,7 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.2(ptr) #0
|
||||
declare void @out.2(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
@@ -640,8 +652,6 @@ declare i32 @close(i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read(i32, ptr, i64) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek(i32, i64, i32) #0
|
||||
|
||||
@@ -1065,9 +1075,6 @@ 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
|
||||
|
||||
@@ -1152,6 +1159,9 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_post_link_callback(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
@@ -1615,9 +1625,7 @@ entry:
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%str.ptr = extractvalue { ptr, i64 } %loadN, 0
|
||||
%str.len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len)
|
||||
call void @out(ptr %0, { ptr, i64 } %loadN)
|
||||
ret void
|
||||
}
|
||||
|
||||
|
||||
@@ -25,8 +25,20 @@
|
||||
@str.95 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.96 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
define internal void @out(ptr %0, { ptr, i64 } %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%load = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%dptr = extractvalue { ptr, i64 } %load, 0
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%call = call i64 @write(i32 1, ptr %dptr, i64 %len)
|
||||
ret void
|
||||
}
|
||||
|
||||
declare ptr @malloc(i64)
|
||||
|
||||
@@ -37,7 +49,7 @@ declare ptr @memcpy(ptr, ptr, i64)
|
||||
declare ptr @memset(ptr, i32, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.1(ptr) #0
|
||||
declare void @out.1(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
@@ -548,7 +560,7 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.2(ptr) #0
|
||||
declare void @out.2(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
@@ -640,8 +652,6 @@ declare i32 @close(i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read(i32, ptr, i64) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek(i32, i64, i32) #0
|
||||
|
||||
@@ -1065,9 +1075,6 @@ 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
|
||||
|
||||
@@ -1152,6 +1159,9 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_post_link_callback(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
@@ -1615,9 +1625,7 @@ entry:
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%str.ptr = extractvalue { ptr, i64 } %loadN, 0
|
||||
%str.len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len)
|
||||
call void @out(ptr %0, { ptr, i64 } %loadN)
|
||||
ret void
|
||||
}
|
||||
|
||||
|
||||
@@ -25,8 +25,20 @@
|
||||
@str.95 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.96 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
define internal void @out(ptr %0, { ptr, i64 } %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%load = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%dptr = extractvalue { ptr, i64 } %load, 0
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%call = call i64 @write(i32 1, ptr %dptr, i64 %len)
|
||||
ret void
|
||||
}
|
||||
|
||||
declare ptr @malloc(i64)
|
||||
|
||||
@@ -37,7 +49,7 @@ declare ptr @memcpy(ptr, ptr, i64)
|
||||
declare ptr @memset(ptr, i32, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.1(ptr) #0
|
||||
declare void @out.1(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
@@ -548,7 +560,7 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.2(ptr) #0
|
||||
declare void @out.2(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
@@ -640,8 +652,6 @@ declare i32 @close(i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read(i32, ptr, i64) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek(i32, i64, i32) #0
|
||||
|
||||
@@ -1065,9 +1075,6 @@ 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
|
||||
|
||||
@@ -1152,6 +1159,9 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_post_link_callback(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
@@ -1615,9 +1625,7 @@ entry:
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%str.ptr = extractvalue { ptr, i64 } %loadN, 0
|
||||
%str.len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len)
|
||||
call void @out(ptr %0, { ptr, i64 } %loadN)
|
||||
ret void
|
||||
}
|
||||
|
||||
|
||||
@@ -25,8 +25,20 @@
|
||||
@str.95 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.96 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
define internal void @out(ptr %0, { ptr, i64 } %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%load = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%dptr = extractvalue { ptr, i64 } %load, 0
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%call = call i64 @write(i32 1, ptr %dptr, i64 %len)
|
||||
ret void
|
||||
}
|
||||
|
||||
declare ptr @malloc(i64)
|
||||
|
||||
@@ -37,7 +49,7 @@ declare ptr @memcpy(ptr, ptr, i64)
|
||||
declare ptr @memset(ptr, i32, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.1(ptr) #0
|
||||
declare void @out.1(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
@@ -548,7 +560,7 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.2(ptr) #0
|
||||
declare void @out.2(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
@@ -640,8 +652,6 @@ declare i32 @close(i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read(i32, ptr, i64) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek(i32, i64, i32) #0
|
||||
|
||||
@@ -1065,9 +1075,6 @@ 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
|
||||
|
||||
@@ -1152,6 +1159,9 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_post_link_callback(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
@@ -1615,9 +1625,7 @@ entry:
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%str.ptr = extractvalue { ptr, i64 } %loadN, 0
|
||||
%str.len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len)
|
||||
call void @out(ptr %0, { ptr, i64 } %loadN)
|
||||
ret void
|
||||
}
|
||||
|
||||
|
||||
@@ -25,8 +25,20 @@
|
||||
@str.95 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.96 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
define internal void @out(ptr %0, { ptr, i64 } %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%load = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%dptr = extractvalue { ptr, i64 } %load, 0
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%call = call i64 @write(i32 1, ptr %dptr, i64 %len)
|
||||
ret void
|
||||
}
|
||||
|
||||
declare ptr @malloc(i64)
|
||||
|
||||
@@ -37,7 +49,7 @@ declare ptr @memcpy(ptr, ptr, i64)
|
||||
declare ptr @memset(ptr, i32, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.1(ptr) #0
|
||||
declare void @out.1(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
@@ -548,7 +560,7 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.2(ptr) #0
|
||||
declare void @out.2(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
@@ -640,8 +652,6 @@ declare i32 @close(i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read(i32, ptr, i64) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek(i32, i64, i32) #0
|
||||
|
||||
@@ -1065,9 +1075,6 @@ 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
|
||||
|
||||
@@ -1152,6 +1159,9 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_post_link_callback(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
@@ -1612,9 +1622,7 @@ entry:
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%str.ptr = extractvalue { ptr, i64 } %loadN, 0
|
||||
%str.len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len)
|
||||
call void @out(ptr %0, { ptr, i64 } %loadN)
|
||||
ret void
|
||||
}
|
||||
|
||||
|
||||
@@ -25,8 +25,20 @@
|
||||
@str.95 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.96 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
define internal void @out(ptr %0, { ptr, i64 } %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%load = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%dptr = extractvalue { ptr, i64 } %load, 0
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%call = call i64 @write(i32 1, ptr %dptr, i64 %len)
|
||||
ret void
|
||||
}
|
||||
|
||||
declare ptr @malloc(i64)
|
||||
|
||||
@@ -37,7 +49,7 @@ declare ptr @memcpy(ptr, ptr, i64)
|
||||
declare ptr @memset(ptr, i32, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.1(ptr) #0
|
||||
declare void @out.1(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
@@ -548,7 +560,7 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.2(ptr) #0
|
||||
declare void @out.2(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
@@ -640,8 +652,6 @@ declare i32 @close(i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read(i32, ptr, i64) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek(i32, i64, i32) #0
|
||||
|
||||
@@ -1065,9 +1075,6 @@ 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
|
||||
|
||||
@@ -1152,6 +1159,9 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_post_link_callback(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
@@ -1615,9 +1625,7 @@ entry:
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%str.ptr = extractvalue { ptr, i64 } %loadN, 0
|
||||
%str.len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len)
|
||||
call void @out(ptr %0, { ptr, i64 } %loadN)
|
||||
ret void
|
||||
}
|
||||
|
||||
|
||||
@@ -25,8 +25,20 @@
|
||||
@str.95 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.96 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
define internal void @out(ptr %0, { ptr, i64 } %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%load = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%dptr = extractvalue { ptr, i64 } %load, 0
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%call = call i64 @write(i32 1, ptr %dptr, i64 %len)
|
||||
ret void
|
||||
}
|
||||
|
||||
declare ptr @malloc(i64)
|
||||
|
||||
@@ -37,7 +49,7 @@ declare ptr @memcpy(ptr, ptr, i64)
|
||||
declare ptr @memset(ptr, i32, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.1(ptr) #0
|
||||
declare void @out.1(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
@@ -548,7 +560,7 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.2(ptr) #0
|
||||
declare void @out.2(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
@@ -640,8 +652,6 @@ declare i32 @close(i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read(i32, ptr, i64) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek(i32, i64, i32) #0
|
||||
|
||||
@@ -1065,9 +1075,6 @@ 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
|
||||
|
||||
@@ -1152,6 +1159,9 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_post_link_callback(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
@@ -1613,9 +1623,7 @@ entry:
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %load, { ptr, i64 } %call)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%str.ptr = extractvalue { ptr, i64 } %loadN, 0
|
||||
%str.len = extractvalue { ptr, i64 } %loadN, 1
|
||||
%1 = call i64 @write(i32 1, ptr %str.ptr, i64 %str.len)
|
||||
call void @out(ptr %0, { ptr, i64 } %loadN)
|
||||
ret void
|
||||
}
|
||||
|
||||
|
||||
@@ -2,14 +2,16 @@
|
||||
@g_held_view = internal global ptr null
|
||||
@__sx_default_context = internal constant { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc_bytes, ptr @__thunk_CAllocator_Allocator_dealloc_bytes }, ptr null }
|
||||
@str = private unnamed_addr constant [9 x i8] c"onCreate\00", align 1
|
||||
@str.114 = private unnamed_addr constant [23 x i8] c"(Landroid/os/Bundle;)V\00", align 1
|
||||
@str.112 = 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.115 = private unnamed_addr constant [7 x i8] c"<init>\00", align 1
|
||||
@str.116 = private unnamed_addr constant [29 x i8] c"(Landroid/content/Context;)V\00", align 1
|
||||
@str.113 = private unnamed_addr constant [7 x i8] c"<init>\00", align 1
|
||||
@str.114 = 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
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
declare void @out(ptr, ptr) #0
|
||||
|
||||
declare ptr @malloc(i64)
|
||||
|
||||
@@ -20,7 +22,7 @@ declare ptr @memcpy(ptr, ptr, i64)
|
||||
declare ptr @memset(ptr, i32, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.1(ptr) #0
|
||||
declare void @out.1(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @alloc_string(ptr, i64) #0
|
||||
@@ -71,7 +73,7 @@ declare ptr @any_to_string(ptr, [2 x i64]) #0
|
||||
declare ptr @build_format(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out.2(ptr) #0
|
||||
declare void @out.2(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
@@ -163,8 +165,6 @@ declare i32 @close(i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read(i32, ptr, i64) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek(i32, i64, i32) #0
|
||||
|
||||
@@ -588,9 +588,6 @@ 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
|
||||
|
||||
@@ -675,6 +672,9 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_post_link_callback(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
@@ -1069,91 +1069,85 @@ declare ptr @BuildOptions.asset_dir_src_at.83(i64, i64) #0
|
||||
declare ptr @BuildOptions.asset_dir_dest_at.84(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_callback.85(i64, ptr) #0
|
||||
declare void @BuildOptions.set_post_link_module.85(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_module.86(i64, ptr) #0
|
||||
declare ptr @BuildOptions.binary_path.86(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.binary_path.87(i64) #0
|
||||
declare void @BuildOptions.set_bundle_path.87(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_path.88(i64, ptr) #0
|
||||
declare void @BuildOptions.set_bundle_id.88(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_id.89(i64, ptr) #0
|
||||
declare void @BuildOptions.set_codesign_identity.89(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_codesign_identity.90(i64, ptr) #0
|
||||
declare void @BuildOptions.set_provisioning_profile.90(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_provisioning_profile.91(i64, ptr) #0
|
||||
declare ptr @BuildOptions.bundle_path.91(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_path.92(i64) #0
|
||||
declare ptr @BuildOptions.bundle_id.92(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_id.93(i64) #0
|
||||
declare ptr @BuildOptions.codesign_identity.93(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.codesign_identity.94(i64) #0
|
||||
declare ptr @BuildOptions.provisioning_profile.94(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.provisioning_profile.95(i64) #0
|
||||
declare ptr @BuildOptions.target_triple.95(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.target_triple.96(i64) #0
|
||||
declare i1 @BuildOptions.is_macos.96(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_macos.97(i64) #0
|
||||
declare i1 @BuildOptions.is_ios.97(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios.98(i64) #0
|
||||
declare i1 @BuildOptions.is_ios_device.98(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_device.99(i64) #0
|
||||
declare i1 @BuildOptions.is_ios_simulator.99(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_simulator.100(i64) #0
|
||||
declare i1 @BuildOptions.is_android.100(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_android.101(i64) #0
|
||||
declare i64 @BuildOptions.framework_count.101(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_count.102(i64) #0
|
||||
declare ptr @BuildOptions.framework_at.102(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_at.103(i64, i64) #0
|
||||
declare i64 @BuildOptions.framework_path_count.103(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_path_count.104(i64) #0
|
||||
declare ptr @BuildOptions.framework_path_at.104(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_path_at.105(i64, i64) #0
|
||||
declare void @BuildOptions.set_manifest_path.105(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_manifest_path.106(i64, ptr) #0
|
||||
declare void @BuildOptions.set_keystore_path.106(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_keystore_path.107(i64, ptr) #0
|
||||
declare ptr @BuildOptions.manifest_path.107(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.manifest_path.108(i64) #0
|
||||
declare ptr @BuildOptions.keystore_path.108(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.keystore_path.109(i64) #0
|
||||
declare i64 @BuildOptions.jni_main_count.109(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.jni_main_count.110(i64) #0
|
||||
declare ptr @BuildOptions.jni_main_runtime_path_at.110(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_runtime_path_at.111(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.112(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options.113() #0
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.111(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define i32 @main() #0 {
|
||||
@@ -1193,7 +1187,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.114)
|
||||
%jni.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.parent.cls, ptr @str, ptr @str.112)
|
||||
%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
|
||||
@@ -1209,7 +1203,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.115, ptr @str.116)
|
||||
%jni.ctor.mid = call ptr %jni.GetMethodID10(ptr %load, ptr %jni.ctor.cls, ptr @str.113, ptr @str.114)
|
||||
%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)
|
||||
|
||||
Reference in New Issue
Block a user