std: restructure — std/ modules, namespace tail, std/xml.sx
allocators/fs/process/socket/log/trace/test move under modules/std/ (allocators.sx becomes std/mem.sx; the Allocator protocol moves into the std.sx prelude, impls stay in mem.sx). New std/xml.sx holds xml_escape as xml.escape. std.sx gains the carried namespace tail — flat-importing std.sx now also provides mem./xml./log. — with the remaining modules (fs/process/socket/json/cli/hash/test) deferred from the tail until the global last-wins maps are fully own-wins (pulling them into every closure collides bare names corpus-wide; they stay direct imports: modules/std/fs.sx etc.). log.sx's internal emit renamed log_emit (it clobbered consumer fns named emit program-wide). bundle.sx uses xml.escape via the carried alias. Consumer import paths swept mechanically; .ir snapshots recaptured for the larger std closure. m3te + game build unchanged.
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -120,9 +120,6 @@ declare ptr @concat(ptr, ptr, ptr) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @substr(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @xml_escape(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -132,6 +129,74 @@ declare ptr @any_to_string(ptr, [2 x i64]) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @build_format(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc.1(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc.2(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.3(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.6(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.7(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.8(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.9(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc.10(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc.11(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.init.12(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.13(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc.14(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc.15(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.16(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.17(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.18(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc.19(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc.20(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @escape(ptr, ptr) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal i64 @accept_c(ptr %0) #0 {
|
||||
entry:
|
||||
|
||||
@@ -7,34 +7,34 @@
|
||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||
@__sx_objc_cstr_dealloc = internal global [8 x i8] c"dealloc\00"
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.1 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.2 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.3 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.4 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.5 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.6 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.7 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.8 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.9 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.10 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.11 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.12 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.13 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.14 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.15 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.16 = private unnamed_addr constant [10 x i8] c"compiled\0A\00", align 1
|
||||
@str.17 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.18 = private unnamed_addr constant [10 x i8] c"compiled\0A\00", align 1
|
||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.36 = private unnamed_addr constant [10 x i8] c"compiled\0A\00", align 1
|
||||
@str.37 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.38 = private unnamed_addr constant [10 x i8] c"compiled\0A\00", align 1
|
||||
@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_.19 = private unnamed_addr constant [6 x i8] c"SxFoo\00"
|
||||
@OBJC_CLASS_NAME_.39 = 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_.20 = private unnamed_addr constant [8 x i8] c"dealloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.21 = private unnamed_addr constant [4 x i8] c"v@:\00"
|
||||
@OBJC_METH_VAR_NAME_.22 = private unnamed_addr constant [6 x i8] c"alloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.23 = private unnamed_addr constant [4 x i8] c"@@:\00"
|
||||
@OBJC_METH_VAR_NAME_.40 = private unnamed_addr constant [8 x i8] c"dealloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.41 = private unnamed_addr constant [4 x i8] c"v@:\00"
|
||||
@OBJC_METH_VAR_NAME_.42 = private unnamed_addr constant [6 x i8] c"alloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.43 = private unnamed_addr constant [4 x i8] c"@@:\00"
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -327,9 +327,6 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @xml_escape(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -342,7 +339,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.1, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -438,7 +435,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.2, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, 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
|
||||
@@ -446,7 +443,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.3, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, 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
|
||||
@@ -456,13 +453,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.4, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, 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.5, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.25, 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
|
||||
@@ -470,7 +467,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.6, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -484,7 +481,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.7, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.27, 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
|
||||
@@ -492,7 +489,7 @@ if.then.23: ; preds = %if.else.10
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.8, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, 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
|
||||
@@ -503,7 +500,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.9, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -560,7 +557,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.10, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.30, 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
|
||||
@@ -568,7 +565,7 @@ if.then.32: ; preds = %if.then.29
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.11, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, 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
|
||||
@@ -579,7 +576,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.12, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -599,7 +596,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.13, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.33, 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
|
||||
@@ -607,7 +604,7 @@ if.then.35: ; preds = %while.exit.2
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.14, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, 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
|
||||
@@ -618,7 +615,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.15, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.36
|
||||
|
||||
@@ -627,6 +624,74 @@ if.merge.36: ; preds = %if.then.35, %while.
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc.1(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc.2(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.3(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.6(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.7(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.8(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.9(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc.10(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc.11(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.init.12(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.13(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc.14(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc.15(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.16(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.17(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.18(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc.19(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc.20(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @escape(ptr, ptr) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||
|
||||
@@ -779,14 +844,14 @@ entry:
|
||||
define internal void @print__ct_sfeff9eeccd48b824__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.16, i64 9 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.36, i64 9 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.17, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.37, 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)
|
||||
@@ -802,7 +867,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.18, i64 9 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.38, i64 9 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -867,8 +932,6 @@ entry:
|
||||
ret void
|
||||
}
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
declare ptr @objc_getClass(ptr)
|
||||
|
||||
declare ptr @objc_allocateClassPair(ptr, ptr, i64)
|
||||
@@ -884,17 +947,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_.19, i64 0)
|
||||
%cls = call ptr @objc_allocateClassPair(ptr %super_cls, ptr @OBJC_CLASS_NAME_.39, 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_.20)
|
||||
%2 = call i8 @class_addMethod(ptr %cls, ptr %sel_dealloc, ptr @__SxFoo_dealloc_imp, ptr @OBJC_METH_VAR_TYPE_.21)
|
||||
%sel_alloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.22)
|
||||
%3 = call i8 @class_addMethod(ptr %metacls, ptr %sel_alloc, ptr @__SxFoo_alloc_imp, ptr @OBJC_METH_VAR_TYPE_.23)
|
||||
%sel_dealloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.40)
|
||||
%2 = call i8 @class_addMethod(ptr %cls, ptr %sel_dealloc, ptr @__SxFoo_dealloc_imp, ptr @OBJC_METH_VAR_TYPE_.41)
|
||||
%sel_alloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.42)
|
||||
%3 = call i8 @class_addMethod(ptr %metacls, ptr %sel_alloc, ptr @__SxFoo_alloc_imp, ptr @OBJC_METH_VAR_TYPE_.43)
|
||||
%iv = call ptr @class_getInstanceVariable(ptr %cls, ptr @OBJC_IVAR_NAME_)
|
||||
store ptr %iv, ptr @__SxFoo_state_ivar, align 8
|
||||
ret void
|
||||
|
||||
@@ -7,50 +7,50 @@
|
||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||
@__sx_objc_cstr_dealloc = internal global [8 x i8] c"dealloc\00"
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.1 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.2 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.3 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.4 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.5 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.6 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.7 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.8 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.9 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.10 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.11 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.12 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.13 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.14 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.15 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.16 = private unnamed_addr constant [6 x i8] c"SxFoo\00", align 1
|
||||
@str.17 = private unnamed_addr constant [8 x i8] c"dealloc\00", align 1
|
||||
@str.18 = private unnamed_addr constant [6 x i8] c"alloc\00", align 1
|
||||
@str.19 = private unnamed_addr constant [8 x i8] c"release\00", align 1
|
||||
@str.20 = private unnamed_addr constant [28 x i8] c"FAIL: SxFoo not registered\0A\00", align 1
|
||||
@str.21 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.22 = private unnamed_addr constant [28 x i8] c"FAIL: SxFoo not registered\0A\00", align 1
|
||||
@str.23 = private unnamed_addr constant [27 x i8] c"FAIL: dealloc IMP missing\0A\00", align 1
|
||||
@str.24 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.25 = private unnamed_addr constant [27 x i8] c"FAIL: dealloc IMP missing\0A\00", align 1
|
||||
@str.26 = private unnamed_addr constant [28 x i8] c"FAIL: +alloc returned null\0A\00", align 1
|
||||
@str.27 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.28 = private unnamed_addr constant [28 x i8] c"FAIL: +alloc returned null\0A\00", align 1
|
||||
@str.29 = private unnamed_addr constant [36 x i8] c"FAIL: +alloc round 2 returned null\0A\00", align 1
|
||||
@str.30 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.31 = private unnamed_addr constant [36 x i8] c"FAIL: +alloc round 2 returned null\0A\00", align 1
|
||||
@str.32 = private unnamed_addr constant [13 x i8] c"dealloc: ok\0A\00", align 1
|
||||
@str.33 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.34 = private unnamed_addr constant [13 x i8] c"dealloc: ok\0A\00", align 1
|
||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.36 = private unnamed_addr constant [6 x i8] c"SxFoo\00", align 1
|
||||
@str.37 = private unnamed_addr constant [8 x i8] c"dealloc\00", align 1
|
||||
@str.38 = private unnamed_addr constant [6 x i8] c"alloc\00", align 1
|
||||
@str.39 = private unnamed_addr constant [8 x i8] c"release\00", align 1
|
||||
@str.40 = private unnamed_addr constant [28 x i8] c"FAIL: SxFoo not registered\0A\00", align 1
|
||||
@str.41 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.42 = private unnamed_addr constant [28 x i8] c"FAIL: SxFoo not registered\0A\00", align 1
|
||||
@str.43 = private unnamed_addr constant [27 x i8] c"FAIL: dealloc IMP missing\0A\00", align 1
|
||||
@str.44 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.45 = private unnamed_addr constant [27 x i8] c"FAIL: dealloc IMP missing\0A\00", align 1
|
||||
@str.46 = private unnamed_addr constant [28 x i8] c"FAIL: +alloc returned null\0A\00", align 1
|
||||
@str.47 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.48 = private unnamed_addr constant [28 x i8] c"FAIL: +alloc returned null\0A\00", align 1
|
||||
@str.49 = private unnamed_addr constant [36 x i8] c"FAIL: +alloc round 2 returned null\0A\00", align 1
|
||||
@str.50 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.51 = private unnamed_addr constant [36 x i8] c"FAIL: +alloc round 2 returned null\0A\00", align 1
|
||||
@str.52 = private unnamed_addr constant [13 x i8] c"dealloc: ok\0A\00", align 1
|
||||
@str.53 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.54 = 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_.35 = private unnamed_addr constant [6 x i8] c"SxFoo\00"
|
||||
@OBJC_CLASS_NAME_.55 = 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_.36 = private unnamed_addr constant [8 x i8] c"dealloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.37 = private unnamed_addr constant [4 x i8] c"v@:\00"
|
||||
@OBJC_METH_VAR_NAME_.38 = private unnamed_addr constant [6 x i8] c"alloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.39 = private unnamed_addr constant [4 x i8] c"@@:\00"
|
||||
@OBJC_METH_VAR_NAME_.56 = private unnamed_addr constant [8 x i8] c"dealloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.57 = private unnamed_addr constant [4 x i8] c"v@:\00"
|
||||
@OBJC_METH_VAR_NAME_.58 = private unnamed_addr constant [6 x i8] c"alloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.59 = private unnamed_addr constant [4 x i8] c"@@:\00"
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -343,9 +343,6 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @xml_escape(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -358,7 +355,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.1, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -454,7 +451,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.2, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, 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
|
||||
@@ -462,7 +459,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.3, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, 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
|
||||
@@ -472,13 +469,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.4, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, 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.5, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.25, 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
|
||||
@@ -486,7 +483,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.6, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -500,7 +497,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.7, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.27, 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
|
||||
@@ -508,7 +505,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.8, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, 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
|
||||
@@ -519,7 +516,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.9, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -576,7 +573,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.10, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.30, 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
|
||||
@@ -584,7 +581,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.11, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, 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
|
||||
@@ -595,7 +592,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.12, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -615,7 +612,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.13, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.33, 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
|
||||
@@ -623,7 +620,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.14, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, 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
|
||||
@@ -634,7 +631,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.15, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -643,6 +640,74 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc.1(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc.2(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.3(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.6(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.7(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.8(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.9(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc.10(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc.11(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.init.12(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.13(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc.14(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc.15(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.16(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.17(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.18(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc.19(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc.20(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @escape(ptr, ptr) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||
|
||||
@@ -839,7 +904,7 @@ entry:
|
||||
%allocaN = alloca ptr, align 8
|
||||
%allocaN = alloca ptr, align 8
|
||||
%allocaN = alloca ptr, align 8
|
||||
%call = call ptr @objc_getClass(ptr @str.16)
|
||||
%call = call ptr @objc_getClass(ptr @str.36)
|
||||
store ptr %call, ptr %alloca, align 8
|
||||
%load = load ptr, ptr %alloca, align 8
|
||||
%icmp = icmp eq ptr %load, null
|
||||
@@ -850,7 +915,7 @@ if.then.0: ; preds = %entry
|
||||
ret i32 1
|
||||
|
||||
if.merge.1: ; preds = %entry
|
||||
%callN = call ptr @sel_registerName(ptr @str.17)
|
||||
%callN = call ptr @sel_registerName(ptr @str.37)
|
||||
store ptr %callN, ptr %allocaN, align 8
|
||||
%loadN = load ptr, ptr %alloca, align 8
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
@@ -865,7 +930,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.18)
|
||||
%callN = call ptr @sel_registerName(ptr @str.38)
|
||||
store ptr %callN, ptr %allocaN, align 8
|
||||
store ptr @objc_msgSend, ptr %allocaN, align 8
|
||||
%loadN = load ptr, ptr %alloca, align 8
|
||||
@@ -882,7 +947,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.19)
|
||||
%callN = call ptr @sel_registerName(ptr @str.39)
|
||||
store ptr %callN, ptr %allocaN, align 8
|
||||
store ptr @objc_msgSend, ptr %allocaN, align 8
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
@@ -929,14 +994,14 @@ entry:
|
||||
define internal void @print__ct_s354c93d7643e1bdf__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.20, i64 27 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.40, i64 27 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.41, 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)
|
||||
@@ -952,7 +1017,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.22, i64 27 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.42, i64 27 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -960,14 +1025,14 @@ entry:
|
||||
define internal void @print__ct_sfe783e2b27a4beff__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.23, i64 26 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.43, i64 26 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.24, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.44, 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)
|
||||
@@ -983,7 +1048,7 @@ entry:
|
||||
; 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.25, i64 26 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.45, i64 26 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -991,14 +1056,14 @@ entry:
|
||||
define internal void @print__ct_scaebdbbd10c81716__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.26, i64 27 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.46, i64 27 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.27, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.47, 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)
|
||||
@@ -1014,7 +1079,7 @@ entry:
|
||||
; 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.28, i64 27 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.48, i64 27 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -1022,14 +1087,14 @@ entry:
|
||||
define internal void @print__ct_s7c1052877b8cc801__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.29, i64 35 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.49, i64 35 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.30, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.50, 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)
|
||||
@@ -1045,7 +1110,7 @@ entry:
|
||||
; 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.31, i64 35 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.51, i64 35 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -1053,14 +1118,14 @@ entry:
|
||||
define internal void @print__ct_sed4e79fbcbd67966__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.32, i64 12 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.52, i64 12 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.33, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.53, 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)
|
||||
@@ -1076,7 +1141,7 @@ entry:
|
||||
; 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.34, i64 12 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.54, i64 12 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -1129,24 +1194,22 @@ entry:
|
||||
ret void
|
||||
}
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
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_.35, i64 0)
|
||||
%cls = call ptr @objc_allocateClassPair(ptr %super_cls, ptr @OBJC_CLASS_NAME_.55, 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_.36)
|
||||
%2 = call i1 @class_addMethod(ptr %cls, ptr %sel_dealloc, ptr @__SxFoo_dealloc_imp, ptr @OBJC_METH_VAR_TYPE_.37)
|
||||
%sel_alloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.38)
|
||||
%3 = call i1 @class_addMethod(ptr %metacls, ptr %sel_alloc, ptr @__SxFoo_alloc_imp, ptr @OBJC_METH_VAR_TYPE_.39)
|
||||
%sel_dealloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.56)
|
||||
%2 = call i1 @class_addMethod(ptr %cls, ptr %sel_dealloc, ptr @__SxFoo_dealloc_imp, ptr @OBJC_METH_VAR_TYPE_.57)
|
||||
%sel_alloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.58)
|
||||
%3 = call i1 @class_addMethod(ptr %metacls, ptr %sel_alloc, ptr @__SxFoo_alloc_imp, ptr @OBJC_METH_VAR_TYPE_.59)
|
||||
%iv = call ptr @class_getInstanceVariable(ptr %cls, ptr @OBJC_IVAR_NAME_)
|
||||
store ptr %iv, ptr @__SxFoo_state_ivar, align 8
|
||||
ret void
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -6,26 +6,26 @@
|
||||
@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.1 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.2 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.3 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.4 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.5 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.6 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.7 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.8 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.9 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.10 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.11 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.12 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.13 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.14 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.15 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.16 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.17 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.18 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.36 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.37 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.38 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@OBJC_METH_VAR_NAME_ = private unnamed_addr constant [5 x i8] c"init\00"
|
||||
@OBJC_METH_VAR_NAME_.19 = private unnamed_addr constant [8 x i8] c"release\00"
|
||||
@OBJC_METH_VAR_NAME_.39 = private unnamed_addr constant [8 x i8] c"release\00"
|
||||
@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @__sx_objc_selector_init, ptr null }]
|
||||
|
||||
; Function Attrs: nounwind
|
||||
@@ -319,9 +319,6 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @xml_escape(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -334,7 +331,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.1, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -430,7 +427,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.2, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, 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
|
||||
@@ -438,7 +435,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.3, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, 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
|
||||
@@ -448,13 +445,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.4, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, 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.5, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.25, 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
|
||||
@@ -462,7 +459,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.6, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -476,7 +473,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.7, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.27, 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
|
||||
@@ -484,7 +481,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.8, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, 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
|
||||
@@ -495,7 +492,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.9, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -552,7 +549,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.10, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.30, 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
|
||||
@@ -560,7 +557,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.11, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, 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
|
||||
@@ -571,7 +568,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.12, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -591,7 +588,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.13, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.33, 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
|
||||
@@ -599,7 +596,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.14, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, 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
|
||||
@@ -610,7 +607,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.15, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.36
|
||||
|
||||
@@ -619,6 +616,74 @@ if.merge.36: ; preds = %if.then.35, %while.
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc.1(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc.2(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.3(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.6(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.7(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.8(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.9(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc.10(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc.11(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.init.12(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.13(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc.14(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc.15(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.16(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.17(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.18(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc.19(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc.20(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @escape(ptr, ptr) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||
|
||||
@@ -764,14 +829,14 @@ entry:
|
||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.16, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.36, i64 3 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.17, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.37, 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)
|
||||
@@ -787,21 +852,19 @@ 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.18, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.38, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
declare ptr @objc_msgSend(ptr, ptr)
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
declare ptr @sel_registerName(ptr)
|
||||
|
||||
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_.19)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.39)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_release, align 8
|
||||
ret void
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -11,47 +11,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.1 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.2 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.3 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.4 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.5 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.6 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.7 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.8 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.9 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.10 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.11 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.12 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.13 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.14 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.15 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.16 = private unnamed_addr constant [9 x i8] c"NSObject\00", align 1
|
||||
@str.17 = private unnamed_addr constant [16 x i8] c"SxManglingProbe\00", align 1
|
||||
@str.18 = private unnamed_addr constant [7 x i8] c"length\00", align 1
|
||||
@str.19 = private unnamed_addr constant [4 x i8] c"i@:\00", align 1
|
||||
@str.20 = private unnamed_addr constant [11 x i8] c"addObject:\00", align 1
|
||||
@str.21 = private unnamed_addr constant [5 x i8] c"i@:i\00", align 1
|
||||
@str.22 = private unnamed_addr constant [13 x i8] c"combine:and:\00", align 1
|
||||
@str.23 = private unnamed_addr constant [6 x i8] c"i@:ii\00", align 1
|
||||
@str.24 = private unnamed_addr constant [20 x i8] c"insert:after:index:\00", align 1
|
||||
@str.25 = private unnamed_addr constant [7 x i8] c"i@:iii\00", align 1
|
||||
@str.26 = private unnamed_addr constant [24 x i8] c"add:observer:for:event:\00", align 1
|
||||
@str.27 = private unnamed_addr constant [8 x i8] c"i@:iiii\00", align 1
|
||||
@str.28 = private unnamed_addr constant [23 x i8] c"initWithFrame:options:\00", align 1
|
||||
@str.29 = private unnamed_addr constant [6 x i8] c"i@:ii\00", align 1
|
||||
@str.30 = private unnamed_addr constant [19 x i8] c"actualSelectorName\00", align 1
|
||||
@str.31 = private unnamed_addr constant [4 x i8] c"i@:\00", align 1
|
||||
@str.32 = private unnamed_addr constant [19 x i8] c"mangling table OK\0A\00", align 1
|
||||
@str.33 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.34 = private unnamed_addr constant [19 x i8] c"mangling table OK\0A\00", align 1
|
||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.36 = private unnamed_addr constant [9 x i8] c"NSObject\00", align 1
|
||||
@str.37 = private unnamed_addr constant [16 x i8] c"SxManglingProbe\00", align 1
|
||||
@str.38 = private unnamed_addr constant [7 x i8] c"length\00", align 1
|
||||
@str.39 = private unnamed_addr constant [4 x i8] c"i@:\00", align 1
|
||||
@str.40 = private unnamed_addr constant [11 x i8] c"addObject:\00", align 1
|
||||
@str.41 = private unnamed_addr constant [5 x i8] c"i@:i\00", align 1
|
||||
@str.42 = private unnamed_addr constant [13 x i8] c"combine:and:\00", align 1
|
||||
@str.43 = private unnamed_addr constant [6 x i8] c"i@:ii\00", align 1
|
||||
@str.44 = private unnamed_addr constant [20 x i8] c"insert:after:index:\00", align 1
|
||||
@str.45 = private unnamed_addr constant [7 x i8] c"i@:iii\00", align 1
|
||||
@str.46 = private unnamed_addr constant [24 x i8] c"add:observer:for:event:\00", align 1
|
||||
@str.47 = private unnamed_addr constant [8 x i8] c"i@:iiii\00", align 1
|
||||
@str.48 = private unnamed_addr constant [23 x i8] c"initWithFrame:options:\00", align 1
|
||||
@str.49 = private unnamed_addr constant [6 x i8] c"i@:ii\00", align 1
|
||||
@str.50 = private unnamed_addr constant [19 x i8] c"actualSelectorName\00", align 1
|
||||
@str.51 = private unnamed_addr constant [4 x i8] c"i@:\00", align 1
|
||||
@str.52 = private unnamed_addr constant [19 x i8] c"mangling table OK\0A\00", align 1
|
||||
@str.53 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.54 = 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_.35 = private unnamed_addr constant [11 x i8] c"addObject:\00"
|
||||
@OBJC_METH_VAR_NAME_.36 = private unnamed_addr constant [13 x i8] c"combine:and:\00"
|
||||
@OBJC_METH_VAR_NAME_.37 = private unnamed_addr constant [20 x i8] c"insert:after:index:\00"
|
||||
@OBJC_METH_VAR_NAME_.38 = private unnamed_addr constant [24 x i8] c"add:observer:for:event:\00"
|
||||
@OBJC_METH_VAR_NAME_.39 = private unnamed_addr constant [23 x i8] c"initWithFrame:options:\00"
|
||||
@OBJC_METH_VAR_NAME_.40 = private unnamed_addr constant [19 x i8] c"actualSelectorName\00"
|
||||
@OBJC_METH_VAR_NAME_.55 = private unnamed_addr constant [11 x i8] c"addObject:\00"
|
||||
@OBJC_METH_VAR_NAME_.56 = private unnamed_addr constant [13 x i8] c"combine:and:\00"
|
||||
@OBJC_METH_VAR_NAME_.57 = private unnamed_addr constant [20 x i8] c"insert:after:index:\00"
|
||||
@OBJC_METH_VAR_NAME_.58 = private unnamed_addr constant [24 x i8] c"add:observer:for:event:\00"
|
||||
@OBJC_METH_VAR_NAME_.59 = private unnamed_addr constant [23 x i8] c"initWithFrame:options:\00"
|
||||
@OBJC_METH_VAR_NAME_.60 = 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 }]
|
||||
|
||||
; Function Attrs: nounwind
|
||||
@@ -345,9 +345,6 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @xml_escape(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -360,7 +357,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.1, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -456,7 +453,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.2, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, 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
|
||||
@@ -464,7 +461,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.3, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, 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
|
||||
@@ -474,13 +471,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.4, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, 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.5, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.25, 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
|
||||
@@ -488,7 +485,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.6, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -502,7 +499,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.7, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.27, 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
|
||||
@@ -510,7 +507,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.8, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, 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
|
||||
@@ -521,7 +518,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.9, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -578,7 +575,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.10, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.30, 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
|
||||
@@ -586,7 +583,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.11, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, 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
|
||||
@@ -597,7 +594,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.12, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -617,7 +614,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.13, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.33, 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
|
||||
@@ -625,7 +622,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.14, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, 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
|
||||
@@ -636,7 +633,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.15, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.36
|
||||
|
||||
@@ -645,6 +642,74 @@ if.merge.36: ; preds = %if.then.35, %while.
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc.1(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc.2(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.3(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.6(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.7(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.8(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.9(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc.10(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc.11(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.init.12(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.13(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc.14(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc.15(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.16(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.17(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.18(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc.19(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc.20(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @escape(ptr, ptr) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||
|
||||
@@ -836,34 +901,34 @@ entry:
|
||||
define i32 @main() #0 {
|
||||
entry:
|
||||
call void @__sx_objc_selector_init()
|
||||
%call = call ptr @objc_getClass(ptr @str.16)
|
||||
%call = call ptr @objc_getClass(ptr @str.36)
|
||||
%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.17, i64 0)
|
||||
%callN = call ptr @objc_allocateClassPair(ptr %load, ptr @str.37, 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.18)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.19)
|
||||
%callN = call ptr @sel_registerName(ptr @str.38)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.39)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.20)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.21)
|
||||
%callN = call ptr @sel_registerName(ptr @str.40)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.41)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.22)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.23)
|
||||
%callN = call ptr @sel_registerName(ptr @str.42)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.43)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.24)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.25)
|
||||
%callN = call ptr @sel_registerName(ptr @str.44)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.45)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.26)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.27)
|
||||
%callN = call ptr @sel_registerName(ptr @str.46)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.47)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.28)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.29)
|
||||
%callN = call ptr @sel_registerName(ptr @str.48)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.49)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.30)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.31)
|
||||
%callN = call ptr @sel_registerName(ptr @str.50)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.51)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
call void @objc_registerClassPair(ptr %loadN)
|
||||
%allocaN = alloca ptr, align 8
|
||||
@@ -913,14 +978,14 @@ entry:
|
||||
define internal void @print__ct_s4c1a58a7c89bfbba__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.32, i64 18 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.52, i64 18 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.33, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.53, 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)
|
||||
@@ -936,27 +1001,25 @@ 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.34, i64 18 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.54, i64 18 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
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_.35)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.55)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_addObject_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.36)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.56)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_combine_and_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.37)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.57)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_insert_after_index_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.38)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.58)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_add_observer_for_event_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.39)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.59)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_initWithFrame_options_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.40)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.60)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_actualSelectorName, align 8
|
||||
ret void
|
||||
}
|
||||
|
||||
@@ -2,30 +2,30 @@
|
||||
@g_should_call = internal global i1 false
|
||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.1 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.2 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.3 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.4 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.5 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.6 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.7 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.8 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.9 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.10 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.11 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.12 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.13 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.14 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.15 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.16 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
||||
@str.17 = private unnamed_addr constant [4 x i8] c"()V\00", align 1
|
||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.36 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
||||
@str.37 = private unnamed_addr constant [4 x i8] c"()V\00", align 1
|
||||
@SX_JNI_CLS_noop____V = internal global ptr null
|
||||
@SX_JNI_MID_noop____V = internal global ptr null
|
||||
@str.18 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
||||
@str.19 = private unnamed_addr constant [4 x i8] c"()V\00", align 1
|
||||
@str.20 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.21 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.22 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.38 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
||||
@str.39 = private unnamed_addr constant [4 x i8] c"()V\00", align 1
|
||||
@str.40 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.41 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.42 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -318,9 +318,6 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @xml_escape(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -333,7 +330,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.1, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -429,7 +426,7 @@ if.merge.13: ; preds = %if.merge.27, %if.me
|
||||
|
||||
if.then.14: ; preds = %if.then.11
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.2, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, 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
|
||||
@@ -437,7 +434,7 @@ if.then.14: ; preds = %if.then.11
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.3, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, 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,13 +444,13 @@ if.then.14: ; preds = %if.then.11
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.4, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, 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.5, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.25, 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
|
||||
@@ -461,7 +458,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.6, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -475,7 +472,7 @@ if.merge.15: ; preds = %if.then.14, %if.the
|
||||
|
||||
if.then.25: ; preds = %if.else.12
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.7, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.27, 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
|
||||
@@ -483,7 +480,7 @@ if.then.25: ; preds = %if.else.12
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.8, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, 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
|
||||
@@ -494,7 +491,7 @@ if.then.25: ; preds = %if.else.12
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.9, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -551,7 +548,7 @@ if.merge.33: ; preds = %if.merge.36, %if.el
|
||||
|
||||
if.then.34: ; preds = %if.then.31
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.10, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.30, 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
|
||||
@@ -559,7 +556,7 @@ if.then.34: ; preds = %if.then.31
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.11, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, 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
|
||||
@@ -570,7 +567,7 @@ if.then.34: ; preds = %if.then.31
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.12, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -590,7 +587,7 @@ if.merge.36: ; preds = %if.else.35, %if.the
|
||||
|
||||
if.then.37: ; preds = %while.exit.4
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.13, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.33, 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
|
||||
@@ -598,7 +595,7 @@ if.then.37: ; preds = %while.exit.4
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.14, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, 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
|
||||
@@ -609,7 +606,7 @@ if.then.37: ; preds = %while.exit.4
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } %callN)
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.15, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -618,6 +615,74 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc.1(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc.2(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.3(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.6(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.7(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.8(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.9(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc.10(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc.11(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.init.12(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.13(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc.14(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc.15(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.16(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.17(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.18(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc.19(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc.20(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @escape(ptr, ptr) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
@@ -644,7 +709,7 @@ jni.miss: ; preds = %entry
|
||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_noop____V, align 8
|
||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||
%jni.GetMethodID = load ptr, ptr %5, align 8
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.16, ptr @str.17)
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.36, ptr @str.37)
|
||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_noop____V, align 8
|
||||
br label %jni.cont
|
||||
|
||||
@@ -669,7 +734,7 @@ jni.miss7: ; preds = %jni.cont
|
||||
store ptr %jni.global.cls12, ptr @SX_JNI_CLS_noop____V, align 8
|
||||
%9 = getelementptr inbounds ptr, ptr %jni.ifs4, i32 33
|
||||
%jni.GetMethodID13 = load ptr, ptr %9, align 8
|
||||
%jni.fresh.mid14 = call ptr %jni.GetMethodID13(ptr %load, ptr %jni.global.cls12, ptr @str.18, ptr @str.19)
|
||||
%jni.fresh.mid14 = call ptr %jni.GetMethodID13(ptr %load, ptr %jni.global.cls12, ptr @str.38, ptr @str.39)
|
||||
store ptr %jni.fresh.mid14, ptr @SX_JNI_MID_noop____V, align 8
|
||||
br label %jni.cont8
|
||||
|
||||
@@ -721,14 +786,14 @@ declare void @sx_jni_env_tl_set(ptr) #0
|
||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.20, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.40, i64 3 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.41, 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)
|
||||
@@ -744,8 +809,6 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.22, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.42, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@g_should_call = internal global i1 false
|
||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.1 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.2 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.3 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.4 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.5 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.6 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.7 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.8 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.9 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.10 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.11 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.12 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.13 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.14 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.15 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.16 = private unnamed_addr constant [9 x i8] c"getCount\00", align 1
|
||||
@str.17 = private unnamed_addr constant [4 x i8] c"()I\00", align 1
|
||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.36 = private unnamed_addr constant [9 x i8] c"getCount\00", align 1
|
||||
@str.37 = private unnamed_addr constant [4 x i8] c"()I\00", align 1
|
||||
@SX_JNI_CLS_getCount____I = internal global ptr null
|
||||
@SX_JNI_MID_getCount____I = internal global ptr null
|
||||
@str.18 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.19 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.20 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.38 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.39 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.40 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -316,9 +316,6 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @xml_escape(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -331,7 +328,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.1, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -427,7 +424,7 @@ if.merge.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.2, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -435,7 +432,7 @@ if.then.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.3, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -445,13 +442,13 @@ if.then.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.4, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, 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.5, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.25, i64 43 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -459,7 +456,7 @@ if.merge.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.6, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -473,7 +470,7 @@ if.merge.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.7, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.27, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -481,7 +478,7 @@ if.then.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.8, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -492,7 +489,7 @@ if.then.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.9, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -549,7 +546,7 @@ if.merge.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.10, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.30, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -557,7 +554,7 @@ if.then.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.11, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -568,7 +565,7 @@ if.then.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.12, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -588,7 +585,7 @@ if.merge.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.13, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.33, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -596,7 +593,7 @@ if.then.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.14, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -607,7 +604,7 @@ if.then.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.15, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -616,6 +613,74 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc.1(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc.2(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.3(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.6(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.7(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.8(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.9(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc.10(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc.11(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.init.12(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.13(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc.14(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc.15(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.16(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.17(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.18(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc.19(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc.20(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @escape(ptr, ptr) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal i32 @read_int(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
@@ -642,7 +707,7 @@ jni.miss: ; preds = %entry
|
||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_getCount____I, align 8
|
||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||
%jni.GetMethodID = load ptr, ptr %5, align 8
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.16, ptr @str.17)
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.36, ptr @str.37)
|
||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_getCount____I, align 8
|
||||
br label %jni.cont
|
||||
|
||||
@@ -696,14 +761,14 @@ declare void @sx_jni_env_tl_set(ptr) #0
|
||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.18, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.38, i64 3 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.19, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.39, 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)
|
||||
@@ -719,8 +784,6 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.20, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@g_should_call = internal global i1 false
|
||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.1 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.2 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.3 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.4 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.5 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.6 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.7 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.8 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.9 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.10 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.11 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.12 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.13 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.14 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.15 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.16 = private unnamed_addr constant [18 x i8] c"currentTimeMillis\00", align 1
|
||||
@str.17 = private unnamed_addr constant [4 x i8] c"()J\00", align 1
|
||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.36 = private unnamed_addr constant [18 x i8] c"currentTimeMillis\00", align 1
|
||||
@str.37 = private unnamed_addr constant [4 x i8] c"()J\00", align 1
|
||||
@SX_JNI_CLS_currentTimeMillis____J = internal global ptr null
|
||||
@SX_JNI_MID_currentTimeMillis____J = internal global ptr null
|
||||
@str.18 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.19 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.20 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.38 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.39 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.40 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -316,9 +316,6 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @xml_escape(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -331,7 +328,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.1, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -427,7 +424,7 @@ if.merge.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.2, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -435,7 +432,7 @@ if.then.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.3, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -445,13 +442,13 @@ if.then.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.4, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, 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.5, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.25, i64 43 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -459,7 +456,7 @@ if.merge.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.6, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -473,7 +470,7 @@ if.merge.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.7, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.27, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -481,7 +478,7 @@ if.then.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.8, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -492,7 +489,7 @@ if.then.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.9, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -549,7 +546,7 @@ if.merge.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.10, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.30, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -557,7 +554,7 @@ if.then.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.11, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -568,7 +565,7 @@ if.then.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.12, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -588,7 +585,7 @@ if.merge.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.13, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.33, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -596,7 +593,7 @@ if.then.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.14, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -607,7 +604,7 @@ if.then.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.15, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -616,6 +613,74 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc.1(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc.2(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.3(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.6(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.7(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.8(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.9(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc.10(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc.11(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.init.12(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.13(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc.14(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc.15(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.16(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.17(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.18(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc.19(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc.20(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @escape(ptr, ptr) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal i64 @read_long(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
@@ -642,7 +707,7 @@ jni.miss: ; preds = %entry
|
||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_currentTimeMillis____J, align 8
|
||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||
%jni.GetMethodID = load ptr, ptr %5, align 8
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.16, ptr @str.17)
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.36, ptr @str.37)
|
||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_currentTimeMillis____J, align 8
|
||||
br label %jni.cont
|
||||
|
||||
@@ -696,14 +761,14 @@ declare void @sx_jni_env_tl_set(ptr) #0
|
||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.18, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.38, i64 3 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.19, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.39, 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)
|
||||
@@ -719,8 +784,6 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.20, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@g_should_call = internal global i1 false
|
||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.1 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.2 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.3 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.4 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.5 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.6 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.7 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.8 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.9 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.10 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.11 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.12 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.13 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.14 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.15 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.16 = private unnamed_addr constant [9 x i8] c"getValue\00", align 1
|
||||
@str.17 = private unnamed_addr constant [4 x i8] c"()D\00", align 1
|
||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.36 = private unnamed_addr constant [9 x i8] c"getValue\00", align 1
|
||||
@str.37 = private unnamed_addr constant [4 x i8] c"()D\00", align 1
|
||||
@SX_JNI_CLS_getValue____D = internal global ptr null
|
||||
@SX_JNI_MID_getValue____D = internal global ptr null
|
||||
@str.18 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.19 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.20 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.38 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.39 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.40 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -316,9 +316,6 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @xml_escape(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -331,7 +328,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.1, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -427,7 +424,7 @@ if.merge.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.2, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -435,7 +432,7 @@ if.then.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.3, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -445,13 +442,13 @@ if.then.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.4, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, 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.5, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.25, i64 43 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -459,7 +456,7 @@ if.merge.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.6, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -473,7 +470,7 @@ if.merge.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.7, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.27, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -481,7 +478,7 @@ if.then.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.8, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -492,7 +489,7 @@ if.then.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.9, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -549,7 +546,7 @@ if.merge.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.10, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.30, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -557,7 +554,7 @@ if.then.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.11, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -568,7 +565,7 @@ if.then.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.12, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -588,7 +585,7 @@ if.merge.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.13, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.33, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -596,7 +593,7 @@ if.then.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.14, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -607,7 +604,7 @@ if.then.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.15, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -616,6 +613,74 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc.1(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc.2(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.3(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.6(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.7(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.8(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.9(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc.10(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc.11(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.init.12(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.13(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc.14(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc.15(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.16(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.17(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.18(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc.19(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc.20(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @escape(ptr, ptr) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal double @read_double(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
@@ -642,7 +707,7 @@ jni.miss: ; preds = %entry
|
||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_getValue____D, align 8
|
||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||
%jni.GetMethodID = load ptr, ptr %5, align 8
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.16, ptr @str.17)
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.36, ptr @str.37)
|
||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_getValue____D, align 8
|
||||
br label %jni.cont
|
||||
|
||||
@@ -696,14 +761,14 @@ declare void @sx_jni_env_tl_set(ptr) #0
|
||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.18, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.38, i64 3 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.19, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.39, 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)
|
||||
@@ -719,8 +784,6 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.20, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@g_should_call = internal global i1 false
|
||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.1 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.2 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.3 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.4 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.5 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.6 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.7 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.8 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.9 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.10 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.11 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.12 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.13 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.14 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.15 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.16 = private unnamed_addr constant [8 x i8] c"isShown\00", align 1
|
||||
@str.17 = private unnamed_addr constant [4 x i8] c"()Z\00", align 1
|
||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.36 = private unnamed_addr constant [8 x i8] c"isShown\00", align 1
|
||||
@str.37 = private unnamed_addr constant [4 x i8] c"()Z\00", align 1
|
||||
@SX_JNI_CLS_isShown____Z = internal global ptr null
|
||||
@SX_JNI_MID_isShown____Z = internal global ptr null
|
||||
@str.18 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.19 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.20 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.38 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.39 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.40 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -316,9 +316,6 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @xml_escape(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -331,7 +328,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.1, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -427,7 +424,7 @@ if.merge.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.2, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -435,7 +432,7 @@ if.then.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.3, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -445,13 +442,13 @@ if.then.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.4, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, 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.5, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.25, i64 43 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -459,7 +456,7 @@ if.merge.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.6, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -473,7 +470,7 @@ if.merge.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.7, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.27, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -481,7 +478,7 @@ if.then.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.8, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -492,7 +489,7 @@ if.then.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.9, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -549,7 +546,7 @@ if.merge.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.10, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.30, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -557,7 +554,7 @@ if.then.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.11, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -568,7 +565,7 @@ if.then.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.12, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -588,7 +585,7 @@ if.merge.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.13, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.33, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -596,7 +593,7 @@ if.then.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.14, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -607,7 +604,7 @@ if.then.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.15, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -616,6 +613,74 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc.1(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc.2(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.3(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.6(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.7(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.8(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.9(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc.10(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc.11(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.init.12(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.13(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc.14(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc.15(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.16(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.17(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.18(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc.19(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc.20(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @escape(ptr, ptr) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal i1 @read_bool(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
@@ -642,7 +707,7 @@ jni.miss: ; preds = %entry
|
||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_isShown____Z, align 8
|
||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||
%jni.GetMethodID = load ptr, ptr %5, align 8
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.16, ptr @str.17)
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.36, ptr @str.37)
|
||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_isShown____Z, align 8
|
||||
br label %jni.cont
|
||||
|
||||
@@ -696,14 +761,14 @@ declare void @sx_jni_env_tl_set(ptr) #0
|
||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.18, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.38, i64 3 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.19, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.39, 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)
|
||||
@@ -719,8 +784,6 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.20, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@g_should_call = internal global i1 false
|
||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.1 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.2 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.3 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.4 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.5 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.6 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.7 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.8 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.9 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.10 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.11 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.12 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.13 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.14 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.15 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.16 = private unnamed_addr constant [10 x i8] c"getWindow\00", align 1
|
||||
@str.17 = private unnamed_addr constant [24 x i8] c"()Landroid/view/Window;\00", align 1
|
||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.36 = private unnamed_addr constant [10 x i8] c"getWindow\00", align 1
|
||||
@str.37 = private unnamed_addr constant [24 x i8] c"()Landroid/view/Window;\00", align 1
|
||||
@SX_JNI_CLS_getWindow____Landroid_view_Window_ = internal global ptr null
|
||||
@SX_JNI_MID_getWindow____Landroid_view_Window_ = internal global ptr null
|
||||
@str.18 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.19 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.20 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.38 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.39 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.40 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -316,9 +316,6 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @xml_escape(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -331,7 +328,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.1, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -427,7 +424,7 @@ if.merge.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.2, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -435,7 +432,7 @@ if.then.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.3, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -445,13 +442,13 @@ if.then.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.4, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, 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.5, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.25, i64 43 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -459,7 +456,7 @@ if.merge.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.6, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -473,7 +470,7 @@ if.merge.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.7, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.27, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -481,7 +478,7 @@ if.then.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.8, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -492,7 +489,7 @@ if.then.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.9, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -549,7 +546,7 @@ if.merge.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.10, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.30, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -557,7 +554,7 @@ if.then.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.11, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -568,7 +565,7 @@ if.then.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.12, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -588,7 +585,7 @@ if.merge.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.13, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.33, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -596,7 +593,7 @@ if.then.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.14, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -607,7 +604,7 @@ if.then.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.15, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -616,6 +613,74 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc.1(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc.2(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.3(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.6(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.7(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.8(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.9(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc.10(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc.11(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.init.12(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.13(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc.14(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc.15(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.16(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.17(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.18(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc.19(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc.20(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @escape(ptr, ptr) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal ptr @get_window(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
@@ -642,7 +707,7 @@ jni.miss: ; preds = %entry
|
||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_getWindow____Landroid_view_Window_, align 8
|
||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||
%jni.GetMethodID = load ptr, ptr %5, align 8
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.16, ptr @str.17)
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.36, ptr @str.37)
|
||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_getWindow____Landroid_view_Window_, align 8
|
||||
br label %jni.cont
|
||||
|
||||
@@ -696,14 +761,14 @@ declare void @sx_jni_env_tl_set(ptr) #0
|
||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.18, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.38, i64 3 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.19, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.39, 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)
|
||||
@@ -719,8 +784,6 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.20, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@g_should_call = internal global i1 false
|
||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.1 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.2 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.3 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.4 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.5 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.6 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.7 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.8 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.9 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.10 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.11 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.12 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.13 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.14 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.15 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.16 = private unnamed_addr constant [4 x i8] c"max\00", align 1
|
||||
@str.17 = private unnamed_addr constant [6 x i8] c"(II)I\00", align 1
|
||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.36 = private unnamed_addr constant [4 x i8] c"max\00", align 1
|
||||
@str.37 = private unnamed_addr constant [6 x i8] c"(II)I\00", align 1
|
||||
@SX_JNI_CLS_max___II_I = internal global ptr null
|
||||
@SX_JNI_MID_max___II_I = internal global ptr null
|
||||
@str.18 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.19 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.20 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.38 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.39 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.40 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -316,9 +316,6 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @xml_escape(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -331,7 +328,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.1, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -427,7 +424,7 @@ if.merge.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.2, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -435,7 +432,7 @@ if.then.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.3, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -445,13 +442,13 @@ if.then.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.4, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, 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.5, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.25, i64 43 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -459,7 +456,7 @@ if.merge.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.6, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -473,7 +470,7 @@ if.merge.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.7, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.27, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -481,7 +478,7 @@ if.then.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.8, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -492,7 +489,7 @@ if.then.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.9, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -549,7 +546,7 @@ if.merge.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.10, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.30, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -557,7 +554,7 @@ if.then.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.11, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -568,7 +565,7 @@ if.then.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.12, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -588,7 +585,7 @@ if.merge.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.13, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.33, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -596,7 +593,7 @@ if.then.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.14, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -607,7 +604,7 @@ if.then.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.15, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -616,6 +613,74 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc.1(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc.2(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.3(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.6(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.7(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.8(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.9(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc.10(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc.11(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.init.12(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.13(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc.14(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc.15(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.16(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.17(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.18(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc.19(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc.20(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @escape(ptr, ptr) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal i32 @call_static_max(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
@@ -639,7 +704,7 @@ jni.miss: ; preds = %entry
|
||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_max___II_I, align 8
|
||||
%4 = getelementptr inbounds ptr, ptr %jni.ifs, i32 113
|
||||
%jni.GetStaticMethodID = load ptr, ptr %4, align 8
|
||||
%jni.fresh.mid = call ptr %jni.GetStaticMethodID(ptr %load, ptr %jni.global.cls, ptr @str.16, ptr @str.17)
|
||||
%jni.fresh.mid = call ptr %jni.GetStaticMethodID(ptr %load, ptr %jni.global.cls, ptr @str.36, ptr @str.37)
|
||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_max___II_I, align 8
|
||||
br label %jni.cont
|
||||
|
||||
@@ -693,14 +758,14 @@ declare void @sx_jni_env_tl_set(ptr) #0
|
||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.18, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.38, i64 3 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.19, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.39, 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)
|
||||
@@ -716,8 +781,6 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.20, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@g_should_call = internal global i1 false
|
||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.1 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.2 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.3 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.4 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.5 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.6 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.7 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.8 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.9 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.10 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.11 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.12 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.13 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.14 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.15 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.16 = private unnamed_addr constant [10 x i8] c"getWindow\00", align 1
|
||||
@str.17 = private unnamed_addr constant [21 x i8] c"()Ljava/lang/Object;\00", align 1
|
||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.36 = private unnamed_addr constant [10 x i8] c"getWindow\00", align 1
|
||||
@str.37 = private unnamed_addr constant [21 x i8] c"()Ljava/lang/Object;\00", align 1
|
||||
@SX_JNI_CLS_getWindow____Ljava_lang_Object_ = internal global ptr null
|
||||
@SX_JNI_MID_getWindow____Ljava_lang_Object_ = internal global ptr null
|
||||
@str.18 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.19 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.20 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.38 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.39 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.40 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -316,9 +316,6 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @xml_escape(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -331,7 +328,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.1, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -427,7 +424,7 @@ if.merge.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.2, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -435,7 +432,7 @@ if.then.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.3, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -445,13 +442,13 @@ if.then.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.4, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, 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.5, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.25, i64 43 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -459,7 +456,7 @@ if.merge.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.6, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -473,7 +470,7 @@ if.merge.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.7, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.27, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -481,7 +478,7 @@ if.then.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.8, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -492,7 +489,7 @@ if.then.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.9, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -549,7 +546,7 @@ if.merge.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.10, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.30, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -557,7 +554,7 @@ if.then.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.11, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -568,7 +565,7 @@ if.then.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.12, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -588,7 +585,7 @@ if.merge.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.13, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.33, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -596,7 +593,7 @@ if.then.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.14, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -607,7 +604,7 @@ if.then.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.15, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -616,6 +613,74 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc.1(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc.2(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.3(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.6(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.7(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.8(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.9(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc.10(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc.11(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.init.12(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.13(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc.14(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc.15(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.16(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.17(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.18(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc.19(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc.20(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @escape(ptr, ptr) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
@@ -643,7 +708,7 @@ jni.miss: ; preds = %entry
|
||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_getWindow____Ljava_lang_Object_, align 8
|
||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||
%jni.GetMethodID = load ptr, ptr %5, align 8
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.16, ptr @str.17)
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.36, ptr @str.37)
|
||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_getWindow____Ljava_lang_Object_, align 8
|
||||
br label %jni.cont
|
||||
|
||||
@@ -696,14 +761,14 @@ declare void @sx_jni_env_tl_set(ptr) #0
|
||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.18, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.38, i64 3 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.19, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.39, 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)
|
||||
@@ -719,8 +784,6 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.20, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@g_should_call = internal global i1 false
|
||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.1 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.2 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.3 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.4 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.5 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.6 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.7 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.8 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.9 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.10 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.11 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.12 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.13 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.14 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.15 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.16 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
||||
@str.17 = private unnamed_addr constant [4 x i8] c"()V\00", align 1
|
||||
@str.21 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.22 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.23 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.24 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.25 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.26 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.27 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.28 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.29 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.30 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.31 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.32 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.33 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.34 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.35 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.36 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
||||
@str.37 = private unnamed_addr constant [4 x i8] c"()V\00", align 1
|
||||
@SX_JNI_CLS_noop____V = internal global ptr null
|
||||
@SX_JNI_MID_noop____V = internal global ptr null
|
||||
@str.18 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.19 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.20 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.38 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.39 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.40 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -316,9 +316,6 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @xml_escape(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -331,7 +328,7 @@ entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %1, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.1, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.21, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -427,7 +424,7 @@ if.merge.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.2, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.22, i64 36 })
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -435,7 +432,7 @@ if.then.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.3, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.23, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -445,13 +442,13 @@ if.then.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.4, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.24, 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.5, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.25, i64 43 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -459,7 +456,7 @@ if.merge.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.6, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.26, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -473,7 +470,7 @@ if.merge.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.7, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.27, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -481,7 +478,7 @@ if.then.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.8, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.28, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -492,7 +489,7 @@ if.then.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.9, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.29, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -549,7 +546,7 @@ if.merge.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.10, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.30, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -557,7 +554,7 @@ if.then.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.11, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.31, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -568,7 +565,7 @@ if.then.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.12, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.32, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -588,7 +585,7 @@ if.merge.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.13, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.33, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -596,7 +593,7 @@ if.then.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.14, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.34, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -607,7 +604,7 @@ if.then.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.15, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.35, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -616,6 +613,74 @@ if.merge.38: ; preds = %if.then.37, %while.
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc.1(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc.2(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.3(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.6(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.7(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.8(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.9(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc.10(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc.11(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.init.12(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.13(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc.14(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc.15(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.16(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.17(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.18(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc.19(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc.20(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @escape(ptr, ptr) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 {
|
||||
entry:
|
||||
@@ -642,7 +707,7 @@ jni.miss: ; preds = %entry
|
||||
store ptr %jni.global.cls, ptr @SX_JNI_CLS_noop____V, align 8
|
||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 33
|
||||
%jni.GetMethodID = load ptr, ptr %5, align 8
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.16, ptr @str.17)
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.36, ptr @str.37)
|
||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_noop____V, align 8
|
||||
br label %jni.cont
|
||||
|
||||
@@ -694,14 +759,14 @@ declare void @sx_jni_env_tl_set(ptr) #0
|
||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.18, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.38, i64 3 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 0
|
||||
store ptr null, ptr %gep, align 8
|
||||
%gepN = getelementptr inbounds { ptr, i64 }, ptr %allocaN, i32 0, i32 1
|
||||
store i64 0, ptr %gepN, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.19, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.39, 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)
|
||||
@@ -717,8 +782,6 @@ entry:
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @__insert_0(ptr %0) #0 {
|
||||
entry:
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.20, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.40, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
@g_held_view = internal global ptr null
|
||||
@__sx_default_context = internal global { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc, ptr @__thunk_CAllocator_Allocator_dealloc }, ptr null }
|
||||
@str = private unnamed_addr constant [9 x i8] c"onCreate\00", align 1
|
||||
@str.1 = private unnamed_addr constant [23 x i8] c"(Landroid/os/Bundle;)V\00", align 1
|
||||
@str.21 = 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.2 = private unnamed_addr constant [7 x i8] c"<init>\00", align 1
|
||||
@str.3 = private unnamed_addr constant [29 x i8] c"(Landroid/content/Context;)V\00", align 1
|
||||
@str.22 = private unnamed_addr constant [7 x i8] c"<init>\00", align 1
|
||||
@str.23 = private unnamed_addr constant [29 x i8] c"(Landroid/content/Context;)V\00", align 1
|
||||
@jni.ctor.path = private unnamed_addr constant [25 x i8] c"android/view/SurfaceView\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
@@ -130,9 +130,6 @@ declare ptr @concat(ptr, ptr, ptr) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @substr(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @xml_escape(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -142,6 +139,74 @@ declare ptr @any_to_string(ptr, [2 x i64]) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @build_format(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc.1(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc.2(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.3(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.6(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.7(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.8(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.9(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc.10(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc.11(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.init.12(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.13(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc.14(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc.15(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.16(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.17(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.18(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc.19(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc.20(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @escape(ptr, ptr) #0
|
||||
|
||||
declare i64 @write(i32, ptr, i64)
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_link_flag(i64, ptr) #0
|
||||
|
||||
@@ -291,7 +356,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.1)
|
||||
%jni.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.parent.cls, ptr @str, ptr @str.21)
|
||||
%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
|
||||
@@ -307,7 +372,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.2, ptr @str.3)
|
||||
%jni.ctor.mid = call ptr %jni.GetMethodID10(ptr %load, ptr %jni.ctor.cls, ptr @str.22, ptr @str.23)
|
||||
%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