Compare commits
17 Commits
d8076b9333
...
8dedacb23f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8dedacb23f | ||
|
|
e9b500a232 | ||
|
|
44f4aab51c | ||
|
|
1bad29e72e | ||
|
|
0bd8f3e5ce | ||
|
|
2a2f43eada | ||
|
|
053314b3ea | ||
|
|
10f5a4318d | ||
|
|
1009181638 | ||
|
|
22455c706b | ||
|
|
2808d5df82 | ||
|
|
d739c5bf11 | ||
|
|
1d17b0abcf | ||
|
|
d88bdd7242 | ||
|
|
a8fbded567 | ||
|
|
ba37d0b393 | ||
|
|
1bc60d3a35 |
34
examples/0183-types-enum-literal-optional-target.sx
Normal file
34
examples/0183-types-enum-literal-optional-target.sx
Normal file
@@ -0,0 +1,34 @@
|
||||
// Enum literals flowing into OPTIONAL destinations resolve against the
|
||||
// optional's CHILD type and wrap (issue 0098). Pre-fix, the literal fell
|
||||
// into resolveVariantValue's non-enum fallback: variant 0, mis-typed as
|
||||
// the optional itself — `return .android_apk;` was observed by callers as
|
||||
// `.ios` or even null, layout-dependent.
|
||||
#import "modules/std.sx";
|
||||
|
||||
Platform :: enum u8 { ios; android_apk; macos; linux; windows; }
|
||||
|
||||
classify :: (n: i64) -> ?Platform {
|
||||
if n == 1 { return .android_apk; } // return: literal into ?Platform
|
||||
if n == 2 { return .windows; } // non-zero, non-adjacent variant
|
||||
return null;
|
||||
}
|
||||
|
||||
main :: () -> i32 {
|
||||
p := classify(1);
|
||||
if p == null { print("BUG: null\n"); return 1; }
|
||||
if p! != .android_apk { print("BUG: wrong variant\n"); return 2; }
|
||||
|
||||
w := classify(2);
|
||||
if w == null or w! != .windows { print("BUG: windows\n"); return 3; }
|
||||
|
||||
if classify(9) != null { print("BUG: not null\n"); return 4; }
|
||||
|
||||
// assignment + reassignment: literal into a ?Platform slot
|
||||
q : ?Platform = .macos;
|
||||
if q == null or q! != .macos { print("BUG: assign\n"); return 5; }
|
||||
q = .linux;
|
||||
if q! != .linux { print("BUG: reassign\n"); return 6; }
|
||||
|
||||
print("ok\n");
|
||||
return 0;
|
||||
}
|
||||
36
examples/1057-errors-negated-error-binding.sx
Normal file
36
examples/1057-errors-negated-error-binding.sx
Normal file
@@ -0,0 +1,36 @@
|
||||
// `!` on an error binding is the truthiness complement of `if e` (issue
|
||||
// 0129). Pre-fix, `!` lowered as a bitwise not, so a nonzero error tag
|
||||
// stayed nonzero and `if !e` held even on a SET error — with the success
|
||||
// value read as garbage. Integer operands get the same `!x ≡ x == 0`
|
||||
// semantics.
|
||||
#import "modules/std.sx";
|
||||
|
||||
E :: error { Boom }
|
||||
|
||||
f :: (fail: bool) -> (i64, !E) {
|
||||
if fail { raise error.Boom; }
|
||||
return 42;
|
||||
}
|
||||
|
||||
main :: () -> i32 {
|
||||
// set error: `if e` holds, `if !e` must NOT
|
||||
v, e := f(true);
|
||||
took_e := false;
|
||||
if e { took_e = true; }
|
||||
if !e { print("BUG: !e held on a set error (v={})\n", v); return 1; }
|
||||
if !took_e { print("BUG: if e did not hold on a set error\n"); return 2; }
|
||||
|
||||
// success: `if !e` holds and the value is real
|
||||
v2, e2 := f(false);
|
||||
if e2 { print("BUG: e2 set on success\n"); return 3; }
|
||||
if !e2 { print("ok: !e2 on success, v2={}\n", v2); }
|
||||
|
||||
// integers: `!n` is `n == 0`, not a bit flip
|
||||
n := 7;
|
||||
if !n { print("BUG: !7 held\n"); return 4; }
|
||||
z := 0;
|
||||
if !z { print("ok: !0 holds\n"); }
|
||||
|
||||
print("done\n");
|
||||
return 0;
|
||||
}
|
||||
14
examples/1169-diagnostics-enum-literal-bad-target.sx
Normal file
14
examples/1169-diagnostics-enum-literal-bad-target.sx
Normal file
@@ -0,0 +1,14 @@
|
||||
// Enum literals against unusable destinations are DIAGNOSED, never a
|
||||
// silent variant 0 (issue 0098's sibling holes): an unknown variant of a
|
||||
// real enum, a non-enum destination type, and a destination-less literal
|
||||
// each get their own error.
|
||||
#import "modules/std.sx";
|
||||
|
||||
Platform :: enum u8 { ios; android_apk; }
|
||||
|
||||
main :: () -> i32 {
|
||||
a : Platform = .nonexistent; // unknown variant: lists the real ones
|
||||
b : i64 = .foo; // non-enum destination
|
||||
print("{}{}\n", a, b);
|
||||
return 0;
|
||||
}
|
||||
11
examples/1170-diagnostics-enum-literal-no-target.sx
Normal file
11
examples/1170-diagnostics-enum-literal-no-target.sx
Normal file
@@ -0,0 +1,11 @@
|
||||
// A destination-less enum literal is diagnosed (issue 0098's third hole —
|
||||
// it previously panicked the LLVM backend with an unresolved type). Kept
|
||||
// as the ONLY error in this file: the diagnostic is cascade-guarded, so it
|
||||
// stays silent when the destination type itself already failed to resolve.
|
||||
#import "modules/std.sx";
|
||||
|
||||
main :: () -> i32 {
|
||||
c := .ios;
|
||||
print("{}\n", c);
|
||||
return 0;
|
||||
}
|
||||
10
examples/1171-diagnostics-logical-not-bad-operand.sx
Normal file
10
examples/1171-diagnostics-logical-not-bad-operand.sx
Normal file
@@ -0,0 +1,10 @@
|
||||
// `!` on an operand that has no truthiness (neither bool, integer, nor
|
||||
// an error binding) is diagnosed instead of silently bit-flipped
|
||||
// (issue 0129's diagnostic half).
|
||||
#import "modules/std.sx";
|
||||
|
||||
main :: () -> i32 {
|
||||
s := "text";
|
||||
if !s { print("unreachable\n"); }
|
||||
return 0;
|
||||
}
|
||||
15
examples/1172-diagnostics-foreign-symbol-conflict.sx
Normal file
15
examples/1172-diagnostics-foreign-symbol-conflict.sx
Normal file
@@ -0,0 +1,15 @@
|
||||
// One C symbol bound twice with DIFFERENT sx signatures is diagnosed
|
||||
// (issue 0128): the first registration used to silently win, mis-typing
|
||||
// every call through the second declaration. Equal signatures share one
|
||||
// registration silently (see std's read/write bound by several modules).
|
||||
#import "modules/std.sx";
|
||||
|
||||
libc :: #library "c";
|
||||
// std/process.sx already binds getenv as `-> *u8`; this view disagrees.
|
||||
getenv_opt :: (name: [:0]u8) -> ?[:0]u8 #foreign libc "getenv";
|
||||
|
||||
main :: () -> i32 {
|
||||
p := getenv_opt("PATH");
|
||||
if p == null { return 1; }
|
||||
return 0;
|
||||
}
|
||||
13
examples/1173-diagnostics-cstring-coercions.sx
Normal file
13
examples/1173-diagnostics-cstring-coercions.sx
Normal file
@@ -0,0 +1,13 @@
|
||||
// cstring's coercion discipline (Odin-style): only a string LITERAL
|
||||
// converts implicitly — an arbitrary string may be an unterminated view
|
||||
// (use to_cstring); and cstring never converts to string implicitly —
|
||||
// the length is an O(n) strlen the code must ask for (from_cstring).
|
||||
#import "modules/std.sx";
|
||||
|
||||
main :: () -> i32 {
|
||||
s := concat("a", "b");
|
||||
c : cstring = s; // error: non-literal string -> cstring
|
||||
t : string = c; // error: cstring -> string
|
||||
print("{}{}\n", t, cstring_len(c));
|
||||
return 0;
|
||||
}
|
||||
31
examples/1221-ffi-cstring-returns.sx
Normal file
31
examples/1221-ffi-cstring-returns.sx
Normal file
@@ -0,0 +1,31 @@
|
||||
// Foreign `-> [:0]u8` / `-> ?[:0]u8` returns: C hands back ONE `char *`;
|
||||
// the fat sx string is synthesized at the call boundary ({ptr, strlen};
|
||||
// NULL maps to the optional's null / an empty string) — issue 0128.
|
||||
// Pre-fix, the call read the pointer register pair as {ptr, len} and the
|
||||
// length was garbage (bus error on print).
|
||||
#import "modules/std.sx";
|
||||
|
||||
libc :: #library "c";
|
||||
err_text :: (code: i32) -> [:0]u8 #foreign libc "strerror";
|
||||
sig_text :: (sig: i32) -> ?[:0]u8 #foreign libc "strsignal";
|
||||
dlerror :: () -> ?[:0]u8 #foreign libc;
|
||||
|
||||
main :: () -> i32 {
|
||||
// plain: strerror(0) = "Undefined error: 0" on macOS — assert shape,
|
||||
// not the exact text (locale/platform variance)
|
||||
t := err_text(2);
|
||||
if t.len < 5 { print("BUG: strerror too short ({})\n", t.len); return 1; }
|
||||
print("strerror(2) len ok\n");
|
||||
|
||||
// optional, non-null branch
|
||||
o := sig_text(2);
|
||||
if o == null { print("BUG: strsignal null\n"); return 2; }
|
||||
if o!.len < 3 { print("BUG: strsignal too short\n"); return 3; }
|
||||
print("optional non-null ok\n");
|
||||
|
||||
// optional, NULL branch: dlerror() with no pending error is NULL
|
||||
d := dlerror();
|
||||
if d != null { print("BUG: dlerror non-null\n"); return 4; }
|
||||
print("optional null ok\n");
|
||||
return 0;
|
||||
}
|
||||
38
examples/1222-ffi-cstring-type.sx
Normal file
38
examples/1222-ffi-cstring-type.sx
Normal file
@@ -0,0 +1,38 @@
|
||||
// The `cstring` type: ONE pointer to a null-terminated u8 buffer — C's
|
||||
// `char *`. Crosses #foreign boundaries verbatim in both directions;
|
||||
// `?cstring` is the nullable case (null pointer = absent); string
|
||||
// LITERALS coerce implicitly (terminated constants); arbitrary strings
|
||||
// materialize via to_cstring; from_cstring is the zero-copy view back.
|
||||
#import "modules/std.sx";
|
||||
|
||||
libc :: #library "c";
|
||||
strerror_c :: (code: i32) -> cstring #foreign libc "strerror";
|
||||
getenv_c :: (name: cstring) -> ?cstring #foreign libc "getenv";
|
||||
dlerror_c :: () -> ?cstring #foreign libc "dlerror";
|
||||
|
||||
main :: () -> i32 {
|
||||
// literal -> cstring param; cstring return -> view
|
||||
e := strerror_c(2);
|
||||
v := from_cstring(e);
|
||||
if v.len < 5 { print("BUG: strerror short\n"); return 1; }
|
||||
print("strerror ok\n");
|
||||
|
||||
// ?cstring: present, absent, and null-returning C call
|
||||
p := getenv_c("PATH");
|
||||
if p == null { print("BUG: PATH null\n"); return 2; }
|
||||
if cstring_len(p!) < 1 { print("BUG: PATH empty\n"); return 3; }
|
||||
q := getenv_c("NO_SUCH_VAR_ZZZ");
|
||||
if q != null { print("BUG: missing not null\n"); return 4; }
|
||||
d := dlerror_c();
|
||||
if d != null { print("BUG: dlerror non-null\n"); return 5; }
|
||||
print("?cstring ok\n");
|
||||
|
||||
// round trip: built string -> owned cstring -> view -> equality
|
||||
s := concat("hi-", "there");
|
||||
c := to_cstring(s);
|
||||
r := from_cstring(c);
|
||||
if r != "hi-there" { print("BUG: round trip\n"); return 6; }
|
||||
if cstring_len(c) != 8 { print("BUG: len\n"); return 7; }
|
||||
print("round trip ok\n");
|
||||
return 0;
|
||||
}
|
||||
10
examples/1617-modules-library-nested-namespace.sx
Normal file
10
examples/1617-modules-library-nested-namespace.sx
Normal file
@@ -0,0 +1,10 @@
|
||||
// Regression (issue 0130): a #library declared in a module reached through
|
||||
// TWO aliased imports must still be linked (AOT) / dlopened (JIT).
|
||||
#import "modules/std.sx";
|
||||
b :: #import "1617-modules-library-nested-namespace/b.sx";
|
||||
|
||||
main :: () -> i32 {
|
||||
v := b.version_via_b();
|
||||
print("pcap version non-empty: {}\n", v.len > 0);
|
||||
return 0;
|
||||
}
|
||||
5
examples/1617-modules-library-nested-namespace/b.sx
Normal file
5
examples/1617-modules-library-nested-namespace/b.sx
Normal file
@@ -0,0 +1,5 @@
|
||||
// Middle module: aliases c.sx, putting its #library one namespace deep.
|
||||
#import "modules/std.sx";
|
||||
c :: #import "c.sx";
|
||||
|
||||
version_via_b :: () -> string { return c.pcap_version(); }
|
||||
11
examples/1617-modules-library-nested-namespace/c.sx
Normal file
11
examples/1617-modules-library-nested-namespace/c.sx
Normal file
@@ -0,0 +1,11 @@
|
||||
// Innermost module: owns the #library and its foreign fn.
|
||||
#import "modules/std.sx";
|
||||
|
||||
pcaplib :: #library "pcap";
|
||||
pcap_lib_version :: () -> ?cstring #foreign pcaplib "pcap_lib_version";
|
||||
|
||||
pcap_version :: () -> string {
|
||||
p := pcap_lib_version();
|
||||
if p == null { return ""; }
|
||||
return from_cstring(p!);
|
||||
}
|
||||
18
examples/1618-cimport-named-defines.sx
Normal file
18
examples/1618-cimport-named-defines.sx
Normal file
@@ -0,0 +1,18 @@
|
||||
// Pins the NAMED `#import c` block (PLAN-C C0.1): the block's name
|
||||
// namespaces the decls synthesized from `#include`, and `#define` /
|
||||
// `#flags` entries reach the unit's clang invocation — the macro decides
|
||||
// what cdef_value answers.
|
||||
#import "modules/std.sx";
|
||||
|
||||
cu :: #import c {
|
||||
#include "1618-cimport-named-defines/cdef.h";
|
||||
#source "1618-cimport-named-defines/cdef.c";
|
||||
#define "CDEF_BASE=42";
|
||||
#flags "-O2";
|
||||
};
|
||||
|
||||
main :: () -> i32 {
|
||||
print("value = {}\n", cu.cdef_value());
|
||||
print("doubled = {}\n", cu.cdef_doubled(21));
|
||||
0
|
||||
}
|
||||
6
examples/1618-cimport-named-defines/cdef.c
Normal file
6
examples/1618-cimport-named-defines/cdef.c
Normal file
@@ -0,0 +1,6 @@
|
||||
#include "cdef.h"
|
||||
#ifndef CDEF_BASE
|
||||
#define CDEF_BASE 1
|
||||
#endif
|
||||
int cdef_value(void) { return CDEF_BASE; }
|
||||
int cdef_doubled(int x) { return x * 2; }
|
||||
5
examples/1618-cimport-named-defines/cdef.h
Normal file
5
examples/1618-cimport-named-defines/cdef.h
Normal file
@@ -0,0 +1,5 @@
|
||||
#ifndef CDEF_H
|
||||
#define CDEF_H
|
||||
int cdef_value(void);
|
||||
int cdef_doubled(int x);
|
||||
#endif
|
||||
17
examples/1619-cimport-source-only.sx
Normal file
17
examples/1619-cimport-source-only.sx
Normal file
@@ -0,0 +1,17 @@
|
||||
// Pins the curated-bindings shape (PLAN-C C0.2): a `#source`-only unit
|
||||
// (no `#include`, so no auto-synthesized decls) paired with a
|
||||
// hand-written `#foreign` decl naming the unit. Works in JIT and AOT
|
||||
// today — but see 1620: the unit ref is not yet validated or scoped,
|
||||
// so the symbol actually resolves globally, not through the unit.
|
||||
#import "modules/std.sx";
|
||||
|
||||
only :: #import c {
|
||||
#source "1619-cimport-source-only/only.c";
|
||||
};
|
||||
|
||||
only_answer :: () -> i32 #foreign only "only_answer";
|
||||
|
||||
main :: () -> i32 {
|
||||
print("answer = {}\n", only_answer() + 1);
|
||||
0
|
||||
}
|
||||
1
examples/1619-cimport-source-only/only.c
Normal file
1
examples/1619-cimport-source-only/only.c
Normal file
@@ -0,0 +1 @@
|
||||
int only_answer(void) { return 41; }
|
||||
17
examples/1620-cimport-foreign-ref-unvalidated.sx
Normal file
17
examples/1620-cimport-foreign-ref-unvalidated.sx
Normal file
@@ -0,0 +1,17 @@
|
||||
// A `#foreign` ref must name something real (PLAN-C C3.1): `nosuchunit`
|
||||
// names neither a #library constant nor a named `#import c` unit, so
|
||||
// this is a compile-time diagnostic — a typo'd ref previously compiled
|
||||
// and resolved silently through whatever image carried the symbol.
|
||||
// Regression (PLAN-C C0.2b xfail, flipped by C3.1).
|
||||
#import "modules/std.sx";
|
||||
|
||||
refs :: #import c {
|
||||
#source "1620-cimport-foreign-ref-unvalidated/ref.c";
|
||||
};
|
||||
|
||||
ref_answer :: () -> i32 #foreign nosuchunit "ref_answer";
|
||||
|
||||
main :: () -> i32 {
|
||||
print("ref = {}\n", ref_answer());
|
||||
0
|
||||
}
|
||||
1
examples/1620-cimport-foreign-ref-unvalidated/ref.c
Normal file
1
examples/1620-cimport-foreign-ref-unvalidated/ref.c
Normal file
@@ -0,0 +1 @@
|
||||
int ref_answer(void) { return 7; }
|
||||
18
examples/1621-cimport-shadow-os-lib.sx
Normal file
18
examples/1621-cimport-shadow-os-lib.sx
Normal file
@@ -0,0 +1,18 @@
|
||||
// Unit-first JIT resolution (PLAN-C C2): a `#source` unit defining a
|
||||
// symbol that ALSO lives in an OS image already loaded into the
|
||||
// compiler process (libz, via libLLVM) still wins — the unit's dylib
|
||||
// is a priority symbol-search target ahead of the process-wide
|
||||
// fallback. The unit's zlibCompileFlags answers 0xDEADBEEF; the OS
|
||||
// one answers real flag bits, so `true` proves the unit won.
|
||||
// Regression (PLAN-C C0.3 xfail, flipped by C2.1).
|
||||
#import "modules/std.sx";
|
||||
|
||||
zshadow :: #import c {
|
||||
#include "1621-cimport-shadow-os-lib/shadow.h";
|
||||
#source "1621-cimport-shadow-os-lib/shadow.c";
|
||||
};
|
||||
|
||||
main :: () -> i32 {
|
||||
print("from_unit: {}\n", zshadow.zlibCompileFlags() == 3735928559);
|
||||
0
|
||||
}
|
||||
1
examples/1621-cimport-shadow-os-lib/shadow.c
Normal file
1
examples/1621-cimport-shadow-os-lib/shadow.c
Normal file
@@ -0,0 +1 @@
|
||||
unsigned long zlibCompileFlags(void) { return 3735928559UL; }
|
||||
1
examples/1621-cimport-shadow-os-lib/shadow.h
Normal file
1
examples/1621-cimport-shadow-os-lib/shadow.h
Normal file
@@ -0,0 +1 @@
|
||||
unsigned long zlibCompileFlags(void);
|
||||
17
examples/1622-cimport-unit-bound-defines.sx
Normal file
17
examples/1622-cimport-unit-bound-defines.sx
Normal file
@@ -0,0 +1,17 @@
|
||||
// `#define`/`#flags` reach a unit whose ONLY consumer is hand-curated
|
||||
// `#foreign` decls (PLAN-C C3.3) — no `#include`, no auto-synthesis:
|
||||
// the macro decides what the unit-bound decl answers.
|
||||
#import "modules/std.sx";
|
||||
|
||||
unit :: #import c {
|
||||
#define "UNIT_BASE=33";
|
||||
#flags "-O2";
|
||||
#source "1622-cimport-unit-bound-defines/unit.c";
|
||||
};
|
||||
|
||||
unit_answer :: () -> i32 #foreign unit "unit_answer";
|
||||
|
||||
main :: () -> i32 {
|
||||
print("unit answer = {}\n", unit_answer());
|
||||
0
|
||||
}
|
||||
4
examples/1622-cimport-unit-bound-defines/unit.c
Normal file
4
examples/1622-cimport-unit-bound-defines/unit.c
Normal file
@@ -0,0 +1,4 @@
|
||||
#ifndef UNIT_BASE
|
||||
#define UNIT_BASE 1
|
||||
#endif
|
||||
int unit_answer(void) { return UNIT_BASE; }
|
||||
11
examples/1623-cimport-unit-in-aliased-module.sx
Normal file
11
examples/1623-cimport-unit-in-aliased-module.sx
Normal file
@@ -0,0 +1,11 @@
|
||||
// A named `#import c` unit declared INSIDE an aliased module (so the
|
||||
// unit's namespace nests two deep in the merged tree) still compiles
|
||||
// and links — collectCImportSources recurses through namespaces, the
|
||||
// same way #library collection does (issue 0130's pattern).
|
||||
#import "modules/std.sx";
|
||||
m :: #import "1623-cimport-unit-in-aliased-module/mod.sx";
|
||||
|
||||
main :: () -> i32 {
|
||||
print("nested unit answer = {}\n", m.answer_via_mod());
|
||||
0
|
||||
}
|
||||
1
examples/1623-cimport-unit-in-aliased-module/inmod.c
Normal file
1
examples/1623-cimport-unit-in-aliased-module/inmod.c
Normal file
@@ -0,0 +1 @@
|
||||
int unit_in_mod_answer(void) { return 54; }
|
||||
10
examples/1623-cimport-unit-in-aliased-module/mod.sx
Normal file
10
examples/1623-cimport-unit-in-aliased-module/mod.sx
Normal file
@@ -0,0 +1,10 @@
|
||||
// A module that owns a named C unit + a hand-curated binding.
|
||||
#import "modules/std.sx";
|
||||
|
||||
cunit :: #import c {
|
||||
#source "inmod.c";
|
||||
};
|
||||
|
||||
unit_in_mod_answer :: () -> i32 #foreign cunit "unit_in_mod_answer";
|
||||
|
||||
answer_via_mod :: () -> i32 { return unit_in_mod_answer(); }
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
||||
0
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
ok
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
examples/expected/1057-errors-negated-error-binding.exit
Normal file
1
examples/expected/1057-errors-negated-error-binding.exit
Normal file
@@ -0,0 +1 @@
|
||||
0
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
ok: !e2 on success, v2=42
|
||||
ok: !0 holds
|
||||
done
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,11 @@
|
||||
error: 'nonexistent' is not a variant of 'Platform' (variants are: ios, android_apk)
|
||||
--> examples/1169-diagnostics-enum-literal-bad-target.sx:10:20
|
||||
|
|
||||
10 | a : Platform = .nonexistent; // unknown variant: lists the real ones
|
||||
| ^^^^^^^^^^^^
|
||||
|
||||
error: enum literal '.foo' cannot type itself from non-enum destination 'i64'
|
||||
--> examples/1169-diagnostics-enum-literal-bad-target.sx:11:15
|
||||
|
|
||||
11 | b : i64 = .foo; // non-enum destination
|
||||
| ^^^^
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,5 @@
|
||||
error: enum literal '.ios' has no destination type to resolve against
|
||||
--> examples/1170-diagnostics-enum-literal-no-target.sx:8:10
|
||||
|
|
||||
8 | c := .ios;
|
||||
| ^^^^
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,5 @@
|
||||
error: '!' needs a bool, integer, or error operand; got 'string'
|
||||
--> examples/1171-diagnostics-logical-not-bad-operand.sx:8:8
|
||||
|
|
||||
8 | if !s { print("unreachable\n"); }
|
||||
| ^^
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
@@ -0,0 +1,5 @@
|
||||
error: foreign symbol 'getenv' is already bound with a different signature; two views of one C symbol must declare identical types
|
||||
--> examples/1172-diagnostics-foreign-symbol-conflict.sx:9:41
|
||||
|
|
||||
9 | getenv_opt :: (name: [:0]u8) -> ?[:0]u8 #foreign libc "getenv";
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
1
|
||||
11
examples/expected/1173-diagnostics-cstring-coercions.stderr
Normal file
11
examples/expected/1173-diagnostics-cstring-coercions.stderr
Normal file
@@ -0,0 +1,11 @@
|
||||
error: only a string LITERAL coerces to 'cstring' implicitly; an arbitrary string may be an unterminated view — materialize it with to_cstring(s)
|
||||
--> examples/1173-diagnostics-cstring-coercions.sx:9:5
|
||||
|
|
||||
9 | c : cstring = s; // error: non-literal string -> cstring
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
|
||||
error: 'cstring' does not coerce to 'string' implicitly (the length is implicit); convert with from_cstring(c)
|
||||
--> examples/1173-diagnostics-cstring-coercions.sx:10:5
|
||||
|
|
||||
10 | t : string = c; // error: cstring -> string
|
||||
| ^^^^^^^^^^^^^^^
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -16,7 +16,7 @@ declare ptr @memset(ptr, i32, i64)
|
||||
declare void @out.1(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @cstring(ptr, i64) #0
|
||||
declare ptr @alloc_string(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @int_to_string(ptr, i64) #0
|
||||
@@ -45,6 +45,15 @@ declare ptr @concat(ptr, ptr, ptr) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @substr(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @cstring_len(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @from_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -192,7 +201,7 @@ declare i32 @mode_to_flags(ptr, i64) #0
|
||||
declare i64 @open_file(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @read_file(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||
@@ -266,9 +275,6 @@ declare i32 @feof(ptr) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system(ptr) #0
|
||||
|
||||
@@ -276,10 +282,10 @@ declare i32 @system(ptr) #0
|
||||
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @env(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @find_executable(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit(i32) #0
|
||||
@@ -305,167 +311,131 @@ declare i32 @listen(i32, i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @accept(i32, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.3(i32, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.4(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i16 @htons(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc.5(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
declare ptr @mem_realloc.3(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc_bytes.6(ptr, ptr, i64) #0
|
||||
declare ptr @CAllocator.alloc_bytes.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc_bytes.7(ptr, ptr, ptr) #0
|
||||
declare void @CAllocator.dealloc_bytes.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.8(ptr) #0
|
||||
declare i64 @GPA.init.6(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc_bytes.9(ptr, ptr, i64) #0
|
||||
declare ptr @GPA.alloc_bytes.7(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc_bytes.10(ptr, ptr, ptr) #0
|
||||
declare void @GPA.dealloc_bytes.8(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.11(ptr, ptr, i64) #0
|
||||
declare void @Arena.add_chunk.9(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.12(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
declare void @Arena.init.10(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.13(ptr, ptr) #0
|
||||
declare void @Arena.reset.11(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.14(ptr, ptr) #0
|
||||
declare void @Arena.deinit.12(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc_bytes.15(ptr, ptr, i64) #0
|
||||
declare ptr @Arena.alloc_bytes.13(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc_bytes.16(ptr, ptr, ptr) #0
|
||||
declare void @Arena.dealloc_bytes.14(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.init.17(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
declare void @BufAlloc.init.15(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.18(ptr, ptr) #0
|
||||
declare void @BufAlloc.reset.16(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc_bytes.19(ptr, ptr, i64) #0
|
||||
declare ptr @BufAlloc.alloc_bytes.17(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc_bytes.20(ptr, ptr, ptr) #0
|
||||
declare void @BufAlloc.dealloc_bytes.18(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.21(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
declare void @TrackingAllocator.init.19(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.22(ptr, ptr) #0
|
||||
declare i64 @TrackingAllocator.leak_count.20(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.23(ptr, ptr) #0
|
||||
declare void @TrackingAllocator.report.21(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc_bytes.24(ptr, ptr, i64) #0
|
||||
declare ptr @TrackingAllocator.alloc_bytes.22(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc_bytes.25(ptr, ptr, ptr) #0
|
||||
declare void @TrackingAllocator.dealloc_bytes.23(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.26(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.24(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.27(i32) #0
|
||||
declare i1 @File.close.25(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.28(i32, ptr, i64) #0
|
||||
declare i64 @File.read.26(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.29(i32, i64, i32) #0
|
||||
declare i64 @File.write.27(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.30(ptr) #0
|
||||
declare i64 @File.seek.28(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.31(ptr) #0
|
||||
declare i32 @mode_to_flags.29(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.32(ptr, i32) #0
|
||||
declare i64 @open_file.30(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.33(ptr, i32) #0
|
||||
declare ptr @read_file.31(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.34(ptr, i32) #0
|
||||
declare i1 @write_file.32(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.35(ptr, ptr) #0
|
||||
declare i1 @append_file.33(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.36(ptr, ptr) #0
|
||||
declare i1 @exists.34(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.37(ptr, ptr) #0
|
||||
declare i1 @delete_file.35(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.38(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.36(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.39(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.37(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.40(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.38(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.41(ptr, i64) #0
|
||||
declare i1 @move.39(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.42(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.40(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.43(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.41(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.44(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.42(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.45(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.46(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.47(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.48(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.50(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.51(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.52(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.53(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.55(ptr, ptr) #0
|
||||
declare ptr @dirname.43(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||
@@ -666,64 +636,31 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.56(ptr, i32) #0
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_len.57() #0
|
||||
declare ptr @to_string.45(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_truncated.58() #0
|
||||
declare void @print_current.46(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @sx_trace_frame_at.59(i32) #0
|
||||
declare void @print_interpreter_frames.47(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_string.60(ptr) #0
|
||||
declare void @run.48(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_current.61(ptr) #0
|
||||
declare ptr @env.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_interpreter_frames.62(ptr) #0
|
||||
declare ptr @find_executable.50(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @popen.63(ptr, ptr) #0
|
||||
declare void @exit.51(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pclose.64(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @fread.65(ptr, i64, i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @feof.66(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv.67(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen.68(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system.69(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @run.70(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env.71(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable.72(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit.73(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @exit.74(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.75(ptr, i1, ptr, ptr) #0
|
||||
declare void @assert.52(ptr, i1, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @_NSGetArgv() #0
|
||||
@@ -753,97 +690,67 @@ declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||
declare i1 @is_long_flag(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @parse.76(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
declare void @parse.53(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.77(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.78(i32) #0
|
||||
declare i1 @File.close.55(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.79(i32, ptr, i64) #0
|
||||
declare i64 @File.read.56(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.80(i32, i64, i32) #0
|
||||
declare i64 @File.write.57(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.81(ptr) #0
|
||||
declare i64 @File.seek.58(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.82(ptr) #0
|
||||
declare i32 @mode_to_flags.59(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.83(ptr, i32) #0
|
||||
declare i64 @open_file.60(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.84(ptr, i32) #0
|
||||
declare ptr @read_file.61(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.85(ptr, i32) #0
|
||||
declare i1 @write_file.62(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.86(ptr, ptr) #0
|
||||
declare i1 @append_file.63(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.87(ptr, ptr) #0
|
||||
declare i1 @exists.64(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.88(ptr, ptr) #0
|
||||
declare i1 @delete_file.65(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.89(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.66(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.90(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.67(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.91(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.68(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.92(ptr, i64) #0
|
||||
declare i1 @move.69(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.93(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.70(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.94(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.71(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.95(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.72(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.96(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.97(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.98(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.99(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.100(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.101(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.102(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.103(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.104(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.105(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.106(ptr, ptr) #0
|
||||
declare ptr @dirname.73(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @rotr(ptr, i64, i64) #0
|
||||
@@ -885,7 +792,7 @@ declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.107(ptr, i1) #0
|
||||
declare void @assert.74(ptr, i1) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal i64 @accept_c(ptr %0) #0 {
|
||||
|
||||
1
examples/expected/1221-ffi-cstring-returns.exit
Normal file
1
examples/expected/1221-ffi-cstring-returns.exit
Normal file
@@ -0,0 +1 @@
|
||||
0
|
||||
1
examples/expected/1221-ffi-cstring-returns.stderr
Normal file
1
examples/expected/1221-ffi-cstring-returns.stderr
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
3
examples/expected/1221-ffi-cstring-returns.stdout
Normal file
3
examples/expected/1221-ffi-cstring-returns.stdout
Normal file
@@ -0,0 +1,3 @@
|
||||
strerror(2) len ok
|
||||
optional non-null ok
|
||||
optional null ok
|
||||
1
examples/expected/1222-ffi-cstring-type.exit
Normal file
1
examples/expected/1222-ffi-cstring-type.exit
Normal file
@@ -0,0 +1 @@
|
||||
0
|
||||
1
examples/expected/1222-ffi-cstring-type.stderr
Normal file
1
examples/expected/1222-ffi-cstring-type.stderr
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
3
examples/expected/1222-ffi-cstring-type.stdout
Normal file
3
examples/expected/1222-ffi-cstring-type.stdout
Normal file
@@ -0,0 +1,3 @@
|
||||
strerror ok
|
||||
?cstring ok
|
||||
round trip ok
|
||||
@@ -4,34 +4,34 @@
|
||||
@__sx_default_context = internal constant { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc_bytes, ptr @__thunk_CAllocator_Allocator_dealloc_bytes }, ptr null }
|
||||
@__sx_objc_cstr_dealloc = internal constant [8 x i8] c"dealloc\00"
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.145 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.146 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.147 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.148 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.149 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.150 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.151 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.152 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.153 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.154 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.155 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.156 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.157 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.158 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.159 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.160 = private unnamed_addr constant [10 x i8] c"compiled\0A\00", align 1
|
||||
@str.161 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.162 = private unnamed_addr constant [10 x i8] c"compiled\0A\00", align 1
|
||||
@str.112 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.113 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.114 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.115 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.116 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.117 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.118 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.119 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.120 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.121 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.122 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.123 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.124 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.125 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.126 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.127 = private unnamed_addr constant [10 x i8] c"compiled\0A\00", align 1
|
||||
@str.128 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.129 = private unnamed_addr constant [10 x i8] c"compiled\0A\00", align 1
|
||||
@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_.163 = private unnamed_addr constant [6 x i8] c"SxFoo\00"
|
||||
@OBJC_CLASS_NAME_.130 = private unnamed_addr constant [6 x i8] c"SxFoo\00"
|
||||
@OBJC_METH_VAR_NAME_ = private unnamed_addr constant [5 x i8] c"bump\00"
|
||||
@OBJC_METH_VAR_TYPE_ = private unnamed_addr constant [4 x i8] c"v@:\00"
|
||||
@OBJC_METH_VAR_NAME_.164 = private unnamed_addr constant [8 x i8] c"dealloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.165 = private unnamed_addr constant [4 x i8] c"v@:\00"
|
||||
@OBJC_METH_VAR_NAME_.166 = private unnamed_addr constant [6 x i8] c"alloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.167 = private unnamed_addr constant [4 x i8] c"@@:\00"
|
||||
@OBJC_METH_VAR_NAME_.131 = private unnamed_addr constant [8 x i8] c"dealloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.132 = private unnamed_addr constant [4 x i8] c"v@:\00"
|
||||
@OBJC_METH_VAR_NAME_.133 = private unnamed_addr constant [6 x i8] c"alloc\00"
|
||||
@OBJC_METH_VAR_TYPE_.134 = private unnamed_addr constant [4 x i8] c"@@:\00"
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -48,7 +48,7 @@ declare ptr @memset(ptr, i32, i64)
|
||||
declare void @out.1(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 {
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca i64, align 8
|
||||
store i64 %1, ptr %alloca, align 8
|
||||
@@ -99,7 +99,7 @@ if.merge.15: ; preds = %entry
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
%icmpN = icmp slt i64 %loadN, 0
|
||||
store i1 %icmpN, ptr %allocaN, align 1
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 20)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 20)
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
store i64 19, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
@@ -203,7 +203,7 @@ entry:
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%add = add i64 %loadN, %loadN
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %add)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -234,7 +234,7 @@ entry:
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 %3, ptr %allocaN, align 8
|
||||
%load = load i64, ptr %allocaN, align 8
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %load)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -249,6 +249,15 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @cstring_len(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @from_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -261,7 +270,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.145, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.112, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -357,7 +366,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.146, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.113, i64 36 })
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -365,7 +374,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.147, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.114, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -375,13 +384,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.148, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.115, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.13
|
||||
|
||||
if.merge.13: ; preds = %if.then.12, %if.then.9
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.149, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.116, i64 43 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -389,7 +398,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.150, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.117, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -403,7 +412,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.151, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.118, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -411,7 +420,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.152, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.119, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -422,7 +431,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.153, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.120, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -479,7 +488,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.154, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.121, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -487,7 +496,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.155, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.122, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -498,7 +507,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.156, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.123, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -518,7 +527,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.157, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.124, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -526,7 +535,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.158, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.125, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -537,7 +546,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.159, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.126, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.36
|
||||
|
||||
@@ -684,7 +693,7 @@ declare i32 @mode_to_flags(ptr, i64) #0
|
||||
declare i64 @open_file(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @read_file(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||
@@ -758,9 +767,6 @@ declare i32 @feof(ptr) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system(ptr) #0
|
||||
|
||||
@@ -768,10 +774,10 @@ declare i32 @system(ptr) #0
|
||||
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @env(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @find_executable(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit(i32) #0
|
||||
@@ -797,167 +803,131 @@ declare i32 @listen(i32, i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @accept(i32, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.3(i32, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.4(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i16 @htons(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc.5(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
declare ptr @mem_realloc.3(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc_bytes.6(ptr, ptr, i64) #0
|
||||
declare ptr @CAllocator.alloc_bytes.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc_bytes.7(ptr, ptr, ptr) #0
|
||||
declare void @CAllocator.dealloc_bytes.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.8(ptr) #0
|
||||
declare i64 @GPA.init.6(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc_bytes.9(ptr, ptr, i64) #0
|
||||
declare ptr @GPA.alloc_bytes.7(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc_bytes.10(ptr, ptr, ptr) #0
|
||||
declare void @GPA.dealloc_bytes.8(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.11(ptr, ptr, i64) #0
|
||||
declare void @Arena.add_chunk.9(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.12(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
declare void @Arena.init.10(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.13(ptr, ptr) #0
|
||||
declare void @Arena.reset.11(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.14(ptr, ptr) #0
|
||||
declare void @Arena.deinit.12(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc_bytes.15(ptr, ptr, i64) #0
|
||||
declare ptr @Arena.alloc_bytes.13(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc_bytes.16(ptr, ptr, ptr) #0
|
||||
declare void @Arena.dealloc_bytes.14(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.init.17(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
declare void @BufAlloc.init.15(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.18(ptr, ptr) #0
|
||||
declare void @BufAlloc.reset.16(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc_bytes.19(ptr, ptr, i64) #0
|
||||
declare ptr @BufAlloc.alloc_bytes.17(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc_bytes.20(ptr, ptr, ptr) #0
|
||||
declare void @BufAlloc.dealloc_bytes.18(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.21(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
declare void @TrackingAllocator.init.19(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.22(ptr, ptr) #0
|
||||
declare i64 @TrackingAllocator.leak_count.20(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.23(ptr, ptr) #0
|
||||
declare void @TrackingAllocator.report.21(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc_bytes.24(ptr, ptr, i64) #0
|
||||
declare ptr @TrackingAllocator.alloc_bytes.22(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc_bytes.25(ptr, ptr, ptr) #0
|
||||
declare void @TrackingAllocator.dealloc_bytes.23(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.26(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.24(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.27(i32) #0
|
||||
declare i1 @File.close.25(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.28(i32, ptr, i64) #0
|
||||
declare i64 @File.read.26(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.29(i32, i64, i32) #0
|
||||
declare i64 @File.write.27(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.30(ptr) #0
|
||||
declare i64 @File.seek.28(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.31(ptr) #0
|
||||
declare i32 @mode_to_flags.29(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.32(ptr, i32) #0
|
||||
declare i64 @open_file.30(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.33(ptr, i32) #0
|
||||
declare ptr @read_file.31(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.34(ptr, i32) #0
|
||||
declare i1 @write_file.32(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.35(ptr, ptr) #0
|
||||
declare i1 @append_file.33(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.36(ptr, ptr) #0
|
||||
declare i1 @exists.34(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.37(ptr, ptr) #0
|
||||
declare i1 @delete_file.35(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.38(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.36(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.39(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.37(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.40(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.38(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.41(ptr, i64) #0
|
||||
declare i1 @move.39(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.42(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.40(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.43(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.41(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.44(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.42(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.45(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.46(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.47(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.48(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.50(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.51(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.52(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.53(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.55(ptr, ptr) #0
|
||||
declare ptr @dirname.43(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||
@@ -1158,64 +1128,31 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.56(ptr, i32) #0
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_len.57() #0
|
||||
declare ptr @to_string.45(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_truncated.58() #0
|
||||
declare void @print_current.46(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @sx_trace_frame_at.59(i32) #0
|
||||
declare void @print_interpreter_frames.47(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_string.60(ptr) #0
|
||||
declare void @run.48(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_current.61(ptr) #0
|
||||
declare ptr @env.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_interpreter_frames.62(ptr) #0
|
||||
declare ptr @find_executable.50(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @popen.63(ptr, ptr) #0
|
||||
declare void @exit.51(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pclose.64(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @fread.65(ptr, i64, i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @feof.66(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv.67(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen.68(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system.69(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @run.70(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env.71(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable.72(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit.73(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @exit.74(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.75(ptr, i1, ptr, ptr) #0
|
||||
declare void @assert.52(ptr, i1, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @_NSGetArgv() #0
|
||||
@@ -1245,97 +1182,67 @@ declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||
declare i1 @is_long_flag(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @parse.76(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
declare void @parse.53(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.77(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.78(i32) #0
|
||||
declare i1 @File.close.55(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.79(i32, ptr, i64) #0
|
||||
declare i64 @File.read.56(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.80(i32, i64, i32) #0
|
||||
declare i64 @File.write.57(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.81(ptr) #0
|
||||
declare i64 @File.seek.58(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.82(ptr) #0
|
||||
declare i32 @mode_to_flags.59(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.83(ptr, i32) #0
|
||||
declare i64 @open_file.60(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.84(ptr, i32) #0
|
||||
declare ptr @read_file.61(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.85(ptr, i32) #0
|
||||
declare i1 @write_file.62(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.86(ptr, ptr) #0
|
||||
declare i1 @append_file.63(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.87(ptr, ptr) #0
|
||||
declare i1 @exists.64(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.88(ptr, ptr) #0
|
||||
declare i1 @delete_file.65(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.89(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.66(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.90(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.67(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.91(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.68(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.92(ptr, i64) #0
|
||||
declare i1 @move.69(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.93(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.70(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.94(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.71(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.95(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.72(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.96(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.97(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.98(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.99(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.100(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.101(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.102(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.103(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.104(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.105(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.106(ptr, ptr) #0
|
||||
declare ptr @dirname.73(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @rotr(ptr, i64, i64) #0
|
||||
@@ -1377,118 +1284,118 @@ declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.107(ptr, i1) #0
|
||||
declare void @assert.74(ptr, i1) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_link_flag.108(i64, ptr) #0
|
||||
declare void @BuildOptions.add_link_flag.75(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_framework.109(i64, ptr) #0
|
||||
declare void @BuildOptions.add_framework.76(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_output_path.110(i64, ptr) #0
|
||||
declare void @BuildOptions.set_output_path.77(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_wasm_shell.111(i64, ptr) #0
|
||||
declare void @BuildOptions.set_wasm_shell.78(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_asset_dir.112(i64, ptr, ptr) #0
|
||||
declare void @BuildOptions.add_asset_dir.79(i64, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.asset_dir_count.113(i64) #0
|
||||
declare i64 @BuildOptions.asset_dir_count.80(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.asset_dir_src_at.114(i64, i64) #0
|
||||
declare ptr @BuildOptions.asset_dir_src_at.81(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.asset_dir_dest_at.115(i64, i64) #0
|
||||
declare ptr @BuildOptions.asset_dir_dest_at.82(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_callback.116(i64, ptr) #0
|
||||
declare void @BuildOptions.set_post_link_callback.83(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_module.117(i64, ptr) #0
|
||||
declare void @BuildOptions.set_post_link_module.84(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.binary_path.118(i64) #0
|
||||
declare ptr @BuildOptions.binary_path.85(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_path.119(i64, ptr) #0
|
||||
declare void @BuildOptions.set_bundle_path.86(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_id.120(i64, ptr) #0
|
||||
declare void @BuildOptions.set_bundle_id.87(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_codesign_identity.121(i64, ptr) #0
|
||||
declare void @BuildOptions.set_codesign_identity.88(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_provisioning_profile.122(i64, ptr) #0
|
||||
declare void @BuildOptions.set_provisioning_profile.89(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_path.123(i64) #0
|
||||
declare ptr @BuildOptions.bundle_path.90(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_id.124(i64) #0
|
||||
declare ptr @BuildOptions.bundle_id.91(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.codesign_identity.125(i64) #0
|
||||
declare ptr @BuildOptions.codesign_identity.92(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.provisioning_profile.126(i64) #0
|
||||
declare ptr @BuildOptions.provisioning_profile.93(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.target_triple.127(i64) #0
|
||||
declare ptr @BuildOptions.target_triple.94(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_macos.128(i64) #0
|
||||
declare i1 @BuildOptions.is_macos.95(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios.129(i64) #0
|
||||
declare i1 @BuildOptions.is_ios.96(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_device.130(i64) #0
|
||||
declare i1 @BuildOptions.is_ios_device.97(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_simulator.131(i64) #0
|
||||
declare i1 @BuildOptions.is_ios_simulator.98(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_android.132(i64) #0
|
||||
declare i1 @BuildOptions.is_android.99(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_count.133(i64) #0
|
||||
declare i64 @BuildOptions.framework_count.100(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_at.134(i64, i64) #0
|
||||
declare ptr @BuildOptions.framework_at.101(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_path_count.135(i64) #0
|
||||
declare i64 @BuildOptions.framework_path_count.102(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_path_at.136(i64, i64) #0
|
||||
declare ptr @BuildOptions.framework_path_at.103(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_manifest_path.137(i64, ptr) #0
|
||||
declare void @BuildOptions.set_manifest_path.104(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_keystore_path.138(i64, ptr) #0
|
||||
declare void @BuildOptions.set_keystore_path.105(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.manifest_path.139(i64) #0
|
||||
declare ptr @BuildOptions.manifest_path.106(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.keystore_path.140(i64) #0
|
||||
declare ptr @BuildOptions.keystore_path.107(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.jni_main_count.141(i64) #0
|
||||
declare i64 @BuildOptions.jni_main_count.108(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_foreign_path_at.142(i64, i64) #0
|
||||
declare ptr @BuildOptions.jni_main_foreign_path_at.109(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.143(i64, i64) #0
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.110(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options.144() #0
|
||||
declare i64 @build_options.111() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal void @SxFoo.bump(ptr %0, ptr %1) #0 {
|
||||
@@ -1531,14 +1438,14 @@ entry:
|
||||
define internal void @print__ct_sfeff9eeccd48b824__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.160, i64 9 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.127, i64 9 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { 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.161, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.128, i64 0 }, ptr %allocaN, align 8
|
||||
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 9)
|
||||
@@ -1554,7 +1461,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.162, i64 9 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.129, i64 9 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -1634,17 +1541,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_.163, i64 0)
|
||||
%cls = call ptr @objc_allocateClassPair(ptr %super_cls, ptr @OBJC_CLASS_NAME_.130, i64 0)
|
||||
%0 = call i8 @class_addIvar(ptr %cls, ptr @OBJC_IVAR_NAME_, i64 8, i8 3, ptr @OBJC_IVAR_TYPE_)
|
||||
%metacls = call ptr @object_getClass(ptr %cls)
|
||||
%sel = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_)
|
||||
%1 = call i8 @class_addMethod(ptr %cls, ptr %sel, ptr @__SxFoo_bump_imp, ptr @OBJC_METH_VAR_TYPE_)
|
||||
call void @objc_registerClassPair(ptr %cls)
|
||||
store ptr %cls, ptr @__SxFoo_class, align 8
|
||||
%sel_dealloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.164)
|
||||
%2 = call i8 @class_addMethod(ptr %cls, ptr %sel_dealloc, ptr @__SxFoo_dealloc_imp, ptr @OBJC_METH_VAR_TYPE_.165)
|
||||
%sel_alloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.166)
|
||||
%3 = call i8 @class_addMethod(ptr %metacls, ptr %sel_alloc, ptr @__SxFoo_alloc_imp, ptr @OBJC_METH_VAR_TYPE_.167)
|
||||
%sel_dealloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.131)
|
||||
%2 = call i8 @class_addMethod(ptr %cls, ptr %sel_dealloc, ptr @__SxFoo_dealloc_imp, ptr @OBJC_METH_VAR_TYPE_.132)
|
||||
%sel_alloc = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.133)
|
||||
%3 = call i8 @class_addMethod(ptr %metacls, ptr %sel_alloc, ptr @__SxFoo_alloc_imp, ptr @OBJC_METH_VAR_TYPE_.134)
|
||||
%iv = call ptr @class_getInstanceVariable(ptr %cls, ptr @OBJC_IVAR_NAME_)
|
||||
store ptr %iv, ptr @__SxFoo_state_ivar, align 8
|
||||
ret void
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -3,26 +3,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.145 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.146 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.147 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.148 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.149 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.150 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.151 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.152 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.153 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.154 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.155 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.156 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.157 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.158 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.159 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.160 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.161 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.162 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.112 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.113 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.114 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.115 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.116 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.117 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.118 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.119 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.120 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.121 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.122 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.123 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.124 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.125 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.126 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.127 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.128 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.129 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@OBJC_METH_VAR_NAME_ = private unnamed_addr constant [5 x i8] c"init\00"
|
||||
@OBJC_METH_VAR_NAME_.163 = private unnamed_addr constant [8 x i8] c"release\00"
|
||||
@OBJC_METH_VAR_NAME_.130 = private unnamed_addr constant [8 x i8] c"release\00"
|
||||
@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @__sx_objc_selector_init, ptr null }]
|
||||
|
||||
; Function Attrs: nounwind
|
||||
@@ -40,7 +40,7 @@ declare ptr @memset(ptr, i32, i64)
|
||||
declare void @out.1(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 {
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca i64, align 8
|
||||
store i64 %1, ptr %alloca, align 8
|
||||
@@ -91,7 +91,7 @@ if.merge.15: ; preds = %entry
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
%icmpN = icmp slt i64 %loadN, 0
|
||||
store i1 %icmpN, ptr %allocaN, align 1
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 20)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 20)
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
store i64 19, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
@@ -195,7 +195,7 @@ entry:
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%add = add i64 %loadN, %loadN
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %add)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -226,7 +226,7 @@ entry:
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 %3, ptr %allocaN, align 8
|
||||
%load = load i64, ptr %allocaN, align 8
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %load)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -241,6 +241,15 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @cstring_len(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @from_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -253,7 +262,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.145, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.112, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -349,7 +358,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.146, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.113, i64 36 })
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -357,7 +366,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.147, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.114, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -367,13 +376,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.148, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.115, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.13
|
||||
|
||||
if.merge.13: ; preds = %if.then.12, %if.then.9
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.149, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.116, i64 43 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -381,7 +390,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.150, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.117, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -395,7 +404,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.151, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.118, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -403,7 +412,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.152, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.119, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -414,7 +423,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.153, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.120, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -471,7 +480,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.154, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.121, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -479,7 +488,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.155, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.122, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -490,7 +499,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.156, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.123, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -510,7 +519,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.157, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.124, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -518,7 +527,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.158, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.125, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -529,7 +538,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.159, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.126, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.36
|
||||
|
||||
@@ -676,7 +685,7 @@ declare i32 @mode_to_flags(ptr, i64) #0
|
||||
declare i64 @open_file(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @read_file(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||
@@ -750,9 +759,6 @@ declare i32 @feof(ptr) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system(ptr) #0
|
||||
|
||||
@@ -760,10 +766,10 @@ declare i32 @system(ptr) #0
|
||||
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @env(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @find_executable(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit(i32) #0
|
||||
@@ -789,167 +795,131 @@ declare i32 @listen(i32, i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @accept(i32, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.3(i32, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.4(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i16 @htons(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc.5(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
declare ptr @mem_realloc.3(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc_bytes.6(ptr, ptr, i64) #0
|
||||
declare ptr @CAllocator.alloc_bytes.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc_bytes.7(ptr, ptr, ptr) #0
|
||||
declare void @CAllocator.dealloc_bytes.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.8(ptr) #0
|
||||
declare i64 @GPA.init.6(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc_bytes.9(ptr, ptr, i64) #0
|
||||
declare ptr @GPA.alloc_bytes.7(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc_bytes.10(ptr, ptr, ptr) #0
|
||||
declare void @GPA.dealloc_bytes.8(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.11(ptr, ptr, i64) #0
|
||||
declare void @Arena.add_chunk.9(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.12(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
declare void @Arena.init.10(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.13(ptr, ptr) #0
|
||||
declare void @Arena.reset.11(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.14(ptr, ptr) #0
|
||||
declare void @Arena.deinit.12(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc_bytes.15(ptr, ptr, i64) #0
|
||||
declare ptr @Arena.alloc_bytes.13(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc_bytes.16(ptr, ptr, ptr) #0
|
||||
declare void @Arena.dealloc_bytes.14(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.init.17(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
declare void @BufAlloc.init.15(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.18(ptr, ptr) #0
|
||||
declare void @BufAlloc.reset.16(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc_bytes.19(ptr, ptr, i64) #0
|
||||
declare ptr @BufAlloc.alloc_bytes.17(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc_bytes.20(ptr, ptr, ptr) #0
|
||||
declare void @BufAlloc.dealloc_bytes.18(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.21(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
declare void @TrackingAllocator.init.19(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.22(ptr, ptr) #0
|
||||
declare i64 @TrackingAllocator.leak_count.20(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.23(ptr, ptr) #0
|
||||
declare void @TrackingAllocator.report.21(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc_bytes.24(ptr, ptr, i64) #0
|
||||
declare ptr @TrackingAllocator.alloc_bytes.22(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc_bytes.25(ptr, ptr, ptr) #0
|
||||
declare void @TrackingAllocator.dealloc_bytes.23(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.26(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.24(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.27(i32) #0
|
||||
declare i1 @File.close.25(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.28(i32, ptr, i64) #0
|
||||
declare i64 @File.read.26(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.29(i32, i64, i32) #0
|
||||
declare i64 @File.write.27(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.30(ptr) #0
|
||||
declare i64 @File.seek.28(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.31(ptr) #0
|
||||
declare i32 @mode_to_flags.29(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.32(ptr, i32) #0
|
||||
declare i64 @open_file.30(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.33(ptr, i32) #0
|
||||
declare ptr @read_file.31(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.34(ptr, i32) #0
|
||||
declare i1 @write_file.32(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.35(ptr, ptr) #0
|
||||
declare i1 @append_file.33(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.36(ptr, ptr) #0
|
||||
declare i1 @exists.34(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.37(ptr, ptr) #0
|
||||
declare i1 @delete_file.35(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.38(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.36(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.39(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.37(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.40(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.38(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.41(ptr, i64) #0
|
||||
declare i1 @move.39(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.42(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.40(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.43(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.41(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.44(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.42(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.45(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.46(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.47(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.48(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.50(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.51(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.52(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.53(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.55(ptr, ptr) #0
|
||||
declare ptr @dirname.43(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||
@@ -1150,64 +1120,31 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.56(ptr, i32) #0
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_len.57() #0
|
||||
declare ptr @to_string.45(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_truncated.58() #0
|
||||
declare void @print_current.46(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @sx_trace_frame_at.59(i32) #0
|
||||
declare void @print_interpreter_frames.47(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_string.60(ptr) #0
|
||||
declare void @run.48(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_current.61(ptr) #0
|
||||
declare ptr @env.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_interpreter_frames.62(ptr) #0
|
||||
declare ptr @find_executable.50(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @popen.63(ptr, ptr) #0
|
||||
declare void @exit.51(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pclose.64(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @fread.65(ptr, i64, i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @feof.66(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv.67(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen.68(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system.69(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @run.70(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env.71(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable.72(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit.73(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @exit.74(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.75(ptr, i1, ptr, ptr) #0
|
||||
declare void @assert.52(ptr, i1, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @_NSGetArgv() #0
|
||||
@@ -1237,97 +1174,67 @@ declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||
declare i1 @is_long_flag(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @parse.76(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
declare void @parse.53(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.77(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.78(i32) #0
|
||||
declare i1 @File.close.55(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.79(i32, ptr, i64) #0
|
||||
declare i64 @File.read.56(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.80(i32, i64, i32) #0
|
||||
declare i64 @File.write.57(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.81(ptr) #0
|
||||
declare i64 @File.seek.58(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.82(ptr) #0
|
||||
declare i32 @mode_to_flags.59(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.83(ptr, i32) #0
|
||||
declare i64 @open_file.60(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.84(ptr, i32) #0
|
||||
declare ptr @read_file.61(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.85(ptr, i32) #0
|
||||
declare i1 @write_file.62(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.86(ptr, ptr) #0
|
||||
declare i1 @append_file.63(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.87(ptr, ptr) #0
|
||||
declare i1 @exists.64(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.88(ptr, ptr) #0
|
||||
declare i1 @delete_file.65(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.89(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.66(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.90(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.67(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.91(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.68(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.92(ptr, i64) #0
|
||||
declare i1 @move.69(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.93(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.70(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.94(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.71(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.95(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.72(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.96(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.97(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.98(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.99(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.100(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.101(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.102(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.103(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.104(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.105(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.106(ptr, ptr) #0
|
||||
declare ptr @dirname.73(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @rotr(ptr, i64, i64) #0
|
||||
@@ -1369,118 +1276,118 @@ declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.107(ptr, i1) #0
|
||||
declare void @assert.74(ptr, i1) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_link_flag.108(i64, ptr) #0
|
||||
declare void @BuildOptions.add_link_flag.75(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_framework.109(i64, ptr) #0
|
||||
declare void @BuildOptions.add_framework.76(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_output_path.110(i64, ptr) #0
|
||||
declare void @BuildOptions.set_output_path.77(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_wasm_shell.111(i64, ptr) #0
|
||||
declare void @BuildOptions.set_wasm_shell.78(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_asset_dir.112(i64, ptr, ptr) #0
|
||||
declare void @BuildOptions.add_asset_dir.79(i64, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.asset_dir_count.113(i64) #0
|
||||
declare i64 @BuildOptions.asset_dir_count.80(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.asset_dir_src_at.114(i64, i64) #0
|
||||
declare ptr @BuildOptions.asset_dir_src_at.81(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.asset_dir_dest_at.115(i64, i64) #0
|
||||
declare ptr @BuildOptions.asset_dir_dest_at.82(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_callback.116(i64, ptr) #0
|
||||
declare void @BuildOptions.set_post_link_callback.83(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_module.117(i64, ptr) #0
|
||||
declare void @BuildOptions.set_post_link_module.84(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.binary_path.118(i64) #0
|
||||
declare ptr @BuildOptions.binary_path.85(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_path.119(i64, ptr) #0
|
||||
declare void @BuildOptions.set_bundle_path.86(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_id.120(i64, ptr) #0
|
||||
declare void @BuildOptions.set_bundle_id.87(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_codesign_identity.121(i64, ptr) #0
|
||||
declare void @BuildOptions.set_codesign_identity.88(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_provisioning_profile.122(i64, ptr) #0
|
||||
declare void @BuildOptions.set_provisioning_profile.89(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_path.123(i64) #0
|
||||
declare ptr @BuildOptions.bundle_path.90(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_id.124(i64) #0
|
||||
declare ptr @BuildOptions.bundle_id.91(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.codesign_identity.125(i64) #0
|
||||
declare ptr @BuildOptions.codesign_identity.92(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.provisioning_profile.126(i64) #0
|
||||
declare ptr @BuildOptions.provisioning_profile.93(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.target_triple.127(i64) #0
|
||||
declare ptr @BuildOptions.target_triple.94(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_macos.128(i64) #0
|
||||
declare i1 @BuildOptions.is_macos.95(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios.129(i64) #0
|
||||
declare i1 @BuildOptions.is_ios.96(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_device.130(i64) #0
|
||||
declare i1 @BuildOptions.is_ios_device.97(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_simulator.131(i64) #0
|
||||
declare i1 @BuildOptions.is_ios_simulator.98(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_android.132(i64) #0
|
||||
declare i1 @BuildOptions.is_android.99(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_count.133(i64) #0
|
||||
declare i64 @BuildOptions.framework_count.100(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_at.134(i64, i64) #0
|
||||
declare ptr @BuildOptions.framework_at.101(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_path_count.135(i64) #0
|
||||
declare i64 @BuildOptions.framework_path_count.102(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_path_at.136(i64, i64) #0
|
||||
declare ptr @BuildOptions.framework_path_at.103(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_manifest_path.137(i64, ptr) #0
|
||||
declare void @BuildOptions.set_manifest_path.104(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_keystore_path.138(i64, ptr) #0
|
||||
declare void @BuildOptions.set_keystore_path.105(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.manifest_path.139(i64) #0
|
||||
declare ptr @BuildOptions.manifest_path.106(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.keystore_path.140(i64) #0
|
||||
declare ptr @BuildOptions.keystore_path.107(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.jni_main_count.141(i64) #0
|
||||
declare i64 @BuildOptions.jni_main_count.108(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_foreign_path_at.142(i64, i64) #0
|
||||
declare ptr @BuildOptions.jni_main_foreign_path_at.109(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.143(i64, i64) #0
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.110(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options.144() #0
|
||||
declare i64 @build_options.111() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define i32 @main() #0 {
|
||||
@@ -1516,14 +1423,14 @@ entry:
|
||||
define internal void @print__ct_sbdbafa1a5fe828c0__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.160, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.127, i64 3 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { 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.161, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.128, i64 0 }, ptr %allocaN, align 8
|
||||
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 3)
|
||||
@@ -1539,7 +1446,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.162, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.129, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -1551,7 +1458,7 @@ define internal void @__sx_objc_selector_init() {
|
||||
entry:
|
||||
%sel = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_)
|
||||
store ptr %sel, ptr @OBJC_SELECTOR_REFERENCES_init, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.163)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.130)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_release, align 8
|
||||
ret void
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -8,47 +8,47 @@
|
||||
@OBJC_SELECTOR_REFERENCES_initWithFrame_options_ = internal global ptr null
|
||||
@OBJC_SELECTOR_REFERENCES_actualSelectorName = internal global ptr null
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.145 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.146 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.147 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.148 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.149 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.150 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.151 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.152 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.153 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.154 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.155 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.156 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.157 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.158 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.159 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.160 = private unnamed_addr constant [9 x i8] c"NSObject\00", align 1
|
||||
@str.161 = private unnamed_addr constant [16 x i8] c"SxManglingProbe\00", align 1
|
||||
@str.162 = private unnamed_addr constant [7 x i8] c"length\00", align 1
|
||||
@str.163 = private unnamed_addr constant [4 x i8] c"i@:\00", align 1
|
||||
@str.164 = private unnamed_addr constant [11 x i8] c"addObject:\00", align 1
|
||||
@str.165 = private unnamed_addr constant [5 x i8] c"i@:i\00", align 1
|
||||
@str.166 = private unnamed_addr constant [13 x i8] c"combine:and:\00", align 1
|
||||
@str.167 = private unnamed_addr constant [6 x i8] c"i@:ii\00", align 1
|
||||
@str.168 = private unnamed_addr constant [20 x i8] c"insert:after:index:\00", align 1
|
||||
@str.169 = private unnamed_addr constant [7 x i8] c"i@:iii\00", align 1
|
||||
@str.170 = private unnamed_addr constant [24 x i8] c"add:observer:for:event:\00", align 1
|
||||
@str.171 = private unnamed_addr constant [8 x i8] c"i@:iiii\00", align 1
|
||||
@str.172 = private unnamed_addr constant [23 x i8] c"initWithFrame:options:\00", align 1
|
||||
@str.173 = private unnamed_addr constant [6 x i8] c"i@:ii\00", align 1
|
||||
@str.174 = private unnamed_addr constant [19 x i8] c"actualSelectorName\00", align 1
|
||||
@str.175 = private unnamed_addr constant [4 x i8] c"i@:\00", align 1
|
||||
@str.176 = private unnamed_addr constant [19 x i8] c"mangling table OK\0A\00", align 1
|
||||
@str.177 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.178 = private unnamed_addr constant [19 x i8] c"mangling table OK\0A\00", align 1
|
||||
@str.112 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.113 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.114 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.115 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.116 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.117 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.118 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.119 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.120 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.121 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.122 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.123 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.124 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.125 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.126 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.127 = private unnamed_addr constant [9 x i8] c"NSObject\00", align 1
|
||||
@str.128 = private unnamed_addr constant [16 x i8] c"SxManglingProbe\00", align 1
|
||||
@str.129 = private unnamed_addr constant [7 x i8] c"length\00", align 1
|
||||
@str.130 = private unnamed_addr constant [4 x i8] c"i@:\00", align 1
|
||||
@str.131 = private unnamed_addr constant [11 x i8] c"addObject:\00", align 1
|
||||
@str.132 = private unnamed_addr constant [5 x i8] c"i@:i\00", align 1
|
||||
@str.133 = private unnamed_addr constant [13 x i8] c"combine:and:\00", align 1
|
||||
@str.134 = private unnamed_addr constant [6 x i8] c"i@:ii\00", align 1
|
||||
@str.135 = private unnamed_addr constant [20 x i8] c"insert:after:index:\00", align 1
|
||||
@str.136 = private unnamed_addr constant [7 x i8] c"i@:iii\00", align 1
|
||||
@str.137 = private unnamed_addr constant [24 x i8] c"add:observer:for:event:\00", align 1
|
||||
@str.138 = private unnamed_addr constant [8 x i8] c"i@:iiii\00", align 1
|
||||
@str.139 = private unnamed_addr constant [23 x i8] c"initWithFrame:options:\00", align 1
|
||||
@str.140 = private unnamed_addr constant [6 x i8] c"i@:ii\00", align 1
|
||||
@str.141 = private unnamed_addr constant [19 x i8] c"actualSelectorName\00", align 1
|
||||
@str.142 = private unnamed_addr constant [4 x i8] c"i@:\00", align 1
|
||||
@str.143 = private unnamed_addr constant [19 x i8] c"mangling table OK\0A\00", align 1
|
||||
@str.144 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.145 = private unnamed_addr constant [19 x i8] c"mangling table OK\0A\00", align 1
|
||||
@OBJC_METH_VAR_NAME_ = private unnamed_addr constant [7 x i8] c"length\00"
|
||||
@OBJC_METH_VAR_NAME_.179 = private unnamed_addr constant [11 x i8] c"addObject:\00"
|
||||
@OBJC_METH_VAR_NAME_.180 = private unnamed_addr constant [13 x i8] c"combine:and:\00"
|
||||
@OBJC_METH_VAR_NAME_.181 = private unnamed_addr constant [20 x i8] c"insert:after:index:\00"
|
||||
@OBJC_METH_VAR_NAME_.182 = private unnamed_addr constant [24 x i8] c"add:observer:for:event:\00"
|
||||
@OBJC_METH_VAR_NAME_.183 = private unnamed_addr constant [23 x i8] c"initWithFrame:options:\00"
|
||||
@OBJC_METH_VAR_NAME_.184 = private unnamed_addr constant [19 x i8] c"actualSelectorName\00"
|
||||
@OBJC_METH_VAR_NAME_.146 = private unnamed_addr constant [11 x i8] c"addObject:\00"
|
||||
@OBJC_METH_VAR_NAME_.147 = private unnamed_addr constant [13 x i8] c"combine:and:\00"
|
||||
@OBJC_METH_VAR_NAME_.148 = private unnamed_addr constant [20 x i8] c"insert:after:index:\00"
|
||||
@OBJC_METH_VAR_NAME_.149 = private unnamed_addr constant [24 x i8] c"add:observer:for:event:\00"
|
||||
@OBJC_METH_VAR_NAME_.150 = private unnamed_addr constant [23 x i8] c"initWithFrame:options:\00"
|
||||
@OBJC_METH_VAR_NAME_.151 = private unnamed_addr constant [19 x i8] c"actualSelectorName\00"
|
||||
@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @__sx_objc_selector_init, ptr null }]
|
||||
|
||||
; Function Attrs: nounwind
|
||||
@@ -66,7 +66,7 @@ declare ptr @memset(ptr, i32, i64)
|
||||
declare void @out.1(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 {
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca i64, align 8
|
||||
store i64 %1, ptr %alloca, align 8
|
||||
@@ -117,7 +117,7 @@ if.merge.15: ; preds = %entry
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
%icmpN = icmp slt i64 %loadN, 0
|
||||
store i1 %icmpN, ptr %allocaN, align 1
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 20)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 20)
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
store i64 19, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
@@ -221,7 +221,7 @@ entry:
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%add = add i64 %loadN, %loadN
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %add)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -252,7 +252,7 @@ entry:
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 %3, ptr %allocaN, align 8
|
||||
%load = load i64, ptr %allocaN, align 8
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %load)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -267,6 +267,15 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @cstring_len(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @from_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -279,7 +288,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.145, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.112, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -375,7 +384,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.146, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.113, i64 36 })
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -383,7 +392,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.147, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.114, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -393,13 +402,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.148, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.115, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.13
|
||||
|
||||
if.merge.13: ; preds = %if.then.12, %if.then.9
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.149, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.116, i64 43 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -407,7 +416,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.150, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.117, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -421,7 +430,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.151, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.118, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -429,7 +438,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.152, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.119, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -440,7 +449,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.153, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.120, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -497,7 +506,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.154, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.121, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -505,7 +514,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.155, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.122, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -516,7 +525,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.156, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.123, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -536,7 +545,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.157, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.124, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -544,7 +553,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.158, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.125, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -555,7 +564,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.159, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.126, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.36
|
||||
|
||||
@@ -702,7 +711,7 @@ declare i32 @mode_to_flags(ptr, i64) #0
|
||||
declare i64 @open_file(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @read_file(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||
@@ -776,9 +785,6 @@ declare i32 @feof(ptr) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system(ptr) #0
|
||||
|
||||
@@ -786,10 +792,10 @@ declare i32 @system(ptr) #0
|
||||
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @env(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @find_executable(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit(i32) #0
|
||||
@@ -815,167 +821,131 @@ declare i32 @listen(i32, i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @accept(i32, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.3(i32, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.4(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i16 @htons(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc.5(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
declare ptr @mem_realloc.3(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc_bytes.6(ptr, ptr, i64) #0
|
||||
declare ptr @CAllocator.alloc_bytes.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc_bytes.7(ptr, ptr, ptr) #0
|
||||
declare void @CAllocator.dealloc_bytes.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.8(ptr) #0
|
||||
declare i64 @GPA.init.6(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc_bytes.9(ptr, ptr, i64) #0
|
||||
declare ptr @GPA.alloc_bytes.7(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc_bytes.10(ptr, ptr, ptr) #0
|
||||
declare void @GPA.dealloc_bytes.8(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.11(ptr, ptr, i64) #0
|
||||
declare void @Arena.add_chunk.9(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.12(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
declare void @Arena.init.10(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.13(ptr, ptr) #0
|
||||
declare void @Arena.reset.11(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.14(ptr, ptr) #0
|
||||
declare void @Arena.deinit.12(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc_bytes.15(ptr, ptr, i64) #0
|
||||
declare ptr @Arena.alloc_bytes.13(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc_bytes.16(ptr, ptr, ptr) #0
|
||||
declare void @Arena.dealloc_bytes.14(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.init.17(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
declare void @BufAlloc.init.15(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.18(ptr, ptr) #0
|
||||
declare void @BufAlloc.reset.16(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc_bytes.19(ptr, ptr, i64) #0
|
||||
declare ptr @BufAlloc.alloc_bytes.17(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc_bytes.20(ptr, ptr, ptr) #0
|
||||
declare void @BufAlloc.dealloc_bytes.18(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.21(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
declare void @TrackingAllocator.init.19(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.22(ptr, ptr) #0
|
||||
declare i64 @TrackingAllocator.leak_count.20(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.23(ptr, ptr) #0
|
||||
declare void @TrackingAllocator.report.21(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc_bytes.24(ptr, ptr, i64) #0
|
||||
declare ptr @TrackingAllocator.alloc_bytes.22(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc_bytes.25(ptr, ptr, ptr) #0
|
||||
declare void @TrackingAllocator.dealloc_bytes.23(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.26(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.24(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.27(i32) #0
|
||||
declare i1 @File.close.25(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.28(i32, ptr, i64) #0
|
||||
declare i64 @File.read.26(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.29(i32, i64, i32) #0
|
||||
declare i64 @File.write.27(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.30(ptr) #0
|
||||
declare i64 @File.seek.28(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.31(ptr) #0
|
||||
declare i32 @mode_to_flags.29(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.32(ptr, i32) #0
|
||||
declare i64 @open_file.30(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.33(ptr, i32) #0
|
||||
declare ptr @read_file.31(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.34(ptr, i32) #0
|
||||
declare i1 @write_file.32(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.35(ptr, ptr) #0
|
||||
declare i1 @append_file.33(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.36(ptr, ptr) #0
|
||||
declare i1 @exists.34(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.37(ptr, ptr) #0
|
||||
declare i1 @delete_file.35(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.38(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.36(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.39(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.37(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.40(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.38(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.41(ptr, i64) #0
|
||||
declare i1 @move.39(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.42(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.40(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.43(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.41(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.44(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.42(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.45(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.46(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.47(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.48(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.50(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.51(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.52(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.53(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.55(ptr, ptr) #0
|
||||
declare ptr @dirname.43(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||
@@ -1176,64 +1146,31 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.56(ptr, i32) #0
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_len.57() #0
|
||||
declare ptr @to_string.45(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_truncated.58() #0
|
||||
declare void @print_current.46(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @sx_trace_frame_at.59(i32) #0
|
||||
declare void @print_interpreter_frames.47(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_string.60(ptr) #0
|
||||
declare void @run.48(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_current.61(ptr) #0
|
||||
declare ptr @env.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_interpreter_frames.62(ptr) #0
|
||||
declare ptr @find_executable.50(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @popen.63(ptr, ptr) #0
|
||||
declare void @exit.51(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pclose.64(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @fread.65(ptr, i64, i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @feof.66(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv.67(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen.68(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system.69(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @run.70(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env.71(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable.72(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit.73(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @exit.74(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.75(ptr, i1, ptr, ptr) #0
|
||||
declare void @assert.52(ptr, i1, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @_NSGetArgv() #0
|
||||
@@ -1263,97 +1200,67 @@ declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||
declare i1 @is_long_flag(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @parse.76(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
declare void @parse.53(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.77(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.78(i32) #0
|
||||
declare i1 @File.close.55(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.79(i32, ptr, i64) #0
|
||||
declare i64 @File.read.56(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.80(i32, i64, i32) #0
|
||||
declare i64 @File.write.57(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.81(ptr) #0
|
||||
declare i64 @File.seek.58(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.82(ptr) #0
|
||||
declare i32 @mode_to_flags.59(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.83(ptr, i32) #0
|
||||
declare i64 @open_file.60(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.84(ptr, i32) #0
|
||||
declare ptr @read_file.61(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.85(ptr, i32) #0
|
||||
declare i1 @write_file.62(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.86(ptr, ptr) #0
|
||||
declare i1 @append_file.63(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.87(ptr, ptr) #0
|
||||
declare i1 @exists.64(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.88(ptr, ptr) #0
|
||||
declare i1 @delete_file.65(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.89(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.66(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.90(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.67(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.91(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.68(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.92(ptr, i64) #0
|
||||
declare i1 @move.69(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.93(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.70(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.94(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.71(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.95(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.72(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.96(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.97(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.98(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.99(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.100(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.101(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.102(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.103(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.104(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.105(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.106(ptr, ptr) #0
|
||||
declare ptr @dirname.73(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @rotr(ptr, i64, i64) #0
|
||||
@@ -1395,118 +1302,118 @@ declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.107(ptr, i1) #0
|
||||
declare void @assert.74(ptr, i1) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_link_flag.108(i64, ptr) #0
|
||||
declare void @BuildOptions.add_link_flag.75(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_framework.109(i64, ptr) #0
|
||||
declare void @BuildOptions.add_framework.76(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_output_path.110(i64, ptr) #0
|
||||
declare void @BuildOptions.set_output_path.77(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_wasm_shell.111(i64, ptr) #0
|
||||
declare void @BuildOptions.set_wasm_shell.78(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_asset_dir.112(i64, ptr, ptr) #0
|
||||
declare void @BuildOptions.add_asset_dir.79(i64, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.asset_dir_count.113(i64) #0
|
||||
declare i64 @BuildOptions.asset_dir_count.80(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.asset_dir_src_at.114(i64, i64) #0
|
||||
declare ptr @BuildOptions.asset_dir_src_at.81(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.asset_dir_dest_at.115(i64, i64) #0
|
||||
declare ptr @BuildOptions.asset_dir_dest_at.82(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_callback.116(i64, ptr) #0
|
||||
declare void @BuildOptions.set_post_link_callback.83(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_module.117(i64, ptr) #0
|
||||
declare void @BuildOptions.set_post_link_module.84(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.binary_path.118(i64) #0
|
||||
declare ptr @BuildOptions.binary_path.85(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_path.119(i64, ptr) #0
|
||||
declare void @BuildOptions.set_bundle_path.86(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_id.120(i64, ptr) #0
|
||||
declare void @BuildOptions.set_bundle_id.87(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_codesign_identity.121(i64, ptr) #0
|
||||
declare void @BuildOptions.set_codesign_identity.88(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_provisioning_profile.122(i64, ptr) #0
|
||||
declare void @BuildOptions.set_provisioning_profile.89(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_path.123(i64) #0
|
||||
declare ptr @BuildOptions.bundle_path.90(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_id.124(i64) #0
|
||||
declare ptr @BuildOptions.bundle_id.91(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.codesign_identity.125(i64) #0
|
||||
declare ptr @BuildOptions.codesign_identity.92(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.provisioning_profile.126(i64) #0
|
||||
declare ptr @BuildOptions.provisioning_profile.93(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.target_triple.127(i64) #0
|
||||
declare ptr @BuildOptions.target_triple.94(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_macos.128(i64) #0
|
||||
declare i1 @BuildOptions.is_macos.95(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios.129(i64) #0
|
||||
declare i1 @BuildOptions.is_ios.96(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_device.130(i64) #0
|
||||
declare i1 @BuildOptions.is_ios_device.97(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_simulator.131(i64) #0
|
||||
declare i1 @BuildOptions.is_ios_simulator.98(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_android.132(i64) #0
|
||||
declare i1 @BuildOptions.is_android.99(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_count.133(i64) #0
|
||||
declare i64 @BuildOptions.framework_count.100(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_at.134(i64, i64) #0
|
||||
declare ptr @BuildOptions.framework_at.101(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_path_count.135(i64) #0
|
||||
declare i64 @BuildOptions.framework_path_count.102(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_path_at.136(i64, i64) #0
|
||||
declare ptr @BuildOptions.framework_path_at.103(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_manifest_path.137(i64, ptr) #0
|
||||
declare void @BuildOptions.set_manifest_path.104(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_keystore_path.138(i64, ptr) #0
|
||||
declare void @BuildOptions.set_keystore_path.105(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.manifest_path.139(i64) #0
|
||||
declare ptr @BuildOptions.manifest_path.106(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.keystore_path.140(i64) #0
|
||||
declare ptr @BuildOptions.keystore_path.107(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.jni_main_count.141(i64) #0
|
||||
declare i64 @BuildOptions.jni_main_count.108(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_foreign_path_at.142(i64, i64) #0
|
||||
declare ptr @BuildOptions.jni_main_foreign_path_at.109(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.143(i64, i64) #0
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.110(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options.144() #0
|
||||
declare i64 @build_options.111() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @objc_getClass(ptr) #0
|
||||
@@ -1588,34 +1495,34 @@ entry:
|
||||
define i32 @main() #0 {
|
||||
entry:
|
||||
call void @__sx_objc_selector_init()
|
||||
%call = call ptr @objc_getClass(ptr @str.160)
|
||||
%call = call ptr @objc_getClass(ptr @str.127)
|
||||
%alloca = alloca ptr, align 8
|
||||
store ptr %call, ptr %alloca, align 8
|
||||
%load = load ptr, ptr %alloca, align 8
|
||||
%callN = call ptr @objc_allocateClassPair(ptr %load, ptr @str.161, i64 0)
|
||||
%callN = call ptr @objc_allocateClassPair(ptr %load, ptr @str.128, i64 0)
|
||||
%allocaN = alloca ptr, align 8
|
||||
store ptr %callN, ptr %allocaN, align 8
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.162)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.163)
|
||||
%callN = call ptr @sel_registerName(ptr @str.129)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.130)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.164)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.165)
|
||||
%callN = call ptr @sel_registerName(ptr @str.131)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.132)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.166)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.167)
|
||||
%callN = call ptr @sel_registerName(ptr @str.133)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.134)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.168)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.169)
|
||||
%callN = call ptr @sel_registerName(ptr @str.135)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.136)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.170)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.171)
|
||||
%callN = call ptr @sel_registerName(ptr @str.137)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.138)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.172)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.173)
|
||||
%callN = call ptr @sel_registerName(ptr @str.139)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.140)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
%callN = call ptr @sel_registerName(ptr @str.174)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.175)
|
||||
%callN = call ptr @sel_registerName(ptr @str.141)
|
||||
%callN = call i1 @class_addMethod(ptr %loadN, ptr %callN, ptr @universal_imp, ptr @str.142)
|
||||
%loadN = load ptr, ptr %allocaN, align 8
|
||||
call void @objc_registerClassPair(ptr %loadN)
|
||||
%allocaN = alloca ptr, align 8
|
||||
@@ -1665,14 +1572,14 @@ entry:
|
||||
define internal void @print__ct_s4c1a58a7c89bfbba__pack(ptr %0) #0 {
|
||||
entry:
|
||||
%alloca = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } { ptr @str.176, i64 18 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.143, i64 18 }, ptr %alloca, align 8
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
%gep = getelementptr inbounds { 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.177, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.144, i64 0 }, ptr %allocaN, align 8
|
||||
%load = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
%call = call { ptr, i64 } @substr(ptr %0, { ptr, i64 } %loadN, i64 0, i64 18)
|
||||
@@ -1688,7 +1595,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.178, i64 18 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.145, i64 18 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -1696,17 +1603,17 @@ define internal void @__sx_objc_selector_init() {
|
||||
entry:
|
||||
%sel = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_)
|
||||
store ptr %sel, ptr @OBJC_SELECTOR_REFERENCES_length, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.179)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.146)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_addObject_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.180)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.147)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_combine_and_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.181)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.148)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_insert_after_index_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.182)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.149)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_add_observer_for_event_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.183)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.150)
|
||||
store ptr %selN, ptr @OBJC_SELECTOR_REFERENCES_initWithFrame_options_, align 8
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.184)
|
||||
%selN = call ptr @sel_registerName(ptr @OBJC_METH_VAR_NAME_.151)
|
||||
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 constant { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc_bytes, ptr @__thunk_CAllocator_Allocator_dealloc_bytes }, ptr null }
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.108 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.109 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.110 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.111 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.112 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.113 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.114 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.115 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.116 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.117 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.118 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.119 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.120 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.121 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.122 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.123 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
||||
@str.124 = private unnamed_addr constant [4 x i8] c"()V\00", align 1
|
||||
@str.75 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.76 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.77 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.78 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.79 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.80 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.81 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.82 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.83 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.84 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.85 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.86 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.87 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.88 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.89 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.90 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
||||
@str.91 = 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.125 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
||||
@str.126 = private unnamed_addr constant [4 x i8] c"()V\00", align 1
|
||||
@str.127 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.128 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.129 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.92 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
||||
@str.93 = private unnamed_addr constant [4 x i8] c"()V\00", align 1
|
||||
@str.94 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.95 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.96 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -42,7 +42,7 @@ declare ptr @memset(ptr, i32, i64)
|
||||
declare void @out.1(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 {
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca i64, align 8
|
||||
store i64 %1, ptr %alloca, align 8
|
||||
@@ -93,7 +93,7 @@ if.merge.17: ; preds = %entry
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
%icmpN = icmp slt i64 %loadN, 0
|
||||
store i1 %icmpN, ptr %allocaN, align 1
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 20)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 20)
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
store i64 19, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
@@ -197,7 +197,7 @@ entry:
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%add = add i64 %loadN, %loadN
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %add)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -228,7 +228,7 @@ entry:
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 %3, ptr %allocaN, align 8
|
||||
%load = load i64, ptr %allocaN, align 8
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %load)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -243,6 +243,15 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @cstring_len(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @from_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -255,7 +264,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.108, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.75, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -351,7 +360,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.109, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.76, 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
|
||||
@@ -359,7 +368,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.110, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.77, 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
|
||||
@@ -369,13 +378,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.111, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.78, 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.112, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.79, 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
|
||||
@@ -383,7 +392,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.113, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.80, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -397,7 +406,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.114, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.81, 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
|
||||
@@ -405,7 +414,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.115, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.82, 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
|
||||
@@ -416,7 +425,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.116, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.83, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -473,7 +482,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.117, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.84, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -481,7 +490,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.118, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.85, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -492,7 +501,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.119, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.86, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -512,7 +521,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.120, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.87, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -520,7 +529,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.121, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.88, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -531,7 +540,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.122, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.89, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -678,7 +687,7 @@ declare i32 @mode_to_flags(ptr, i64) #0
|
||||
declare i64 @open_file(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @read_file(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||
@@ -752,9 +761,6 @@ declare i32 @feof(ptr) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system(ptr) #0
|
||||
|
||||
@@ -762,10 +768,10 @@ declare i32 @system(ptr) #0
|
||||
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @env(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @find_executable(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit(i32) #0
|
||||
@@ -791,167 +797,131 @@ declare i32 @listen(i32, i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @accept(i32, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.3(i32, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.4(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i16 @htons(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc.5(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
declare ptr @mem_realloc.3(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc_bytes.6(ptr, ptr, i64) #0
|
||||
declare ptr @CAllocator.alloc_bytes.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc_bytes.7(ptr, ptr, ptr) #0
|
||||
declare void @CAllocator.dealloc_bytes.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.8(ptr) #0
|
||||
declare i64 @GPA.init.6(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc_bytes.9(ptr, ptr, i64) #0
|
||||
declare ptr @GPA.alloc_bytes.7(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc_bytes.10(ptr, ptr, ptr) #0
|
||||
declare void @GPA.dealloc_bytes.8(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.11(ptr, ptr, i64) #0
|
||||
declare void @Arena.add_chunk.9(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.12(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
declare void @Arena.init.10(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.13(ptr, ptr) #0
|
||||
declare void @Arena.reset.11(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.14(ptr, ptr) #0
|
||||
declare void @Arena.deinit.12(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc_bytes.15(ptr, ptr, i64) #0
|
||||
declare ptr @Arena.alloc_bytes.13(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc_bytes.16(ptr, ptr, ptr) #0
|
||||
declare void @Arena.dealloc_bytes.14(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.init.17(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
declare void @BufAlloc.init.15(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.18(ptr, ptr) #0
|
||||
declare void @BufAlloc.reset.16(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc_bytes.19(ptr, ptr, i64) #0
|
||||
declare ptr @BufAlloc.alloc_bytes.17(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc_bytes.20(ptr, ptr, ptr) #0
|
||||
declare void @BufAlloc.dealloc_bytes.18(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.21(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
declare void @TrackingAllocator.init.19(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.22(ptr, ptr) #0
|
||||
declare i64 @TrackingAllocator.leak_count.20(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.23(ptr, ptr) #0
|
||||
declare void @TrackingAllocator.report.21(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc_bytes.24(ptr, ptr, i64) #0
|
||||
declare ptr @TrackingAllocator.alloc_bytes.22(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc_bytes.25(ptr, ptr, ptr) #0
|
||||
declare void @TrackingAllocator.dealloc_bytes.23(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.26(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.24(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.27(i32) #0
|
||||
declare i1 @File.close.25(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.28(i32, ptr, i64) #0
|
||||
declare i64 @File.read.26(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.29(i32, i64, i32) #0
|
||||
declare i64 @File.write.27(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.30(ptr) #0
|
||||
declare i64 @File.seek.28(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.31(ptr) #0
|
||||
declare i32 @mode_to_flags.29(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.32(ptr, i32) #0
|
||||
declare i64 @open_file.30(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.33(ptr, i32) #0
|
||||
declare ptr @read_file.31(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.34(ptr, i32) #0
|
||||
declare i1 @write_file.32(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.35(ptr, ptr) #0
|
||||
declare i1 @append_file.33(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.36(ptr, ptr) #0
|
||||
declare i1 @exists.34(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.37(ptr, ptr) #0
|
||||
declare i1 @delete_file.35(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.38(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.36(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.39(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.37(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.40(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.38(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.41(ptr, i64) #0
|
||||
declare i1 @move.39(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.42(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.40(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.43(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.41(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.44(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.42(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.45(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.46(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.47(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.48(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.50(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.51(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.52(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.53(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.55(ptr, ptr) #0
|
||||
declare ptr @dirname.43(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||
@@ -1152,64 +1122,31 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.56(ptr, i32) #0
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_len.57() #0
|
||||
declare ptr @to_string.45(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_truncated.58() #0
|
||||
declare void @print_current.46(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @sx_trace_frame_at.59(i32) #0
|
||||
declare void @print_interpreter_frames.47(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_string.60(ptr) #0
|
||||
declare void @run.48(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_current.61(ptr) #0
|
||||
declare ptr @env.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_interpreter_frames.62(ptr) #0
|
||||
declare ptr @find_executable.50(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @popen.63(ptr, ptr) #0
|
||||
declare void @exit.51(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pclose.64(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @fread.65(ptr, i64, i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @feof.66(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv.67(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen.68(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system.69(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @run.70(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env.71(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable.72(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit.73(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @exit.74(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.75(ptr, i1, ptr, ptr) #0
|
||||
declare void @assert.52(ptr, i1, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @_NSGetArgv() #0
|
||||
@@ -1239,97 +1176,67 @@ declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||
declare i1 @is_long_flag(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @parse.76(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
declare void @parse.53(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.77(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.78(i32) #0
|
||||
declare i1 @File.close.55(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.79(i32, ptr, i64) #0
|
||||
declare i64 @File.read.56(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.80(i32, i64, i32) #0
|
||||
declare i64 @File.write.57(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.81(ptr) #0
|
||||
declare i64 @File.seek.58(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.82(ptr) #0
|
||||
declare i32 @mode_to_flags.59(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.83(ptr, i32) #0
|
||||
declare i64 @open_file.60(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.84(ptr, i32) #0
|
||||
declare ptr @read_file.61(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.85(ptr, i32) #0
|
||||
declare i1 @write_file.62(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.86(ptr, ptr) #0
|
||||
declare i1 @append_file.63(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.87(ptr, ptr) #0
|
||||
declare i1 @exists.64(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.88(ptr, ptr) #0
|
||||
declare i1 @delete_file.65(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.89(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.66(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.90(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.67(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.91(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.68(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.92(ptr, i64) #0
|
||||
declare i1 @move.69(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.93(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.70(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.94(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.71(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.95(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.72(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.96(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.97(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.98(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.99(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.100(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.101(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.102(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.103(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.104(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.105(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.106(ptr, ptr) #0
|
||||
declare ptr @dirname.73(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @rotr(ptr, i64, i64) #0
|
||||
@@ -1371,7 +1278,7 @@ declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.107(ptr, i1) #0
|
||||
declare void @assert.74(ptr, i1) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 {
|
||||
@@ -1399,7 +1306,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.123, ptr @str.124)
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.90, ptr @str.91)
|
||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_noop____V, align 8
|
||||
br label %jni.cont
|
||||
|
||||
@@ -1424,7 +1331,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.125, ptr @str.126)
|
||||
%jni.fresh.mid14 = call ptr %jni.GetMethodID13(ptr %load, ptr %jni.global.cls12, ptr @str.92, ptr @str.93)
|
||||
store ptr %jni.fresh.mid14, ptr @SX_JNI_MID_noop____V, align 8
|
||||
br label %jni.cont8
|
||||
|
||||
@@ -1476,14 +1383,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.127, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.94, 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.128, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.95, 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)
|
||||
@@ -1499,6 +1406,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.129, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.96, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@g_should_call = internal global i1 false
|
||||
@__sx_default_context = internal constant { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc_bytes, ptr @__thunk_CAllocator_Allocator_dealloc_bytes }, ptr null }
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.108 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.109 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.110 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.111 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.112 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.113 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.114 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.115 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.116 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.117 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.118 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.119 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.120 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.121 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.122 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.123 = private unnamed_addr constant [9 x i8] c"getCount\00", align 1
|
||||
@str.124 = private unnamed_addr constant [4 x i8] c"()I\00", align 1
|
||||
@str.75 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.76 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.77 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.78 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.79 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.80 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.81 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.82 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.83 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.84 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.85 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.86 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.87 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.88 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.89 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.90 = private unnamed_addr constant [9 x i8] c"getCount\00", align 1
|
||||
@str.91 = 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.125 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.126 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.127 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.92 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.93 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.94 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -40,7 +40,7 @@ declare ptr @memset(ptr, i32, i64)
|
||||
declare void @out.1(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 {
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca i64, align 8
|
||||
store i64 %1, ptr %alloca, align 8
|
||||
@@ -91,7 +91,7 @@ if.merge.17: ; preds = %entry
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
%icmpN = icmp slt i64 %loadN, 0
|
||||
store i1 %icmpN, ptr %allocaN, align 1
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 20)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 20)
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
store i64 19, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
@@ -195,7 +195,7 @@ entry:
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%add = add i64 %loadN, %loadN
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %add)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -226,7 +226,7 @@ entry:
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 %3, ptr %allocaN, align 8
|
||||
%load = load i64, ptr %allocaN, align 8
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %load)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -241,6 +241,15 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @cstring_len(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @from_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -253,7 +262,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.108, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.75, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -349,7 +358,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.109, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.76, 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
|
||||
@@ -357,7 +366,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.110, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.77, 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
|
||||
@@ -367,13 +376,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.111, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.78, 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.112, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.79, 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
|
||||
@@ -381,7 +390,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.113, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.80, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -395,7 +404,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.114, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.81, 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
|
||||
@@ -403,7 +412,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.115, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.82, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -414,7 +423,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.116, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.83, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -471,7 +480,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.117, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.84, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -479,7 +488,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.118, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.85, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -490,7 +499,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.119, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.86, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -510,7 +519,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.120, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.87, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -518,7 +527,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.121, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.88, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -529,7 +538,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.122, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.89, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -676,7 +685,7 @@ declare i32 @mode_to_flags(ptr, i64) #0
|
||||
declare i64 @open_file(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @read_file(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||
@@ -750,9 +759,6 @@ declare i32 @feof(ptr) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system(ptr) #0
|
||||
|
||||
@@ -760,10 +766,10 @@ declare i32 @system(ptr) #0
|
||||
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @env(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @find_executable(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit(i32) #0
|
||||
@@ -789,167 +795,131 @@ declare i32 @listen(i32, i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @accept(i32, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.3(i32, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.4(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i16 @htons(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc.5(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
declare ptr @mem_realloc.3(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc_bytes.6(ptr, ptr, i64) #0
|
||||
declare ptr @CAllocator.alloc_bytes.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc_bytes.7(ptr, ptr, ptr) #0
|
||||
declare void @CAllocator.dealloc_bytes.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.8(ptr) #0
|
||||
declare i64 @GPA.init.6(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc_bytes.9(ptr, ptr, i64) #0
|
||||
declare ptr @GPA.alloc_bytes.7(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc_bytes.10(ptr, ptr, ptr) #0
|
||||
declare void @GPA.dealloc_bytes.8(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.11(ptr, ptr, i64) #0
|
||||
declare void @Arena.add_chunk.9(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.12(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
declare void @Arena.init.10(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.13(ptr, ptr) #0
|
||||
declare void @Arena.reset.11(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.14(ptr, ptr) #0
|
||||
declare void @Arena.deinit.12(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc_bytes.15(ptr, ptr, i64) #0
|
||||
declare ptr @Arena.alloc_bytes.13(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc_bytes.16(ptr, ptr, ptr) #0
|
||||
declare void @Arena.dealloc_bytes.14(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.init.17(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
declare void @BufAlloc.init.15(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.18(ptr, ptr) #0
|
||||
declare void @BufAlloc.reset.16(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc_bytes.19(ptr, ptr, i64) #0
|
||||
declare ptr @BufAlloc.alloc_bytes.17(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc_bytes.20(ptr, ptr, ptr) #0
|
||||
declare void @BufAlloc.dealloc_bytes.18(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.21(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
declare void @TrackingAllocator.init.19(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.22(ptr, ptr) #0
|
||||
declare i64 @TrackingAllocator.leak_count.20(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.23(ptr, ptr) #0
|
||||
declare void @TrackingAllocator.report.21(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc_bytes.24(ptr, ptr, i64) #0
|
||||
declare ptr @TrackingAllocator.alloc_bytes.22(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc_bytes.25(ptr, ptr, ptr) #0
|
||||
declare void @TrackingAllocator.dealloc_bytes.23(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.26(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.24(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.27(i32) #0
|
||||
declare i1 @File.close.25(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.28(i32, ptr, i64) #0
|
||||
declare i64 @File.read.26(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.29(i32, i64, i32) #0
|
||||
declare i64 @File.write.27(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.30(ptr) #0
|
||||
declare i64 @File.seek.28(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.31(ptr) #0
|
||||
declare i32 @mode_to_flags.29(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.32(ptr, i32) #0
|
||||
declare i64 @open_file.30(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.33(ptr, i32) #0
|
||||
declare ptr @read_file.31(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.34(ptr, i32) #0
|
||||
declare i1 @write_file.32(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.35(ptr, ptr) #0
|
||||
declare i1 @append_file.33(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.36(ptr, ptr) #0
|
||||
declare i1 @exists.34(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.37(ptr, ptr) #0
|
||||
declare i1 @delete_file.35(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.38(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.36(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.39(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.37(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.40(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.38(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.41(ptr, i64) #0
|
||||
declare i1 @move.39(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.42(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.40(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.43(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.41(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.44(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.42(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.45(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.46(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.47(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.48(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.50(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.51(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.52(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.53(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.55(ptr, ptr) #0
|
||||
declare ptr @dirname.43(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||
@@ -1150,64 +1120,31 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.56(ptr, i32) #0
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_len.57() #0
|
||||
declare ptr @to_string.45(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_truncated.58() #0
|
||||
declare void @print_current.46(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @sx_trace_frame_at.59(i32) #0
|
||||
declare void @print_interpreter_frames.47(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_string.60(ptr) #0
|
||||
declare void @run.48(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_current.61(ptr) #0
|
||||
declare ptr @env.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_interpreter_frames.62(ptr) #0
|
||||
declare ptr @find_executable.50(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @popen.63(ptr, ptr) #0
|
||||
declare void @exit.51(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pclose.64(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @fread.65(ptr, i64, i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @feof.66(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv.67(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen.68(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system.69(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @run.70(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env.71(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable.72(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit.73(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @exit.74(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.75(ptr, i1, ptr, ptr) #0
|
||||
declare void @assert.52(ptr, i1, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @_NSGetArgv() #0
|
||||
@@ -1237,97 +1174,67 @@ declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||
declare i1 @is_long_flag(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @parse.76(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
declare void @parse.53(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.77(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.78(i32) #0
|
||||
declare i1 @File.close.55(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.79(i32, ptr, i64) #0
|
||||
declare i64 @File.read.56(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.80(i32, i64, i32) #0
|
||||
declare i64 @File.write.57(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.81(ptr) #0
|
||||
declare i64 @File.seek.58(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.82(ptr) #0
|
||||
declare i32 @mode_to_flags.59(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.83(ptr, i32) #0
|
||||
declare i64 @open_file.60(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.84(ptr, i32) #0
|
||||
declare ptr @read_file.61(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.85(ptr, i32) #0
|
||||
declare i1 @write_file.62(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.86(ptr, ptr) #0
|
||||
declare i1 @append_file.63(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.87(ptr, ptr) #0
|
||||
declare i1 @exists.64(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.88(ptr, ptr) #0
|
||||
declare i1 @delete_file.65(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.89(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.66(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.90(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.67(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.91(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.68(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.92(ptr, i64) #0
|
||||
declare i1 @move.69(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.93(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.70(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.94(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.71(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.95(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.72(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.96(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.97(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.98(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.99(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.100(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.101(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.102(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.103(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.104(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.105(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.106(ptr, ptr) #0
|
||||
declare ptr @dirname.73(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @rotr(ptr, i64, i64) #0
|
||||
@@ -1369,7 +1276,7 @@ declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.107(ptr, i1) #0
|
||||
declare void @assert.74(ptr, i1) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal i32 @read_int(ptr %0, ptr %1, ptr %2) #0 {
|
||||
@@ -1397,7 +1304,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.123, ptr @str.124)
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.90, ptr @str.91)
|
||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_getCount____I, align 8
|
||||
br label %jni.cont
|
||||
|
||||
@@ -1451,14 +1358,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.125, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.92, 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.126, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.93, 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)
|
||||
@@ -1474,6 +1381,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.127, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.94, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@g_should_call = internal global i1 false
|
||||
@__sx_default_context = internal constant { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc_bytes, ptr @__thunk_CAllocator_Allocator_dealloc_bytes }, ptr null }
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.108 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.109 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.110 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.111 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.112 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.113 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.114 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.115 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.116 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.117 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.118 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.119 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.120 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.121 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.122 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.123 = private unnamed_addr constant [18 x i8] c"currentTimeMillis\00", align 1
|
||||
@str.124 = private unnamed_addr constant [4 x i8] c"()J\00", align 1
|
||||
@str.75 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.76 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.77 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.78 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.79 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.80 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.81 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.82 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.83 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.84 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.85 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.86 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.87 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.88 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.89 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.90 = private unnamed_addr constant [18 x i8] c"currentTimeMillis\00", align 1
|
||||
@str.91 = 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.125 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.126 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.127 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.92 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.93 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.94 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -40,7 +40,7 @@ declare ptr @memset(ptr, i32, i64)
|
||||
declare void @out.1(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 {
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca i64, align 8
|
||||
store i64 %1, ptr %alloca, align 8
|
||||
@@ -91,7 +91,7 @@ if.merge.17: ; preds = %entry
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
%icmpN = icmp slt i64 %loadN, 0
|
||||
store i1 %icmpN, ptr %allocaN, align 1
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 20)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 20)
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
store i64 19, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
@@ -195,7 +195,7 @@ entry:
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%add = add i64 %loadN, %loadN
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %add)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -226,7 +226,7 @@ entry:
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 %3, ptr %allocaN, align 8
|
||||
%load = load i64, ptr %allocaN, align 8
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %load)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -241,6 +241,15 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @cstring_len(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @from_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -253,7 +262,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.108, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.75, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -349,7 +358,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.109, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.76, 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
|
||||
@@ -357,7 +366,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.110, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.77, 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
|
||||
@@ -367,13 +376,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.111, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.78, 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.112, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.79, 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
|
||||
@@ -381,7 +390,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.113, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.80, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -395,7 +404,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.114, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.81, 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
|
||||
@@ -403,7 +412,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.115, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.82, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -414,7 +423,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.116, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.83, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -471,7 +480,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.117, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.84, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -479,7 +488,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.118, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.85, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -490,7 +499,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.119, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.86, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -510,7 +519,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.120, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.87, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -518,7 +527,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.121, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.88, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -529,7 +538,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.122, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.89, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -676,7 +685,7 @@ declare i32 @mode_to_flags(ptr, i64) #0
|
||||
declare i64 @open_file(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @read_file(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||
@@ -750,9 +759,6 @@ declare i32 @feof(ptr) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system(ptr) #0
|
||||
|
||||
@@ -760,10 +766,10 @@ declare i32 @system(ptr) #0
|
||||
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @env(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @find_executable(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit(i32) #0
|
||||
@@ -789,167 +795,131 @@ declare i32 @listen(i32, i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @accept(i32, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.3(i32, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.4(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i16 @htons(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc.5(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
declare ptr @mem_realloc.3(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc_bytes.6(ptr, ptr, i64) #0
|
||||
declare ptr @CAllocator.alloc_bytes.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc_bytes.7(ptr, ptr, ptr) #0
|
||||
declare void @CAllocator.dealloc_bytes.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.8(ptr) #0
|
||||
declare i64 @GPA.init.6(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc_bytes.9(ptr, ptr, i64) #0
|
||||
declare ptr @GPA.alloc_bytes.7(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc_bytes.10(ptr, ptr, ptr) #0
|
||||
declare void @GPA.dealloc_bytes.8(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.11(ptr, ptr, i64) #0
|
||||
declare void @Arena.add_chunk.9(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.12(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
declare void @Arena.init.10(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.13(ptr, ptr) #0
|
||||
declare void @Arena.reset.11(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.14(ptr, ptr) #0
|
||||
declare void @Arena.deinit.12(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc_bytes.15(ptr, ptr, i64) #0
|
||||
declare ptr @Arena.alloc_bytes.13(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc_bytes.16(ptr, ptr, ptr) #0
|
||||
declare void @Arena.dealloc_bytes.14(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.init.17(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
declare void @BufAlloc.init.15(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.18(ptr, ptr) #0
|
||||
declare void @BufAlloc.reset.16(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc_bytes.19(ptr, ptr, i64) #0
|
||||
declare ptr @BufAlloc.alloc_bytes.17(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc_bytes.20(ptr, ptr, ptr) #0
|
||||
declare void @BufAlloc.dealloc_bytes.18(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.21(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
declare void @TrackingAllocator.init.19(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.22(ptr, ptr) #0
|
||||
declare i64 @TrackingAllocator.leak_count.20(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.23(ptr, ptr) #0
|
||||
declare void @TrackingAllocator.report.21(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc_bytes.24(ptr, ptr, i64) #0
|
||||
declare ptr @TrackingAllocator.alloc_bytes.22(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc_bytes.25(ptr, ptr, ptr) #0
|
||||
declare void @TrackingAllocator.dealloc_bytes.23(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.26(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.24(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.27(i32) #0
|
||||
declare i1 @File.close.25(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.28(i32, ptr, i64) #0
|
||||
declare i64 @File.read.26(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.29(i32, i64, i32) #0
|
||||
declare i64 @File.write.27(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.30(ptr) #0
|
||||
declare i64 @File.seek.28(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.31(ptr) #0
|
||||
declare i32 @mode_to_flags.29(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.32(ptr, i32) #0
|
||||
declare i64 @open_file.30(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.33(ptr, i32) #0
|
||||
declare ptr @read_file.31(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.34(ptr, i32) #0
|
||||
declare i1 @write_file.32(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.35(ptr, ptr) #0
|
||||
declare i1 @append_file.33(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.36(ptr, ptr) #0
|
||||
declare i1 @exists.34(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.37(ptr, ptr) #0
|
||||
declare i1 @delete_file.35(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.38(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.36(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.39(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.37(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.40(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.38(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.41(ptr, i64) #0
|
||||
declare i1 @move.39(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.42(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.40(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.43(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.41(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.44(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.42(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.45(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.46(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.47(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.48(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.50(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.51(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.52(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.53(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.55(ptr, ptr) #0
|
||||
declare ptr @dirname.43(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||
@@ -1150,64 +1120,31 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.56(ptr, i32) #0
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_len.57() #0
|
||||
declare ptr @to_string.45(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_truncated.58() #0
|
||||
declare void @print_current.46(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @sx_trace_frame_at.59(i32) #0
|
||||
declare void @print_interpreter_frames.47(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_string.60(ptr) #0
|
||||
declare void @run.48(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_current.61(ptr) #0
|
||||
declare ptr @env.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_interpreter_frames.62(ptr) #0
|
||||
declare ptr @find_executable.50(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @popen.63(ptr, ptr) #0
|
||||
declare void @exit.51(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pclose.64(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @fread.65(ptr, i64, i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @feof.66(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv.67(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen.68(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system.69(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @run.70(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env.71(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable.72(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit.73(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @exit.74(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.75(ptr, i1, ptr, ptr) #0
|
||||
declare void @assert.52(ptr, i1, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @_NSGetArgv() #0
|
||||
@@ -1237,97 +1174,67 @@ declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||
declare i1 @is_long_flag(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @parse.76(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
declare void @parse.53(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.77(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.78(i32) #0
|
||||
declare i1 @File.close.55(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.79(i32, ptr, i64) #0
|
||||
declare i64 @File.read.56(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.80(i32, i64, i32) #0
|
||||
declare i64 @File.write.57(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.81(ptr) #0
|
||||
declare i64 @File.seek.58(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.82(ptr) #0
|
||||
declare i32 @mode_to_flags.59(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.83(ptr, i32) #0
|
||||
declare i64 @open_file.60(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.84(ptr, i32) #0
|
||||
declare ptr @read_file.61(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.85(ptr, i32) #0
|
||||
declare i1 @write_file.62(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.86(ptr, ptr) #0
|
||||
declare i1 @append_file.63(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.87(ptr, ptr) #0
|
||||
declare i1 @exists.64(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.88(ptr, ptr) #0
|
||||
declare i1 @delete_file.65(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.89(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.66(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.90(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.67(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.91(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.68(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.92(ptr, i64) #0
|
||||
declare i1 @move.69(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.93(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.70(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.94(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.71(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.95(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.72(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.96(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.97(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.98(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.99(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.100(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.101(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.102(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.103(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.104(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.105(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.106(ptr, ptr) #0
|
||||
declare ptr @dirname.73(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @rotr(ptr, i64, i64) #0
|
||||
@@ -1369,7 +1276,7 @@ declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.107(ptr, i1) #0
|
||||
declare void @assert.74(ptr, i1) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal i64 @read_long(ptr %0, ptr %1, ptr %2) #0 {
|
||||
@@ -1397,7 +1304,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.123, ptr @str.124)
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.90, ptr @str.91)
|
||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_currentTimeMillis____J, align 8
|
||||
br label %jni.cont
|
||||
|
||||
@@ -1451,14 +1358,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.125, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.92, 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.126, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.93, 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)
|
||||
@@ -1474,6 +1381,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.127, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.94, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@g_should_call = internal global i1 false
|
||||
@__sx_default_context = internal constant { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc_bytes, ptr @__thunk_CAllocator_Allocator_dealloc_bytes }, ptr null }
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.108 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.109 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.110 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.111 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.112 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.113 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.114 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.115 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.116 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.117 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.118 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.119 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.120 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.121 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.122 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.123 = private unnamed_addr constant [9 x i8] c"getValue\00", align 1
|
||||
@str.124 = private unnamed_addr constant [4 x i8] c"()D\00", align 1
|
||||
@str.75 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.76 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.77 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.78 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.79 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.80 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.81 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.82 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.83 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.84 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.85 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.86 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.87 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.88 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.89 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.90 = private unnamed_addr constant [9 x i8] c"getValue\00", align 1
|
||||
@str.91 = 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.125 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.126 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.127 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.92 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.93 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.94 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -40,7 +40,7 @@ declare ptr @memset(ptr, i32, i64)
|
||||
declare void @out.1(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 {
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca i64, align 8
|
||||
store i64 %1, ptr %alloca, align 8
|
||||
@@ -91,7 +91,7 @@ if.merge.17: ; preds = %entry
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
%icmpN = icmp slt i64 %loadN, 0
|
||||
store i1 %icmpN, ptr %allocaN, align 1
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 20)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 20)
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
store i64 19, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
@@ -195,7 +195,7 @@ entry:
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%add = add i64 %loadN, %loadN
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %add)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -226,7 +226,7 @@ entry:
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 %3, ptr %allocaN, align 8
|
||||
%load = load i64, ptr %allocaN, align 8
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %load)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -241,6 +241,15 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @cstring_len(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @from_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -253,7 +262,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.108, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.75, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -349,7 +358,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.109, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.76, 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
|
||||
@@ -357,7 +366,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.110, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.77, 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
|
||||
@@ -367,13 +376,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.111, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.78, 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.112, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.79, 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
|
||||
@@ -381,7 +390,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.113, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.80, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -395,7 +404,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.114, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.81, 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
|
||||
@@ -403,7 +412,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.115, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.82, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -414,7 +423,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.116, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.83, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -471,7 +480,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.117, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.84, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -479,7 +488,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.118, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.85, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -490,7 +499,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.119, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.86, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -510,7 +519,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.120, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.87, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -518,7 +527,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.121, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.88, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -529,7 +538,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.122, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.89, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -676,7 +685,7 @@ declare i32 @mode_to_flags(ptr, i64) #0
|
||||
declare i64 @open_file(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @read_file(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||
@@ -750,9 +759,6 @@ declare i32 @feof(ptr) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system(ptr) #0
|
||||
|
||||
@@ -760,10 +766,10 @@ declare i32 @system(ptr) #0
|
||||
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @env(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @find_executable(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit(i32) #0
|
||||
@@ -789,167 +795,131 @@ declare i32 @listen(i32, i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @accept(i32, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.3(i32, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.4(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i16 @htons(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc.5(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
declare ptr @mem_realloc.3(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc_bytes.6(ptr, ptr, i64) #0
|
||||
declare ptr @CAllocator.alloc_bytes.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc_bytes.7(ptr, ptr, ptr) #0
|
||||
declare void @CAllocator.dealloc_bytes.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.8(ptr) #0
|
||||
declare i64 @GPA.init.6(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc_bytes.9(ptr, ptr, i64) #0
|
||||
declare ptr @GPA.alloc_bytes.7(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc_bytes.10(ptr, ptr, ptr) #0
|
||||
declare void @GPA.dealloc_bytes.8(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.11(ptr, ptr, i64) #0
|
||||
declare void @Arena.add_chunk.9(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.12(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
declare void @Arena.init.10(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.13(ptr, ptr) #0
|
||||
declare void @Arena.reset.11(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.14(ptr, ptr) #0
|
||||
declare void @Arena.deinit.12(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc_bytes.15(ptr, ptr, i64) #0
|
||||
declare ptr @Arena.alloc_bytes.13(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc_bytes.16(ptr, ptr, ptr) #0
|
||||
declare void @Arena.dealloc_bytes.14(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.init.17(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
declare void @BufAlloc.init.15(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.18(ptr, ptr) #0
|
||||
declare void @BufAlloc.reset.16(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc_bytes.19(ptr, ptr, i64) #0
|
||||
declare ptr @BufAlloc.alloc_bytes.17(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc_bytes.20(ptr, ptr, ptr) #0
|
||||
declare void @BufAlloc.dealloc_bytes.18(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.21(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
declare void @TrackingAllocator.init.19(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.22(ptr, ptr) #0
|
||||
declare i64 @TrackingAllocator.leak_count.20(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.23(ptr, ptr) #0
|
||||
declare void @TrackingAllocator.report.21(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc_bytes.24(ptr, ptr, i64) #0
|
||||
declare ptr @TrackingAllocator.alloc_bytes.22(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc_bytes.25(ptr, ptr, ptr) #0
|
||||
declare void @TrackingAllocator.dealloc_bytes.23(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.26(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.24(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.27(i32) #0
|
||||
declare i1 @File.close.25(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.28(i32, ptr, i64) #0
|
||||
declare i64 @File.read.26(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.29(i32, i64, i32) #0
|
||||
declare i64 @File.write.27(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.30(ptr) #0
|
||||
declare i64 @File.seek.28(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.31(ptr) #0
|
||||
declare i32 @mode_to_flags.29(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.32(ptr, i32) #0
|
||||
declare i64 @open_file.30(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.33(ptr, i32) #0
|
||||
declare ptr @read_file.31(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.34(ptr, i32) #0
|
||||
declare i1 @write_file.32(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.35(ptr, ptr) #0
|
||||
declare i1 @append_file.33(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.36(ptr, ptr) #0
|
||||
declare i1 @exists.34(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.37(ptr, ptr) #0
|
||||
declare i1 @delete_file.35(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.38(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.36(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.39(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.37(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.40(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.38(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.41(ptr, i64) #0
|
||||
declare i1 @move.39(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.42(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.40(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.43(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.41(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.44(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.42(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.45(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.46(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.47(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.48(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.50(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.51(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.52(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.53(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.55(ptr, ptr) #0
|
||||
declare ptr @dirname.43(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||
@@ -1150,64 +1120,31 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.56(ptr, i32) #0
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_len.57() #0
|
||||
declare ptr @to_string.45(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_truncated.58() #0
|
||||
declare void @print_current.46(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @sx_trace_frame_at.59(i32) #0
|
||||
declare void @print_interpreter_frames.47(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_string.60(ptr) #0
|
||||
declare void @run.48(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_current.61(ptr) #0
|
||||
declare ptr @env.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_interpreter_frames.62(ptr) #0
|
||||
declare ptr @find_executable.50(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @popen.63(ptr, ptr) #0
|
||||
declare void @exit.51(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pclose.64(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @fread.65(ptr, i64, i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @feof.66(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv.67(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen.68(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system.69(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @run.70(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env.71(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable.72(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit.73(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @exit.74(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.75(ptr, i1, ptr, ptr) #0
|
||||
declare void @assert.52(ptr, i1, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @_NSGetArgv() #0
|
||||
@@ -1237,97 +1174,67 @@ declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||
declare i1 @is_long_flag(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @parse.76(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
declare void @parse.53(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.77(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.78(i32) #0
|
||||
declare i1 @File.close.55(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.79(i32, ptr, i64) #0
|
||||
declare i64 @File.read.56(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.80(i32, i64, i32) #0
|
||||
declare i64 @File.write.57(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.81(ptr) #0
|
||||
declare i64 @File.seek.58(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.82(ptr) #0
|
||||
declare i32 @mode_to_flags.59(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.83(ptr, i32) #0
|
||||
declare i64 @open_file.60(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.84(ptr, i32) #0
|
||||
declare ptr @read_file.61(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.85(ptr, i32) #0
|
||||
declare i1 @write_file.62(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.86(ptr, ptr) #0
|
||||
declare i1 @append_file.63(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.87(ptr, ptr) #0
|
||||
declare i1 @exists.64(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.88(ptr, ptr) #0
|
||||
declare i1 @delete_file.65(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.89(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.66(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.90(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.67(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.91(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.68(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.92(ptr, i64) #0
|
||||
declare i1 @move.69(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.93(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.70(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.94(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.71(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.95(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.72(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.96(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.97(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.98(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.99(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.100(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.101(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.102(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.103(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.104(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.105(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.106(ptr, ptr) #0
|
||||
declare ptr @dirname.73(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @rotr(ptr, i64, i64) #0
|
||||
@@ -1369,7 +1276,7 @@ declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.107(ptr, i1) #0
|
||||
declare void @assert.74(ptr, i1) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal double @read_double(ptr %0, ptr %1, ptr %2) #0 {
|
||||
@@ -1397,7 +1304,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.123, ptr @str.124)
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.90, ptr @str.91)
|
||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_getValue____D, align 8
|
||||
br label %jni.cont
|
||||
|
||||
@@ -1451,14 +1358,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.125, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.92, 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.126, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.93, 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)
|
||||
@@ -1474,6 +1381,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.127, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.94, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@g_should_call = internal global i1 false
|
||||
@__sx_default_context = internal constant { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc_bytes, ptr @__thunk_CAllocator_Allocator_dealloc_bytes }, ptr null }
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.108 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.109 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.110 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.111 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.112 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.113 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.114 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.115 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.116 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.117 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.118 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.119 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.120 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.121 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.122 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.123 = private unnamed_addr constant [8 x i8] c"isShown\00", align 1
|
||||
@str.124 = private unnamed_addr constant [4 x i8] c"()Z\00", align 1
|
||||
@str.75 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.76 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.77 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.78 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.79 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.80 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.81 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.82 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.83 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.84 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.85 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.86 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.87 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.88 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.89 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.90 = private unnamed_addr constant [8 x i8] c"isShown\00", align 1
|
||||
@str.91 = 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.125 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.126 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.127 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.92 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.93 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.94 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -40,7 +40,7 @@ declare ptr @memset(ptr, i32, i64)
|
||||
declare void @out.1(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 {
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca i64, align 8
|
||||
store i64 %1, ptr %alloca, align 8
|
||||
@@ -91,7 +91,7 @@ if.merge.17: ; preds = %entry
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
%icmpN = icmp slt i64 %loadN, 0
|
||||
store i1 %icmpN, ptr %allocaN, align 1
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 20)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 20)
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
store i64 19, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
@@ -195,7 +195,7 @@ entry:
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%add = add i64 %loadN, %loadN
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %add)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -226,7 +226,7 @@ entry:
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 %3, ptr %allocaN, align 8
|
||||
%load = load i64, ptr %allocaN, align 8
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %load)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -241,6 +241,15 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @cstring_len(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @from_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -253,7 +262,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.108, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.75, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -349,7 +358,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.109, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.76, 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
|
||||
@@ -357,7 +366,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.110, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.77, 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
|
||||
@@ -367,13 +376,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.111, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.78, 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.112, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.79, 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
|
||||
@@ -381,7 +390,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.113, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.80, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -395,7 +404,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.114, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.81, 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
|
||||
@@ -403,7 +412,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.115, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.82, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -414,7 +423,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.116, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.83, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -471,7 +480,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.117, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.84, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -479,7 +488,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.118, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.85, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -490,7 +499,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.119, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.86, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -510,7 +519,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.120, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.87, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -518,7 +527,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.121, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.88, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -529,7 +538,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.122, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.89, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -676,7 +685,7 @@ declare i32 @mode_to_flags(ptr, i64) #0
|
||||
declare i64 @open_file(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @read_file(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||
@@ -750,9 +759,6 @@ declare i32 @feof(ptr) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system(ptr) #0
|
||||
|
||||
@@ -760,10 +766,10 @@ declare i32 @system(ptr) #0
|
||||
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @env(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @find_executable(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit(i32) #0
|
||||
@@ -789,167 +795,131 @@ declare i32 @listen(i32, i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @accept(i32, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.3(i32, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.4(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i16 @htons(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc.5(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
declare ptr @mem_realloc.3(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc_bytes.6(ptr, ptr, i64) #0
|
||||
declare ptr @CAllocator.alloc_bytes.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc_bytes.7(ptr, ptr, ptr) #0
|
||||
declare void @CAllocator.dealloc_bytes.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.8(ptr) #0
|
||||
declare i64 @GPA.init.6(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc_bytes.9(ptr, ptr, i64) #0
|
||||
declare ptr @GPA.alloc_bytes.7(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc_bytes.10(ptr, ptr, ptr) #0
|
||||
declare void @GPA.dealloc_bytes.8(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.11(ptr, ptr, i64) #0
|
||||
declare void @Arena.add_chunk.9(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.12(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
declare void @Arena.init.10(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.13(ptr, ptr) #0
|
||||
declare void @Arena.reset.11(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.14(ptr, ptr) #0
|
||||
declare void @Arena.deinit.12(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc_bytes.15(ptr, ptr, i64) #0
|
||||
declare ptr @Arena.alloc_bytes.13(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc_bytes.16(ptr, ptr, ptr) #0
|
||||
declare void @Arena.dealloc_bytes.14(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.init.17(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
declare void @BufAlloc.init.15(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.18(ptr, ptr) #0
|
||||
declare void @BufAlloc.reset.16(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc_bytes.19(ptr, ptr, i64) #0
|
||||
declare ptr @BufAlloc.alloc_bytes.17(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc_bytes.20(ptr, ptr, ptr) #0
|
||||
declare void @BufAlloc.dealloc_bytes.18(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.21(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
declare void @TrackingAllocator.init.19(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.22(ptr, ptr) #0
|
||||
declare i64 @TrackingAllocator.leak_count.20(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.23(ptr, ptr) #0
|
||||
declare void @TrackingAllocator.report.21(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc_bytes.24(ptr, ptr, i64) #0
|
||||
declare ptr @TrackingAllocator.alloc_bytes.22(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc_bytes.25(ptr, ptr, ptr) #0
|
||||
declare void @TrackingAllocator.dealloc_bytes.23(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.26(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.24(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.27(i32) #0
|
||||
declare i1 @File.close.25(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.28(i32, ptr, i64) #0
|
||||
declare i64 @File.read.26(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.29(i32, i64, i32) #0
|
||||
declare i64 @File.write.27(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.30(ptr) #0
|
||||
declare i64 @File.seek.28(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.31(ptr) #0
|
||||
declare i32 @mode_to_flags.29(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.32(ptr, i32) #0
|
||||
declare i64 @open_file.30(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.33(ptr, i32) #0
|
||||
declare ptr @read_file.31(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.34(ptr, i32) #0
|
||||
declare i1 @write_file.32(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.35(ptr, ptr) #0
|
||||
declare i1 @append_file.33(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.36(ptr, ptr) #0
|
||||
declare i1 @exists.34(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.37(ptr, ptr) #0
|
||||
declare i1 @delete_file.35(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.38(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.36(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.39(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.37(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.40(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.38(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.41(ptr, i64) #0
|
||||
declare i1 @move.39(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.42(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.40(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.43(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.41(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.44(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.42(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.45(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.46(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.47(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.48(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.50(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.51(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.52(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.53(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.55(ptr, ptr) #0
|
||||
declare ptr @dirname.43(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||
@@ -1150,64 +1120,31 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.56(ptr, i32) #0
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_len.57() #0
|
||||
declare ptr @to_string.45(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_truncated.58() #0
|
||||
declare void @print_current.46(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @sx_trace_frame_at.59(i32) #0
|
||||
declare void @print_interpreter_frames.47(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_string.60(ptr) #0
|
||||
declare void @run.48(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_current.61(ptr) #0
|
||||
declare ptr @env.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_interpreter_frames.62(ptr) #0
|
||||
declare ptr @find_executable.50(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @popen.63(ptr, ptr) #0
|
||||
declare void @exit.51(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pclose.64(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @fread.65(ptr, i64, i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @feof.66(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv.67(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen.68(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system.69(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @run.70(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env.71(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable.72(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit.73(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @exit.74(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.75(ptr, i1, ptr, ptr) #0
|
||||
declare void @assert.52(ptr, i1, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @_NSGetArgv() #0
|
||||
@@ -1237,97 +1174,67 @@ declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||
declare i1 @is_long_flag(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @parse.76(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
declare void @parse.53(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.77(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.78(i32) #0
|
||||
declare i1 @File.close.55(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.79(i32, ptr, i64) #0
|
||||
declare i64 @File.read.56(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.80(i32, i64, i32) #0
|
||||
declare i64 @File.write.57(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.81(ptr) #0
|
||||
declare i64 @File.seek.58(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.82(ptr) #0
|
||||
declare i32 @mode_to_flags.59(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.83(ptr, i32) #0
|
||||
declare i64 @open_file.60(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.84(ptr, i32) #0
|
||||
declare ptr @read_file.61(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.85(ptr, i32) #0
|
||||
declare i1 @write_file.62(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.86(ptr, ptr) #0
|
||||
declare i1 @append_file.63(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.87(ptr, ptr) #0
|
||||
declare i1 @exists.64(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.88(ptr, ptr) #0
|
||||
declare i1 @delete_file.65(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.89(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.66(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.90(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.67(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.91(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.68(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.92(ptr, i64) #0
|
||||
declare i1 @move.69(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.93(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.70(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.94(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.71(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.95(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.72(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.96(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.97(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.98(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.99(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.100(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.101(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.102(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.103(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.104(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.105(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.106(ptr, ptr) #0
|
||||
declare ptr @dirname.73(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @rotr(ptr, i64, i64) #0
|
||||
@@ -1369,7 +1276,7 @@ declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.107(ptr, i1) #0
|
||||
declare void @assert.74(ptr, i1) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal i1 @read_bool(ptr %0, ptr %1, ptr %2) #0 {
|
||||
@@ -1397,7 +1304,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.123, ptr @str.124)
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.90, ptr @str.91)
|
||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_isShown____Z, align 8
|
||||
br label %jni.cont
|
||||
|
||||
@@ -1451,14 +1358,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.125, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.92, 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.126, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.93, 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)
|
||||
@@ -1474,6 +1381,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.127, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.94, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@g_should_call = internal global i1 false
|
||||
@__sx_default_context = internal constant { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc_bytes, ptr @__thunk_CAllocator_Allocator_dealloc_bytes }, ptr null }
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.108 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.109 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.110 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.111 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.112 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.113 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.114 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.115 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.116 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.117 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.118 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.119 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.120 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.121 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.122 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.123 = private unnamed_addr constant [10 x i8] c"getWindow\00", align 1
|
||||
@str.124 = private unnamed_addr constant [24 x i8] c"()Landroid/view/Window;\00", align 1
|
||||
@str.75 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.76 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.77 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.78 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.79 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.80 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.81 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.82 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.83 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.84 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.85 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.86 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.87 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.88 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.89 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.90 = private unnamed_addr constant [10 x i8] c"getWindow\00", align 1
|
||||
@str.91 = 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.125 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.126 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.127 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.92 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.93 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.94 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -40,7 +40,7 @@ declare ptr @memset(ptr, i32, i64)
|
||||
declare void @out.1(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 {
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca i64, align 8
|
||||
store i64 %1, ptr %alloca, align 8
|
||||
@@ -91,7 +91,7 @@ if.merge.17: ; preds = %entry
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
%icmpN = icmp slt i64 %loadN, 0
|
||||
store i1 %icmpN, ptr %allocaN, align 1
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 20)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 20)
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
store i64 19, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
@@ -195,7 +195,7 @@ entry:
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%add = add i64 %loadN, %loadN
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %add)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -226,7 +226,7 @@ entry:
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 %3, ptr %allocaN, align 8
|
||||
%load = load i64, ptr %allocaN, align 8
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %load)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -241,6 +241,15 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @cstring_len(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @from_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -253,7 +262,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.108, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.75, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -349,7 +358,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.109, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.76, 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
|
||||
@@ -357,7 +366,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.110, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.77, 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
|
||||
@@ -367,13 +376,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.111, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.78, 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.112, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.79, 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
|
||||
@@ -381,7 +390,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.113, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.80, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -395,7 +404,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.114, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.81, 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
|
||||
@@ -403,7 +412,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.115, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.82, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -414,7 +423,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.116, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.83, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -471,7 +480,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.117, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.84, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -479,7 +488,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.118, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.85, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -490,7 +499,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.119, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.86, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -510,7 +519,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.120, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.87, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -518,7 +527,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.121, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.88, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -529,7 +538,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.122, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.89, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -676,7 +685,7 @@ declare i32 @mode_to_flags(ptr, i64) #0
|
||||
declare i64 @open_file(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @read_file(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||
@@ -750,9 +759,6 @@ declare i32 @feof(ptr) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system(ptr) #0
|
||||
|
||||
@@ -760,10 +766,10 @@ declare i32 @system(ptr) #0
|
||||
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @env(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @find_executable(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit(i32) #0
|
||||
@@ -789,167 +795,131 @@ declare i32 @listen(i32, i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @accept(i32, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.3(i32, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.4(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i16 @htons(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc.5(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
declare ptr @mem_realloc.3(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc_bytes.6(ptr, ptr, i64) #0
|
||||
declare ptr @CAllocator.alloc_bytes.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc_bytes.7(ptr, ptr, ptr) #0
|
||||
declare void @CAllocator.dealloc_bytes.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.8(ptr) #0
|
||||
declare i64 @GPA.init.6(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc_bytes.9(ptr, ptr, i64) #0
|
||||
declare ptr @GPA.alloc_bytes.7(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc_bytes.10(ptr, ptr, ptr) #0
|
||||
declare void @GPA.dealloc_bytes.8(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.11(ptr, ptr, i64) #0
|
||||
declare void @Arena.add_chunk.9(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.12(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
declare void @Arena.init.10(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.13(ptr, ptr) #0
|
||||
declare void @Arena.reset.11(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.14(ptr, ptr) #0
|
||||
declare void @Arena.deinit.12(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc_bytes.15(ptr, ptr, i64) #0
|
||||
declare ptr @Arena.alloc_bytes.13(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc_bytes.16(ptr, ptr, ptr) #0
|
||||
declare void @Arena.dealloc_bytes.14(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.init.17(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
declare void @BufAlloc.init.15(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.18(ptr, ptr) #0
|
||||
declare void @BufAlloc.reset.16(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc_bytes.19(ptr, ptr, i64) #0
|
||||
declare ptr @BufAlloc.alloc_bytes.17(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc_bytes.20(ptr, ptr, ptr) #0
|
||||
declare void @BufAlloc.dealloc_bytes.18(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.21(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
declare void @TrackingAllocator.init.19(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.22(ptr, ptr) #0
|
||||
declare i64 @TrackingAllocator.leak_count.20(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.23(ptr, ptr) #0
|
||||
declare void @TrackingAllocator.report.21(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc_bytes.24(ptr, ptr, i64) #0
|
||||
declare ptr @TrackingAllocator.alloc_bytes.22(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc_bytes.25(ptr, ptr, ptr) #0
|
||||
declare void @TrackingAllocator.dealloc_bytes.23(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.26(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.24(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.27(i32) #0
|
||||
declare i1 @File.close.25(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.28(i32, ptr, i64) #0
|
||||
declare i64 @File.read.26(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.29(i32, i64, i32) #0
|
||||
declare i64 @File.write.27(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.30(ptr) #0
|
||||
declare i64 @File.seek.28(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.31(ptr) #0
|
||||
declare i32 @mode_to_flags.29(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.32(ptr, i32) #0
|
||||
declare i64 @open_file.30(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.33(ptr, i32) #0
|
||||
declare ptr @read_file.31(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.34(ptr, i32) #0
|
||||
declare i1 @write_file.32(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.35(ptr, ptr) #0
|
||||
declare i1 @append_file.33(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.36(ptr, ptr) #0
|
||||
declare i1 @exists.34(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.37(ptr, ptr) #0
|
||||
declare i1 @delete_file.35(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.38(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.36(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.39(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.37(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.40(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.38(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.41(ptr, i64) #0
|
||||
declare i1 @move.39(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.42(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.40(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.43(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.41(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.44(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.42(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.45(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.46(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.47(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.48(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.50(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.51(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.52(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.53(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.55(ptr, ptr) #0
|
||||
declare ptr @dirname.43(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||
@@ -1150,64 +1120,31 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.56(ptr, i32) #0
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_len.57() #0
|
||||
declare ptr @to_string.45(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_truncated.58() #0
|
||||
declare void @print_current.46(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @sx_trace_frame_at.59(i32) #0
|
||||
declare void @print_interpreter_frames.47(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_string.60(ptr) #0
|
||||
declare void @run.48(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_current.61(ptr) #0
|
||||
declare ptr @env.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_interpreter_frames.62(ptr) #0
|
||||
declare ptr @find_executable.50(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @popen.63(ptr, ptr) #0
|
||||
declare void @exit.51(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pclose.64(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @fread.65(ptr, i64, i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @feof.66(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv.67(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen.68(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system.69(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @run.70(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env.71(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable.72(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit.73(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @exit.74(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.75(ptr, i1, ptr, ptr) #0
|
||||
declare void @assert.52(ptr, i1, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @_NSGetArgv() #0
|
||||
@@ -1237,97 +1174,67 @@ declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||
declare i1 @is_long_flag(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @parse.76(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
declare void @parse.53(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.77(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.78(i32) #0
|
||||
declare i1 @File.close.55(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.79(i32, ptr, i64) #0
|
||||
declare i64 @File.read.56(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.80(i32, i64, i32) #0
|
||||
declare i64 @File.write.57(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.81(ptr) #0
|
||||
declare i64 @File.seek.58(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.82(ptr) #0
|
||||
declare i32 @mode_to_flags.59(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.83(ptr, i32) #0
|
||||
declare i64 @open_file.60(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.84(ptr, i32) #0
|
||||
declare ptr @read_file.61(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.85(ptr, i32) #0
|
||||
declare i1 @write_file.62(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.86(ptr, ptr) #0
|
||||
declare i1 @append_file.63(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.87(ptr, ptr) #0
|
||||
declare i1 @exists.64(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.88(ptr, ptr) #0
|
||||
declare i1 @delete_file.65(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.89(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.66(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.90(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.67(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.91(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.68(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.92(ptr, i64) #0
|
||||
declare i1 @move.69(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.93(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.70(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.94(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.71(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.95(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.72(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.96(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.97(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.98(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.99(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.100(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.101(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.102(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.103(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.104(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.105(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.106(ptr, ptr) #0
|
||||
declare ptr @dirname.73(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @rotr(ptr, i64, i64) #0
|
||||
@@ -1369,7 +1276,7 @@ declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.107(ptr, i1) #0
|
||||
declare void @assert.74(ptr, i1) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal ptr @get_window(ptr %0, ptr %1, ptr %2) #0 {
|
||||
@@ -1397,7 +1304,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.123, ptr @str.124)
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.90, ptr @str.91)
|
||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_getWindow____Landroid_view_Window_, align 8
|
||||
br label %jni.cont
|
||||
|
||||
@@ -1451,14 +1358,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.125, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.92, 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.126, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.93, 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)
|
||||
@@ -1474,6 +1381,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.127, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.94, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@g_should_call = internal global i1 false
|
||||
@__sx_default_context = internal constant { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc_bytes, ptr @__thunk_CAllocator_Allocator_dealloc_bytes }, ptr null }
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.108 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.109 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.110 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.111 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.112 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.113 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.114 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.115 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.116 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.117 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.118 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.119 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.120 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.121 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.122 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.123 = private unnamed_addr constant [4 x i8] c"max\00", align 1
|
||||
@str.124 = private unnamed_addr constant [6 x i8] c"(II)I\00", align 1
|
||||
@str.75 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.76 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.77 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.78 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.79 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.80 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.81 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.82 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.83 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.84 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.85 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.86 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.87 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.88 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.89 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.90 = private unnamed_addr constant [4 x i8] c"max\00", align 1
|
||||
@str.91 = 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.125 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.126 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.127 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.92 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.93 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.94 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -40,7 +40,7 @@ declare ptr @memset(ptr, i32, i64)
|
||||
declare void @out.1(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 {
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca i64, align 8
|
||||
store i64 %1, ptr %alloca, align 8
|
||||
@@ -91,7 +91,7 @@ if.merge.17: ; preds = %entry
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
%icmpN = icmp slt i64 %loadN, 0
|
||||
store i1 %icmpN, ptr %allocaN, align 1
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 20)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 20)
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
store i64 19, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
@@ -195,7 +195,7 @@ entry:
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%add = add i64 %loadN, %loadN
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %add)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -226,7 +226,7 @@ entry:
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 %3, ptr %allocaN, align 8
|
||||
%load = load i64, ptr %allocaN, align 8
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %load)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -241,6 +241,15 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @cstring_len(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @from_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -253,7 +262,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.108, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.75, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -349,7 +358,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.109, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.76, 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
|
||||
@@ -357,7 +366,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.110, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.77, 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
|
||||
@@ -367,13 +376,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.111, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.78, 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.112, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.79, 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
|
||||
@@ -381,7 +390,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.113, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.80, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -395,7 +404,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.114, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.81, 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
|
||||
@@ -403,7 +412,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.115, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.82, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -414,7 +423,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.116, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.83, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -471,7 +480,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.117, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.84, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -479,7 +488,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.118, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.85, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -490,7 +499,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.119, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.86, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -510,7 +519,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.120, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.87, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -518,7 +527,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.121, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.88, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -529,7 +538,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.122, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.89, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -676,7 +685,7 @@ declare i32 @mode_to_flags(ptr, i64) #0
|
||||
declare i64 @open_file(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @read_file(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||
@@ -750,9 +759,6 @@ declare i32 @feof(ptr) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system(ptr) #0
|
||||
|
||||
@@ -760,10 +766,10 @@ declare i32 @system(ptr) #0
|
||||
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @env(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @find_executable(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit(i32) #0
|
||||
@@ -789,167 +795,131 @@ declare i32 @listen(i32, i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @accept(i32, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.3(i32, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.4(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i16 @htons(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc.5(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
declare ptr @mem_realloc.3(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc_bytes.6(ptr, ptr, i64) #0
|
||||
declare ptr @CAllocator.alloc_bytes.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc_bytes.7(ptr, ptr, ptr) #0
|
||||
declare void @CAllocator.dealloc_bytes.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.8(ptr) #0
|
||||
declare i64 @GPA.init.6(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc_bytes.9(ptr, ptr, i64) #0
|
||||
declare ptr @GPA.alloc_bytes.7(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc_bytes.10(ptr, ptr, ptr) #0
|
||||
declare void @GPA.dealloc_bytes.8(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.11(ptr, ptr, i64) #0
|
||||
declare void @Arena.add_chunk.9(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.12(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
declare void @Arena.init.10(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.13(ptr, ptr) #0
|
||||
declare void @Arena.reset.11(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.14(ptr, ptr) #0
|
||||
declare void @Arena.deinit.12(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc_bytes.15(ptr, ptr, i64) #0
|
||||
declare ptr @Arena.alloc_bytes.13(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc_bytes.16(ptr, ptr, ptr) #0
|
||||
declare void @Arena.dealloc_bytes.14(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.init.17(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
declare void @BufAlloc.init.15(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.18(ptr, ptr) #0
|
||||
declare void @BufAlloc.reset.16(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc_bytes.19(ptr, ptr, i64) #0
|
||||
declare ptr @BufAlloc.alloc_bytes.17(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc_bytes.20(ptr, ptr, ptr) #0
|
||||
declare void @BufAlloc.dealloc_bytes.18(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.21(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
declare void @TrackingAllocator.init.19(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.22(ptr, ptr) #0
|
||||
declare i64 @TrackingAllocator.leak_count.20(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.23(ptr, ptr) #0
|
||||
declare void @TrackingAllocator.report.21(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc_bytes.24(ptr, ptr, i64) #0
|
||||
declare ptr @TrackingAllocator.alloc_bytes.22(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc_bytes.25(ptr, ptr, ptr) #0
|
||||
declare void @TrackingAllocator.dealloc_bytes.23(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.26(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.24(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.27(i32) #0
|
||||
declare i1 @File.close.25(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.28(i32, ptr, i64) #0
|
||||
declare i64 @File.read.26(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.29(i32, i64, i32) #0
|
||||
declare i64 @File.write.27(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.30(ptr) #0
|
||||
declare i64 @File.seek.28(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.31(ptr) #0
|
||||
declare i32 @mode_to_flags.29(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.32(ptr, i32) #0
|
||||
declare i64 @open_file.30(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.33(ptr, i32) #0
|
||||
declare ptr @read_file.31(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.34(ptr, i32) #0
|
||||
declare i1 @write_file.32(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.35(ptr, ptr) #0
|
||||
declare i1 @append_file.33(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.36(ptr, ptr) #0
|
||||
declare i1 @exists.34(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.37(ptr, ptr) #0
|
||||
declare i1 @delete_file.35(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.38(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.36(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.39(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.37(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.40(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.38(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.41(ptr, i64) #0
|
||||
declare i1 @move.39(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.42(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.40(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.43(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.41(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.44(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.42(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.45(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.46(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.47(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.48(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.50(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.51(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.52(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.53(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.55(ptr, ptr) #0
|
||||
declare ptr @dirname.43(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||
@@ -1150,64 +1120,31 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.56(ptr, i32) #0
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_len.57() #0
|
||||
declare ptr @to_string.45(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_truncated.58() #0
|
||||
declare void @print_current.46(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @sx_trace_frame_at.59(i32) #0
|
||||
declare void @print_interpreter_frames.47(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_string.60(ptr) #0
|
||||
declare void @run.48(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_current.61(ptr) #0
|
||||
declare ptr @env.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_interpreter_frames.62(ptr) #0
|
||||
declare ptr @find_executable.50(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @popen.63(ptr, ptr) #0
|
||||
declare void @exit.51(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pclose.64(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @fread.65(ptr, i64, i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @feof.66(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv.67(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen.68(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system.69(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @run.70(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env.71(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable.72(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit.73(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @exit.74(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.75(ptr, i1, ptr, ptr) #0
|
||||
declare void @assert.52(ptr, i1, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @_NSGetArgv() #0
|
||||
@@ -1237,97 +1174,67 @@ declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||
declare i1 @is_long_flag(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @parse.76(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
declare void @parse.53(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.77(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.78(i32) #0
|
||||
declare i1 @File.close.55(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.79(i32, ptr, i64) #0
|
||||
declare i64 @File.read.56(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.80(i32, i64, i32) #0
|
||||
declare i64 @File.write.57(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.81(ptr) #0
|
||||
declare i64 @File.seek.58(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.82(ptr) #0
|
||||
declare i32 @mode_to_flags.59(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.83(ptr, i32) #0
|
||||
declare i64 @open_file.60(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.84(ptr, i32) #0
|
||||
declare ptr @read_file.61(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.85(ptr, i32) #0
|
||||
declare i1 @write_file.62(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.86(ptr, ptr) #0
|
||||
declare i1 @append_file.63(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.87(ptr, ptr) #0
|
||||
declare i1 @exists.64(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.88(ptr, ptr) #0
|
||||
declare i1 @delete_file.65(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.89(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.66(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.90(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.67(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.91(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.68(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.92(ptr, i64) #0
|
||||
declare i1 @move.69(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.93(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.70(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.94(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.71(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.95(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.72(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.96(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.97(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.98(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.99(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.100(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.101(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.102(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.103(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.104(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.105(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.106(ptr, ptr) #0
|
||||
declare ptr @dirname.73(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @rotr(ptr, i64, i64) #0
|
||||
@@ -1369,7 +1276,7 @@ declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.107(ptr, i1) #0
|
||||
declare void @assert.74(ptr, i1) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal i32 @call_static_max(ptr %0, ptr %1, ptr %2) #0 {
|
||||
@@ -1394,7 +1301,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.123, ptr @str.124)
|
||||
%jni.fresh.mid = call ptr %jni.GetStaticMethodID(ptr %load, ptr %jni.global.cls, ptr @str.90, ptr @str.91)
|
||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_max___II_I, align 8
|
||||
br label %jni.cont
|
||||
|
||||
@@ -1448,14 +1355,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.125, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.92, 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.126, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.93, 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)
|
||||
@@ -1471,6 +1378,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.127, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.94, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@g_should_call = internal global i1 false
|
||||
@__sx_default_context = internal constant { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc_bytes, ptr @__thunk_CAllocator_Allocator_dealloc_bytes }, ptr null }
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.108 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.109 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.110 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.111 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.112 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.113 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.114 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.115 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.116 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.117 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.118 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.119 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.120 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.121 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.122 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.123 = private unnamed_addr constant [10 x i8] c"getWindow\00", align 1
|
||||
@str.124 = private unnamed_addr constant [21 x i8] c"()Ljava/lang/Object;\00", align 1
|
||||
@str.75 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.76 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.77 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.78 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.79 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.80 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.81 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.82 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.83 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.84 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.85 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.86 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.87 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.88 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.89 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.90 = private unnamed_addr constant [10 x i8] c"getWindow\00", align 1
|
||||
@str.91 = 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.125 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.126 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.127 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.92 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.93 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.94 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -40,7 +40,7 @@ declare ptr @memset(ptr, i32, i64)
|
||||
declare void @out.1(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 {
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca i64, align 8
|
||||
store i64 %1, ptr %alloca, align 8
|
||||
@@ -91,7 +91,7 @@ if.merge.17: ; preds = %entry
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
%icmpN = icmp slt i64 %loadN, 0
|
||||
store i1 %icmpN, ptr %allocaN, align 1
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 20)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 20)
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
store i64 19, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
@@ -195,7 +195,7 @@ entry:
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%add = add i64 %loadN, %loadN
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %add)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -226,7 +226,7 @@ entry:
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 %3, ptr %allocaN, align 8
|
||||
%load = load i64, ptr %allocaN, align 8
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %load)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -241,6 +241,15 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @cstring_len(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @from_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -253,7 +262,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.108, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.75, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -349,7 +358,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.109, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.76, 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
|
||||
@@ -357,7 +366,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.110, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.77, 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
|
||||
@@ -367,13 +376,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.111, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.78, 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.112, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.79, 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
|
||||
@@ -381,7 +390,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.113, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.80, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -395,7 +404,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.114, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.81, 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
|
||||
@@ -403,7 +412,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.115, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.82, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -414,7 +423,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.116, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.83, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -471,7 +480,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.117, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.84, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -479,7 +488,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.118, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.85, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -490,7 +499,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.119, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.86, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -510,7 +519,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.120, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.87, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -518,7 +527,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.121, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.88, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -529,7 +538,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.122, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.89, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -676,7 +685,7 @@ declare i32 @mode_to_flags(ptr, i64) #0
|
||||
declare i64 @open_file(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @read_file(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||
@@ -750,9 +759,6 @@ declare i32 @feof(ptr) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system(ptr) #0
|
||||
|
||||
@@ -760,10 +766,10 @@ declare i32 @system(ptr) #0
|
||||
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @env(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @find_executable(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit(i32) #0
|
||||
@@ -789,167 +795,131 @@ declare i32 @listen(i32, i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @accept(i32, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.3(i32, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.4(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i16 @htons(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc.5(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
declare ptr @mem_realloc.3(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc_bytes.6(ptr, ptr, i64) #0
|
||||
declare ptr @CAllocator.alloc_bytes.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc_bytes.7(ptr, ptr, ptr) #0
|
||||
declare void @CAllocator.dealloc_bytes.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.8(ptr) #0
|
||||
declare i64 @GPA.init.6(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc_bytes.9(ptr, ptr, i64) #0
|
||||
declare ptr @GPA.alloc_bytes.7(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc_bytes.10(ptr, ptr, ptr) #0
|
||||
declare void @GPA.dealloc_bytes.8(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.11(ptr, ptr, i64) #0
|
||||
declare void @Arena.add_chunk.9(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.12(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
declare void @Arena.init.10(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.13(ptr, ptr) #0
|
||||
declare void @Arena.reset.11(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.14(ptr, ptr) #0
|
||||
declare void @Arena.deinit.12(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc_bytes.15(ptr, ptr, i64) #0
|
||||
declare ptr @Arena.alloc_bytes.13(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc_bytes.16(ptr, ptr, ptr) #0
|
||||
declare void @Arena.dealloc_bytes.14(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.init.17(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
declare void @BufAlloc.init.15(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.18(ptr, ptr) #0
|
||||
declare void @BufAlloc.reset.16(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc_bytes.19(ptr, ptr, i64) #0
|
||||
declare ptr @BufAlloc.alloc_bytes.17(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc_bytes.20(ptr, ptr, ptr) #0
|
||||
declare void @BufAlloc.dealloc_bytes.18(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.21(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
declare void @TrackingAllocator.init.19(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.22(ptr, ptr) #0
|
||||
declare i64 @TrackingAllocator.leak_count.20(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.23(ptr, ptr) #0
|
||||
declare void @TrackingAllocator.report.21(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc_bytes.24(ptr, ptr, i64) #0
|
||||
declare ptr @TrackingAllocator.alloc_bytes.22(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc_bytes.25(ptr, ptr, ptr) #0
|
||||
declare void @TrackingAllocator.dealloc_bytes.23(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.26(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.24(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.27(i32) #0
|
||||
declare i1 @File.close.25(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.28(i32, ptr, i64) #0
|
||||
declare i64 @File.read.26(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.29(i32, i64, i32) #0
|
||||
declare i64 @File.write.27(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.30(ptr) #0
|
||||
declare i64 @File.seek.28(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.31(ptr) #0
|
||||
declare i32 @mode_to_flags.29(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.32(ptr, i32) #0
|
||||
declare i64 @open_file.30(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.33(ptr, i32) #0
|
||||
declare ptr @read_file.31(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.34(ptr, i32) #0
|
||||
declare i1 @write_file.32(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.35(ptr, ptr) #0
|
||||
declare i1 @append_file.33(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.36(ptr, ptr) #0
|
||||
declare i1 @exists.34(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.37(ptr, ptr) #0
|
||||
declare i1 @delete_file.35(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.38(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.36(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.39(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.37(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.40(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.38(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.41(ptr, i64) #0
|
||||
declare i1 @move.39(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.42(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.40(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.43(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.41(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.44(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.42(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.45(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.46(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.47(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.48(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.50(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.51(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.52(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.53(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.55(ptr, ptr) #0
|
||||
declare ptr @dirname.43(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||
@@ -1150,64 +1120,31 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.56(ptr, i32) #0
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_len.57() #0
|
||||
declare ptr @to_string.45(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_truncated.58() #0
|
||||
declare void @print_current.46(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @sx_trace_frame_at.59(i32) #0
|
||||
declare void @print_interpreter_frames.47(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_string.60(ptr) #0
|
||||
declare void @run.48(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_current.61(ptr) #0
|
||||
declare ptr @env.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_interpreter_frames.62(ptr) #0
|
||||
declare ptr @find_executable.50(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @popen.63(ptr, ptr) #0
|
||||
declare void @exit.51(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pclose.64(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @fread.65(ptr, i64, i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @feof.66(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv.67(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen.68(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system.69(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @run.70(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env.71(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable.72(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit.73(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @exit.74(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.75(ptr, i1, ptr, ptr) #0
|
||||
declare void @assert.52(ptr, i1, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @_NSGetArgv() #0
|
||||
@@ -1237,97 +1174,67 @@ declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||
declare i1 @is_long_flag(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @parse.76(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
declare void @parse.53(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.77(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.78(i32) #0
|
||||
declare i1 @File.close.55(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.79(i32, ptr, i64) #0
|
||||
declare i64 @File.read.56(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.80(i32, i64, i32) #0
|
||||
declare i64 @File.write.57(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.81(ptr) #0
|
||||
declare i64 @File.seek.58(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.82(ptr) #0
|
||||
declare i32 @mode_to_flags.59(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.83(ptr, i32) #0
|
||||
declare i64 @open_file.60(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.84(ptr, i32) #0
|
||||
declare ptr @read_file.61(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.85(ptr, i32) #0
|
||||
declare i1 @write_file.62(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.86(ptr, ptr) #0
|
||||
declare i1 @append_file.63(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.87(ptr, ptr) #0
|
||||
declare i1 @exists.64(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.88(ptr, ptr) #0
|
||||
declare i1 @delete_file.65(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.89(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.66(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.90(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.67(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.91(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.68(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.92(ptr, i64) #0
|
||||
declare i1 @move.69(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.93(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.70(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.94(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.71(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.95(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.72(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.96(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.97(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.98(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.99(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.100(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.101(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.102(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.103(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.104(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.105(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.106(ptr, ptr) #0
|
||||
declare ptr @dirname.73(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @rotr(ptr, i64, i64) #0
|
||||
@@ -1369,7 +1276,7 @@ declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.107(ptr, i1) #0
|
||||
declare void @assert.74(ptr, i1) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 {
|
||||
@@ -1398,7 +1305,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.123, ptr @str.124)
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.90, ptr @str.91)
|
||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_getWindow____Ljava_lang_Object_, align 8
|
||||
br label %jni.cont
|
||||
|
||||
@@ -1451,14 +1358,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.125, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.92, 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.126, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.93, 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)
|
||||
@@ -1474,6 +1381,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.127, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.94, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
@g_should_call = internal global i1 false
|
||||
@__sx_default_context = internal constant { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc_bytes, ptr @__thunk_CAllocator_Allocator_dealloc_bytes }, ptr null }
|
||||
@str = private unnamed_addr constant [2 x i8] c"0\00", align 1
|
||||
@str.108 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.109 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.110 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.111 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.112 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.113 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.114 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.115 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.116 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.117 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.118 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.119 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.120 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.121 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.122 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.123 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
||||
@str.124 = private unnamed_addr constant [4 x i8] c"()V\00", align 1
|
||||
@str.75 = private unnamed_addr constant [15 x i8] c"result := \22\22; \00", align 1
|
||||
@str.76 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.77 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.78 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.79 = private unnamed_addr constant [44 x i8] c"result = concat(result, any_to_string(args[\00", align 1
|
||||
@str.80 = private unnamed_addr constant [6 x i8] c"])); \00", align 1
|
||||
@str.81 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.82 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.83 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.84 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.85 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.86 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.87 = private unnamed_addr constant [37 x i8] c"result = concat(result, substr(fmt, \00", align 1
|
||||
@str.88 = private unnamed_addr constant [3 x i8] c", \00", align 1
|
||||
@str.89 = private unnamed_addr constant [5 x i8] c")); \00", align 1
|
||||
@str.90 = private unnamed_addr constant [5 x i8] c"noop\00", align 1
|
||||
@str.91 = 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.125 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.126 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.127 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.92 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
@str.93 = private unnamed_addr constant [1 x i8] zeroinitializer, align 1
|
||||
@str.94 = private unnamed_addr constant [4 x i8] c"ok\0A\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @out(ptr) #0
|
||||
@@ -40,7 +40,7 @@ declare ptr @memset(ptr, i32, i64)
|
||||
declare void @out.1(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal { ptr, i64 } @cstring(ptr %0, i64 %1) #0 {
|
||||
define internal { ptr, i64 } @alloc_string(ptr %0, i64 %1) #0 {
|
||||
entry:
|
||||
%alloca = alloca i64, align 8
|
||||
store i64 %1, ptr %alloca, align 8
|
||||
@@ -91,7 +91,7 @@ if.merge.17: ; preds = %entry
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
%icmpN = icmp slt i64 %loadN, 0
|
||||
store i1 %icmpN, ptr %allocaN, align 1
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 20)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 20)
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
store i64 19, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %alloca, align 8
|
||||
@@ -195,7 +195,7 @@ entry:
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%add = add i64 %loadN, %loadN
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %add)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %add)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -226,7 +226,7 @@ entry:
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 %3, ptr %allocaN, align 8
|
||||
%load = load i64, ptr %allocaN, align 8
|
||||
%call = call { ptr, i64 } @cstring(ptr %0, i64 %load)
|
||||
%call = call { ptr, i64 } @alloc_string(ptr %0, i64 %load)
|
||||
%allocaN = alloca { ptr, i64 }, align 8
|
||||
store { ptr, i64 } %call, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
@@ -241,6 +241,15 @@ entry:
|
||||
ret { ptr, i64 } %loadN
|
||||
}
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @cstring_len(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @from_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -253,7 +262,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.108, i64 14 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.75, i64 14 }, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
store i64 0, ptr %allocaN, align 8
|
||||
%allocaN = alloca i64, align 8
|
||||
@@ -349,7 +358,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.109, i64 36 })
|
||||
%call = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.76, 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
|
||||
@@ -357,7 +366,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.110, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.77, 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
|
||||
@@ -367,13 +376,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.111, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.78, 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.112, i64 43 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.79, 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
|
||||
@@ -381,7 +390,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.113, i64 5 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.80, i64 5 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 1
|
||||
@@ -395,7 +404,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.114, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.81, 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
|
||||
@@ -403,7 +412,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.115, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.82, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -414,7 +423,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.116, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.83, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -471,7 +480,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.117, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.84, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -479,7 +488,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.118, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.85, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -490,7 +499,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.119, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.86, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
%addN = add i64 %loadN, 2
|
||||
@@ -510,7 +519,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.120, i64 36 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.87, i64 36 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load i64, ptr %allocaN, align 8
|
||||
@@ -518,7 +527,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.121, i64 2 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.88, i64 2 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %allocaN, align 8
|
||||
%loadN = load { ptr, i64 }, ptr %alloca, align 8
|
||||
@@ -529,7 +538,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.122, i64 4 })
|
||||
%callN = call { ptr, i64 } @concat(ptr %0, { ptr, i64 } %loadN, { ptr, i64 } { ptr @str.89, i64 4 })
|
||||
store { ptr, i64 } %callN, ptr %allocaN, align 8
|
||||
br label %if.merge.38
|
||||
|
||||
@@ -676,7 +685,7 @@ declare i32 @mode_to_flags(ptr, i64) #0
|
||||
declare i64 @open_file(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @read_file(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||
@@ -750,9 +759,6 @@ declare i32 @feof(ptr) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system(ptr) #0
|
||||
|
||||
@@ -760,10 +766,10 @@ declare i32 @system(ptr) #0
|
||||
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @env(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @find_executable(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit(i32) #0
|
||||
@@ -789,167 +795,131 @@ declare i32 @listen(i32, i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @accept(i32, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.3(i32, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.4(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i16 @htons(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc.5(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
declare ptr @mem_realloc.3(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc_bytes.6(ptr, ptr, i64) #0
|
||||
declare ptr @CAllocator.alloc_bytes.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc_bytes.7(ptr, ptr, ptr) #0
|
||||
declare void @CAllocator.dealloc_bytes.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.8(ptr) #0
|
||||
declare i64 @GPA.init.6(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc_bytes.9(ptr, ptr, i64) #0
|
||||
declare ptr @GPA.alloc_bytes.7(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc_bytes.10(ptr, ptr, ptr) #0
|
||||
declare void @GPA.dealloc_bytes.8(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.11(ptr, ptr, i64) #0
|
||||
declare void @Arena.add_chunk.9(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.12(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
declare void @Arena.init.10(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.13(ptr, ptr) #0
|
||||
declare void @Arena.reset.11(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.14(ptr, ptr) #0
|
||||
declare void @Arena.deinit.12(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc_bytes.15(ptr, ptr, i64) #0
|
||||
declare ptr @Arena.alloc_bytes.13(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc_bytes.16(ptr, ptr, ptr) #0
|
||||
declare void @Arena.dealloc_bytes.14(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.init.17(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
declare void @BufAlloc.init.15(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.18(ptr, ptr) #0
|
||||
declare void @BufAlloc.reset.16(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc_bytes.19(ptr, ptr, i64) #0
|
||||
declare ptr @BufAlloc.alloc_bytes.17(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc_bytes.20(ptr, ptr, ptr) #0
|
||||
declare void @BufAlloc.dealloc_bytes.18(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.21(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
declare void @TrackingAllocator.init.19(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.22(ptr, ptr) #0
|
||||
declare i64 @TrackingAllocator.leak_count.20(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.23(ptr, ptr) #0
|
||||
declare void @TrackingAllocator.report.21(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc_bytes.24(ptr, ptr, i64) #0
|
||||
declare ptr @TrackingAllocator.alloc_bytes.22(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc_bytes.25(ptr, ptr, ptr) #0
|
||||
declare void @TrackingAllocator.dealloc_bytes.23(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.26(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.24(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.27(i32) #0
|
||||
declare i1 @File.close.25(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.28(i32, ptr, i64) #0
|
||||
declare i64 @File.read.26(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.29(i32, i64, i32) #0
|
||||
declare i64 @File.write.27(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.30(ptr) #0
|
||||
declare i64 @File.seek.28(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.31(ptr) #0
|
||||
declare i32 @mode_to_flags.29(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.32(ptr, i32) #0
|
||||
declare i64 @open_file.30(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.33(ptr, i32) #0
|
||||
declare ptr @read_file.31(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.34(ptr, i32) #0
|
||||
declare i1 @write_file.32(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.35(ptr, ptr) #0
|
||||
declare i1 @append_file.33(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.36(ptr, ptr) #0
|
||||
declare i1 @exists.34(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.37(ptr, ptr) #0
|
||||
declare i1 @delete_file.35(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.38(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.36(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.39(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.37(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.40(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.38(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.41(ptr, i64) #0
|
||||
declare i1 @move.39(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.42(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.40(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.43(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.41(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.44(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.42(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.45(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.46(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.47(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.48(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.50(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.51(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.52(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.53(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.55(ptr, ptr) #0
|
||||
declare ptr @dirname.43(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||
@@ -1150,64 +1120,31 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.56(ptr, i32) #0
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_len.57() #0
|
||||
declare ptr @to_string.45(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_truncated.58() #0
|
||||
declare void @print_current.46(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @sx_trace_frame_at.59(i32) #0
|
||||
declare void @print_interpreter_frames.47(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_string.60(ptr) #0
|
||||
declare void @run.48(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_current.61(ptr) #0
|
||||
declare ptr @env.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_interpreter_frames.62(ptr) #0
|
||||
declare ptr @find_executable.50(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @popen.63(ptr, ptr) #0
|
||||
declare void @exit.51(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pclose.64(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @fread.65(ptr, i64, i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @feof.66(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv.67(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen.68(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system.69(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @run.70(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env.71(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable.72(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit.73(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @exit.74(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.75(ptr, i1, ptr, ptr) #0
|
||||
declare void @assert.52(ptr, i1, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @_NSGetArgv() #0
|
||||
@@ -1237,97 +1174,67 @@ declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||
declare i1 @is_long_flag(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @parse.76(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
declare void @parse.53(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.77(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.78(i32) #0
|
||||
declare i1 @File.close.55(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.79(i32, ptr, i64) #0
|
||||
declare i64 @File.read.56(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.80(i32, i64, i32) #0
|
||||
declare i64 @File.write.57(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.81(ptr) #0
|
||||
declare i64 @File.seek.58(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.82(ptr) #0
|
||||
declare i32 @mode_to_flags.59(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.83(ptr, i32) #0
|
||||
declare i64 @open_file.60(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.84(ptr, i32) #0
|
||||
declare ptr @read_file.61(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.85(ptr, i32) #0
|
||||
declare i1 @write_file.62(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.86(ptr, ptr) #0
|
||||
declare i1 @append_file.63(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.87(ptr, ptr) #0
|
||||
declare i1 @exists.64(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.88(ptr, ptr) #0
|
||||
declare i1 @delete_file.65(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.89(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.66(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.90(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.67(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.91(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.68(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.92(ptr, i64) #0
|
||||
declare i1 @move.69(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.93(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.70(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.94(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.71(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.95(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.72(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.96(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.97(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.98(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.99(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.100(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.101(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.102(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.103(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.104(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.105(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.106(ptr, ptr) #0
|
||||
declare ptr @dirname.73(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @rotr(ptr, i64, i64) #0
|
||||
@@ -1369,7 +1276,7 @@ declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.107(ptr, i1) #0
|
||||
declare void @assert.74(ptr, i1) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define internal void @unused_jni(ptr %0, ptr %1, ptr %2) #0 {
|
||||
@@ -1397,7 +1304,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.123, ptr @str.124)
|
||||
%jni.fresh.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.global.cls, ptr @str.90, ptr @str.91)
|
||||
store ptr %jni.fresh.mid, ptr @SX_JNI_MID_noop____V, align 8
|
||||
br label %jni.cont
|
||||
|
||||
@@ -1449,14 +1356,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.125, i64 3 }, ptr %alloca, align 8
|
||||
store { ptr, i64 } { ptr @str.92, 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.126, i64 0 }, ptr %allocaN, align 8
|
||||
store { ptr, i64 } { ptr @str.93, 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)
|
||||
@@ -1472,6 +1379,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.127, i64 3 })
|
||||
%call = call { ptr, i64 } @build_format(ptr %0, { ptr, i64 } { ptr @str.94, i64 3 })
|
||||
ret { ptr, i64 } %call
|
||||
}
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
@g_held_view = internal global ptr null
|
||||
@__sx_default_context = internal constant { { ptr, ptr, ptr }, ptr } { { ptr, ptr, ptr } { ptr null, ptr @__thunk_CAllocator_Allocator_alloc_bytes, ptr @__thunk_CAllocator_Allocator_dealloc_bytes }, ptr null }
|
||||
@str = private unnamed_addr constant [9 x i8] c"onCreate\00", align 1
|
||||
@str.145 = private unnamed_addr constant [23 x i8] c"(Landroid/os/Bundle;)V\00", align 1
|
||||
@str.112 = private unnamed_addr constant [23 x i8] c"(Landroid/os/Bundle;)V\00", align 1
|
||||
@jni.parent.path = private unnamed_addr constant [21 x i8] c"android/app/Activity\00", align 1
|
||||
@str.146 = private unnamed_addr constant [7 x i8] c"<init>\00", align 1
|
||||
@str.147 = private unnamed_addr constant [29 x i8] c"(Landroid/content/Context;)V\00", align 1
|
||||
@str.113 = private unnamed_addr constant [7 x i8] c"<init>\00", align 1
|
||||
@str.114 = private unnamed_addr constant [29 x i8] c"(Landroid/content/Context;)V\00", align 1
|
||||
@jni.ctor.path = private unnamed_addr constant [25 x i8] c"android/view/SurfaceView\00", align 1
|
||||
|
||||
; Function Attrs: nounwind
|
||||
@@ -23,7 +23,7 @@ declare ptr @memset(ptr, i32, i64)
|
||||
declare void @out.1(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @cstring(ptr, i64) #0
|
||||
declare ptr @alloc_string(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @int_to_string(ptr, i64) #0
|
||||
@@ -52,6 +52,15 @@ declare ptr @concat(ptr, ptr, ptr) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @substr(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @cstring_len(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @from_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_cstring(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @path_join(ptr, ptr) #0
|
||||
|
||||
@@ -199,7 +208,7 @@ declare i32 @mode_to_flags(ptr, i64) #0
|
||||
declare i64 @open_file(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @read_file(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file(ptr, ptr, ptr) #0
|
||||
@@ -273,9 +282,6 @@ declare i32 @feof(ptr) #0
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system(ptr) #0
|
||||
|
||||
@@ -283,10 +289,10 @@ declare i32 @system(ptr) #0
|
||||
declare void @run(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @env(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare ptr @find_executable(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit(i32) #0
|
||||
@@ -312,167 +318,131 @@ declare i32 @listen(i32, i32) #0
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @accept(i32, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.3(i32, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.4(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i16 @htons(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @mem_realloc.5(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
declare ptr @mem_realloc.3(ptr, ptr, ptr, i64, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @CAllocator.alloc_bytes.6(ptr, ptr, i64) #0
|
||||
declare ptr @CAllocator.alloc_bytes.4(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @CAllocator.dealloc_bytes.7(ptr, ptr, ptr) #0
|
||||
declare void @CAllocator.dealloc_bytes.5(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @GPA.init.8(ptr) #0
|
||||
declare i64 @GPA.init.6(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @GPA.alloc_bytes.9(ptr, ptr, i64) #0
|
||||
declare ptr @GPA.alloc_bytes.7(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @GPA.dealloc_bytes.10(ptr, ptr, ptr) #0
|
||||
declare void @GPA.dealloc_bytes.8(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.add_chunk.11(ptr, ptr, i64) #0
|
||||
declare void @Arena.add_chunk.9(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.init.12(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
declare void @Arena.init.10(ptr sret({ ptr, i64, { ptr, ptr, ptr } }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.reset.13(ptr, ptr) #0
|
||||
declare void @Arena.reset.11(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.deinit.14(ptr, ptr) #0
|
||||
declare void @Arena.deinit.12(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @Arena.alloc_bytes.15(ptr, ptr, i64) #0
|
||||
declare ptr @Arena.alloc_bytes.13(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Arena.dealloc_bytes.16(ptr, ptr, ptr) #0
|
||||
declare void @Arena.dealloc_bytes.14(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.init.17(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
declare void @BufAlloc.init.15(ptr sret({ ptr, i64, i64 }), ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.reset.18(ptr, ptr) #0
|
||||
declare void @BufAlloc.reset.16(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BufAlloc.alloc_bytes.19(ptr, ptr, i64) #0
|
||||
declare ptr @BufAlloc.alloc_bytes.17(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BufAlloc.dealloc_bytes.20(ptr, ptr, ptr) #0
|
||||
declare void @BufAlloc.dealloc_bytes.18(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.init.21(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
declare void @TrackingAllocator.init.19(ptr sret({ { ptr, ptr, ptr }, i64, i64, i64 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @TrackingAllocator.leak_count.22(ptr, ptr) #0
|
||||
declare i64 @TrackingAllocator.leak_count.20(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.report.23(ptr, ptr) #0
|
||||
declare void @TrackingAllocator.report.21(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @TrackingAllocator.alloc_bytes.24(ptr, ptr, i64) #0
|
||||
declare ptr @TrackingAllocator.alloc_bytes.22(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @TrackingAllocator.dealloc_bytes.25(ptr, ptr, ptr) #0
|
||||
declare void @TrackingAllocator.dealloc_bytes.23(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.26(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.24(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.27(i32) #0
|
||||
declare i1 @File.close.25(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.28(i32, ptr, i64) #0
|
||||
declare i64 @File.read.26(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.29(i32, i64, i32) #0
|
||||
declare i64 @File.write.27(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.30(ptr) #0
|
||||
declare i64 @File.seek.28(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.31(ptr) #0
|
||||
declare i32 @mode_to_flags.29(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.32(ptr, i32) #0
|
||||
declare i64 @open_file.30(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.33(ptr, i32) #0
|
||||
declare ptr @read_file.31(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.34(ptr, i32) #0
|
||||
declare i1 @write_file.32(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.35(ptr, ptr) #0
|
||||
declare i1 @append_file.33(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.36(ptr, ptr) #0
|
||||
declare i1 @exists.34(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.37(ptr, ptr) #0
|
||||
declare i1 @delete_file.35(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.38(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.36(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.39(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.37(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.40(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.38(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.41(ptr, i64) #0
|
||||
declare i1 @move.39(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.42(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.40(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.43(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.41(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.44(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.42(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.45(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.46(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.47(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.48(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.50(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.51(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.52(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.53(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.55(ptr, ptr) #0
|
||||
declare ptr @dirname.43(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @Array.add(ptr, ptr, ptr, ptr) #0
|
||||
@@ -673,64 +643,31 @@ declare ptr @BuildOptions.jni_main_java_source_at(i64, i64) #0
|
||||
declare i64 @build_options() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @spaces.56(ptr, i32) #0
|
||||
declare ptr @spaces.44(ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_len.57() #0
|
||||
declare ptr @to_string.45(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @sx_trace_truncated.58() #0
|
||||
declare void @print_current.46(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @sx_trace_frame_at.59(i32) #0
|
||||
declare void @print_interpreter_frames.47(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @to_string.60(ptr) #0
|
||||
declare void @run.48(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_current.61(ptr) #0
|
||||
declare ptr @env.49(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @print_interpreter_frames.62(ptr) #0
|
||||
declare ptr @find_executable.50(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @popen.63(ptr, ptr) #0
|
||||
declare void @exit.51(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @pclose.64(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @fread.65(ptr, i64, i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @feof.66(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @getenv.67(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @strlen.68(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @system.69(ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @run.70(ptr sret({ { i32, { ptr, i64 } }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @env.71(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @find_executable.72(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @_exit.73(i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @exit.74(ptr, i8, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.75(ptr, i1, ptr, ptr) #0
|
||||
declare void @assert.52(ptr, i1, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @_NSGetArgv() #0
|
||||
@@ -760,97 +697,67 @@ declare ptr @Parsed.value_of(ptr, ptr, ptr) #0
|
||||
declare i1 @is_long_flag(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @parse.76(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
declare void @parse.53(ptr sret({ { { ptr, i64 }, { ptr, i64 }, i64, i1, { ptr, i64 }, { ptr, i64 }, [16 x { i1, { ptr, i64 } }] }, i32 }), ptr, ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @open.77(ptr, i32, ...) #0
|
||||
declare i1 @File.is_valid.54(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @close.78(i32) #0
|
||||
declare i1 @File.close.55(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @read.79(i32, ptr, i64) #0
|
||||
declare i64 @File.read.56(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @lseek.80(i32, i64, i32) #0
|
||||
declare i64 @File.write.57(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @unlink.81(ptr) #0
|
||||
declare i64 @File.seek.58(ptr, ptr, i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rmdir.82(ptr) #0
|
||||
declare i32 @mode_to_flags.59(ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mkdir.83(ptr, i32) #0
|
||||
declare i64 @open_file.60(ptr, ptr, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @access.84(ptr, i32) #0
|
||||
declare ptr @read_file.61(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @chmod.85(ptr, i32) #0
|
||||
declare i1 @write_file.62(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @rename.86(ptr, ptr) #0
|
||||
declare i1 @append_file.63(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.is_valid.87(ptr, ptr) #0
|
||||
declare i1 @exists.64(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @File.close.88(ptr, ptr) #0
|
||||
declare i1 @delete_file.65(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.read.89(ptr, ptr, ptr) #0
|
||||
declare i1 @delete_dir.66(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.write.90(ptr, ptr, ptr) #0
|
||||
declare i1 @create_dir.67(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @File.seek.91(ptr, ptr, i64, i64) #0
|
||||
declare i1 @set_mode.68(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i32 @mode_to_flags.92(ptr, i64) #0
|
||||
declare i1 @move.69(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @open_file.93(ptr, ptr, i64) #0
|
||||
declare i1 @create_dir_all.70(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @read_file.94(ptr sret({ { ptr, i64 }, i1 }), ptr, ptr) #0
|
||||
declare i1 @copy_file.71(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @write_file.95(ptr, ptr, ptr) #0
|
||||
declare ptr @basename.72(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @append_file.96(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @exists.97(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_file.98(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @delete_dir.99(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir.100(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @set_mode.101(ptr, ptr, i32) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @move.102(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @create_dir_all.103(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @copy_file.104(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @basename.105(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @dirname.106(ptr, ptr) #0
|
||||
declare ptr @dirname.73(ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @rotr(ptr, i64, i64) #0
|
||||
@@ -892,118 +799,118 @@ declare void @sha256_file(ptr sret({ [64 x i8], i1 }), ptr, ptr) #0
|
||||
declare void @log_emit(ptr, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @assert.107(ptr, i1) #0
|
||||
declare void @assert.74(ptr, i1) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_link_flag.108(i64, ptr) #0
|
||||
declare void @BuildOptions.add_link_flag.75(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_framework.109(i64, ptr) #0
|
||||
declare void @BuildOptions.add_framework.76(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_output_path.110(i64, ptr) #0
|
||||
declare void @BuildOptions.set_output_path.77(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_wasm_shell.111(i64, ptr) #0
|
||||
declare void @BuildOptions.set_wasm_shell.78(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.add_asset_dir.112(i64, ptr, ptr) #0
|
||||
declare void @BuildOptions.add_asset_dir.79(i64, ptr, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.asset_dir_count.113(i64) #0
|
||||
declare i64 @BuildOptions.asset_dir_count.80(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.asset_dir_src_at.114(i64, i64) #0
|
||||
declare ptr @BuildOptions.asset_dir_src_at.81(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.asset_dir_dest_at.115(i64, i64) #0
|
||||
declare ptr @BuildOptions.asset_dir_dest_at.82(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_callback.116(i64, ptr) #0
|
||||
declare void @BuildOptions.set_post_link_callback.83(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_post_link_module.117(i64, ptr) #0
|
||||
declare void @BuildOptions.set_post_link_module.84(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.binary_path.118(i64) #0
|
||||
declare ptr @BuildOptions.binary_path.85(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_path.119(i64, ptr) #0
|
||||
declare void @BuildOptions.set_bundle_path.86(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_bundle_id.120(i64, ptr) #0
|
||||
declare void @BuildOptions.set_bundle_id.87(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_codesign_identity.121(i64, ptr) #0
|
||||
declare void @BuildOptions.set_codesign_identity.88(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_provisioning_profile.122(i64, ptr) #0
|
||||
declare void @BuildOptions.set_provisioning_profile.89(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_path.123(i64) #0
|
||||
declare ptr @BuildOptions.bundle_path.90(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.bundle_id.124(i64) #0
|
||||
declare ptr @BuildOptions.bundle_id.91(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.codesign_identity.125(i64) #0
|
||||
declare ptr @BuildOptions.codesign_identity.92(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.provisioning_profile.126(i64) #0
|
||||
declare ptr @BuildOptions.provisioning_profile.93(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.target_triple.127(i64) #0
|
||||
declare ptr @BuildOptions.target_triple.94(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_macos.128(i64) #0
|
||||
declare i1 @BuildOptions.is_macos.95(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios.129(i64) #0
|
||||
declare i1 @BuildOptions.is_ios.96(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_device.130(i64) #0
|
||||
declare i1 @BuildOptions.is_ios_device.97(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_ios_simulator.131(i64) #0
|
||||
declare i1 @BuildOptions.is_ios_simulator.98(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i1 @BuildOptions.is_android.132(i64) #0
|
||||
declare i1 @BuildOptions.is_android.99(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_count.133(i64) #0
|
||||
declare i64 @BuildOptions.framework_count.100(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_at.134(i64, i64) #0
|
||||
declare ptr @BuildOptions.framework_at.101(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.framework_path_count.135(i64) #0
|
||||
declare i64 @BuildOptions.framework_path_count.102(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.framework_path_at.136(i64, i64) #0
|
||||
declare ptr @BuildOptions.framework_path_at.103(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_manifest_path.137(i64, ptr) #0
|
||||
declare void @BuildOptions.set_manifest_path.104(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare void @BuildOptions.set_keystore_path.138(i64, ptr) #0
|
||||
declare void @BuildOptions.set_keystore_path.105(i64, ptr) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.manifest_path.139(i64) #0
|
||||
declare ptr @BuildOptions.manifest_path.106(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.keystore_path.140(i64) #0
|
||||
declare ptr @BuildOptions.keystore_path.107(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @BuildOptions.jni_main_count.141(i64) #0
|
||||
declare i64 @BuildOptions.jni_main_count.108(i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_foreign_path_at.142(i64, i64) #0
|
||||
declare ptr @BuildOptions.jni_main_foreign_path_at.109(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.143(i64, i64) #0
|
||||
declare ptr @BuildOptions.jni_main_java_source_at.110(i64, i64) #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
declare i64 @build_options.144() #0
|
||||
declare i64 @build_options.111() #0
|
||||
|
||||
; Function Attrs: nounwind
|
||||
define i32 @main() #0 {
|
||||
@@ -1043,7 +950,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.145)
|
||||
%jni.mid = call ptr %jni.GetMethodID(ptr %load, ptr %jni.parent.cls, ptr @str, ptr @str.112)
|
||||
%jni.parent.cls.slot = alloca ptr, align 8
|
||||
store ptr %jni.parent.cls, ptr %jni.parent.cls.slot, align 8
|
||||
%5 = getelementptr inbounds ptr, ptr %jni.ifs, i32 91
|
||||
@@ -1059,7 +966,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.146, ptr @str.147)
|
||||
%jni.ctor.mid = call ptr %jni.GetMethodID10(ptr %load, ptr %jni.ctor.cls, ptr @str.113, ptr @str.114)
|
||||
%8 = getelementptr inbounds ptr, ptr %jni.ifs8, i32 28
|
||||
%jni.NewObject = load ptr, ptr %8, align 8
|
||||
%jni.new.obj = call ptr %jni.NewObject(ptr %load, ptr %jni.ctor.cls, ptr %jni.ctor.mid, ptr %loadN)
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
0
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
pcap version non-empty: true
|
||||
1
examples/expected/1618-cimport-named-defines.exit
Normal file
1
examples/expected/1618-cimport-named-defines.exit
Normal file
@@ -0,0 +1 @@
|
||||
0
|
||||
1
examples/expected/1618-cimport-named-defines.stderr
Normal file
1
examples/expected/1618-cimport-named-defines.stderr
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
2
examples/expected/1618-cimport-named-defines.stdout
Normal file
2
examples/expected/1618-cimport-named-defines.stdout
Normal file
@@ -0,0 +1,2 @@
|
||||
value = 42
|
||||
doubled = 42
|
||||
1
examples/expected/1619-cimport-source-only.exit
Normal file
1
examples/expected/1619-cimport-source-only.exit
Normal file
@@ -0,0 +1 @@
|
||||
0
|
||||
1
examples/expected/1619-cimport-source-only.stderr
Normal file
1
examples/expected/1619-cimport-source-only.stderr
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
examples/expected/1619-cimport-source-only.stdout
Normal file
1
examples/expected/1619-cimport-source-only.stdout
Normal file
@@ -0,0 +1 @@
|
||||
answer = 42
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user