P5.5: migrate the 35 BuildOptions accessors off #compiler to VM-native abi(.compiler)
`BuildOptions :: struct #compiler { ...35 methods... }` becomes
`BuildOptions :: struct { }` (an opaque null-sentinel handle) plus 35 free
`ufcs (self: BuildOptions, …) abi(.compiler)` decls in build.sx, each serviced
by a new `comptime_vm.callBuildOptionFn` arm (off `callCompilerFn`). No legacy
`compiler_lib` handler: the names are registered in `bound_fns` with a single
bailing stub only so `weldedCompilerFn` accepts them.
- String lifetime: setters dupe the arg into the persistent `Vm.gpa` (the
Compilation allocator, threaded into both `tryEval` and `runBuildCallback` —
not the per-eval VM arena) and write/append to the threaded `BuildConfig`.
Getters read the field/slice or compute the target predicate from the triple.
- Dispatch routing (Option B): a `#run`/const-init entry that directly calls a
compiler-domain/welded fn (`emit_llvm.entryNeedsVm`) runs on the VM with no
legacy fallback regardless of the `-Dcomptime-flat` gate, so gate-OFF stays
green without a legacy BuildOptions handler (P5.7 retires the legacy interp).
- Mark the 5 `platform/bundle.sx` getter-calling helpers `abi(.compiler)` (they
are comptime-only bundler code; otherwise their now-welded getter calls trip
the runtime-call gate).
- 37 `.ir` snapshots regenerated (std transitively imports build.sx → string-
pool/type-table indices shift); verified `.ir`-only, zero behavior-stream diffs.
BuildOptions `compiler_call` strict bails gone (1609/1614/1615 strict-clean);
1616 now bails on a separate, pre-existing unported bitwise/shift VM gap (`shr`),
to port first in P5.6. 703/0 both gates.
Also sweep the outdated "flat memory" terminology to "comptime/byte-addressable"
across comptime_vm + the plan/checkpoint/CLAUDE docs: the comptime VM is
arena-backed, byte-addressable memory where `Addr` is a real host pointer, not a
flat contiguous address space (flag names `-Dcomptime-flat`/`SX_COMPTIME_FLAT` kept).
This commit is contained in:
@@ -8,47 +8,47 @@
|
||||
@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.113 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.114 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.115 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.116 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.117 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.118 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.119 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.120 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.121 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.122 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.123 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.124 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.125 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.126 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.127 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.128 = private unnamed_addr constant [9 x i8] c"NSObject\00", align 1
|
||||
@str.129 = private unnamed_addr constant [16 x i8] c"SxManglingProbe\00", align 1
|
||||
@str.130 = private unnamed_addr constant [7 x i8] c"length\00", align 1
|
||||
@str.131 = private unnamed_addr constant [4 x i8] c"i@:\00", align 1
|
||||
@str.132 = private unnamed_addr constant [11 x i8] c"addObject:\00", align 1
|
||||
@str.133 = private unnamed_addr constant [5 x i8] c"i@:i\00", align 1
|
||||
@str.134 = private unnamed_addr constant [13 x i8] c"combine:and:\00", align 1
|
||||
@str.135 = private unnamed_addr constant [6 x i8] c"i@:ii\00", align 1
|
||||
@str.136 = private unnamed_addr constant [20 x i8] c"insert:after:index:\00", align 1
|
||||
@str.137 = private unnamed_addr constant [7 x i8] c"i@:iii\00", align 1
|
||||
@str.138 = private unnamed_addr constant [24 x i8] c"add:observer:for:event:\00", align 1
|
||||
@str.139 = private unnamed_addr constant [8 x i8] c"i@:iiii\00", align 1
|
||||
@str.140 = private unnamed_addr constant [23 x i8] c"initWithFrame:options:\00", align 1
|
||||
@str.141 = private unnamed_addr constant [6 x i8] c"i@:ii\00", align 1
|
||||
@str.142 = private unnamed_addr constant [19 x i8] c"actualSelectorName\00", align 1
|
||||
@str.143 = private unnamed_addr constant [4 x i8] c"i@:\00", align 1
|
||||
@str.144 = private unnamed_addr constant [19 x i8] c"mangling table OK\0A\00", align 1
|
||||
@str.145 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.146 = private unnamed_addr constant [19 x i8] c"mangling table OK\0A\00", align 1
|
||||
@str.78 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.79 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.80 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.81 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.82 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.83 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.84 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.85 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.86 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.87 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.88 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.89 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.90 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.91 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.92 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.93 = private unnamed_addr constant [9 x i8] c"NSObject\00", align 1
|
||||
@str.94 = private unnamed_addr constant [16 x i8] c"SxManglingProbe\00", align 1
|
||||
@str.95 = private unnamed_addr constant [7 x i8] c"length\00", align 1
|
||||
@str.96 = private unnamed_addr constant [4 x i8] c"i@:\00", align 1
|
||||
@str.97 = private unnamed_addr constant [11 x i8] c"addObject:\00", align 1
|
||||
@str.98 = private unnamed_addr constant [5 x i8] c"i@:i\00", align 1
|
||||
@str.99 = private unnamed_addr constant [13 x i8] c"combine:and:\00", align 1
|
||||
@str.100 = private unnamed_addr constant [6 x i8] c"i@:ii\00", align 1
|
||||
@str.101 = private unnamed_addr constant [20 x i8] c"insert:after:index:\00", align 1
|
||||
@str.102 = private unnamed_addr constant [7 x i8] c"i@:iii\00", align 1
|
||||
@str.103 = private unnamed_addr constant [24 x i8] c"add:observer:for:event:\00", align 1
|
||||
@str.104 = private unnamed_addr constant [8 x i8] c"i@:iiii\00", align 1
|
||||
@str.105 = private unnamed_addr constant [23 x i8] c"initWithFrame:options:\00", align 1
|
||||
@str.106 = private unnamed_addr constant [6 x i8] c"i@:ii\00", align 1
|
||||
@str.107 = private unnamed_addr constant [19 x i8] c"actualSelectorName\00", align 1
|
||||
@str.108 = private unnamed_addr constant [4 x i8] c"i@:\00", align 1
|
||||
@str.109 = private unnamed_addr constant [19 x i8] c"mangling table OK\0A\00", align 1
|
||||
@str.110 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.111 = 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_.147 = private unnamed_addr constant [11 x i8] c"addObject:\00"
|
||||
@OBJC_METH_VAR_NAME_.148 = private unnamed_addr constant [13 x i8] c"combine:and:\00"
|
||||
@OBJC_METH_VAR_NAME_.149 = private unnamed_addr constant [20 x i8] c"insert:after:index:\00"
|
||||
@OBJC_METH_VAR_NAME_.150 = private unnamed_addr constant [24 x i8] c"add:observer:for:event:\00"
|
||||
@OBJC_METH_VAR_NAME_.151 = private unnamed_addr constant [23 x i8] c"initWithFrame:options:\00"
|
||||
@OBJC_METH_VAR_NAME_.152 = private unnamed_addr constant [19 x i8] c"actualSelectorName\00"
|
||||
@OBJC_METH_VAR_NAME_.112 = private unnamed_addr constant [11 x i8] c"addObject:\00"
|
||||
@OBJC_METH_VAR_NAME_.113 = private unnamed_addr constant [13 x i8] c"combine:and:\00"
|
||||
@OBJC_METH_VAR_NAME_.114 = private unnamed_addr constant [20 x i8] c"insert:after:index:\00"
|
||||
@OBJC_METH_VAR_NAME_.115 = private unnamed_addr constant [24 x i8] c"add:observer:for:event:\00"
|
||||
@OBJC_METH_VAR_NAME_.116 = private unnamed_addr constant [23 x i8] c"initWithFrame:options:\00"
|
||||
@OBJC_METH_VAR_NAME_.117 = 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)
|
||||
@@ -300,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.113, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.78, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -396,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.114, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.79, 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
|
||||
@@ -404,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.115, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.80, 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
|
||||
@@ -414,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.116, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.81, 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.117, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.82, 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
|
||||
@@ -428,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.118, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.83, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -442,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.119, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.84, 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
|
||||
@@ -450,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.120, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.85, 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
|
||||
@@ -461,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.121, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.86, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -518,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.122, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.87, 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
|
||||
@@ -526,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.123, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.88, 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
|
||||
@@ -537,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.124, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.89, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -557,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.125, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.90, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -565,7 +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.126, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.91, 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
|
||||
@@ -576,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.127, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.92, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.36
|
||||
|
||||
@@ -1101,114 +1101,114 @@ declare void @build_flags(ptr sret({ ptr, i64, i64 })) #0
|
||||
; Function Attrs: nounwind
|
||||
declare void @link(ptr, ptr, ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_framework(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_output_path(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_wasm_shell(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_asset_dir(i64, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.asset_dir_count(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.asset_dir_src_at(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.asset_dir_dest_at(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_module(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.binary_path(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_path(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_id(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_codesign_identity(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_provisioning_profile(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_path(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_id(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.codesign_identity(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.provisioning_profile(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.target_triple(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_macos(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_device(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_simulator(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_android(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_count(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_at(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_path_count(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_path_at(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_manifest_path(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_keystore_path(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.manifest_path(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.keystore_path(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.jni_main_count(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_runtime_path_at(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @add_link_flag(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @add_framework(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_output_path(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_wasm_shell(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @add_asset_dir(i64, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @asset_dir_count(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @asset_dir_src_at(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @asset_dir_dest_at(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_post_link_module(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @binary_path(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_bundle_path(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_bundle_id(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_codesign_identity(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_provisioning_profile(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @bundle_path(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @bundle_id(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @codesign_identity(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @provisioning_profile(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @target_triple(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @is_macos(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @is_ios(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @is_ios_device(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @is_ios_simulator(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @is_android(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @framework_count(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @framework_at(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @framework_path_count(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @framework_path_at(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_manifest_path(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @set_keystore_path(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @manifest_path(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @keystore_path(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @jni_main_count(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @jni_main_runtime_path_at(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @jni_main_java_source_at(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @on_build(ptr) #0
|
||||
|
||||
@@ -1585,112 +1585,7 @@ declare void @Pool.shutdown(ptr, ptr) #0
|
||||
declare ptr @pool_worker(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_link_flag.77(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_framework.78(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_output_path.79(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_wasm_shell.80(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_asset_dir.81(i64, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.asset_dir_count.82(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.asset_dir_src_at.83(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.asset_dir_dest_at.84(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_module.85(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.binary_path.86(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_path.87(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_id.88(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_codesign_identity.89(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_provisioning_profile.90(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_path.91(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_id.92(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.codesign_identity.93(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.provisioning_profile.94(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.target_triple.95(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_macos.96(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios.97(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_device.98(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_simulator.99(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_android.100(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_count.101(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_at.102(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_path_count.103(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_path_at.104(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_manifest_path.105(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_keystore_path.106(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.manifest_path.107(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.keystore_path.108(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.jni_main_count.109(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_runtime_path_at.110(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.111(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @default_pipeline.112(ptr, i64) #0
|
||||
declare i1 @default_pipeline.77(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @objc_getClass(ptr) #0
|
||||
@@ -1772,34 +1667,34 @@ entry:
|
||||
define i32 @main() #0 {
|
||||
entry:
|
||||
call void @__sx_objc_selector_init()
|
||||
%call = call ptr @objc_getClass(ptr @str.128)
|
||||
%call = call ptr @objc_getClass(ptr @str.93)
|
||||
%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.129, i64 0)
|
||||
%callN = call ptr @objc_allocateClassPair(ptr %load, ptr @str.94, 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.130)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.131)
|
||||
%callN = call ptr @sel_registerName(ptr @str.95)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.96)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.132)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.133)
|
||||
%callN = call ptr @sel_registerName(ptr @str.97)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.98)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.134)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.135)
|
||||
%callN = call ptr @sel_registerName(ptr @str.99)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.100)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.136)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.137)
|
||||
%callN = call ptr @sel_registerName(ptr @str.101)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.102)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.138)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.139)
|
||||
%callN = call ptr @sel_registerName(ptr @str.103)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.104)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.140)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.141)
|
||||
%callN = call ptr @sel_registerName(ptr @str.105)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.106)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.142)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.143)
|
||||
%callN = call ptr @sel_registerName(ptr @str.107)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.108)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
call void @objc_registerClassPair(ptr %loadN)
|
||||
%allocaN = alloca ptr, align 8
|
||||
@@ -1849,14 +1744,14 @@ entry:
|
||||
define internal void @print__ct_s4c1a58a7c89bfbba__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.144, i64 18 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.109, 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.145, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.110, 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)
|
||||
@@ -1870,7 +1765,7 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.146, i64 18 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.111, i64 18 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -1979,17 +1874,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_.147)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.112)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_addObject_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.148)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.113)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_combine_and_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.149)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.114)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_insert_after_index_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.150)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.115)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_add_observer_for_event_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.151)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.116)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_initWithFrame_options_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.152)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.117)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_actualSelectorName, align 8
|
||||
ret void
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user