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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user