All checks were successful
docs / build-and-deploy (push) Successful in 3s
The security-sensitive counterpart to the fast, non-cryptographic Hash.* library: standard, test-vector-backed hashing for signed saves and message integrity, kept in its own namespace so nobody reaches for the wrong tool. Crypto.sha256(s) SHA-256 -> 64-char lowercase hex Crypto.hmac_sha256(key, msg) HMAC-SHA256 -> 64-char hex Crypto.verify_hmac(key, msg, mac) recompute + constant-time compare -> bool Crypto.hex(s) lowercase hex of a string's bytes Crypto.ct_equal(a, b) constant-time string equality The primitives are implemented from scratch in plain integer LLVM IR (FIPS 180-4 / RFC 2104): no libc crypto, no data-dependent branches in the compression rounds, so a given input hashes to the same 32 bytes on every platform and run. Digests are returned as hex strings, not raw bytes, because a `str` is null-terminated and a raw digest can contain a NUL. MAC checks use a non-short-circuiting compare so timing does not leak how much of a forged tag was correct. Emitted on demand via g_uses_cryptort, mirroring the emit_hash prelude gate. Scoped to the deterministic, known-answer-testable core; OS-backed random_bytes (the one piece that can't be validated by test vectors) is left for a follow-up. Tested against published SHA-256 vectors (empty/"abc"/fox + 55/56/64-byte multi-block padding) and HMAC-SHA256 vectors; wired into the self-host suite as `crypto`. Docs: a new Crypto section with honest "what this protects / does not" guidance, one page per method, all fences checked and in the inventory. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
56056 lines
2 MiB
56056 lines
2 MiB
; Ludic (self-hosted) -> LLVM IR
|
|
declare i32 @printf(ptr, ...)
|
|
declare ptr @malloc(i64)
|
|
declare ptr @realloc(ptr, i64)
|
|
declare void @free(ptr)
|
|
declare ptr @fopen(ptr, ptr)
|
|
declare i64 @fread(ptr, i64, i64, ptr)
|
|
declare i64 @fwrite(ptr, i64, i64, ptr)
|
|
declare i32 @fseek(ptr, i64, i32)
|
|
declare i64 @ftell(ptr)
|
|
declare i32 @fclose(ptr)
|
|
declare void @exit(i32)
|
|
declare i32 @system(ptr)
|
|
declare ptr @getenv(ptr)
|
|
declare ptr @memcpy(ptr, ptr, i64)
|
|
declare ptr @memset(ptr, i32, i64)
|
|
declare i64 @strlen(ptr)
|
|
declare i32 @strncmp(ptr, ptr, i64)
|
|
declare ptr @strstr(ptr, ptr)
|
|
declare i32 @atoi(ptr)
|
|
declare i32 @getchar()
|
|
declare i32 @putchar(i32)
|
|
declare i64 @time(ptr)
|
|
declare void @win_open(i32, i32, i32, ptr)
|
|
declare i32 @win_poll()
|
|
declare void @win_present(ptr, i32, i32)
|
|
declare i32 @win_running()
|
|
declare void @win_close()
|
|
@__stderrp = external global ptr
|
|
@__stdoutp = external global ptr
|
|
@.fmt_int = private unnamed_addr constant [4 x i8] c"%d\0A\00"
|
|
@.fmt_long = private unnamed_addr constant [6 x i8] c"%lld\0A\00"
|
|
@.fmt_line = private unnamed_addr constant [4 x i8] c"%s\0A\00"
|
|
@L_argc = internal global i32 0
|
|
@L_argv = internal global ptr null
|
|
@L_clock = internal global i32 0
|
|
@.gametitle = private unnamed_addr constant [9 x i8] c"SelfHost\00"
|
|
%LSlice = type { ptr, i32, i32 }
|
|
%Cmp_Buf = type { ptr, i32, i32 }
|
|
%Cmp_Node = type { i32, ptr, i32, ptr, ptr, ptr, ptr, ptr, i32 }
|
|
%Cmp_Tok = type { i32, ptr, i32, i32 }
|
|
%Cmp_Val = type { ptr, ptr }
|
|
@g_toks = internal global ptr null
|
|
@g_pi = internal global i32 0
|
|
@g_prog = internal global ptr null
|
|
@g_g_game_name = internal global ptr null
|
|
@g_loaded_paths = internal global ptr null
|
|
@g_cur_dir = internal global ptr null
|
|
@g_head = internal global ptr null
|
|
@g_code = internal global ptr null
|
|
@g_falloc = internal global ptr null
|
|
@g_ll_t = internal global i32 0
|
|
@g_ll_lbl = internal global i32 0
|
|
@g_ll_str = internal global i32 0
|
|
@g_loc_name = internal global ptr null
|
|
@g_loc_reg = internal global ptr null
|
|
@g_loc_ty = internal global ptr null
|
|
@g_loc_mut = internal global ptr null
|
|
@g_nloc = internal global i32 0
|
|
@g_g_uses_str = internal global i32 0
|
|
@g_g_uses_intstr = internal global i32 0
|
|
@g_g_uses_strslice = internal global i32 0
|
|
@g_g_uses_mathrt = internal global i32 0
|
|
@g_g_uses_textrt = internal global i32 0
|
|
@g_g_uses_textrt2 = internal global i32 0
|
|
@g_g_uses_hashrt = internal global i32 0
|
|
@g_g_uses_cryptort = internal global i32 0
|
|
@g_g_uses_datert = internal global i32 0
|
|
@g_g_uses_longstr = internal global i32 0
|
|
@g_brk_lbl = internal global ptr null
|
|
@g_cnt_lbl = internal global ptr null
|
|
@g_nloop = internal global i32 0
|
|
@g_ret_ty = internal global ptr null
|
|
@g_g_term = internal global i32 0
|
|
@g_self_stk = internal global ptr null
|
|
@g_nself = internal global i32 0
|
|
@g_mach_stk = internal global ptr null
|
|
@g_nmach = internal global i32 0
|
|
@g_g_scenes = internal global ptr null
|
|
@g_g_scene_count = internal global i32 0
|
|
@g_g_start_scene = internal global i32 0
|
|
@g_g_cur_scene = internal global ptr null
|
|
@g_g_computed = internal global ptr null
|
|
@g_g_onspawn = internal global ptr null
|
|
@g_g_ondespawn = internal global ptr null
|
|
@g_g_onattach = internal global ptr null
|
|
@g_g_ondetach = internal global ptr null
|
|
@g_g_onenable = internal global ptr null
|
|
@g_g_ondisable = internal global ptr null
|
|
@g_g_events = internal global ptr null
|
|
@g_g_onlisten = internal global ptr null
|
|
@g_g_cancel_addr = internal global ptr null
|
|
@g_g_toggled_layers = internal global ptr null
|
|
@g_g_addr_ty = internal global ptr null
|
|
@g_g_intrin_ok = internal global i32 0
|
|
@g_g_windowed = internal global i32 0
|
|
@g_g_iok = internal global i32 0
|
|
@g_g_snap_mode = internal global ptr null
|
|
@g_g_off = internal global ptr null
|
|
@g_g_uses_loopback = internal global i32 0
|
|
@g_uiw = internal global ptr null
|
|
@g_uiw_parent = internal global ptr null
|
|
@g_ui_roots = internal global ptr null
|
|
@.str0 = private unnamed_addr constant [3 x i8] c"rb\00"
|
|
@.str1 = private unnamed_addr constant [28 x i8] c"ludicc(self): parse error: \00"
|
|
@.str2 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3 = private unnamed_addr constant [20 x i8] c"expected identifier\00"
|
|
@.str4 = private unnamed_addr constant [2 x i8] c"[\00"
|
|
@.str5 = private unnamed_addr constant [2 x i8] c"]\00"
|
|
@.str6 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str7 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str8 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str9 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str10 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str11 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str12 = private unnamed_addr constant [2 x i8] c"+\00"
|
|
@.str13 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str14 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str15 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str16 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str17 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str18 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str19 = private unnamed_addr constant [5 x i8] c"emit\00"
|
|
@.str20 = private unnamed_addr constant [5 x i8] c"true\00"
|
|
@.str21 = private unnamed_addr constant [6 x i8] c"false\00"
|
|
@.str22 = private unnamed_addr constant [5 x i8] c"null\00"
|
|
@.str23 = private unnamed_addr constant [4 x i8] c"new\00"
|
|
@.str24 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str25 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str26 = private unnamed_addr constant [20 x i8] c"expected expression\00"
|
|
@.str27 = private unnamed_addr constant [2 x i8] c".\00"
|
|
@.str28 = private unnamed_addr constant [2 x i8] c"[\00"
|
|
@.str29 = private unnamed_addr constant [3 x i8] c"..\00"
|
|
@.str30 = private unnamed_addr constant [2 x i8] c"]\00"
|
|
@.str31 = private unnamed_addr constant [2 x i8] c"]\00"
|
|
@.str32 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str33 = private unnamed_addr constant [2 x i8] c"-\00"
|
|
@.str34 = private unnamed_addr constant [2 x i8] c"-\00"
|
|
@.str35 = private unnamed_addr constant [2 x i8] c"~\00"
|
|
@.str36 = private unnamed_addr constant [2 x i8] c"~\00"
|
|
@.str37 = private unnamed_addr constant [4 x i8] c"not\00"
|
|
@.str38 = private unnamed_addr constant [4 x i8] c"not\00"
|
|
@.str39 = private unnamed_addr constant [2 x i8] c"*\00"
|
|
@.str40 = private unnamed_addr constant [2 x i8] c"/\00"
|
|
@.str41 = private unnamed_addr constant [2 x i8] c"%\00"
|
|
@.str42 = private unnamed_addr constant [3 x i8] c"<<\00"
|
|
@.str43 = private unnamed_addr constant [3 x i8] c">>\00"
|
|
@.str44 = private unnamed_addr constant [2 x i8] c"&\00"
|
|
@.str45 = private unnamed_addr constant [2 x i8] c"+\00"
|
|
@.str46 = private unnamed_addr constant [2 x i8] c"-\00"
|
|
@.str47 = private unnamed_addr constant [2 x i8] c"|\00"
|
|
@.str48 = private unnamed_addr constant [2 x i8] c"^\00"
|
|
@.str49 = private unnamed_addr constant [2 x i8] c"<\00"
|
|
@.str50 = private unnamed_addr constant [3 x i8] c"<=\00"
|
|
@.str51 = private unnamed_addr constant [2 x i8] c">\00"
|
|
@.str52 = private unnamed_addr constant [3 x i8] c">=\00"
|
|
@.str53 = private unnamed_addr constant [3 x i8] c"==\00"
|
|
@.str54 = private unnamed_addr constant [3 x i8] c"!=\00"
|
|
@.str55 = private unnamed_addr constant [4 x i8] c"and\00"
|
|
@.str56 = private unnamed_addr constant [4 x i8] c"and\00"
|
|
@.str57 = private unnamed_addr constant [3 x i8] c"or\00"
|
|
@.str58 = private unnamed_addr constant [3 x i8] c"or\00"
|
|
@.str59 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str60 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str61 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str62 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str63 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str64 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str65 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str66 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str67 = private unnamed_addr constant [43 x i8] c"expected newline or ';' between statements\00"
|
|
@.str68 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str69 = private unnamed_addr constant [4 x i8] c"let\00"
|
|
@.str70 = private unnamed_addr constant [4 x i8] c"var\00"
|
|
@.str71 = private unnamed_addr constant [4 x i8] c"var\00"
|
|
@.str72 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str73 = private unnamed_addr constant [2 x i8] c"=\00"
|
|
@.str74 = private unnamed_addr constant [7 x i8] c"return\00"
|
|
@.str75 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str76 = private unnamed_addr constant [3 x i8] c"if\00"
|
|
@.str77 = private unnamed_addr constant [5 x i8] c"else\00"
|
|
@.str78 = private unnamed_addr constant [3 x i8] c"if\00"
|
|
@.str79 = private unnamed_addr constant [6 x i8] c"while\00"
|
|
@.str80 = private unnamed_addr constant [4 x i8] c"for\00"
|
|
@.str81 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str82 = private unnamed_addr constant [3 x i8] c"..\00"
|
|
@.str83 = private unnamed_addr constant [6 x i8] c"spawn\00"
|
|
@.str84 = private unnamed_addr constant [8 x i8] c"machine\00"
|
|
@.str85 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str86 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str87 = private unnamed_addr constant [2 x i8] c"=\00"
|
|
@.str88 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str89 = private unnamed_addr constant [5 x i8] c"emit\00"
|
|
@.str90 = private unnamed_addr constant [7 x i8] c"become\00"
|
|
@.str91 = private unnamed_addr constant [8 x i8] c"despawn\00"
|
|
@.str92 = private unnamed_addr constant [7 x i8] c"enable\00"
|
|
@.str93 = private unnamed_addr constant [8 x i8] c"disable\00"
|
|
@.str94 = private unnamed_addr constant [7 x i8] c"enable\00"
|
|
@.str95 = private unnamed_addr constant [6 x i8] c"layer\00"
|
|
@.str96 = private unnamed_addr constant [6 x i8] c"layer\00"
|
|
@.str97 = private unnamed_addr constant [3 x i8] c"on\00"
|
|
@.str98 = private unnamed_addr constant [7 x i8] c"attach\00"
|
|
@.str99 = private unnamed_addr constant [3 x i8] c"on\00"
|
|
@.str100 = private unnamed_addr constant [27 x i8] c"attach needs 'on <entity>'\00"
|
|
@.str101 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str102 = private unnamed_addr constant [7 x i8] c"detach\00"
|
|
@.str103 = private unnamed_addr constant [3 x i8] c"on\00"
|
|
@.str104 = private unnamed_addr constant [27 x i8] c"detach needs 'on <entity>'\00"
|
|
@.str105 = private unnamed_addr constant [6 x i8] c"break\00"
|
|
@.str106 = private unnamed_addr constant [9 x i8] c"continue\00"
|
|
@.str107 = private unnamed_addr constant [7 x i8] c"cancel\00"
|
|
@.str108 = private unnamed_addr constant [6 x i8] c"match\00"
|
|
@.str109 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str110 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str111 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str112 = private unnamed_addr constant [3 x i8] c"=>\00"
|
|
@.str113 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str114 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str115 = private unnamed_addr constant [2 x i8] c"=\00"
|
|
@.str116 = private unnamed_addr constant [3 x i8] c"+=\00"
|
|
@.str117 = private unnamed_addr constant [3 x i8] c"-=\00"
|
|
@.str118 = private unnamed_addr constant [3 x i8] c"*=\00"
|
|
@.str119 = private unnamed_addr constant [3 x i8] c"/=\00"
|
|
@.str120 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str121 = private unnamed_addr constant [2 x i8] c"=\00"
|
|
@.str122 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str123 = private unnamed_addr constant [2 x i8] c"=\00"
|
|
@.str124 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str125 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str126 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str127 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str128 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str129 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str130 = private unnamed_addr constant [3 x i8] c"->\00"
|
|
@.str131 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str132 = private unnamed_addr constant [2 x i8] c"@\00"
|
|
@.str133 = private unnamed_addr constant [7 x i8] c"export\00"
|
|
@.str134 = private unnamed_addr constant [7 x i8] c"Public\00"
|
|
@.str135 = private unnamed_addr constant [3 x i8] c"On\00"
|
|
@.str136 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str137 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str138 = private unnamed_addr constant [8 x i8] c"Queries\00"
|
|
@.str139 = private unnamed_addr constant [8 x i8] c"OnSpawn\00"
|
|
@.str140 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str141 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str142 = private unnamed_addr constant [10 x i8] c"OnDespawn\00"
|
|
@.str143 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str144 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str145 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str146 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str147 = private unnamed_addr constant [9 x i8] c"OnAttach\00"
|
|
@.str148 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str149 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str150 = private unnamed_addr constant [9 x i8] c"OnDetach\00"
|
|
@.str151 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str152 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str153 = private unnamed_addr constant [9 x i8] c"OnEnable\00"
|
|
@.str154 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str155 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str156 = private unnamed_addr constant [10 x i8] c"OnDisable\00"
|
|
@.str157 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str158 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str159 = private unnamed_addr constant [8 x i8] c"OnStart\00"
|
|
@.str160 = private unnamed_addr constant [6 x i8] c"Start\00"
|
|
@.str161 = private unnamed_addr constant [7 x i8] c"OnQuit\00"
|
|
@.str162 = private unnamed_addr constant [7 x i8] c"OnQuit\00"
|
|
@.str163 = private unnamed_addr constant [5 x i8] c"Sync\00"
|
|
@.str164 = private unnamed_addr constant [6 x i8] c"Owned\00"
|
|
@.str165 = private unnamed_addr constant [7 x i8] c"Server\00"
|
|
@.str166 = private unnamed_addr constant [7 x i8] c"server\00"
|
|
@.str167 = private unnamed_addr constant [10 x i8] c"Predicted\00"
|
|
@.str168 = private unnamed_addr constant [10 x i8] c"predicted\00"
|
|
@.str169 = private unnamed_addr constant [9 x i8] c"ToServer\00"
|
|
@.str170 = private unnamed_addr constant [9 x i8] c"toserver\00"
|
|
@.str171 = private unnamed_addr constant [10 x i8] c"ToClients\00"
|
|
@.str172 = private unnamed_addr constant [10 x i8] c"toclients\00"
|
|
@.str173 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str174 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str175 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str176 = private unnamed_addr constant [7 x i8] c"import\00"
|
|
@.str177 = private unnamed_addr constant [29 x i8] c"expected \22path\22 after import\00"
|
|
@.str178 = private unnamed_addr constant [5 x i8] c"enum\00"
|
|
@.str179 = private unnamed_addr constant [6 x i8] c"event\00"
|
|
@.str180 = private unnamed_addr constant [9 x i8] c"property\00"
|
|
@.str181 = private unnamed_addr constant [6 x i8] c"model\00"
|
|
@.str182 = private unnamed_addr constant [6 x i8] c"scene\00"
|
|
@.str183 = private unnamed_addr constant [8 x i8] c"handler\00"
|
|
@.str184 = private unnamed_addr constant [7 x i8] c"server\00"
|
|
@.str185 = private unnamed_addr constant [7 x i8] c"model_\00"
|
|
@.str186 = private unnamed_addr constant [7 x i8] c"_spawn\00"
|
|
@.str187 = private unnamed_addr constant [7 x i8] c"model_\00"
|
|
@.str188 = private unnamed_addr constant [9 x i8] c"_despawn\00"
|
|
@.str189 = private unnamed_addr constant [6 x i8] c"prop_\00"
|
|
@.str190 = private unnamed_addr constant [8 x i8] c"_attach\00"
|
|
@.str191 = private unnamed_addr constant [6 x i8] c"prop_\00"
|
|
@.str192 = private unnamed_addr constant [8 x i8] c"_detach\00"
|
|
@.str193 = private unnamed_addr constant [6 x i8] c"prop_\00"
|
|
@.str194 = private unnamed_addr constant [8 x i8] c"_enable\00"
|
|
@.str195 = private unnamed_addr constant [6 x i8] c"prop_\00"
|
|
@.str196 = private unnamed_addr constant [9 x i8] c"_disable\00"
|
|
@.str197 = private unnamed_addr constant [6 x i8] c"Start\00"
|
|
@.str198 = private unnamed_addr constant [14 x i8] c"program_start\00"
|
|
@.str199 = private unnamed_addr constant [13 x i8] c"program_quit\00"
|
|
@.str200 = private unnamed_addr constant [3 x i8] c"ui\00"
|
|
@.str201 = private unnamed_addr constant [4 x i8] c"var\00"
|
|
@.str202 = private unnamed_addr constant [6 x i8] c"const\00"
|
|
@.str203 = private unnamed_addr constant [9 x i8] c"function\00"
|
|
@.str204 = private unnamed_addr constant [7 x i8] c"extern\00"
|
|
@.str205 = private unnamed_addr constant [6 x i8] c"entry\00"
|
|
@.str206 = private unnamed_addr constant [21 x i8] c"expected declaration\00"
|
|
@.str207 = private unnamed_addr constant [20 x i8] c"cannot open import \00"
|
|
@.str208 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str209 = private unnamed_addr constant [26 x i8] c"runtime/native/core.ludic\00"
|
|
@.str210 = private unnamed_addr constant [6 x i8] c"Ludic\00"
|
|
@.str211 = private unnamed_addr constant [7 x i8] c"import\00"
|
|
@.str212 = private unnamed_addr constant [2 x i8] c"@\00"
|
|
@.str213 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str214 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str215 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str216 = private unnamed_addr constant [8 x i8] c"program\00"
|
|
@.str217 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str218 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str219 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str220 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str221 = private unnamed_addr constant [2 x i8] c"@\00"
|
|
@.str222 = private unnamed_addr constant [9 x i8] c"Computed\00"
|
|
@.str223 = private unnamed_addr constant [5 x i8] c"Sync\00"
|
|
@.str224 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str225 = private unnamed_addr constant [2 x i8] c"=\00"
|
|
@.str226 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str227 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str228 = private unnamed_addr constant [12 x i8] c"cancellable\00"
|
|
@.str229 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str230 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str231 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str232 = private unnamed_addr constant [2 x i8] c"=\00"
|
|
@.str233 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str234 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str235 = private unnamed_addr constant [7 x i8] c"Update\00"
|
|
@.str236 = private unnamed_addr constant [2 x i8] c"@\00"
|
|
@.str237 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str238 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str239 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str240 = private unnamed_addr constant [6 x i8] c"phase\00"
|
|
@.str241 = private unnamed_addr constant [2 x i8] c"[\00"
|
|
@.str242 = private unnamed_addr constant [2 x i8] c"]\00"
|
|
@.str243 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str244 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str245 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str246 = private unnamed_addr constant [2 x i8] c"]\00"
|
|
@.str247 = private unnamed_addr constant [6 x i8] c"where\00"
|
|
@.str248 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str249 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str250 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str251 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str252 = private unnamed_addr constant [6 x i8] c"query\00"
|
|
@.str253 = private unnamed_addr constant [29 x i8] c"expected 'query' in for-loop\00"
|
|
@.str254 = private unnamed_addr constant [4 x i8] c"and\00"
|
|
@.str255 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str256 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str257 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str258 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str259 = private unnamed_addr constant [6 x i8] c"these\00"
|
|
@.str260 = private unnamed_addr constant [2 x i8] c"[\00"
|
|
@.str261 = private unnamed_addr constant [2 x i8] c"]\00"
|
|
@.str262 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str263 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str264 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str265 = private unnamed_addr constant [2 x i8] c"]\00"
|
|
@.str266 = private unnamed_addr constant [3 x i8] c"on\00"
|
|
@.str267 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str268 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str269 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str270 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str271 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str272 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str273 = private unnamed_addr constant [6 x i8] c"start\00"
|
|
@.str274 = private unnamed_addr constant [7 x i8] c"public\00"
|
|
@.str275 = private unnamed_addr constant [6 x i8] c"start\00"
|
|
@.str276 = private unnamed_addr constant [7 x i8] c"scene_\00"
|
|
@.str277 = private unnamed_addr constant [7 x i8] c"_enter\00"
|
|
@.str278 = private unnamed_addr constant [7 x i8] c"scene_\00"
|
|
@.str279 = private unnamed_addr constant [6 x i8] c"_exit\00"
|
|
@.str280 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str281 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str282 = private unnamed_addr constant [3 x i8] c"on\00"
|
|
@.str283 = private unnamed_addr constant [6 x i8] c"enter\00"
|
|
@.str284 = private unnamed_addr constant [5 x i8] c"exit\00"
|
|
@.str285 = private unnamed_addr constant [38 x i8] c"expected 'enter' or 'exit' after 'on'\00"
|
|
@.str286 = private unnamed_addr constant [6 x i8] c"layer\00"
|
|
@.str287 = private unnamed_addr constant [7 x i8] c"public\00"
|
|
@.str288 = private unnamed_addr constant [7 x i8] c"layer_\00"
|
|
@.str289 = private unnamed_addr constant [6 x i8] c"_show\00"
|
|
@.str290 = private unnamed_addr constant [7 x i8] c"layer_\00"
|
|
@.str291 = private unnamed_addr constant [6 x i8] c"_hide\00"
|
|
@.str292 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str293 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str294 = private unnamed_addr constant [8 x i8] c"handler\00"
|
|
@.str295 = private unnamed_addr constant [28 x i8] c"expected 'handler' in layer\00"
|
|
@.str296 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str297 = private unnamed_addr constant [39 x i8] c"expected 'on', 'layer' or '}' in scene\00"
|
|
@.str298 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str299 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str300 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str301 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str302 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str303 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str304 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str305 = private unnamed_addr constant [2 x i8] c"@\00"
|
|
@.str306 = private unnamed_addr constant [5 x i8] c"Sync\00"
|
|
@.str307 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str308 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str309 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str310 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str311 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str312 = private unnamed_addr constant [2 x i8] c",\00"
|
|
@.str313 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str314 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str315 = private unnamed_addr constant [3 x i8] c"->\00"
|
|
@.str316 = private unnamed_addr constant [2 x i8] c"=\00"
|
|
@.str317 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str318 = private unnamed_addr constant [2 x i8] c":\00"
|
|
@.str319 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str320 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str321 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str322 = private unnamed_addr constant [2 x i8] c"{\00"
|
|
@.str323 = private unnamed_addr constant [2 x i8] c"}\00"
|
|
@.str324 = private unnamed_addr constant [3 x i8] c"%t\00"
|
|
@.str325 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str326 = private unnamed_addr constant [11 x i8] c" = alloca \00"
|
|
@.str327 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str328 = private unnamed_addr constant [3 x i8] c"%t\00"
|
|
@.str329 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str330 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str331 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str332 = private unnamed_addr constant [7 x i8] c"entity\00"
|
|
@.str333 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str334 = private unnamed_addr constant [5 x i8] c"long\00"
|
|
@.str335 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str336 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str337 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str338 = private unnamed_addr constant [5 x i8] c"byte\00"
|
|
@.str339 = private unnamed_addr constant [3 x i8] c"i8\00"
|
|
@.str340 = private unnamed_addr constant [6 x i8] c"words\00"
|
|
@.str341 = private unnamed_addr constant [7 x i8] c"fixeds\00"
|
|
@.str342 = private unnamed_addr constant [9 x i8] c"pointers\00"
|
|
@.str343 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str344 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str345 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str346 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str347 = private unnamed_addr constant [6 x i8] c"%Cmp_\00"
|
|
@.str348 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str349 = private unnamed_addr constant [10 x i8] c"EndReason\00"
|
|
@.str350 = private unnamed_addr constant [10 x i8] c"Despawned\00"
|
|
@.str351 = private unnamed_addr constant [10 x i8] c"SceneExit\00"
|
|
@.str352 = private unnamed_addr constant [5 x i8] c"Quit\00"
|
|
@.str353 = private unnamed_addr constant [2 x i8] c".\00"
|
|
@.str354 = private unnamed_addr constant [2 x i8] c".\00"
|
|
@.str355 = private unnamed_addr constant [7 x i8] c"entity\00"
|
|
@.str356 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str357 = private unnamed_addr constant [7 x i8] c"reason\00"
|
|
@.str358 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str359 = private unnamed_addr constant [6 x i8] c"@.str\00"
|
|
@.str360 = private unnamed_addr constant [35 x i8] c" = private unnamed_addr constant [\00"
|
|
@.str361 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00"
|
|
@.str362 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00"
|
|
@.str363 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str364 = private unnamed_addr constant [5 x i8] c"null\00"
|
|
@.str365 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str366 = private unnamed_addr constant [2 x i8] c"-\00"
|
|
@.str367 = private unnamed_addr constant [2 x i8] c"-\00"
|
|
@.str368 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str369 = private unnamed_addr constant [5 x i8] c"null\00"
|
|
@.str370 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str371 = private unnamed_addr constant [34 x i8] c"; Ludic (self-hosted) -> LLVM IR\0A\00"
|
|
@.str372 = private unnamed_addr constant [31 x i8] c"declare i32 @printf(ptr, ...)\0A\00"
|
|
@.str373 = private unnamed_addr constant [26 x i8] c"declare ptr @malloc(i64)\0A\00"
|
|
@.str374 = private unnamed_addr constant [32 x i8] c"declare ptr @realloc(ptr, i64)\0A\00"
|
|
@.str375 = private unnamed_addr constant [25 x i8] c"declare void @free(ptr)\0A\00"
|
|
@.str376 = private unnamed_addr constant [30 x i8] c"declare ptr @fopen(ptr, ptr)\0A\00"
|
|
@.str377 = private unnamed_addr constant [40 x i8] c"declare i64 @fread(ptr, i64, i64, ptr)\0A\00"
|
|
@.str378 = private unnamed_addr constant [41 x i8] c"declare i64 @fwrite(ptr, i64, i64, ptr)\0A\00"
|
|
@.str379 = private unnamed_addr constant [35 x i8] c"declare i32 @fseek(ptr, i64, i32)\0A\00"
|
|
@.str380 = private unnamed_addr constant [25 x i8] c"declare i64 @ftell(ptr)\0A\00"
|
|
@.str381 = private unnamed_addr constant [26 x i8] c"declare i32 @fclose(ptr)\0A\00"
|
|
@.str382 = private unnamed_addr constant [25 x i8] c"declare void @exit(i32)\0A\00"
|
|
@.str383 = private unnamed_addr constant [26 x i8] c"declare i32 @system(ptr)\0A\00"
|
|
@.str384 = private unnamed_addr constant [26 x i8] c"declare ptr @getenv(ptr)\0A\00"
|
|
@.str385 = private unnamed_addr constant [36 x i8] c"declare ptr @memcpy(ptr, ptr, i64)\0A\00"
|
|
@.str386 = private unnamed_addr constant [36 x i8] c"declare ptr @memset(ptr, i32, i64)\0A\00"
|
|
@.str387 = private unnamed_addr constant [26 x i8] c"declare i64 @strlen(ptr)\0A\00"
|
|
@.str388 = private unnamed_addr constant [37 x i8] c"declare i32 @strncmp(ptr, ptr, i64)\0A\00"
|
|
@.str389 = private unnamed_addr constant [31 x i8] c"declare ptr @strstr(ptr, ptr)\0A\00"
|
|
@.str390 = private unnamed_addr constant [24 x i8] c"declare i32 @atoi(ptr)\0A\00"
|
|
@.str391 = private unnamed_addr constant [24 x i8] c"declare i32 @getchar()\0A\00"
|
|
@.str392 = private unnamed_addr constant [27 x i8] c"declare i32 @putchar(i32)\0A\00"
|
|
@.str393 = private unnamed_addr constant [24 x i8] c"declare i64 @time(ptr)\0A\00"
|
|
@.str394 = private unnamed_addr constant [44 x i8] c"declare void @win_open(i32, i32, i32, ptr)\0A\00"
|
|
@.str395 = private unnamed_addr constant [25 x i8] c"declare i32 @win_poll()\0A\00"
|
|
@.str396 = private unnamed_addr constant [42 x i8] c"declare void @win_present(ptr, i32, i32)\0A\00"
|
|
@.str397 = private unnamed_addr constant [28 x i8] c"declare i32 @win_running()\0A\00"
|
|
@.str398 = private unnamed_addr constant [27 x i8] c"declare void @win_close()\0A\00"
|
|
@.str399 = private unnamed_addr constant [34 x i8] c"@__stderrp = external global ptr\0A\00"
|
|
@.str400 = private unnamed_addr constant [34 x i8] c"@__stdoutp = external global ptr\0A\00"
|
|
@.str401 = private unnamed_addr constant [64 x i8] c"@.fmt_int = private unnamed_addr constant [4 x i8] c\22%d\5C0A\5C00\22\0A\00"
|
|
@.str402 = private unnamed_addr constant [67 x i8] c"@.fmt_long = private unnamed_addr constant [6 x i8] c\22%lld\5C0A\5C00\22\0A\00"
|
|
@.str403 = private unnamed_addr constant [65 x i8] c"@.fmt_line = private unnamed_addr constant [4 x i8] c\22%s\5C0A\5C00\22\0A\00"
|
|
@.str404 = private unnamed_addr constant [33 x i8] c"@L_argc = internal global i32 0\0A\00"
|
|
@.str405 = private unnamed_addr constant [36 x i8] c"@L_argv = internal global ptr null\0A\00"
|
|
@.str406 = private unnamed_addr constant [34 x i8] c"@L_clock = internal global i32 0\0A\00"
|
|
@.str407 = private unnamed_addr constant [46 x i8] c"@.gametitle = private unnamed_addr constant [\00"
|
|
@.str408 = private unnamed_addr constant [10 x i8] c" x i8] c\22\00"
|
|
@.str409 = private unnamed_addr constant [6 x i8] c"\5C00\22\0A\00"
|
|
@.str410 = private unnamed_addr constant [34 x i8] c"%LSlice = type { ptr, i32, i32 }\0A\00"
|
|
@.str411 = private unnamed_addr constant [11 x i8] c" = type { \00"
|
|
@.str412 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str413 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str414 = private unnamed_addr constant [4 x i8] c" }\0A\00"
|
|
@.str415 = private unnamed_addr constant [4 x i8] c"@g_\00"
|
|
@.str416 = private unnamed_addr constant [20 x i8] c" = internal global \00"
|
|
@.str417 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str418 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str419 = private unnamed_addr constant [9 x i8] c"declare \00"
|
|
@.str420 = private unnamed_addr constant [3 x i8] c" @\00"
|
|
@.str421 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str422 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str423 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str424 = private unnamed_addr constant [41 x i8] c"define i32 @fn_str_eq(ptr %a, ptr %b) {\0A\00"
|
|
@.str425 = private unnamed_addr constant [25 x i8] c"entry:\0A br label %loop\0A\00"
|
|
@.str426 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00"
|
|
@.str427 = private unnamed_addr constant [51 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %i\0A\00"
|
|
@.str428 = private unnamed_addr constant [51 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %i\0A\00"
|
|
@.str429 = private unnamed_addr constant [51 x i8] c" %ca = load i8, ptr %pa\0A %cb = load i8, ptr %pb\0A\00"
|
|
@.str430 = private unnamed_addr constant [66 x i8] c" %df = icmp ne i8 %ca, %cb\0A br i1 %df, label %ret0, label %chk\0A\00"
|
|
@.str431 = private unnamed_addr constant [70 x i8] c"chk:\0A %zt = icmp eq i8 %ca, 0\0A br i1 %zt, label %ret1, label %cont\0A\00"
|
|
@.str432 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00"
|
|
@.str433 = private unnamed_addr constant [39 x i8] c"ret1:\0A ret i32 1\0Aret0:\0A ret i32 0\0A}\0A\00"
|
|
@.str434 = private unnamed_addr constant [45 x i8] c"define ptr @fn_str_concat(ptr %a, ptr %b) {\0A\00"
|
|
@.str435 = private unnamed_addr constant [23 x i8] c"entry:\0A br label %al\0A\00"
|
|
@.str436 = private unnamed_addr constant [51 x i8] c"al:\0A %ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]\0A\00"
|
|
@.str437 = private unnamed_addr constant [78 x i8] c" %pa = getelementptr inbounds i8, ptr %a, i32 %ia\0A %cca = load i8, ptr %pa\0A\00"
|
|
@.str438 = private unnamed_addr constant [64 x i8] c" %za = icmp eq i8 %cca, 0\0A br i1 %za, label %bl0, label %alb\0A\00"
|
|
@.str439 = private unnamed_addr constant [45 x i8] c"alb:\0A %ia1 = add i32 %ia, 1\0A br label %al\0A\00"
|
|
@.str440 = private unnamed_addr constant [21 x i8] c"bl0:\0A br label %bl\0A\00"
|
|
@.str441 = private unnamed_addr constant [49 x i8] c"bl:\0A %ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]\0A\00"
|
|
@.str442 = private unnamed_addr constant [78 x i8] c" %pb = getelementptr inbounds i8, ptr %b, i32 %ib\0A %ccb = load i8, ptr %pb\0A\00"
|
|
@.str443 = private unnamed_addr constant [66 x i8] c" %zb = icmp eq i8 %ccb, 0\0A br i1 %zb, label %alloc, label %blb\0A\00"
|
|
@.str444 = private unnamed_addr constant [45 x i8] c"blb:\0A %ib1 = add i32 %ib, 1\0A br label %bl\0A\00"
|
|
@.str445 = private unnamed_addr constant [58 x i8] c"alloc:\0A %sum = add i32 %ia, %ib\0A %sz = add i32 %sum, 1\0A\00"
|
|
@.str446 = private unnamed_addr constant [83 x i8] c" %sz64 = sext i32 %sz to i64\0A %out = call ptr @malloc(i64 %sz64)\0A br label %c1\0A\00"
|
|
@.str447 = private unnamed_addr constant [49 x i8] c"c1:\0A %i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]\0A\00"
|
|
@.str448 = private unnamed_addr constant [66 x i8] c" %d1 = icmp slt i32 %i, %ia\0A br i1 %d1, label %c1b, label %c2i\0A\00"
|
|
@.str449 = private unnamed_addr constant [81 x i8] c"c1b:\0A %s1 = getelementptr inbounds i8, ptr %a, i32 %i\0A %v1 = load i8, ptr %s1\0A\00"
|
|
@.str450 = private unnamed_addr constant [77 x i8] c" %o1 = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %v1, ptr %o1\0A\00"
|
|
@.str451 = private unnamed_addr constant [38 x i8] c" %i1 = add i32 %i, 1\0A br label %c1\0A\00"
|
|
@.str452 = private unnamed_addr constant [21 x i8] c"c2i:\0A br label %c2\0A\00"
|
|
@.str453 = private unnamed_addr constant [47 x i8] c"c2:\0A %j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]\0A\00"
|
|
@.str454 = private unnamed_addr constant [66 x i8] c" %d2 = icmp slt i32 %j, %ib\0A br i1 %d2, label %c2b, label %fin\0A\00"
|
|
@.str455 = private unnamed_addr constant [81 x i8] c"c2b:\0A %s2 = getelementptr inbounds i8, ptr %b, i32 %j\0A %v2 = load i8, ptr %s2\0A\00"
|
|
@.str456 = private unnamed_addr constant [102 x i8] c" %oj = add i32 %ia, %j\0A %o2 = getelementptr inbounds i8, ptr %out, i32 %oj\0A store i8 %v2, ptr %o2\0A\00"
|
|
@.str457 = private unnamed_addr constant [38 x i8] c" %j1 = add i32 %j, 1\0A br label %c2\0A\00"
|
|
@.str458 = private unnamed_addr constant [99 x i8] c"fin:\0A %pe = getelementptr inbounds i8, ptr %out, i32 %sum\0A store i8 0, ptr %pe\0A ret ptr %out\0A}\0A\00"
|
|
@.str459 = private unnamed_addr constant [35 x i8] c"define ptr @fn_int_str(i32 %n0) {\0A\00"
|
|
@.str460 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00"
|
|
@.str461 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i32 %n0, 0\0A %neg = sub i32 0, %n0\0A\00"
|
|
@.str462 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i32 %neg, i32 %n0\0A\00"
|
|
@.str463 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00"
|
|
@.str464 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i32 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00"
|
|
@.str465 = private unnamed_addr constant [94 x i8] c"zc:\0A %zp = getelementptr inbounds i8, ptr %buf, i32 22\0A store i8 48, ptr %zp\0A ret ptr %zp\0A\00"
|
|
@.str466 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00"
|
|
@.str467 = private unnamed_addr constant [104 x i8] c"dloop:\0A %pos = phi i32 [ 22, %dl ], [ %pos2, %dbody ]\0A %cur = phi i32 [ %n, %dl ], [ %cur2, %dbody ]\0A\00"
|
|
@.str468 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i32 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00"
|
|
@.str469 = private unnamed_addr constant [85 x i8] c"dbody:\0A %d = urem i32 %cur, 10\0A %ch = add i32 %d, 48\0A %ch8 = trunc i32 %ch to i8\0A\00"
|
|
@.str470 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00"
|
|
@.str471 = private unnamed_addr constant [73 x i8] c" %cur2 = udiv i32 %cur, 10\0A %pos2 = sub i32 %pos, 1\0A br label %dloop\0A\00"
|
|
@.str472 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00"
|
|
@.str473 = private unnamed_addr constant [128 x i8] c"addneg:\0A %sp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 45, ptr %sp\0A %posn = sub i32 %pos, 1\0A br label %fin\0A\00"
|
|
@.str474 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00"
|
|
@.str475 = private unnamed_addr constant [101 x i8] c" %rpos = add i32 %fpos, 1\0A %res = getelementptr inbounds i8, ptr %buf, i32 %rpos\0A ret ptr %res\0A}\0A\00"
|
|
@.str476 = private unnamed_addr constant [36 x i8] c"define ptr @fn_long_str(i64 %n0) {\0A\00"
|
|
@.str477 = private unnamed_addr constant [42 x i8] c"entry:\0A %buf = call ptr @malloc(i64 24)\0A\00"
|
|
@.str478 = private unnamed_addr constant [56 x i8] c" %isneg = icmp slt i64 %n0, 0\0A %neg = sub i64 0, %n0\0A\00"
|
|
@.str479 = private unnamed_addr constant [44 x i8] c" %n = select i1 %isneg, i64 %neg, i64 %n0\0A\00"
|
|
@.str480 = private unnamed_addr constant [79 x i8] c" %term = getelementptr inbounds i8, ptr %buf, i32 23\0A store i8 0, ptr %term\0A\00"
|
|
@.str481 = private unnamed_addr constant [70 x i8] c" %iszero = icmp eq i64 %n0, 0\0A br i1 %iszero, label %zc, label %dl\0A\00"
|
|
@.str482 = private unnamed_addr constant [94 x i8] c"zc:\0A %zp = getelementptr inbounds i8, ptr %buf, i32 22\0A store i8 48, ptr %zp\0A ret ptr %zp\0A\00"
|
|
@.str483 = private unnamed_addr constant [23 x i8] c"dl:\0A br label %dloop\0A\00"
|
|
@.str484 = private unnamed_addr constant [104 x i8] c"dloop:\0A %pos = phi i32 [ 22, %dl ], [ %pos2, %dbody ]\0A %cur = phi i64 [ %n, %dl ], [ %cur2, %dbody ]\0A\00"
|
|
@.str485 = private unnamed_addr constant [72 x i8] c" %done = icmp eq i64 %cur, 0\0A br i1 %done, label %sign, label %dbody\0A\00"
|
|
@.str486 = private unnamed_addr constant [116 x i8] c"dbody:\0A %d = urem i64 %cur, 10\0A %d32 = trunc i64 %d to i32\0A %ch = add i32 %d32, 48\0A %ch8 = trunc i32 %ch to i8\0A\00"
|
|
@.str487 = private unnamed_addr constant [80 x i8] c" %pp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 %ch8, ptr %pp\0A\00"
|
|
@.str488 = private unnamed_addr constant [73 x i8] c" %cur2 = udiv i64 %cur, 10\0A %pos2 = sub i32 %pos, 1\0A br label %dloop\0A\00"
|
|
@.str489 = private unnamed_addr constant [49 x i8] c"sign:\0A br i1 %isneg, label %addneg, label %fin\0A\00"
|
|
@.str490 = private unnamed_addr constant [128 x i8] c"addneg:\0A %sp = getelementptr inbounds i8, ptr %buf, i32 %pos\0A store i8 45, ptr %sp\0A %posn = sub i32 %pos, 1\0A br label %fin\0A\00"
|
|
@.str491 = private unnamed_addr constant [60 x i8] c"fin:\0A %fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]\0A\00"
|
|
@.str492 = private unnamed_addr constant [101 x i8] c" %rpos = add i32 %fpos, 1\0A %res = getelementptr inbounds i8, ptr %buf, i32 %rpos\0A ret ptr %res\0A}\0A\00"
|
|
@.str493 = private unnamed_addr constant [58 x i8] c"define ptr @fn_str_slice(ptr %s, i32 %start, i32 %end) {\0A\00"
|
|
@.str494 = private unnamed_addr constant [62 x i8] c"entry:\0A %len = sub i32 %end, %start\0A %sz = add i32 %len, 1\0A\00"
|
|
@.str495 = private unnamed_addr constant [85 x i8] c" %sz64 = sext i32 %sz to i64\0A %out = call ptr @malloc(i64 %sz64)\0A br label %loop\0A\00"
|
|
@.str496 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %body ]\0A\00"
|
|
@.str497 = private unnamed_addr constant [66 x i8] c" %d = icmp slt i32 %i, %len\0A br i1 %d, label %body, label %fin\0A\00"
|
|
@.str498 = private unnamed_addr constant [109 x i8] c"body:\0A %si = add i32 %start, %i\0A %sp = getelementptr inbounds i8, ptr %s, i32 %si\0A %c = load i8, ptr %sp\0A\00"
|
|
@.str499 = private unnamed_addr constant [115 x i8] c" %op = getelementptr inbounds i8, ptr %out, i32 %i\0A store i8 %c, ptr %op\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00"
|
|
@.str500 = private unnamed_addr constant [99 x i8] c"fin:\0A %tp = getelementptr inbounds i8, ptr %out, i32 %len\0A store i8 0, ptr %tp\0A ret ptr %out\0A}\0A\00"
|
|
@.str501 = private unnamed_addr constant [32 x i8] c"member access on non-aggregate \00"
|
|
@.str502 = private unnamed_addr constant [15 x i8] c"no such field \00"
|
|
@.str503 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str504 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
|
|
@.str505 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str506 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str507 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str508 = private unnamed_addr constant [6 x i8] c"words\00"
|
|
@.str509 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00"
|
|
@.str510 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str511 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str512 = private unnamed_addr constant [7 x i8] c"fixeds\00"
|
|
@.str513 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds i32, ptr \00"
|
|
@.str514 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str515 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str516 = private unnamed_addr constant [9 x i8] c"pointers\00"
|
|
@.str517 = private unnamed_addr constant [33 x i8] c"getelementptr inbounds ptr, ptr \00"
|
|
@.str518 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str519 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str520 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
|
|
@.str521 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str522 = private unnamed_addr constant [5 x i8] c"byte\00"
|
|
@.str523 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str524 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
|
|
@.str525 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00"
|
|
@.str526 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str527 = private unnamed_addr constant [18 x i8] c" = load ptr, ptr \00"
|
|
@.str528 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str529 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str530 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
|
|
@.str531 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str532 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str533 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str534 = private unnamed_addr constant [7 x i8] c"resize\00"
|
|
@.str535 = private unnamed_addr constant [10 x i8] c"file_open\00"
|
|
@.str536 = private unnamed_addr constant [10 x i8] c"file_read\00"
|
|
@.str537 = private unnamed_addr constant [11 x i8] c"file_write\00"
|
|
@.str538 = private unnamed_addr constant [10 x i8] c"file_seek\00"
|
|
@.str539 = private unnamed_addr constant [10 x i8] c"file_tell\00"
|
|
@.str540 = private unnamed_addr constant [11 x i8] c"file_close\00"
|
|
@.str541 = private unnamed_addr constant [10 x i8] c"arg_count\00"
|
|
@.str542 = private unnamed_addr constant [4 x i8] c"arg\00"
|
|
@.str543 = private unnamed_addr constant [5 x i8] c"exit\00"
|
|
@.str544 = private unnamed_addr constant [12 x i8] c"file_stderr\00"
|
|
@.str545 = private unnamed_addr constant [12 x i8] c"file_stdout\00"
|
|
@.str546 = private unnamed_addr constant [4 x i8] c"run\00"
|
|
@.str547 = private unnamed_addr constant [7 x i8] c"getenv\00"
|
|
@.str548 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str549 = private unnamed_addr constant [4 x i8] c" = \00"
|
|
@.str550 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str551 = private unnamed_addr constant [7 x i8] c"resize\00"
|
|
@.str552 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str553 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str554 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00"
|
|
@.str555 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str556 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str557 = private unnamed_addr constant [8 x i8] c"pointer\00"
|
|
@.str558 = private unnamed_addr constant [10 x i8] c"file_open\00"
|
|
@.str559 = private unnamed_addr constant [21 x i8] c"call ptr @fopen(ptr \00"
|
|
@.str560 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str561 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str562 = private unnamed_addr constant [8 x i8] c"pointer\00"
|
|
@.str563 = private unnamed_addr constant [10 x i8] c"file_read\00"
|
|
@.str564 = private unnamed_addr constant [11 x i8] c"file_write\00"
|
|
@.str565 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str566 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str567 = private unnamed_addr constant [7 x i8] c"@fread\00"
|
|
@.str568 = private unnamed_addr constant [11 x i8] c"file_write\00"
|
|
@.str569 = private unnamed_addr constant [8 x i8] c"@fwrite\00"
|
|
@.str570 = private unnamed_addr constant [10 x i8] c"call i64 \00"
|
|
@.str571 = private unnamed_addr constant [6 x i8] c"(ptr \00"
|
|
@.str572 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00"
|
|
@.str573 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str574 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str575 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str576 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str577 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str578 = private unnamed_addr constant [10 x i8] c"file_seek\00"
|
|
@.str579 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str580 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str581 = private unnamed_addr constant [21 x i8] c"call i32 @fseek(ptr \00"
|
|
@.str582 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str583 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str584 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str585 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str586 = private unnamed_addr constant [10 x i8] c"file_tell\00"
|
|
@.str587 = private unnamed_addr constant [21 x i8] c"call i64 @ftell(ptr \00"
|
|
@.str588 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str589 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str590 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str591 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str592 = private unnamed_addr constant [11 x i8] c"file_close\00"
|
|
@.str593 = private unnamed_addr constant [24 x i8] c" call i32 @fclose(ptr \00"
|
|
@.str594 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str595 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str596 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str597 = private unnamed_addr constant [10 x i8] c"arg_count\00"
|
|
@.str598 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_argc\00"
|
|
@.str599 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str600 = private unnamed_addr constant [4 x i8] c"arg\00"
|
|
@.str601 = private unnamed_addr constant [22 x i8] c"load ptr, ptr @L_argv\00"
|
|
@.str602 = private unnamed_addr constant [24 x i8] c"getelementptr ptr, ptr \00"
|
|
@.str603 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str604 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
|
|
@.str605 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str606 = private unnamed_addr constant [5 x i8] c"exit\00"
|
|
@.str607 = private unnamed_addr constant [23 x i8] c" call void @exit(i32 \00"
|
|
@.str608 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str609 = private unnamed_addr constant [15 x i8] c" unreachable\0A\00"
|
|
@.str610 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str611 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str612 = private unnamed_addr constant [12 x i8] c"file_stderr\00"
|
|
@.str613 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stderrp\00"
|
|
@.str614 = private unnamed_addr constant [8 x i8] c"pointer\00"
|
|
@.str615 = private unnamed_addr constant [12 x i8] c"file_stdout\00"
|
|
@.str616 = private unnamed_addr constant [25 x i8] c"load ptr, ptr @__stdoutp\00"
|
|
@.str617 = private unnamed_addr constant [8 x i8] c"pointer\00"
|
|
@.str618 = private unnamed_addr constant [4 x i8] c"run\00"
|
|
@.str619 = private unnamed_addr constant [22 x i8] c"call i32 @system(ptr \00"
|
|
@.str620 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str621 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str622 = private unnamed_addr constant [7 x i8] c"getenv\00"
|
|
@.str623 = private unnamed_addr constant [22 x i8] c"call ptr @getenv(ptr \00"
|
|
@.str624 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str625 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str626 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str627 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str628 = private unnamed_addr constant [5 x i8] c"free\00"
|
|
@.str629 = private unnamed_addr constant [5 x i8] c"fill\00"
|
|
@.str630 = private unnamed_addr constant [7 x i8] c"offset\00"
|
|
@.str631 = private unnamed_addr constant [10 x i8] c"read_char\00"
|
|
@.str632 = private unnamed_addr constant [9 x i8] c"as_fixed\00"
|
|
@.str633 = private unnamed_addr constant [7 x i8] c"as_int\00"
|
|
@.str634 = private unnamed_addr constant [12 x i8] c"is_windowed\00"
|
|
@.str635 = private unnamed_addr constant [11 x i8] c"game_title\00"
|
|
@.str636 = private unnamed_addr constant [9 x i8] c"win_open\00"
|
|
@.str637 = private unnamed_addr constant [9 x i8] c"win_poll\00"
|
|
@.str638 = private unnamed_addr constant [12 x i8] c"win_present\00"
|
|
@.str639 = private unnamed_addr constant [12 x i8] c"win_running\00"
|
|
@.str640 = private unnamed_addr constant [10 x i8] c"win_close\00"
|
|
@.str641 = private unnamed_addr constant [5 x i8] c"free\00"
|
|
@.str642 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00"
|
|
@.str643 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str644 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str645 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str646 = private unnamed_addr constant [5 x i8] c"fill\00"
|
|
@.str647 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str648 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str649 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00"
|
|
@.str650 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str651 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str652 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str653 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str654 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str655 = private unnamed_addr constant [7 x i8] c"offset\00"
|
|
@.str656 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str657 = private unnamed_addr constant [35 x i8] c" = getelementptr inbounds i8, ptr \00"
|
|
@.str658 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str659 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str660 = private unnamed_addr constant [8 x i8] c"pointer\00"
|
|
@.str661 = private unnamed_addr constant [10 x i8] c"read_char\00"
|
|
@.str662 = private unnamed_addr constant [20 x i8] c"call i32 @getchar()\00"
|
|
@.str663 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str664 = private unnamed_addr constant [9 x i8] c"as_fixed\00"
|
|
@.str665 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str666 = private unnamed_addr constant [7 x i8] c"as_int\00"
|
|
@.str667 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str668 = private unnamed_addr constant [12 x i8] c"is_windowed\00"
|
|
@.str669 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str670 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str671 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str672 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str673 = private unnamed_addr constant [11 x i8] c"game_title\00"
|
|
@.str674 = private unnamed_addr constant [12 x i8] c"@.gametitle\00"
|
|
@.str675 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str676 = private unnamed_addr constant [9 x i8] c"win_poll\00"
|
|
@.str677 = private unnamed_addr constant [21 x i8] c"call i32 @win_poll()\00"
|
|
@.str678 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str679 = private unnamed_addr constant [12 x i8] c"win_running\00"
|
|
@.str680 = private unnamed_addr constant [24 x i8] c"call i32 @win_running()\00"
|
|
@.str681 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str682 = private unnamed_addr constant [9 x i8] c"win_open\00"
|
|
@.str683 = private unnamed_addr constant [27 x i8] c" call void @win_open(i32 \00"
|
|
@.str684 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str685 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str686 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str687 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str688 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str689 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str690 = private unnamed_addr constant [12 x i8] c"win_present\00"
|
|
@.str691 = private unnamed_addr constant [30 x i8] c" call void @win_present(ptr \00"
|
|
@.str692 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str693 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str694 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str695 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str696 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str697 = private unnamed_addr constant [10 x i8] c"win_close\00"
|
|
@.str698 = private unnamed_addr constant [26 x i8] c" call void @win_close()\0A\00"
|
|
@.str699 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str700 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str701 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str702 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str703 = private unnamed_addr constant [4 x i8] c"min\00"
|
|
@.str704 = private unnamed_addr constant [4 x i8] c"max\00"
|
|
@.str705 = private unnamed_addr constant [4 x i8] c"abs\00"
|
|
@.str706 = private unnamed_addr constant [6 x i8] c"clamp\00"
|
|
@.str707 = private unnamed_addr constant [4 x i8] c"abs\00"
|
|
@.str708 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str709 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str710 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
|
|
@.str711 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str712 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str713 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str714 = private unnamed_addr constant [4 x i8] c"min\00"
|
|
@.str715 = private unnamed_addr constant [4 x i8] c"max\00"
|
|
@.str716 = private unnamed_addr constant [4 x i8] c"slt\00"
|
|
@.str717 = private unnamed_addr constant [4 x i8] c"max\00"
|
|
@.str718 = private unnamed_addr constant [4 x i8] c"sgt\00"
|
|
@.str719 = private unnamed_addr constant [6 x i8] c"icmp \00"
|
|
@.str720 = private unnamed_addr constant [6 x i8] c" i32 \00"
|
|
@.str721 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str722 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str723 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str724 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str725 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str726 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str727 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str728 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str729 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str730 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
|
|
@.str731 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str732 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str733 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str734 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str735 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str736 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str737 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str738 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str739 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str740 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str741 = private unnamed_addr constant [10 x i8] c"ashr i64 \00"
|
|
@.str742 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str743 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str744 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str745 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str746 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str747 = private unnamed_addr constant [9 x i8] c"shl i64 \00"
|
|
@.str748 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str749 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str750 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str751 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00"
|
|
@.str752 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str753 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str754 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str755 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str756 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str757 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str758 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str759 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str760 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str761 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str762 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str763 = private unnamed_addr constant [4 x i8] c"min\00"
|
|
@.str764 = private unnamed_addr constant [4 x i8] c"max\00"
|
|
@.str765 = private unnamed_addr constant [4 x i8] c"abs\00"
|
|
@.str766 = private unnamed_addr constant [6 x i8] c"clamp\00"
|
|
@.str767 = private unnamed_addr constant [5 x i8] c"sign\00"
|
|
@.str768 = private unnamed_addr constant [6 x i8] c"floor\00"
|
|
@.str769 = private unnamed_addr constant [5 x i8] c"ceil\00"
|
|
@.str770 = private unnamed_addr constant [6 x i8] c"round\00"
|
|
@.str771 = private unnamed_addr constant [5 x i8] c"lerp\00"
|
|
@.str772 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00"
|
|
@.str773 = private unnamed_addr constant [6 x i8] c"remap\00"
|
|
@.str774 = private unnamed_addr constant [5 x i8] c"sqrt\00"
|
|
@.str775 = private unnamed_addr constant [4 x i8] c"sin\00"
|
|
@.str776 = private unnamed_addr constant [4 x i8] c"cos\00"
|
|
@.str777 = private unnamed_addr constant [4 x i8] c"tan\00"
|
|
@.str778 = private unnamed_addr constant [6 x i8] c"hypot\00"
|
|
@.str779 = private unnamed_addr constant [6 x i8] c"atan2\00"
|
|
@.str780 = private unnamed_addr constant [5 x i8] c"asin\00"
|
|
@.str781 = private unnamed_addr constant [5 x i8] c"acos\00"
|
|
@.str782 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00"
|
|
@.str783 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00"
|
|
@.str784 = private unnamed_addr constant [7 x i8] c"posmod\00"
|
|
@.str785 = private unnamed_addr constant [5 x i8] c"wrap\00"
|
|
@.str786 = private unnamed_addr constant [10 x i8] c"ping_pong\00"
|
|
@.str787 = private unnamed_addr constant [8 x i8] c"snapped\00"
|
|
@.str788 = private unnamed_addr constant [12 x i8] c"move_toward\00"
|
|
@.str789 = private unnamed_addr constant [11 x i8] c"smoothstep\00"
|
|
@.str790 = private unnamed_addr constant [5 x i8] c"dist\00"
|
|
@.str791 = private unnamed_addr constant [6 x i8] c"dist2\00"
|
|
@.str792 = private unnamed_addr constant [4 x i8] c"exp\00"
|
|
@.str793 = private unnamed_addr constant [4 x i8] c"log\00"
|
|
@.str794 = private unnamed_addr constant [4 x i8] c"pow\00"
|
|
@.str795 = private unnamed_addr constant [4 x i8] c"min\00"
|
|
@.str796 = private unnamed_addr constant [4 x i8] c"max\00"
|
|
@.str797 = private unnamed_addr constant [4 x i8] c"abs\00"
|
|
@.str798 = private unnamed_addr constant [6 x i8] c"clamp\00"
|
|
@.str799 = private unnamed_addr constant [5 x i8] c"sign\00"
|
|
@.str800 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
|
|
@.str801 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str802 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str803 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str804 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str805 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00"
|
|
@.str806 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str807 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
|
|
@.str808 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str809 = private unnamed_addr constant [6 x i8] c"floor\00"
|
|
@.str810 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str811 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str812 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str813 = private unnamed_addr constant [5 x i8] c"ceil\00"
|
|
@.str814 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str815 = private unnamed_addr constant [8 x i8] c", 65535\00"
|
|
@.str816 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str817 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str818 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str819 = private unnamed_addr constant [6 x i8] c"round\00"
|
|
@.str820 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str821 = private unnamed_addr constant [8 x i8] c", 32768\00"
|
|
@.str822 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str823 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str824 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str825 = private unnamed_addr constant [5 x i8] c"lerp\00"
|
|
@.str826 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str827 = private unnamed_addr constant [13 x i8] c"inverse_lerp\00"
|
|
@.str828 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str829 = private unnamed_addr constant [5 x i8] c"sqrt\00"
|
|
@.str830 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
|
|
@.str831 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str832 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str833 = private unnamed_addr constant [4 x i8] c"sin\00"
|
|
@.str834 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
|
|
@.str835 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str836 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str837 = private unnamed_addr constant [4 x i8] c"cos\00"
|
|
@.str838 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str839 = private unnamed_addr constant [9 x i8] c", 102944\00"
|
|
@.str840 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
|
|
@.str841 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str842 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str843 = private unnamed_addr constant [4 x i8] c"tan\00"
|
|
@.str844 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
|
|
@.str845 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str846 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str847 = private unnamed_addr constant [9 x i8] c", 102944\00"
|
|
@.str848 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
|
|
@.str849 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str850 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str851 = private unnamed_addr constant [6 x i8] c"atan2\00"
|
|
@.str852 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00"
|
|
@.str853 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str854 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str855 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str856 = private unnamed_addr constant [5 x i8] c"asin\00"
|
|
@.str857 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00"
|
|
@.str858 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
|
|
@.str859 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str860 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00"
|
|
@.str861 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str862 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str863 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str864 = private unnamed_addr constant [5 x i8] c"acos\00"
|
|
@.str865 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00"
|
|
@.str866 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
|
|
@.str867 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str868 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00"
|
|
@.str869 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str870 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str871 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str872 = private unnamed_addr constant [6 x i8] c"hypot\00"
|
|
@.str873 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str874 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str875 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
|
|
@.str876 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str877 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str878 = private unnamed_addr constant [6 x i8] c"dist2\00"
|
|
@.str879 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str880 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str881 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str882 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str883 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str884 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str885 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str886 = private unnamed_addr constant [5 x i8] c"dist\00"
|
|
@.str887 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str888 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str889 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str890 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str891 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str892 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str893 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
|
|
@.str894 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str895 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str896 = private unnamed_addr constant [4 x i8] c"exp\00"
|
|
@.str897 = private unnamed_addr constant [6 x i8] c"94548\00"
|
|
@.str898 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_exp2(i32 \00"
|
|
@.str899 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str900 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str901 = private unnamed_addr constant [4 x i8] c"log\00"
|
|
@.str902 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_log2(i32 \00"
|
|
@.str903 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str904 = private unnamed_addr constant [6 x i8] c"45426\00"
|
|
@.str905 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str906 = private unnamed_addr constant [4 x i8] c"pow\00"
|
|
@.str907 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_log2(i32 \00"
|
|
@.str908 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str909 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_exp2(i32 \00"
|
|
@.str910 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str911 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str912 = private unnamed_addr constant [11 x i8] c"deg_to_rad\00"
|
|
@.str913 = private unnamed_addr constant [5 x i8] c"1144\00"
|
|
@.str914 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str915 = private unnamed_addr constant [11 x i8] c"rad_to_deg\00"
|
|
@.str916 = private unnamed_addr constant [8 x i8] c"3754936\00"
|
|
@.str917 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str918 = private unnamed_addr constant [7 x i8] c"posmod\00"
|
|
@.str919 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str920 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str921 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str922 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str923 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str924 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str925 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str926 = private unnamed_addr constant [5 x i8] c"wrap\00"
|
|
@.str927 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str928 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str929 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str930 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str931 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str932 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str933 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str934 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str935 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str936 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str937 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str938 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str939 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str940 = private unnamed_addr constant [10 x i8] c"ping_pong\00"
|
|
@.str941 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str942 = private unnamed_addr constant [4 x i8] c", 2\00"
|
|
@.str943 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str944 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str945 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str946 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str947 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str948 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str949 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str950 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str951 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
|
|
@.str952 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str953 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str954 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str955 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str956 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str957 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str958 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str959 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str960 = private unnamed_addr constant [8 x i8] c"snapped\00"
|
|
@.str961 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str962 = private unnamed_addr constant [8 x i8] c", 32768\00"
|
|
@.str963 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str964 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str965 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str966 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str967 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str968 = private unnamed_addr constant [12 x i8] c"move_toward\00"
|
|
@.str969 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str970 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str971 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
|
|
@.str972 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str973 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str974 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str975 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str976 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str977 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
|
|
@.str978 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str979 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str980 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str981 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str982 = private unnamed_addr constant [16 x i8] c", i32 -1, i32 0\00"
|
|
@.str983 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str984 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
|
|
@.str985 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str986 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str987 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str988 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str989 = private unnamed_addr constant [14 x i8] c"icmp sle i32 \00"
|
|
@.str990 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str991 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str992 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str993 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str994 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str995 = private unnamed_addr constant [11 x i8] c"smoothstep\00"
|
|
@.str996 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str997 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str998 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str999 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str1000 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
|
|
@.str1001 = private unnamed_addr constant [8 x i8] c", 65536\00"
|
|
@.str1002 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str1003 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00"
|
|
@.str1004 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str1005 = private unnamed_addr constant [4 x i8] c", 2\00"
|
|
@.str1006 = private unnamed_addr constant [17 x i8] c"sub i32 196608, \00"
|
|
@.str1007 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str1008 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str1009 = private unnamed_addr constant [2968 x i8] c"@L_sin_tab = private unnamed_addr constant [256 x i32] [i32 0, i32 1608, i32 3216, i32 4821, i32 6424, i32 8022, i32 9616, i32 11204, i32 12785, i32 14359, i32 15924, i32 17479, i32 19024, i32 20557, i32 22078, i32 23586, i32 25080, i32 26558, i32 28020, i32 29466, i32 30893, i32 32303, i32 33692, i32 35062, i32 36410, i32 37736, i32 39040, i32 40320, i32 41576, i32 42806, i32 44011, i32 45190, i32 46341, i32 47464, i32 48559, i32 49624, i32 50660, i32 51665, i32 52639, i32 53581, i32 54491, i32 55368, i32 56212, i32 57022, i32 57798, i32 58538, i32 59244, i32 59914, i32 60547, i32 61145, i32 61705, i32 62228, i32 62714, i32 63162, i32 63572, i32 63944, i32 64277, i32 64571, i32 64827, i32 65043, i32 65220, i32 65358, i32 65457, i32 65516, i32 65536, i32 65516, i32 65457, i32 65358, i32 65220, i32 65043, i32 64827, i32 64571, i32 64277, i32 63944, i32 63572, i32 63162, i32 62714, i32 62228, i32 61705, i32 61145, i32 60547, i32 59914, i32 59244, i32 58538, i32 57798, i32 57022, i32 56212, i32 55368, i32 54491, i32 53581, i32 52639, i32 51665, i32 50660, i32 49624, i32 48559, i32 47464, i32 46341, i32 45190, i32 44011, i32 42806, i32 41576, i32 40320, i32 39040, i32 37736, i32 36410, i32 35062, i32 33692, i32 32303, i32 30893, i32 29466, i32 28020, i32 26558, i32 25080, i32 23586, i32 22078, i32 20557, i32 19024, i32 17479, i32 15924, i32 14359, i32 12785, i32 11204, i32 9616, i32 8022, i32 6424, i32 4821, i32 3216, i32 1608, i32 0, i32 -1608, i32 -3216, i32 -4821, i32 -6424, i32 -8022, i32 -9616, i32 -11204, i32 -12785, i32 -14359, i32 -15924, i32 -17479, i32 -19024, i32 -20557, i32 -22078, i32 -23586, i32 -25080, i32 -26558, i32 -28020, i32 -29466, i32 -30893, i32 -32303, i32 -33692, i32 -35062, i32 -36410, i32 -37736, i32 -39040, i32 -40320, i32 -41576, i32 -42806, i32 -44011, i32 -45190, i32 -46341, i32 -47464, i32 -48559, i32 -49624, i32 -50660, i32 -51665, i32 -52639, i32 -53581, i32 -54491, i32 -55368, i32 -56212, i32 -57022, i32 -57798, i32 -58538, i32 -59244, i32 -59914, i32 -60547, i32 -61145, i32 -61705, i32 -62228, i32 -62714, i32 -63162, i32 -63572, i32 -63944, i32 -64277, i32 -64571, i32 -64827, i32 -65043, i32 -65220, i32 -65358, i32 -65457, i32 -65516, i32 -65536, i32 -65516, i32 -65457, i32 -65358, i32 -65220, i32 -65043, i32 -64827, i32 -64571, i32 -64277, i32 -63944, i32 -63572, i32 -63162, i32 -62714, i32 -62228, i32 -61705, i32 -61145, i32 -60547, i32 -59914, i32 -59244, i32 -58538, i32 -57798, i32 -57022, i32 -56212, i32 -55368, i32 -54491, i32 -53581, i32 -52639, i32 -51665, i32 -50660, i32 -49624, i32 -48559, i32 -47464, i32 -46341, i32 -45190, i32 -44011, i32 -42806, i32 -41576, i32 -40320, i32 -39040, i32 -37736, i32 -36410, i32 -35062, i32 -33692, i32 -32303, i32 -30893, i32 -29466, i32 -28020, i32 -26558, i32 -25080, i32 -23586, i32 -22078, i32 -20557, i32 -19024, i32 -17479, i32 -15924, i32 -14359, i32 -12785, i32 -11204, i32 -9616, i32 -8022, i32 -6424, i32 -4821, i32 -3216, i32 -1608]\0A\00"
|
|
@.str1010 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fx_sqrt(i32 %x) {\0A\00"
|
|
@.str1011 = private unnamed_addr constant [73 x i8] c"entry:\0A %neg = icmp slt i32 %x, 0\0A br i1 %neg, label %ret0, label %go\0A\00"
|
|
@.str1012 = private unnamed_addr constant [19 x i8] c"ret0:\0A ret i32 0\0A\00"
|
|
@.str1013 = private unnamed_addr constant [58 x i8] c"go:\0A %x64 = sext i32 %x to i64\0A %n0 = shl i64 %x64, 16\0A\00"
|
|
@.str1014 = private unnamed_addr constant [58 x i8] c" %np = alloca i64\0A %rp = alloca i64\0A %bp = alloca i64\0A\00"
|
|
@.str1015 = private unnamed_addr constant [106 x i8] c" store i64 %n0, ptr %np\0A store i64 0, ptr %rp\0A store i64 4611686018427387904, ptr %bp\0A br label %adj\0A\00"
|
|
@.str1016 = private unnamed_addr constant [126 x i8] c"adj:\0A %b1 = load i64, ptr %bp\0A %n1 = load i64, ptr %np\0A %tb = icmp ugt i64 %b1, %n1\0A br i1 %tb, label %adjb, label %loop\0A\00"
|
|
@.str1017 = private unnamed_addr constant [72 x i8] c"adjb:\0A %b2 = lshr i64 %b1, 2\0A store i64 %b2, ptr %bp\0A br label %adj\0A\00"
|
|
@.str1018 = private unnamed_addr constant [98 x i8] c"loop:\0A %b3 = load i64, ptr %bp\0A %bz = icmp eq i64 %b3, 0\0A br i1 %bz, label %done, label %body\0A\00"
|
|
@.str1019 = private unnamed_addr constant [152 x i8] c"body:\0A %r1 = load i64, ptr %rp\0A %n2 = load i64, ptr %np\0A %rb = add i64 %r1, %b3\0A %ge = icmp uge i64 %n2, %rb\0A br i1 %ge, label %sub, label %shift\0A\00"
|
|
@.str1020 = private unnamed_addr constant [153 x i8] c"sub:\0A %n3 = sub i64 %n2, %rb\0A store i64 %n3, ptr %np\0A %rsh = lshr i64 %r1, 1\0A %rnew = add i64 %rsh, %b3\0A store i64 %rnew, ptr %rp\0A br label %next\0A\00"
|
|
@.str1021 = private unnamed_addr constant [78 x i8] c"shift:\0A %rsh2 = lshr i64 %r1, 1\0A store i64 %rsh2, ptr %rp\0A br label %next\0A\00"
|
|
@.str1022 = private unnamed_addr constant [73 x i8] c"next:\0A %b4 = lshr i64 %b3, 2\0A store i64 %b4, ptr %bp\0A br label %loop\0A\00"
|
|
@.str1023 = private unnamed_addr constant [80 x i8] c"done:\0A %rf = load i64, ptr %rp\0A %r32 = trunc i64 %rf to i32\0A ret i32 %r32\0A}\0A\00"
|
|
@.str1024 = private unnamed_addr constant [33 x i8] c"define i32 @fn_fx_sin(i32 %x) {\0A\00"
|
|
@.str1025 = private unnamed_addr constant [82 x i8] c" %xe = sext i32 %x to i64\0A %m = mul i64 %xe, 2670177\0A %idxf = ashr i64 %m, 16\0A\00"
|
|
@.str1026 = private unnamed_addr constant [85 x i8] c" %i0 = ashr i64 %idxf, 16\0A %i0m = and i64 %i0, 255\0A %frac = and i64 %idxf, 65535\0A\00"
|
|
@.str1027 = private unnamed_addr constant [51 x i8] c" %i1 = add i64 %i0m, 1\0A %i1m = and i64 %i1, 255\0A\00"
|
|
@.str1028 = private unnamed_addr constant [94 x i8] c" %p0 = getelementptr [256 x i32], ptr @L_sin_tab, i64 0, i64 %i0m\0A %v0 = load i32, ptr %p0\0A\00"
|
|
@.str1029 = private unnamed_addr constant [94 x i8] c" %p1 = getelementptr [256 x i32], ptr @L_sin_tab, i64 0, i64 %i1m\0A %v1 = load i32, ptr %p1\0A\00"
|
|
@.str1030 = private unnamed_addr constant [184 x i8] c" %d = sub i32 %v1, %v0\0A %de = sext i32 %d to i64\0A %dm = mul i64 %de, %frac\0A %dsh = ashr i64 %dm, 16\0A %dsh32 = trunc i64 %dsh to i32\0A %res = add i32 %v0, %dsh32\0A ret i32 %res\0A}\0A\00"
|
|
@.str1031 = private unnamed_addr constant [43 x i8] c"define i32 @fn_fx_atan2(i32 %y, i32 %x) {\0A\00"
|
|
@.str1032 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1033 = private unnamed_addr constant [27 x i8] c" %xz = icmp eq i32 %x, 0\0A\00"
|
|
@.str1034 = private unnamed_addr constant [27 x i8] c" %yz = icmp eq i32 %y, 0\0A\00"
|
|
@.str1035 = private unnamed_addr constant [28 x i8] c" %both0 = and i1 %xz, %yz\0A\00"
|
|
@.str1036 = private unnamed_addr constant [37 x i8] c" br i1 %both0, label %z, label %go\0A\00"
|
|
@.str1037 = private unnamed_addr constant [4 x i8] c"z:\0A\00"
|
|
@.str1038 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00"
|
|
@.str1039 = private unnamed_addr constant [5 x i8] c"go:\0A\00"
|
|
@.str1040 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00"
|
|
@.str1041 = private unnamed_addr constant [24 x i8] c" %yng = sub i32 0, %y\0A\00"
|
|
@.str1042 = private unnamed_addr constant [44 x i8] c" %ay0 = select i1 %yneg, i32 %yng, i32 %y\0A\00"
|
|
@.str1043 = private unnamed_addr constant [25 x i8] c" %ay = add i32 %ay0, 1\0A\00"
|
|
@.str1044 = private unnamed_addr constant [30 x i8] c" %xpos = icmp sge i32 %x, 0\0A\00"
|
|
@.str1045 = private unnamed_addr constant [37 x i8] c" br i1 %xpos, label %xp, label %xn\0A\00"
|
|
@.str1046 = private unnamed_addr constant [5 x i8] c"xp:\0A\00"
|
|
@.str1047 = private unnamed_addr constant [25 x i8] c" %n1 = sub i32 %x, %ay\0A\00"
|
|
@.str1048 = private unnamed_addr constant [25 x i8] c" %d1 = add i32 %x, %ay\0A\00"
|
|
@.str1049 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00"
|
|
@.str1050 = private unnamed_addr constant [5 x i8] c"xn:\0A\00"
|
|
@.str1051 = private unnamed_addr constant [25 x i8] c" %n2 = add i32 %x, %ay\0A\00"
|
|
@.str1052 = private unnamed_addr constant [25 x i8] c" %d2 = sub i32 %ay, %x\0A\00"
|
|
@.str1053 = private unnamed_addr constant [16 x i8] c" br label %dv\0A\00"
|
|
@.str1054 = private unnamed_addr constant [5 x i8] c"dv:\0A\00"
|
|
@.str1055 = private unnamed_addr constant [45 x i8] c" %num = phi i32 [ %n1, %xp ], [ %n2, %xn ]\0A\00"
|
|
@.str1056 = private unnamed_addr constant [45 x i8] c" %den = phi i32 [ %d1, %xp ], [ %d2, %xn ]\0A\00"
|
|
@.str1057 = private unnamed_addr constant [51 x i8] c" %base = phi i32 [ 51472, %xp ], [ 154416, %xn ]\0A\00"
|
|
@.str1058 = private unnamed_addr constant [31 x i8] c" %n64 = sext i32 %num to i64\0A\00"
|
|
@.str1059 = private unnamed_addr constant [27 x i8] c" %nsh = shl i64 %n64, 16\0A\00"
|
|
@.str1060 = private unnamed_addr constant [31 x i8] c" %d64 = sext i32 %den to i64\0A\00"
|
|
@.str1061 = private unnamed_addr constant [30 x i8] c" %rdv = sdiv i64 %nsh, %d64\0A\00"
|
|
@.str1062 = private unnamed_addr constant [30 x i8] c" %r = trunc i64 %rdv to i32\0A\00"
|
|
@.str1063 = private unnamed_addr constant [30 x i8] c" %r64a = sext i32 %r to i64\0A\00"
|
|
@.str1064 = private unnamed_addr constant [30 x i8] c" %r64b = sext i32 %r to i64\0A\00"
|
|
@.str1065 = private unnamed_addr constant [30 x i8] c" %rr = mul i64 %r64a, %r64b\0A\00"
|
|
@.str1066 = private unnamed_addr constant [27 x i8] c" %rrs = ashr i64 %rr, 16\0A\00"
|
|
@.str1067 = private unnamed_addr constant [31 x i8] c" %r2 = trunc i64 %rrs to i32\0A\00"
|
|
@.str1068 = private unnamed_addr constant [30 x i8] c" %r2e = sext i32 %r2 to i64\0A\00"
|
|
@.str1069 = private unnamed_addr constant [28 x i8] c" %re = sext i32 %r to i64\0A\00"
|
|
@.str1070 = private unnamed_addr constant [28 x i8] c" %r3m = mul i64 %r2e, %re\0A\00"
|
|
@.str1071 = private unnamed_addr constant [28 x i8] c" %r3s = ashr i64 %r3m, 16\0A\00"
|
|
@.str1072 = private unnamed_addr constant [31 x i8] c" %r3 = trunc i64 %r3s to i32\0A\00"
|
|
@.str1073 = private unnamed_addr constant [30 x i8] c" %r3e = sext i32 %r3 to i64\0A\00"
|
|
@.str1074 = private unnamed_addr constant [29 x i8] c" %c1 = mul i64 %r3e, 12865\0A\00"
|
|
@.str1075 = private unnamed_addr constant [27 x i8] c" %c1s = ashr i64 %c1, 16\0A\00"
|
|
@.str1076 = private unnamed_addr constant [31 x i8] c" %t1 = trunc i64 %c1s to i32\0A\00"
|
|
@.str1077 = private unnamed_addr constant [29 x i8] c" %re2 = sext i32 %r to i64\0A\00"
|
|
@.str1078 = private unnamed_addr constant [29 x i8] c" %c2 = mul i64 %re2, 64337\0A\00"
|
|
@.str1079 = private unnamed_addr constant [27 x i8] c" %c2s = ashr i64 %c2, 16\0A\00"
|
|
@.str1080 = private unnamed_addr constant [31 x i8] c" %t2 = trunc i64 %c2s to i32\0A\00"
|
|
@.str1081 = private unnamed_addr constant [28 x i8] c" %poly = sub i32 %t1, %t2\0A\00"
|
|
@.str1082 = private unnamed_addr constant [33 x i8] c" %angle = add i32 %poly, %base\0A\00"
|
|
@.str1083 = private unnamed_addr constant [31 x i8] c" %angneg = sub i32 0, %angle\0A\00"
|
|
@.str1084 = private unnamed_addr constant [51 x i8] c" %res = select i1 %yneg, i32 %angneg, i32 %angle\0A\00"
|
|
@.str1085 = private unnamed_addr constant [16 x i8] c" ret i32 %res\0A\00"
|
|
@.str1086 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1087 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fx_exp2(i32 %x) {\0A\00"
|
|
@.str1088 = private unnamed_addr constant [76 x i8] c" %i = ashr i32 %x, 16\0A %f = and i32 %x, 65535\0A %fe = sext i32 %f to i64\0A\00"
|
|
@.str1089 = private unnamed_addr constant [75 x i8] c" %m5 = mul i64 %fe, 87\0A %s5 = ashr i64 %m5, 16\0A %p5 = add i64 %s5, 630\0A\00"
|
|
@.str1090 = private unnamed_addr constant [77 x i8] c" %m4 = mul i64 %fe, %p5\0A %s4 = ashr i64 %m4, 16\0A %p4 = add i64 %s4, 3638\0A\00"
|
|
@.str1091 = private unnamed_addr constant [78 x i8] c" %m3 = mul i64 %fe, %p4\0A %s3 = ashr i64 %m3, 16\0A %p3 = add i64 %s3, 15744\0A\00"
|
|
@.str1092 = private unnamed_addr constant [78 x i8] c" %m2 = mul i64 %fe, %p3\0A %s2 = ashr i64 %m2, 16\0A %p2 = add i64 %s2, 45426\0A\00"
|
|
@.str1093 = private unnamed_addr constant [78 x i8] c" %m1 = mul i64 %fe, %p2\0A %s1 = ashr i64 %m1, 16\0A %p1 = add i64 %s1, 65536\0A\00"
|
|
@.str1094 = private unnamed_addr constant [29 x i8] c" %p = trunc i64 %p1 to i32\0A\00"
|
|
@.str1095 = private unnamed_addr constant [30 x i8] c" %ipos = icmp sge i32 %i, 0\0A\00"
|
|
@.str1096 = private unnamed_addr constant [115 x i8] c" %sa0 = select i1 %ipos, i32 %i, i32 0\0A %sahi = icmp sgt i32 %sa0, 30\0A %sa = select i1 %sahi, i32 30, i32 %sa0\0A\00"
|
|
@.str1097 = private unnamed_addr constant [26 x i8] c" %shl = shl i32 %p, %sa\0A\00"
|
|
@.str1098 = private unnamed_addr constant [138 x i8] c" %ni = sub i32 0, %i\0A %ra0 = select i1 %ipos, i32 0, i32 %ni\0A %rahi = icmp sgt i32 %ra0, 31\0A %ra = select i1 %rahi, i32 31, i32 %ra0\0A\00"
|
|
@.str1099 = private unnamed_addr constant [27 x i8] c" %shr = ashr i32 %p, %ra\0A\00"
|
|
@.str1100 = private unnamed_addr constant [63 x i8] c" %res = select i1 %ipos, i32 %shl, i32 %shr\0A ret i32 %res\0A}\0A\00"
|
|
@.str1101 = private unnamed_addr constant [37 x i8] c"declare i32 @llvm.ctlz.i32(i32, i1)\0A\00"
|
|
@.str1102 = private unnamed_addr constant [34 x i8] c"define i32 @fn_fx_log2(i32 %x) {\0A\00"
|
|
@.str1103 = private unnamed_addr constant [72 x i8] c"entry:\0A %pos = icmp sgt i32 %x, 0\0A br i1 %pos, label %go, label %neg\0A\00"
|
|
@.str1104 = private unnamed_addr constant [28 x i8] c"neg:\0A ret i32 -2147483648\0A\00"
|
|
@.str1105 = private unnamed_addr constant [80 x i8] c"go:\0A %lz = call i32 @llvm.ctlz.i32(i32 %x, i1 true)\0A %pmsb = sub i32 31, %lz\0A\00"
|
|
@.str1106 = private unnamed_addr constant [49 x i8] c" %e = sub i32 %pmsb, 16\0A %ef = shl i32 %e, 16\0A\00"
|
|
@.str1107 = private unnamed_addr constant [82 x i8] c" %sh = sub i32 16, %pmsb\0A %shpos = icmp sge i32 %sh, 0\0A %nsh = sub i32 0, %sh\0A\00"
|
|
@.str1108 = private unnamed_addr constant [93 x i8] c" %mL = shl i32 %x, %sh\0A %mR = ashr i32 %x, %nsh\0A %m = select i1 %shpos, i32 %mL, i32 %mR\0A\00"
|
|
@.str1109 = private unnamed_addr constant [55 x i8] c" %num = sub i32 %m, 65536\0A %den = add i32 %m, 65536\0A\00"
|
|
@.str1110 = private unnamed_addr constant [147 x i8] c" %n64 = sext i32 %num to i64\0A %nshl = shl i64 %n64, 16\0A %d64 = sext i32 %den to i64\0A %rdv = sdiv i64 %nshl, %d64\0A %r = trunc i64 %rdv to i32\0A\00"
|
|
@.str1111 = private unnamed_addr constant [78 x i8] c" %re = sext i32 %r to i64\0A %rr = mul i64 %re, %re\0A %r2 = ashr i64 %rr, 16\0A\00"
|
|
@.str1112 = private unnamed_addr constant [81 x i8] c" %c3 = mul i64 %r2, 9362\0A %c3s = ashr i64 %c3, 16\0A %q3 = add i64 %c3s, 13107\0A\00"
|
|
@.str1113 = private unnamed_addr constant [80 x i8] c" %c2 = mul i64 %r2, %q3\0A %c2s = ashr i64 %c2, 16\0A %q2 = add i64 %c2s, 21845\0A\00"
|
|
@.str1114 = private unnamed_addr constant [80 x i8] c" %c1 = mul i64 %r2, %q2\0A %c1s = ashr i64 %c1, 16\0A %q1 = add i64 %c1s, 65536\0A\00"
|
|
@.str1115 = private unnamed_addr constant [77 x i8] c" %rp = mul i64 %re, %q1\0A %rps = ashr i64 %rp, 16\0A %lnm = shl i64 %rps, 1\0A\00"
|
|
@.str1116 = private unnamed_addr constant [86 x i8] c" %lm = mul i64 %lnm, 94548\0A %lms = ashr i64 %lm, 16\0A %l2m = trunc i64 %lms to i32\0A\00"
|
|
@.str1117 = private unnamed_addr constant [45 x i8] c" %res = add i32 %ef, %l2m\0A ret i32 %res\0A}\0A\00"
|
|
@.str1118 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str1119 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str1120 = private unnamed_addr constant [9 x i8] c"shl i64 \00"
|
|
@.str1121 = private unnamed_addr constant [5 x i8] c", 32\00"
|
|
@.str1122 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str1123 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str1124 = private unnamed_addr constant [8 x i8] c"or i64 \00"
|
|
@.str1125 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1126 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
|
|
@.str1127 = private unnamed_addr constant [5 x i8] c", 32\00"
|
|
@.str1128 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str1129 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str1130 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str1131 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str1132 = private unnamed_addr constant [5 x i8] c"make\00"
|
|
@.str1133 = private unnamed_addr constant [5 x i8] c"zero\00"
|
|
@.str1134 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str1135 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str1136 = private unnamed_addr constant [4 x i8] c"add\00"
|
|
@.str1137 = private unnamed_addr constant [4 x i8] c"sub\00"
|
|
@.str1138 = private unnamed_addr constant [6 x i8] c"scale\00"
|
|
@.str1139 = private unnamed_addr constant [4 x i8] c"dot\00"
|
|
@.str1140 = private unnamed_addr constant [7 x i8] c"length\00"
|
|
@.str1141 = private unnamed_addr constant [9 x i8] c"distance\00"
|
|
@.str1142 = private unnamed_addr constant [10 x i8] c"normalize\00"
|
|
@.str1143 = private unnamed_addr constant [5 x i8] c"lerp\00"
|
|
@.str1144 = private unnamed_addr constant [7 x i8] c"rotate\00"
|
|
@.str1145 = private unnamed_addr constant [6 x i8] c"angle\00"
|
|
@.str1146 = private unnamed_addr constant [11 x i8] c"from_angle\00"
|
|
@.str1147 = private unnamed_addr constant [5 x i8] c"zero\00"
|
|
@.str1148 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str1149 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str1150 = private unnamed_addr constant [5 x i8] c"make\00"
|
|
@.str1151 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str1152 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str1153 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str1154 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str1155 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str1156 = private unnamed_addr constant [4 x i8] c"add\00"
|
|
@.str1157 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1158 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1159 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1160 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1161 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str1162 = private unnamed_addr constant [4 x i8] c"sub\00"
|
|
@.str1163 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str1164 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1165 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str1166 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1167 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str1168 = private unnamed_addr constant [6 x i8] c"scale\00"
|
|
@.str1169 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str1170 = private unnamed_addr constant [4 x i8] c"dot\00"
|
|
@.str1171 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1172 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1173 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str1174 = private unnamed_addr constant [7 x i8] c"length\00"
|
|
@.str1175 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1176 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1177 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
|
|
@.str1178 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1179 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str1180 = private unnamed_addr constant [9 x i8] c"distance\00"
|
|
@.str1181 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str1182 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1183 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str1184 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1185 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1186 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1187 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
|
|
@.str1188 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1189 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str1190 = private unnamed_addr constant [10 x i8] c"normalize\00"
|
|
@.str1191 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1192 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1193 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_sqrt(i32 \00"
|
|
@.str1194 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1195 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str1196 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str1197 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str1198 = private unnamed_addr constant [18 x i8] c", i32 65536, i32 \00"
|
|
@.str1199 = private unnamed_addr constant [6 x i8] c"65536\00"
|
|
@.str1200 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str1201 = private unnamed_addr constant [7 x i8] c"rotate\00"
|
|
@.str1202 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
|
|
@.str1203 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1204 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1205 = private unnamed_addr constant [9 x i8] c", 102944\00"
|
|
@.str1206 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
|
|
@.str1207 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1208 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str1209 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1210 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1211 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1212 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str1213 = private unnamed_addr constant [6 x i8] c"angle\00"
|
|
@.str1214 = private unnamed_addr constant [27 x i8] c"call i32 @fn_fx_atan2(i32 \00"
|
|
@.str1215 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1216 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1217 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str1218 = private unnamed_addr constant [11 x i8] c"from_angle\00"
|
|
@.str1219 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
|
|
@.str1220 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1221 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1222 = private unnamed_addr constant [9 x i8] c", 102944\00"
|
|
@.str1223 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
|
|
@.str1224 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1225 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str1226 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str1227 = private unnamed_addr constant [7 x i8] c"length\00"
|
|
@.str1228 = private unnamed_addr constant [8 x i8] c"char_at\00"
|
|
@.str1229 = private unnamed_addr constant [6 x i8] c"slice\00"
|
|
@.str1230 = private unnamed_addr constant [7 x i8] c"equals\00"
|
|
@.str1231 = private unnamed_addr constant [7 x i8] c"concat\00"
|
|
@.str1232 = private unnamed_addr constant [7 x i8] c"to_int\00"
|
|
@.str1233 = private unnamed_addr constant [9 x i8] c"from_int\00"
|
|
@.str1234 = private unnamed_addr constant [12 x i8] c"starts_with\00"
|
|
@.str1235 = private unnamed_addr constant [10 x i8] c"ends_with\00"
|
|
@.str1236 = private unnamed_addr constant [9 x i8] c"contains\00"
|
|
@.str1237 = private unnamed_addr constant [9 x i8] c"index_of\00"
|
|
@.str1238 = private unnamed_addr constant [6 x i8] c"upper\00"
|
|
@.str1239 = private unnamed_addr constant [6 x i8] c"lower\00"
|
|
@.str1240 = private unnamed_addr constant [5 x i8] c"trim\00"
|
|
@.str1241 = private unnamed_addr constant [7 x i8] c"repeat\00"
|
|
@.str1242 = private unnamed_addr constant [9 x i8] c"pad_left\00"
|
|
@.str1243 = private unnamed_addr constant [10 x i8] c"pad_right\00"
|
|
@.str1244 = private unnamed_addr constant [6 x i8] c"split\00"
|
|
@.str1245 = private unnamed_addr constant [5 x i8] c"join\00"
|
|
@.str1246 = private unnamed_addr constant [8 x i8] c"replace\00"
|
|
@.str1247 = private unnamed_addr constant [9 x i8] c"from_int\00"
|
|
@.str1248 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00"
|
|
@.str1249 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1250 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1251 = private unnamed_addr constant [6 x i8] c"slice\00"
|
|
@.str1252 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_slice(ptr \00"
|
|
@.str1253 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1254 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1255 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1256 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1257 = private unnamed_addr constant [7 x i8] c"equals\00"
|
|
@.str1258 = private unnamed_addr constant [25 x i8] c"call i32 @fn_str_eq(ptr \00"
|
|
@.str1259 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1260 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1261 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str1262 = private unnamed_addr constant [7 x i8] c"concat\00"
|
|
@.str1263 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00"
|
|
@.str1264 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1265 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1266 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1267 = private unnamed_addr constant [7 x i8] c"length\00"
|
|
@.str1268 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
|
|
@.str1269 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1270 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str1271 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str1272 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str1273 = private unnamed_addr constant [8 x i8] c"char_at\00"
|
|
@.str1274 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
|
|
@.str1275 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1276 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
|
|
@.str1277 = private unnamed_addr constant [9 x i8] c"zext i8 \00"
|
|
@.str1278 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str1279 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str1280 = private unnamed_addr constant [7 x i8] c"to_int\00"
|
|
@.str1281 = private unnamed_addr constant [20 x i8] c"call i32 @atoi(ptr \00"
|
|
@.str1282 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1283 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str1284 = private unnamed_addr constant [6 x i8] c"upper\00"
|
|
@.str1285 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_upper(ptr \00"
|
|
@.str1286 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1287 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1288 = private unnamed_addr constant [6 x i8] c"lower\00"
|
|
@.str1289 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_lower(ptr \00"
|
|
@.str1290 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1291 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1292 = private unnamed_addr constant [5 x i8] c"trim\00"
|
|
@.str1293 = private unnamed_addr constant [27 x i8] c"call ptr @fn_str_trim(ptr \00"
|
|
@.str1294 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1295 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1296 = private unnamed_addr constant [7 x i8] c"repeat\00"
|
|
@.str1297 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_repeat(ptr \00"
|
|
@.str1298 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1299 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1300 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1301 = private unnamed_addr constant [9 x i8] c"pad_left\00"
|
|
@.str1302 = private unnamed_addr constant [26 x i8] c"call ptr @fn_str_pad(ptr \00"
|
|
@.str1303 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1304 = private unnamed_addr constant [8 x i8] c", i1 1)\00"
|
|
@.str1305 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1306 = private unnamed_addr constant [10 x i8] c"pad_right\00"
|
|
@.str1307 = private unnamed_addr constant [26 x i8] c"call ptr @fn_str_pad(ptr \00"
|
|
@.str1308 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str1309 = private unnamed_addr constant [8 x i8] c", i1 0)\00"
|
|
@.str1310 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1311 = private unnamed_addr constant [8 x i8] c"replace\00"
|
|
@.str1312 = private unnamed_addr constant [30 x i8] c"call ptr @fn_str_replace(ptr \00"
|
|
@.str1313 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1314 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1315 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1316 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1317 = private unnamed_addr constant [6 x i8] c"split\00"
|
|
@.str1318 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_split(ptr \00"
|
|
@.str1319 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1320 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1321 = private unnamed_addr constant [9 x i8] c"[]string\00"
|
|
@.str1322 = private unnamed_addr constant [5 x i8] c"join\00"
|
|
@.str1323 = private unnamed_addr constant [27 x i8] c"call ptr @fn_str_join(ptr \00"
|
|
@.str1324 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1325 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1326 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1327 = private unnamed_addr constant [9 x i8] c"contains\00"
|
|
@.str1328 = private unnamed_addr constant [9 x i8] c"index_of\00"
|
|
@.str1329 = private unnamed_addr constant [22 x i8] c"call ptr @strstr(ptr \00"
|
|
@.str1330 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1331 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1332 = private unnamed_addr constant [9 x i8] c"contains\00"
|
|
@.str1333 = private unnamed_addr constant [13 x i8] c"icmp ne ptr \00"
|
|
@.str1334 = private unnamed_addr constant [7 x i8] c", null\00"
|
|
@.str1335 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str1336 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str1337 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str1338 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00"
|
|
@.str1339 = private unnamed_addr constant [7 x i8] c", null\00"
|
|
@.str1340 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00"
|
|
@.str1341 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str1342 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00"
|
|
@.str1343 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str1344 = private unnamed_addr constant [9 x i8] c"sub i64 \00"
|
|
@.str1345 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1346 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str1347 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str1348 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str1349 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00"
|
|
@.str1350 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str1351 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
|
|
@.str1352 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1353 = private unnamed_addr constant [12 x i8] c"starts_with\00"
|
|
@.str1354 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00"
|
|
@.str1355 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1356 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str1357 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1358 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str1359 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str1360 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str1361 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str1362 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str1363 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
|
|
@.str1364 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1365 = private unnamed_addr constant [9 x i8] c"sub i64 \00"
|
|
@.str1366 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1367 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str1368 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str1369 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str1370 = private unnamed_addr constant [14 x i8] c"icmp slt i64 \00"
|
|
@.str1371 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str1372 = private unnamed_addr constant [7 x i8] c"ew_cmp\00"
|
|
@.str1373 = private unnamed_addr constant [7 x i8] c"ew_end\00"
|
|
@.str1374 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str1375 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str1376 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str1377 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str1378 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str1379 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
|
|
@.str1380 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str1381 = private unnamed_addr constant [23 x i8] c"call i32 @strncmp(ptr \00"
|
|
@.str1382 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1383 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str1384 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1385 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str1386 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str1387 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str1388 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str1389 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str1390 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str1391 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str1392 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str1393 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str1394 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str1395 = private unnamed_addr constant [36 x i8] c"define ptr @fn_str_upper(ptr %s) {\0A\00"
|
|
@.str1396 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1397 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00"
|
|
@.str1398 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00"
|
|
@.str1399 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
|
|
@.str1400 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
|
|
@.str1401 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
|
|
@.str1402 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1403 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
|
|
@.str1404 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
|
|
@.str1405 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00"
|
|
@.str1406 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00"
|
|
@.str1407 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
|
|
@.str1408 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00"
|
|
@.str1409 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00"
|
|
@.str1410 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 97\0A\00"
|
|
@.str1411 = private unnamed_addr constant [29 x i8] c" %le = icmp ule i8 %c, 122\0A\00"
|
|
@.str1412 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00"
|
|
@.str1413 = private unnamed_addr constant [24 x i8] c" %cc = add i8 %c, -32\0A\00"
|
|
@.str1414 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00"
|
|
@.str1415 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00"
|
|
@.str1416 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00"
|
|
@.str1417 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
|
|
@.str1418 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
|
|
@.str1419 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1420 = private unnamed_addr constant [6 x i8] c"fin:\0A\00"
|
|
@.str1421 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00"
|
|
@.str1422 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
|
|
@.str1423 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
|
|
@.str1424 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1425 = private unnamed_addr constant [36 x i8] c"define ptr @fn_str_lower(ptr %s) {\0A\00"
|
|
@.str1426 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1427 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00"
|
|
@.str1428 = private unnamed_addr constant [23 x i8] c" %sz = add i64 %n, 1\0A\00"
|
|
@.str1429 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
|
|
@.str1430 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
|
|
@.str1431 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
|
|
@.str1432 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1433 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
|
|
@.str1434 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
|
|
@.str1435 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00"
|
|
@.str1436 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00"
|
|
@.str1437 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
|
|
@.str1438 = private unnamed_addr constant [42 x i8] c" %sp = getelementptr i8, ptr %s, i64 %i\0A\00"
|
|
@.str1439 = private unnamed_addr constant [25 x i8] c" %c = load i8, ptr %sp\0A\00"
|
|
@.str1440 = private unnamed_addr constant [28 x i8] c" %ge = icmp uge i8 %c, 65\0A\00"
|
|
@.str1441 = private unnamed_addr constant [28 x i8] c" %le = icmp ule i8 %c, 90\0A\00"
|
|
@.str1442 = private unnamed_addr constant [25 x i8] c" %in = and i1 %ge, %le\0A\00"
|
|
@.str1443 = private unnamed_addr constant [23 x i8] c" %cc = add i8 %c, 32\0A\00"
|
|
@.str1444 = private unnamed_addr constant [38 x i8] c" %oc = select i1 %in, i8 %cc, i8 %c\0A\00"
|
|
@.str1445 = private unnamed_addr constant [44 x i8] c" %op = getelementptr i8, ptr %out, i64 %i\0A\00"
|
|
@.str1446 = private unnamed_addr constant [25 x i8] c" store i8 %oc, ptr %op\0A\00"
|
|
@.str1447 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
|
|
@.str1448 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
|
|
@.str1449 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1450 = private unnamed_addr constant [6 x i8] c"fin:\0A\00"
|
|
@.str1451 = private unnamed_addr constant [44 x i8] c" %tp = getelementptr i8, ptr %out, i64 %n\0A\00"
|
|
@.str1452 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
|
|
@.str1453 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
|
|
@.str1454 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1455 = private unnamed_addr constant [35 x i8] c"define ptr @fn_str_trim(ptr %s) {\0A\00"
|
|
@.str1456 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1457 = private unnamed_addr constant [33 x i8] c" %n = call i64 @strlen(ptr %s)\0A\00"
|
|
@.str1458 = private unnamed_addr constant [20 x i8] c" %sp = alloca i64\0A\00"
|
|
@.str1459 = private unnamed_addr constant [20 x i8] c" %ep = alloca i64\0A\00"
|
|
@.str1460 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %sp\0A\00"
|
|
@.str1461 = private unnamed_addr constant [25 x i8] c" store i64 %n, ptr %ep\0A\00"
|
|
@.str1462 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00"
|
|
@.str1463 = private unnamed_addr constant [8 x i8] c"lcond:\0A\00"
|
|
@.str1464 = private unnamed_addr constant [27 x i8] c" %a0 = load i64, ptr %sp\0A\00"
|
|
@.str1465 = private unnamed_addr constant [27 x i8] c" %e0 = load i64, ptr %ep\0A\00"
|
|
@.str1466 = private unnamed_addr constant [32 x i8] c" %lt0 = icmp ult i64 %a0, %e0\0A\00"
|
|
@.str1467 = private unnamed_addr constant [41 x i8] c" br i1 %lt0, label %lchk, label %rcond\0A\00"
|
|
@.str1468 = private unnamed_addr constant [7 x i8] c"lchk:\0A\00"
|
|
@.str1469 = private unnamed_addr constant [43 x i8] c" %p0 = getelementptr i8, ptr %s, i64 %a0\0A\00"
|
|
@.str1470 = private unnamed_addr constant [26 x i8] c" %c0 = load i8, ptr %p0\0A\00"
|
|
@.str1471 = private unnamed_addr constant [36 x i8] c" %ws0 = call i1 @fn_is_ws(i8 %c0)\0A\00"
|
|
@.str1472 = private unnamed_addr constant [41 x i8] c" br i1 %ws0, label %linc, label %rcond\0A\00"
|
|
@.str1473 = private unnamed_addr constant [7 x i8] c"linc:\0A\00"
|
|
@.str1474 = private unnamed_addr constant [24 x i8] c" %a1 = add i64 %a0, 1\0A\00"
|
|
@.str1475 = private unnamed_addr constant [26 x i8] c" store i64 %a1, ptr %sp\0A\00"
|
|
@.str1476 = private unnamed_addr constant [19 x i8] c" br label %lcond\0A\00"
|
|
@.str1477 = private unnamed_addr constant [8 x i8] c"rcond:\0A\00"
|
|
@.str1478 = private unnamed_addr constant [27 x i8] c" %a2 = load i64, ptr %sp\0A\00"
|
|
@.str1479 = private unnamed_addr constant [27 x i8] c" %e2 = load i64, ptr %ep\0A\00"
|
|
@.str1480 = private unnamed_addr constant [32 x i8] c" %lt2 = icmp ult i64 %a2, %e2\0A\00"
|
|
@.str1481 = private unnamed_addr constant [41 x i8] c" br i1 %lt2, label %rchk, label %build\0A\00"
|
|
@.str1482 = private unnamed_addr constant [7 x i8] c"rchk:\0A\00"
|
|
@.str1483 = private unnamed_addr constant [25 x i8] c" %em1 = sub i64 %e2, 1\0A\00"
|
|
@.str1484 = private unnamed_addr constant [44 x i8] c" %p1 = getelementptr i8, ptr %s, i64 %em1\0A\00"
|
|
@.str1485 = private unnamed_addr constant [26 x i8] c" %c1 = load i8, ptr %p1\0A\00"
|
|
@.str1486 = private unnamed_addr constant [36 x i8] c" %ws1 = call i1 @fn_is_ws(i8 %c1)\0A\00"
|
|
@.str1487 = private unnamed_addr constant [41 x i8] c" br i1 %ws1, label %rdec, label %build\0A\00"
|
|
@.str1488 = private unnamed_addr constant [7 x i8] c"rdec:\0A\00"
|
|
@.str1489 = private unnamed_addr constant [27 x i8] c" store i64 %em1, ptr %ep\0A\00"
|
|
@.str1490 = private unnamed_addr constant [19 x i8] c" br label %rcond\0A\00"
|
|
@.str1491 = private unnamed_addr constant [8 x i8] c"build:\0A\00"
|
|
@.str1492 = private unnamed_addr constant [27 x i8] c" %st = load i64, ptr %sp\0A\00"
|
|
@.str1493 = private unnamed_addr constant [27 x i8] c" %en = load i64, ptr %ep\0A\00"
|
|
@.str1494 = private unnamed_addr constant [27 x i8] c" %len = sub i64 %en, %st\0A\00"
|
|
@.str1495 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %len, 1\0A\00"
|
|
@.str1496 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
|
|
@.str1497 = private unnamed_addr constant [44 x i8] c" %src = getelementptr i8, ptr %s, i64 %st\0A\00"
|
|
@.str1498 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %out, ptr %src, i64 %len)\0A\00"
|
|
@.str1499 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %len\0A\00"
|
|
@.str1500 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
|
|
@.str1501 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
|
|
@.str1502 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1503 = private unnamed_addr constant [30 x i8] c"define i1 @fn_is_ws(i8 %c) {\0A\00"
|
|
@.str1504 = private unnamed_addr constant [26 x i8] c" %a = icmp eq i8 %c, 32\0A\00"
|
|
@.str1505 = private unnamed_addr constant [25 x i8] c" %b = icmp eq i8 %c, 9\0A\00"
|
|
@.str1506 = private unnamed_addr constant [26 x i8] c" %d = icmp eq i8 %c, 10\0A\00"
|
|
@.str1507 = private unnamed_addr constant [26 x i8] c" %e = icmp eq i8 %c, 13\0A\00"
|
|
@.str1508 = private unnamed_addr constant [22 x i8] c" %ab = or i1 %a, %b\0A\00"
|
|
@.str1509 = private unnamed_addr constant [22 x i8] c" %de = or i1 %d, %e\0A\00"
|
|
@.str1510 = private unnamed_addr constant [23 x i8] c" %r = or i1 %ab, %de\0A\00"
|
|
@.str1511 = private unnamed_addr constant [13 x i8] c" ret i1 %r\0A\00"
|
|
@.str1512 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1513 = private unnamed_addr constant [47 x i8] c"define ptr @fn_str_repeat(ptr %s, i32 %n32) {\0A\00"
|
|
@.str1514 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1515 = private unnamed_addr constant [32 x i8] c" %nneg = icmp slt i32 %n32, 0\0A\00"
|
|
@.str1516 = private unnamed_addr constant [42 x i8] c" %nn = select i1 %nneg, i32 0, i32 %n32\0A\00"
|
|
@.str1517 = private unnamed_addr constant [28 x i8] c" %n = zext i32 %nn to i64\0A\00"
|
|
@.str1518 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00"
|
|
@.str1519 = private unnamed_addr constant [25 x i8] c" %tot = mul i64 %L, %n\0A\00"
|
|
@.str1520 = private unnamed_addr constant [25 x i8] c" %sz = add i64 %tot, 1\0A\00"
|
|
@.str1521 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
|
|
@.str1522 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
|
|
@.str1523 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
|
|
@.str1524 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1525 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
|
|
@.str1526 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
|
|
@.str1527 = private unnamed_addr constant [28 x i8] c" %d = icmp ult i64 %i, %n\0A\00"
|
|
@.str1528 = private unnamed_addr constant [37 x i8] c" br i1 %d, label %body, label %fin\0A\00"
|
|
@.str1529 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
|
|
@.str1530 = private unnamed_addr constant [25 x i8] c" %off = mul i64 %i, %L\0A\00"
|
|
@.str1531 = private unnamed_addr constant [47 x i8] c" %dst = getelementptr i8, ptr %out, i64 %off\0A\00"
|
|
@.str1532 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %dst, ptr %s, i64 %L)\0A\00"
|
|
@.str1533 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
|
|
@.str1534 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
|
|
@.str1535 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1536 = private unnamed_addr constant [6 x i8] c"fin:\0A\00"
|
|
@.str1537 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %out, i64 %tot\0A\00"
|
|
@.str1538 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
|
|
@.str1539 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
|
|
@.str1540 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1541 = private unnamed_addr constant [54 x i8] c"define ptr @fn_str_pad(ptr %s, i32 %w32, i1 %left) {\0A\00"
|
|
@.str1542 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1543 = private unnamed_addr constant [33 x i8] c" %L = call i64 @strlen(ptr %s)\0A\00"
|
|
@.str1544 = private unnamed_addr constant [30 x i8] c" %w0 = sext i32 %w32 to i64\0A\00"
|
|
@.str1545 = private unnamed_addr constant [32 x i8] c" %need = icmp ugt i64 %w0, %L\0A\00"
|
|
@.str1546 = private unnamed_addr constant [39 x i8] c" br i1 %need, label %do, label %copy\0A\00"
|
|
@.str1547 = private unnamed_addr constant [7 x i8] c"copy:\0A\00"
|
|
@.str1548 = private unnamed_addr constant [24 x i8] c" %sz0 = add i64 %L, 1\0A\00"
|
|
@.str1549 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00"
|
|
@.str1550 = private unnamed_addr constant [23 x i8] c" %e0 = add i64 %L, 0\0A\00"
|
|
@.str1551 = private unnamed_addr constant [45 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %L)\0A\00"
|
|
@.str1552 = private unnamed_addr constant [43 x i8] c" %t0 = getelementptr i8, ptr %o0, i64 %L\0A\00"
|
|
@.str1553 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %t0\0A\00"
|
|
@.str1554 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00"
|
|
@.str1555 = private unnamed_addr constant [5 x i8] c"do:\0A\00"
|
|
@.str1556 = private unnamed_addr constant [26 x i8] c" %pad = sub i64 %w0, %L\0A\00"
|
|
@.str1557 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %w0, 1\0A\00"
|
|
@.str1558 = private unnamed_addr constant [36 x i8] c" %out = call ptr @malloc(i64 %sz)\0A\00"
|
|
@.str1559 = private unnamed_addr constant [48 x i8] c" br i1 %left, label %padleft, label %padright\0A\00"
|
|
@.str1560 = private unnamed_addr constant [10 x i8] c"padleft:\0A\00"
|
|
@.str1561 = private unnamed_addr constant [52 x i8] c" call void @fn_fill_sp(ptr %out, i64 0, i64 %pad)\0A\00"
|
|
@.str1562 = private unnamed_addr constant [48 x i8] c" %dstL = getelementptr i8, ptr %out, i64 %pad\0A\00"
|
|
@.str1563 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %dstL, ptr %s, i64 %L)\0A\00"
|
|
@.str1564 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00"
|
|
@.str1565 = private unnamed_addr constant [11 x i8] c"padright:\0A\00"
|
|
@.str1566 = private unnamed_addr constant [46 x i8] c" call ptr @memcpy(ptr %out, ptr %s, i64 %L)\0A\00"
|
|
@.str1567 = private unnamed_addr constant [53 x i8] c" call void @fn_fill_sp(ptr %out, i64 %L, i64 %pad)\0A\00"
|
|
@.str1568 = private unnamed_addr constant [18 x i8] c" br label %term\0A\00"
|
|
@.str1569 = private unnamed_addr constant [7 x i8] c"term:\0A\00"
|
|
@.str1570 = private unnamed_addr constant [45 x i8] c" %tp = getelementptr i8, ptr %out, i64 %w0\0A\00"
|
|
@.str1571 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
|
|
@.str1572 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
|
|
@.str1573 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1574 = private unnamed_addr constant [61 x i8] c"define void @fn_fill_sp(ptr %buf, i64 %start, i64 %count) {\0A\00"
|
|
@.str1575 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1576 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
|
|
@.str1577 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
|
|
@.str1578 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1579 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
|
|
@.str1580 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
|
|
@.str1581 = private unnamed_addr constant [32 x i8] c" %d = icmp ult i64 %i, %count\0A\00"
|
|
@.str1582 = private unnamed_addr constant [38 x i8] c" br i1 %d, label %body, label %done\0A\00"
|
|
@.str1583 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
|
|
@.str1584 = private unnamed_addr constant [29 x i8] c" %off = add i64 %start, %i\0A\00"
|
|
@.str1585 = private unnamed_addr constant [45 x i8] c" %p = getelementptr i8, ptr %buf, i64 %off\0A\00"
|
|
@.str1586 = private unnamed_addr constant [23 x i8] c" store i8 32, ptr %p\0A\00"
|
|
@.str1587 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
|
|
@.str1588 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
|
|
@.str1589 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1590 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
|
|
@.str1591 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
|
|
@.str1592 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1593 = private unnamed_addr constant [58 x i8] c"define ptr @fn_str_replace(ptr %s, ptr %from, ptr %to) {\0A\00"
|
|
@.str1594 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1595 = private unnamed_addr constant [37 x i8] c" %lf = call i64 @strlen(ptr %from)\0A\00"
|
|
@.str1596 = private unnamed_addr constant [28 x i8] c" %lz = icmp eq i64 %lf, 0\0A\00"
|
|
@.str1597 = private unnamed_addr constant [42 x i8] c" br i1 %lz, label %copyall, label %scan\0A\00"
|
|
@.str1598 = private unnamed_addr constant [10 x i8] c"copyall:\0A\00"
|
|
@.str1599 = private unnamed_addr constant [35 x i8] c" %ls0 = call i64 @strlen(ptr %s)\0A\00"
|
|
@.str1600 = private unnamed_addr constant [26 x i8] c" %sz0 = add i64 %ls0, 1\0A\00"
|
|
@.str1601 = private unnamed_addr constant [36 x i8] c" %o0 = call ptr @malloc(i64 %sz0)\0A\00"
|
|
@.str1602 = private unnamed_addr constant [47 x i8] c" call ptr @memcpy(ptr %o0, ptr %s, i64 %sz0)\0A\00"
|
|
@.str1603 = private unnamed_addr constant [15 x i8] c" ret ptr %o0\0A\00"
|
|
@.str1604 = private unnamed_addr constant [7 x i8] c"scan:\0A\00"
|
|
@.str1605 = private unnamed_addr constant [35 x i8] c" %lt = call i64 @strlen(ptr %to)\0A\00"
|
|
@.str1606 = private unnamed_addr constant [34 x i8] c" %ls = call i64 @strlen(ptr %s)\0A\00"
|
|
@.str1607 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00"
|
|
@.str1608 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %cntp\0A\00"
|
|
@.str1609 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00"
|
|
@.str1610 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00"
|
|
@.str1611 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
|
|
@.str1612 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00"
|
|
@.str1613 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00"
|
|
@.str1614 = private unnamed_addr constant [48 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %from)\0A\00"
|
|
@.str1615 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00"
|
|
@.str1616 = private unnamed_addr constant [44 x i8] c" br i1 %isnull, label %csize, label %cinc\0A\00"
|
|
@.str1617 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00"
|
|
@.str1618 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00"
|
|
@.str1619 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00"
|
|
@.str1620 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00"
|
|
@.str1621 = private unnamed_addr constant [46 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lf\0A\00"
|
|
@.str1622 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00"
|
|
@.str1623 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
|
|
@.str1624 = private unnamed_addr constant [8 x i8] c"csize:\0A\00"
|
|
@.str1625 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00"
|
|
@.str1626 = private unnamed_addr constant [29 x i8] c" %delta = sub i64 %lt, %lf\0A\00"
|
|
@.str1627 = private unnamed_addr constant [32 x i8] c" %grow = mul i64 %cnt, %delta\0A\00"
|
|
@.str1628 = private unnamed_addr constant [32 x i8] c" %newlen = add i64 %ls, %grow\0A\00"
|
|
@.str1629 = private unnamed_addr constant [29 x i8] c" %osz = add i64 %newlen, 1\0A\00"
|
|
@.str1630 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00"
|
|
@.str1631 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00"
|
|
@.str1632 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00"
|
|
@.str1633 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00"
|
|
@.str1634 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00"
|
|
@.str1635 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00"
|
|
@.str1636 = private unnamed_addr constant [8 x i8] c"bcond:\0A\00"
|
|
@.str1637 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00"
|
|
@.str1638 = private unnamed_addr constant [47 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %from)\0A\00"
|
|
@.str1639 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00"
|
|
@.str1640 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %tail, label %seg\0A\00"
|
|
@.str1641 = private unnamed_addr constant [6 x i8] c"seg:\0A\00"
|
|
@.str1642 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00"
|
|
@.str1643 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00"
|
|
@.str1644 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00"
|
|
@.str1645 = private unnamed_addr constant [31 x i8] c" %dst0 = load ptr, ptr %dstp\0A\00"
|
|
@.str1646 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst0, ptr %src, i64 %seglen)\0A\00"
|
|
@.str1647 = private unnamed_addr constant [52 x i8] c" %dst1 = getelementptr i8, ptr %dst0, i64 %seglen\0A\00"
|
|
@.str1648 = private unnamed_addr constant [49 x i8] c" call ptr @memcpy(ptr %dst1, ptr %to, i64 %lt)\0A\00"
|
|
@.str1649 = private unnamed_addr constant [48 x i8] c" %dst2 = getelementptr i8, ptr %dst1, i64 %lt\0A\00"
|
|
@.str1650 = private unnamed_addr constant [30 x i8] c" store ptr %dst2, ptr %dstp\0A\00"
|
|
@.str1651 = private unnamed_addr constant [46 x i8] c" %src2 = getelementptr i8, ptr %h2, i64 %lf\0A\00"
|
|
@.str1652 = private unnamed_addr constant [30 x i8] c" store ptr %src2, ptr %srcp\0A\00"
|
|
@.str1653 = private unnamed_addr constant [19 x i8] c" br label %bcond\0A\00"
|
|
@.str1654 = private unnamed_addr constant [7 x i8] c"tail:\0A\00"
|
|
@.str1655 = private unnamed_addr constant [31 x i8] c" %src3 = load ptr, ptr %srcp\0A\00"
|
|
@.str1656 = private unnamed_addr constant [38 x i8] c" %rem = call i64 @strlen(ptr %src3)\0A\00"
|
|
@.str1657 = private unnamed_addr constant [31 x i8] c" %dst3 = load ptr, ptr %dstp\0A\00"
|
|
@.str1658 = private unnamed_addr constant [28 x i8] c" %remp1 = add i64 %rem, 1\0A\00"
|
|
@.str1659 = private unnamed_addr constant [54 x i8] c" call ptr @memcpy(ptr %dst3, ptr %src3, i64 %remp1)\0A\00"
|
|
@.str1660 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
|
|
@.str1661 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1662 = private unnamed_addr constant [45 x i8] c"define ptr @fn_str_join(ptr %h, ptr %sep) {\0A\00"
|
|
@.str1663 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1664 = private unnamed_addr constant [62 x i8] c" %lp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 1\0A\00"
|
|
@.str1665 = private unnamed_addr constant [30 x i8] c" %len32 = load i32, ptr %lp\0A\00"
|
|
@.str1666 = private unnamed_addr constant [33 x i8] c" %len = sext i32 %len32 to i64\0A\00"
|
|
@.str1667 = private unnamed_addr constant [62 x i8] c" %dp = getelementptr inbounds %LSlice, ptr %h, i32 0, i32 0\0A\00"
|
|
@.str1668 = private unnamed_addr constant [29 x i8] c" %data = load ptr, ptr %dp\0A\00"
|
|
@.str1669 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00"
|
|
@.str1670 = private unnamed_addr constant [22 x i8] c" %totp = alloca i64\0A\00"
|
|
@.str1671 = private unnamed_addr constant [26 x i8] c" store i64 0, ptr %totp\0A\00"
|
|
@.str1672 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
|
|
@.str1673 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
|
|
@.str1674 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00"
|
|
@.str1675 = private unnamed_addr constant [8 x i8] c"scond:\0A\00"
|
|
@.str1676 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
|
|
@.str1677 = private unnamed_addr constant [30 x i8] c" %d = icmp ult i64 %i, %len\0A\00"
|
|
@.str1678 = private unnamed_addr constant [40 x i8] c" br i1 %d, label %sbody, label %alloc\0A\00"
|
|
@.str1679 = private unnamed_addr constant [8 x i8] c"sbody:\0A\00"
|
|
@.str1680 = private unnamed_addr constant [46 x i8] c" %ep = getelementptr ptr, ptr %data, i64 %i\0A\00"
|
|
@.str1681 = private unnamed_addr constant [27 x i8] c" %es = load ptr, ptr %ep\0A\00"
|
|
@.str1682 = private unnamed_addr constant [35 x i8] c" %el = call i64 @strlen(ptr %es)\0A\00"
|
|
@.str1683 = private unnamed_addr constant [29 x i8] c" %t0 = load i64, ptr %totp\0A\00"
|
|
@.str1684 = private unnamed_addr constant [26 x i8] c" %t1 = add i64 %t0, %el\0A\00"
|
|
@.str1685 = private unnamed_addr constant [28 x i8] c" store i64 %t1, ptr %totp\0A\00"
|
|
@.str1686 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
|
|
@.str1687 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
|
|
@.str1688 = private unnamed_addr constant [19 x i8] c" br label %scond\0A\00"
|
|
@.str1689 = private unnamed_addr constant [8 x i8] c"alloc:\0A\00"
|
|
@.str1690 = private unnamed_addr constant [30 x i8] c" %nz = icmp ugt i64 %len, 0\0A\00"
|
|
@.str1691 = private unnamed_addr constant [26 x i8] c" %lm1 = sub i64 %len, 1\0A\00"
|
|
@.str1692 = private unnamed_addr constant [31 x i8] c" %seps = mul i64 %lm1, %lsep\0A\00"
|
|
@.str1693 = private unnamed_addr constant [44 x i8] c" %sepsz = select i1 %nz, i64 %seps, i64 0\0A\00"
|
|
@.str1694 = private unnamed_addr constant [31 x i8] c" %tot0 = load i64, ptr %totp\0A\00"
|
|
@.str1695 = private unnamed_addr constant [32 x i8] c" %tot = add i64 %tot0, %sepsz\0A\00"
|
|
@.str1696 = private unnamed_addr constant [26 x i8] c" %osz = add i64 %tot, 1\0A\00"
|
|
@.str1697 = private unnamed_addr constant [37 x i8] c" %out = call ptr @malloc(i64 %osz)\0A\00"
|
|
@.str1698 = private unnamed_addr constant [22 x i8] c" %dstp = alloca ptr\0A\00"
|
|
@.str1699 = private unnamed_addr constant [29 x i8] c" store ptr %out, ptr %dstp\0A\00"
|
|
@.str1700 = private unnamed_addr constant [20 x i8] c" %jp = alloca i64\0A\00"
|
|
@.str1701 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %jp\0A\00"
|
|
@.str1702 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00"
|
|
@.str1703 = private unnamed_addr constant [8 x i8] c"jcond:\0A\00"
|
|
@.str1704 = private unnamed_addr constant [26 x i8] c" %j = load i64, ptr %jp\0A\00"
|
|
@.str1705 = private unnamed_addr constant [31 x i8] c" %d2 = icmp ult i64 %j, %len\0A\00"
|
|
@.str1706 = private unnamed_addr constant [40 x i8] c" br i1 %d2, label %jbody, label %jfin\0A\00"
|
|
@.str1707 = private unnamed_addr constant [8 x i8] c"jbody:\0A\00"
|
|
@.str1708 = private unnamed_addr constant [29 x i8] c" %jnz = icmp ugt i64 %j, 0\0A\00"
|
|
@.str1709 = private unnamed_addr constant [43 x i8] c" br i1 %jnz, label %putsep, label %putel\0A\00"
|
|
@.str1710 = private unnamed_addr constant [9 x i8] c"putsep:\0A\00"
|
|
@.str1711 = private unnamed_addr constant [30 x i8] c" %ds0 = load ptr, ptr %dstp\0A\00"
|
|
@.str1712 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %ds0, ptr %sep, i64 %lsep)\0A\00"
|
|
@.str1713 = private unnamed_addr constant [48 x i8] c" %ds1 = getelementptr i8, ptr %ds0, i64 %lsep\0A\00"
|
|
@.str1714 = private unnamed_addr constant [29 x i8] c" store ptr %ds1, ptr %dstp\0A\00"
|
|
@.str1715 = private unnamed_addr constant [19 x i8] c" br label %putel\0A\00"
|
|
@.str1716 = private unnamed_addr constant [8 x i8] c"putel:\0A\00"
|
|
@.str1717 = private unnamed_addr constant [47 x i8] c" %ep2 = getelementptr ptr, ptr %data, i64 %j\0A\00"
|
|
@.str1718 = private unnamed_addr constant [29 x i8] c" %es2 = load ptr, ptr %ep2\0A\00"
|
|
@.str1719 = private unnamed_addr constant [37 x i8] c" %el2 = call i64 @strlen(ptr %es2)\0A\00"
|
|
@.str1720 = private unnamed_addr constant [30 x i8] c" %ds2 = load ptr, ptr %dstp\0A\00"
|
|
@.str1721 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %ds2, ptr %es2, i64 %el2)\0A\00"
|
|
@.str1722 = private unnamed_addr constant [47 x i8] c" %ds3 = getelementptr i8, ptr %ds2, i64 %el2\0A\00"
|
|
@.str1723 = private unnamed_addr constant [29 x i8] c" store ptr %ds3, ptr %dstp\0A\00"
|
|
@.str1724 = private unnamed_addr constant [23 x i8] c" %j1 = add i64 %j, 1\0A\00"
|
|
@.str1725 = private unnamed_addr constant [26 x i8] c" store i64 %j1, ptr %jp\0A\00"
|
|
@.str1726 = private unnamed_addr constant [19 x i8] c" br label %jcond\0A\00"
|
|
@.str1727 = private unnamed_addr constant [7 x i8] c"jfin:\0A\00"
|
|
@.str1728 = private unnamed_addr constant [30 x i8] c" %dsf = load ptr, ptr %dstp\0A\00"
|
|
@.str1729 = private unnamed_addr constant [24 x i8] c" store i8 0, ptr %dsf\0A\00"
|
|
@.str1730 = private unnamed_addr constant [16 x i8] c" ret ptr %out\0A\00"
|
|
@.str1731 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1732 = private unnamed_addr constant [46 x i8] c"define ptr @fn_str_split(ptr %s, ptr %sep) {\0A\00"
|
|
@.str1733 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1734 = private unnamed_addr constant [38 x i8] c" %lsep = call i64 @strlen(ptr %sep)\0A\00"
|
|
@.str1735 = private unnamed_addr constant [22 x i8] c" %cntp = alloca i64\0A\00"
|
|
@.str1736 = private unnamed_addr constant [26 x i8] c" store i64 1, ptr %cntp\0A\00"
|
|
@.str1737 = private unnamed_addr constant [22 x i8] c" %curp = alloca ptr\0A\00"
|
|
@.str1738 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %curp\0A\00"
|
|
@.str1739 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
|
|
@.str1740 = private unnamed_addr constant [8 x i8] c"ccond:\0A\00"
|
|
@.str1741 = private unnamed_addr constant [30 x i8] c" %cur = load ptr, ptr %curp\0A\00"
|
|
@.str1742 = private unnamed_addr constant [47 x i8] c" %hit = call ptr @strstr(ptr %cur, ptr %sep)\0A\00"
|
|
@.str1743 = private unnamed_addr constant [36 x i8] c" %isnull = icmp eq ptr %hit, null\0A\00"
|
|
@.str1744 = private unnamed_addr constant [41 x i8] c" br i1 %isnull, label %mk, label %cinc\0A\00"
|
|
@.str1745 = private unnamed_addr constant [7 x i8] c"cinc:\0A\00"
|
|
@.str1746 = private unnamed_addr constant [29 x i8] c" %c0 = load i64, ptr %cntp\0A\00"
|
|
@.str1747 = private unnamed_addr constant [24 x i8] c" %c1 = add i64 %c0, 1\0A\00"
|
|
@.str1748 = private unnamed_addr constant [28 x i8] c" store i64 %c1, ptr %cntp\0A\00"
|
|
@.str1749 = private unnamed_addr constant [48 x i8] c" %adv = getelementptr i8, ptr %hit, i64 %lsep\0A\00"
|
|
@.str1750 = private unnamed_addr constant [29 x i8] c" store ptr %adv, ptr %curp\0A\00"
|
|
@.str1751 = private unnamed_addr constant [19 x i8] c" br label %ccond\0A\00"
|
|
@.str1752 = private unnamed_addr constant [5 x i8] c"mk:\0A\00"
|
|
@.str1753 = private unnamed_addr constant [30 x i8] c" %cnt = load i64, ptr %cntp\0A\00"
|
|
@.str1754 = private unnamed_addr constant [35 x i8] c" %hdr = call ptr @malloc(i64 16)\0A\00"
|
|
@.str1755 = private unnamed_addr constant [28 x i8] c" %arrsz = mul i64 %cnt, 8\0A\00"
|
|
@.str1756 = private unnamed_addr constant [39 x i8] c" %arr = call ptr @malloc(i64 %arrsz)\0A\00"
|
|
@.str1757 = private unnamed_addr constant [64 x i8] c" %d0 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 0\0A\00"
|
|
@.str1758 = private unnamed_addr constant [27 x i8] c" store ptr %arr, ptr %d0\0A\00"
|
|
@.str1759 = private unnamed_addr constant [34 x i8] c" %cnt32 = trunc i64 %cnt to i32\0A\00"
|
|
@.str1760 = private unnamed_addr constant [64 x i8] c" %d1 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 1\0A\00"
|
|
@.str1761 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d1\0A\00"
|
|
@.str1762 = private unnamed_addr constant [64 x i8] c" %d2 = getelementptr inbounds %LSlice, ptr %hdr, i32 0, i32 2\0A\00"
|
|
@.str1763 = private unnamed_addr constant [29 x i8] c" store i32 %cnt32, ptr %d2\0A\00"
|
|
@.str1764 = private unnamed_addr constant [22 x i8] c" %srcp = alloca ptr\0A\00"
|
|
@.str1765 = private unnamed_addr constant [27 x i8] c" store ptr %s, ptr %srcp\0A\00"
|
|
@.str1766 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
|
|
@.str1767 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
|
|
@.str1768 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00"
|
|
@.str1769 = private unnamed_addr constant [8 x i8] c"fcond:\0A\00"
|
|
@.str1770 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
|
|
@.str1771 = private unnamed_addr constant [31 x i8] c" %lt = icmp ult i64 %i, %cnt\0A\00"
|
|
@.str1772 = private unnamed_addr constant [40 x i8] c" br i1 %lt, label %fbody, label %done\0A\00"
|
|
@.str1773 = private unnamed_addr constant [8 x i8] c"fbody:\0A\00"
|
|
@.str1774 = private unnamed_addr constant [30 x i8] c" %src = load ptr, ptr %srcp\0A\00"
|
|
@.str1775 = private unnamed_addr constant [46 x i8] c" %h2 = call ptr @strstr(ptr %src, ptr %sep)\0A\00"
|
|
@.str1776 = private unnamed_addr constant [31 x i8] c" %n2 = icmp eq ptr %h2, null\0A\00"
|
|
@.str1777 = private unnamed_addr constant [38 x i8] c" br i1 %n2, label %last, label %mid\0A\00"
|
|
@.str1778 = private unnamed_addr constant [6 x i8] c"mid:\0A\00"
|
|
@.str1779 = private unnamed_addr constant [34 x i8] c" %si = ptrtoint ptr %src to i64\0A\00"
|
|
@.str1780 = private unnamed_addr constant [33 x i8] c" %hi = ptrtoint ptr %h2 to i64\0A\00"
|
|
@.str1781 = private unnamed_addr constant [30 x i8] c" %seglen = sub i64 %hi, %si\0A\00"
|
|
@.str1782 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00"
|
|
@.str1783 = private unnamed_addr constant [7 x i8] c"last:\0A\00"
|
|
@.str1784 = private unnamed_addr constant [37 x i8] c" %rem = call i64 @strlen(ptr %src)\0A\00"
|
|
@.str1785 = private unnamed_addr constant [19 x i8] c" br label %store\0A\00"
|
|
@.str1786 = private unnamed_addr constant [8 x i8] c"store:\0A\00"
|
|
@.str1787 = private unnamed_addr constant [53 x i8] c" %seg = phi i64 [ %seglen, %mid ], [ %rem, %last ]\0A\00"
|
|
@.str1788 = private unnamed_addr constant [26 x i8] c" %ssz = add i64 %seg, 1\0A\00"
|
|
@.str1789 = private unnamed_addr constant [37 x i8] c" %sub = call ptr @malloc(i64 %ssz)\0A\00"
|
|
@.str1790 = private unnamed_addr constant [31 x i8] c" %src2 = load ptr, ptr %srcp\0A\00"
|
|
@.str1791 = private unnamed_addr constant [51 x i8] c" call ptr @memcpy(ptr %sub, ptr %src2, i64 %seg)\0A\00"
|
|
@.str1792 = private unnamed_addr constant [46 x i8] c" %tp = getelementptr i8, ptr %sub, i64 %seg\0A\00"
|
|
@.str1793 = private unnamed_addr constant [23 x i8] c" store i8 0, ptr %tp\0A\00"
|
|
@.str1794 = private unnamed_addr constant [47 x i8] c" %slot = getelementptr ptr, ptr %arr, i64 %i\0A\00"
|
|
@.str1795 = private unnamed_addr constant [29 x i8] c" store ptr %sub, ptr %slot\0A\00"
|
|
@.str1796 = private unnamed_addr constant [48 x i8] c" %adv2 = getelementptr i8, ptr %h2, i64 %lsep\0A\00"
|
|
@.str1797 = private unnamed_addr constant [30 x i8] c" store ptr %adv2, ptr %srcp\0A\00"
|
|
@.str1798 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
|
|
@.str1799 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
|
|
@.str1800 = private unnamed_addr constant [19 x i8] c" br label %fcond\0A\00"
|
|
@.str1801 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
|
|
@.str1802 = private unnamed_addr constant [16 x i8] c" ret ptr %hdr\0A\00"
|
|
@.str1803 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1804 = private unnamed_addr constant [3 x i8] c"of\00"
|
|
@.str1805 = private unnamed_addr constant [6 x i8] c"fnv1a\00"
|
|
@.str1806 = private unnamed_addr constant [6 x i8] c"crc32\00"
|
|
@.str1807 = private unnamed_addr constant [4 x i8] c"mix\00"
|
|
@.str1808 = private unnamed_addr constant [8 x i8] c"combine\00"
|
|
@.str1809 = private unnamed_addr constant [5 x i8] c"of64\00"
|
|
@.str1810 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00"
|
|
@.str1811 = private unnamed_addr constant [6 x i8] c"mix64\00"
|
|
@.str1812 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
|
|
@.str1813 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str1814 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
|
|
@.str1815 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1816 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str1817 = private unnamed_addr constant [14 x i8] c", -2048144789\00"
|
|
@.str1818 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
|
|
@.str1819 = private unnamed_addr constant [5 x i8] c", 13\00"
|
|
@.str1820 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
|
|
@.str1821 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1822 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str1823 = private unnamed_addr constant [14 x i8] c", -1028477387\00"
|
|
@.str1824 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
|
|
@.str1825 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str1826 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
|
|
@.str1827 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1828 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
|
|
@.str1829 = private unnamed_addr constant [5 x i8] c", 33\00"
|
|
@.str1830 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
|
|
@.str1831 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1832 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str1833 = private unnamed_addr constant [21 x i8] c", -49064778989728563\00"
|
|
@.str1834 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
|
|
@.str1835 = private unnamed_addr constant [5 x i8] c", 33\00"
|
|
@.str1836 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
|
|
@.str1837 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1838 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str1839 = private unnamed_addr constant [23 x i8] c", -4265267296055464877\00"
|
|
@.str1840 = private unnamed_addr constant [10 x i8] c"lshr i64 \00"
|
|
@.str1841 = private unnamed_addr constant [5 x i8] c", 33\00"
|
|
@.str1842 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
|
|
@.str1843 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1844 = private unnamed_addr constant [3 x i8] c"of\00"
|
|
@.str1845 = private unnamed_addr constant [6 x i8] c"fnv1a\00"
|
|
@.str1846 = private unnamed_addr constant [29 x i8] c"call i32 @fn_hash_fnv1a(ptr \00"
|
|
@.str1847 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1848 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str1849 = private unnamed_addr constant [5 x i8] c"of64\00"
|
|
@.str1850 = private unnamed_addr constant [9 x i8] c"fnv1a_64\00"
|
|
@.str1851 = private unnamed_addr constant [32 x i8] c"call i64 @fn_hash_fnv1a_64(ptr \00"
|
|
@.str1852 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1853 = private unnamed_addr constant [5 x i8] c"long\00"
|
|
@.str1854 = private unnamed_addr constant [6 x i8] c"mix64\00"
|
|
@.str1855 = private unnamed_addr constant [5 x i8] c"long\00"
|
|
@.str1856 = private unnamed_addr constant [6 x i8] c"crc32\00"
|
|
@.str1857 = private unnamed_addr constant [29 x i8] c"call i32 @fn_hash_crc32(ptr \00"
|
|
@.str1858 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1859 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str1860 = private unnamed_addr constant [4 x i8] c"mix\00"
|
|
@.str1861 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str1862 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str1863 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1864 = private unnamed_addr constant [14 x i8] c", -1640531527\00"
|
|
@.str1865 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
|
|
@.str1866 = private unnamed_addr constant [4 x i8] c", 6\00"
|
|
@.str1867 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
|
|
@.str1868 = private unnamed_addr constant [4 x i8] c", 2\00"
|
|
@.str1869 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1870 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1871 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str1872 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1873 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
|
|
@.str1874 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str1875 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str1876 = private unnamed_addr constant [37 x i8] c"define i32 @fn_hash_fnv1a(ptr %s) {\0A\00"
|
|
@.str1877 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1878 = private unnamed_addr constant [20 x i8] c" %hp = alloca i32\0A\00"
|
|
@.str1879 = private unnamed_addr constant [34 x i8] c" store i32 -2128831035, ptr %hp\0A\00"
|
|
@.str1880 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
|
|
@.str1881 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
|
|
@.str1882 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1883 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
|
|
@.str1884 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
|
|
@.str1885 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00"
|
|
@.str1886 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00"
|
|
@.str1887 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00"
|
|
@.str1888 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00"
|
|
@.str1889 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
|
|
@.str1890 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i32\0A\00"
|
|
@.str1891 = private unnamed_addr constant [26 x i8] c" %h = load i32, ptr %hp\0A\00"
|
|
@.str1892 = private unnamed_addr constant [24 x i8] c" %x = xor i32 %h, %ce\0A\00"
|
|
@.str1893 = private unnamed_addr constant [29 x i8] c" %m = mul i32 %x, 16777619\0A\00"
|
|
@.str1894 = private unnamed_addr constant [25 x i8] c" store i32 %m, ptr %hp\0A\00"
|
|
@.str1895 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
|
|
@.str1896 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
|
|
@.str1897 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1898 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
|
|
@.str1899 = private unnamed_addr constant [27 x i8] c" %hr = load i32, ptr %hp\0A\00"
|
|
@.str1900 = private unnamed_addr constant [15 x i8] c" ret i32 %hr\0A\00"
|
|
@.str1901 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1902 = private unnamed_addr constant [40 x i8] c"define i64 @fn_hash_fnv1a_64(ptr %s) {\0A\00"
|
|
@.str1903 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1904 = private unnamed_addr constant [20 x i8] c" %hp = alloca i64\0A\00"
|
|
@.str1905 = private unnamed_addr constant [43 x i8] c" store i64 -3750763034362895579, ptr %hp\0A\00"
|
|
@.str1906 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
|
|
@.str1907 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
|
|
@.str1908 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1909 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
|
|
@.str1910 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
|
|
@.str1911 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00"
|
|
@.str1912 = private unnamed_addr constant [24 x i8] c" %c = load i8, ptr %p\0A\00"
|
|
@.str1913 = private unnamed_addr constant [25 x i8] c" %z = icmp eq i8 %c, 0\0A\00"
|
|
@.str1914 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00"
|
|
@.str1915 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
|
|
@.str1916 = private unnamed_addr constant [27 x i8] c" %ce = zext i8 %c to i64\0A\00"
|
|
@.str1917 = private unnamed_addr constant [26 x i8] c" %h = load i64, ptr %hp\0A\00"
|
|
@.str1918 = private unnamed_addr constant [24 x i8] c" %x = xor i64 %h, %ce\0A\00"
|
|
@.str1919 = private unnamed_addr constant [34 x i8] c" %m = mul i64 %x, 1099511628211\0A\00"
|
|
@.str1920 = private unnamed_addr constant [25 x i8] c" store i64 %m, ptr %hp\0A\00"
|
|
@.str1921 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
|
|
@.str1922 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
|
|
@.str1923 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1924 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
|
|
@.str1925 = private unnamed_addr constant [27 x i8] c" %hr = load i64, ptr %hp\0A\00"
|
|
@.str1926 = private unnamed_addr constant [15 x i8] c" ret i64 %hr\0A\00"
|
|
@.str1927 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1928 = private unnamed_addr constant [37 x i8] c"define i32 @fn_hash_crc32(ptr %s) {\0A\00"
|
|
@.str1929 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str1930 = private unnamed_addr constant [20 x i8] c" %cp = alloca i32\0A\00"
|
|
@.str1931 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %cp\0A\00"
|
|
@.str1932 = private unnamed_addr constant [20 x i8] c" %ip = alloca i64\0A\00"
|
|
@.str1933 = private unnamed_addr constant [24 x i8] c" store i64 0, ptr %ip\0A\00"
|
|
@.str1934 = private unnamed_addr constant [20 x i8] c" %kp = alloca i32\0A\00"
|
|
@.str1935 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1936 = private unnamed_addr constant [7 x i8] c"cond:\0A\00"
|
|
@.str1937 = private unnamed_addr constant [26 x i8] c" %i = load i64, ptr %ip\0A\00"
|
|
@.str1938 = private unnamed_addr constant [41 x i8] c" %p = getelementptr i8, ptr %s, i64 %i\0A\00"
|
|
@.str1939 = private unnamed_addr constant [25 x i8] c" %ch = load i8, ptr %p\0A\00"
|
|
@.str1940 = private unnamed_addr constant [26 x i8] c" %z = icmp eq i8 %ch, 0\0A\00"
|
|
@.str1941 = private unnamed_addr constant [38 x i8] c" br i1 %z, label %done, label %body\0A\00"
|
|
@.str1942 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
|
|
@.str1943 = private unnamed_addr constant [28 x i8] c" %ce = zext i8 %ch to i32\0A\00"
|
|
@.str1944 = private unnamed_addr constant [27 x i8] c" %c0 = load i32, ptr %cp\0A\00"
|
|
@.str1945 = private unnamed_addr constant [26 x i8] c" %cx = xor i32 %c0, %ce\0A\00"
|
|
@.str1946 = private unnamed_addr constant [26 x i8] c" store i32 %cx, ptr %cp\0A\00"
|
|
@.str1947 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %kp\0A\00"
|
|
@.str1948 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00"
|
|
@.str1949 = private unnamed_addr constant [6 x i8] c"bit:\0A\00"
|
|
@.str1950 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00"
|
|
@.str1951 = private unnamed_addr constant [28 x i8] c" %kd = icmp slt i32 %k, 8\0A\00"
|
|
@.str1952 = private unnamed_addr constant [45 x i8] c" br i1 %kd, label %bitbody, label %bitdone\0A\00"
|
|
@.str1953 = private unnamed_addr constant [10 x i8] c"bitbody:\0A\00"
|
|
@.str1954 = private unnamed_addr constant [27 x i8] c" %c1 = load i32, ptr %cp\0A\00"
|
|
@.str1955 = private unnamed_addr constant [24 x i8] c" %lb = and i32 %c1, 1\0A\00"
|
|
@.str1956 = private unnamed_addr constant [25 x i8] c" %ls = lshr i32 %c1, 1\0A\00"
|
|
@.str1957 = private unnamed_addr constant [29 x i8] c" %ism = icmp eq i32 %lb, 1\0A\00"
|
|
@.str1958 = private unnamed_addr constant [47 x i8] c" %px = select i1 %ism, i32 -306674912, i32 0\0A\00"
|
|
@.str1959 = private unnamed_addr constant [26 x i8] c" %c2 = xor i32 %ls, %px\0A\00"
|
|
@.str1960 = private unnamed_addr constant [26 x i8] c" store i32 %c2, ptr %cp\0A\00"
|
|
@.str1961 = private unnamed_addr constant [23 x i8] c" %k1 = add i32 %k, 1\0A\00"
|
|
@.str1962 = private unnamed_addr constant [26 x i8] c" store i32 %k1, ptr %kp\0A\00"
|
|
@.str1963 = private unnamed_addr constant [17 x i8] c" br label %bit\0A\00"
|
|
@.str1964 = private unnamed_addr constant [10 x i8] c"bitdone:\0A\00"
|
|
@.str1965 = private unnamed_addr constant [23 x i8] c" %i1 = add i64 %i, 1\0A\00"
|
|
@.str1966 = private unnamed_addr constant [26 x i8] c" store i64 %i1, ptr %ip\0A\00"
|
|
@.str1967 = private unnamed_addr constant [18 x i8] c" br label %cond\0A\00"
|
|
@.str1968 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
|
|
@.str1969 = private unnamed_addr constant [27 x i8] c" %cf = load i32, ptr %cp\0A\00"
|
|
@.str1970 = private unnamed_addr constant [24 x i8] c" %r = xor i32 %cf, -1\0A\00"
|
|
@.str1971 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00"
|
|
@.str1972 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str1973 = private unnamed_addr constant [7 x i8] c"sha256\00"
|
|
@.str1974 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00"
|
|
@.str1975 = private unnamed_addr constant [12 x i8] c"verify_hmac\00"
|
|
@.str1976 = private unnamed_addr constant [4 x i8] c"hex\00"
|
|
@.str1977 = private unnamed_addr constant [9 x i8] c"ct_equal\00"
|
|
@.str1978 = private unnamed_addr constant [7 x i8] c"sha256\00"
|
|
@.str1979 = private unnamed_addr constant [29 x i8] c"call ptr @fn_sha256_hex(ptr \00"
|
|
@.str1980 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1981 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1982 = private unnamed_addr constant [12 x i8] c"hmac_sha256\00"
|
|
@.str1983 = private unnamed_addr constant [34 x i8] c"call ptr @fn_hmac_sha256_hex(ptr \00"
|
|
@.str1984 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1985 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1986 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1987 = private unnamed_addr constant [4 x i8] c"hex\00"
|
|
@.str1988 = private unnamed_addr constant [26 x i8] c"call ptr @fn_str_hex(ptr \00"
|
|
@.str1989 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1990 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str1991 = private unnamed_addr constant [9 x i8] c"ct_equal\00"
|
|
@.str1992 = private unnamed_addr constant [27 x i8] c"call i32 @fn_ct_streq(ptr \00"
|
|
@.str1993 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1994 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1995 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str1996 = private unnamed_addr constant [34 x i8] c"call ptr @fn_hmac_sha256_hex(ptr \00"
|
|
@.str1997 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str1998 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str1999 = private unnamed_addr constant [27 x i8] c"call i32 @fn_ct_streq(ptr \00"
|
|
@.str2000 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2001 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2002 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str2003 = private unnamed_addr constant [1083 x i8] c"@sha256_K = private unnamed_addr constant [64 x i32] [i32 1116352408, i32 1899447441, i32 -1245643825, i32 -373957723, i32 961987163, i32 1508970993, i32 -1841331548, i32 -1424204075, i32 -670586216, i32 310598401, i32 607225278, i32 1426881987, i32 1925078388, i32 -2132889090, i32 -1680079193, i32 -1046744716, i32 -459576895, i32 -272742522, i32 264347078, i32 604807628, i32 770255983, i32 1249150122, i32 1555081692, i32 1996064986, i32 -1740746414, i32 -1473132947, i32 -1341970488, i32 -1084653625, i32 -958395405, i32 -710438585, i32 113926993, i32 338241895, i32 666307205, i32 773529912, i32 1294757372, i32 1396182291, i32 1695183700, i32 1986661051, i32 -2117940946, i32 -1838011259, i32 -1564481375, i32 -1474664885, i32 -1035236496, i32 -949202525, i32 -778901479, i32 -694614492, i32 -200395387, i32 275423344, i32 430227734, i32 506948616, i32 659060556, i32 883997877, i32 958139571, i32 1322822218, i32 1537002063, i32 1747873779, i32 1955562222, i32 2024104815, i32 -2067236844, i32 -1933114872, i32 -1866530822, i32 -1538233109, i32 -1090935817, i32 -965641998]\0A\00"
|
|
@.str2004 = private unnamed_addr constant [41 x i8] c"define i32 @fn_rotr32(i32 %x, i32 %n) {\0A\00"
|
|
@.str2005 = private unnamed_addr constant [104 x i8] c" %r = lshr i32 %x, %n\0A %m = sub i32 32, %n\0A %l = shl i32 %x, %m\0A %o = or i32 %r, %l\0A ret i32 %o\0A}\0A\00"
|
|
@.str2006 = private unnamed_addr constant [60 x i8] c"define void @fn_sha256_buf(ptr %msg, i64 %len, ptr %out) {\0A\00"
|
|
@.str2007 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str2008 = private unnamed_addr constant [50 x i8] c" %H = alloca [8 x i32]\0A %W = alloca [64 x i32]\0A\00"
|
|
@.str2009 = private unnamed_addr constant [145 x i8] c" %a = alloca i32\0A %b = alloca i32\0A %c = alloca i32\0A %d = alloca i32\0A %e = alloca i32\0A %f = alloca i32\0A %g = alloca i32\0A %h = alloca i32\0A\00"
|
|
@.str2010 = private unnamed_addr constant [39 x i8] c" %ip = alloca i64\0A %bp = alloca i64\0A\00"
|
|
@.str2011 = private unnamed_addr constant [95 x i8] c" %e0 = add i64 %len, 8\0A %e1 = lshr i64 %e0, 6\0A %e2 = add i64 %e1, 1\0A %pl = shl i64 %e2, 6\0A\00"
|
|
@.str2012 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %pl)\0A\00"
|
|
@.str2013 = private unnamed_addr constant [46 x i8] c" call ptr @memset(ptr %buf, i32 0, i64 %pl)\0A\00"
|
|
@.str2014 = private unnamed_addr constant [50 x i8] c" call ptr @memcpy(ptr %buf, ptr %msg, i64 %len)\0A\00"
|
|
@.str2015 = private unnamed_addr constant [77 x i8] c" %pmark = getelementptr i8, ptr %buf, i64 %len\0A store i8 -128, ptr %pmark\0A\00"
|
|
@.str2016 = private unnamed_addr constant [27 x i8] c" %bits = shl i64 %len, 3\0A\00"
|
|
@.str2017 = private unnamed_addr constant [41 x i8] c" store i64 0, ptr %ip\0A br label %lenc\0A\00"
|
|
@.str2018 = private unnamed_addr constant [104 x i8] c"lenc:\0A %lj = load i64, ptr %ip\0A %ljlt = icmp slt i64 %lj, 8\0A br i1 %ljlt, label %lenb, label %hinit\0A\00"
|
|
@.str2019 = private unnamed_addr constant [7 x i8] c"lenb:\0A\00"
|
|
@.str2020 = private unnamed_addr constant [113 x i8] c" %lj8 = mul i64 %lj, 8\0A %lsh = sub i64 56, %lj8\0A %lbsh = lshr i64 %bits, %lsh\0A %lbb = trunc i64 %lbsh to i8\0A\00"
|
|
@.str2021 = private unnamed_addr constant [128 x i8] c" %lpm8 = sub i64 %pl, 8\0A %lpos = add i64 %lpm8, %lj\0A %lpp = getelementptr i8, ptr %buf, i64 %lpos\0A store i8 %lbb, ptr %lpp\0A\00"
|
|
@.str2022 = private unnamed_addr constant [68 x i8] c" %lj1 = add i64 %lj, 1\0A store i64 %lj1, ptr %ip\0A br label %lenc\0A\00"
|
|
@.str2023 = private unnamed_addr constant [8 x i8] c"hinit:\0A\00"
|
|
@.str2024 = private unnamed_addr constant [87 x i8] c" %H0 = getelementptr [8 x i32], ptr %H, i64 0, i64 0\0A store i32 1779033703, ptr %H0\0A\00"
|
|
@.str2025 = private unnamed_addr constant [88 x i8] c" %H1 = getelementptr [8 x i32], ptr %H, i64 0, i64 1\0A store i32 -1150833019, ptr %H1\0A\00"
|
|
@.str2026 = private unnamed_addr constant [87 x i8] c" %H2 = getelementptr [8 x i32], ptr %H, i64 0, i64 2\0A store i32 1013904242, ptr %H2\0A\00"
|
|
@.str2027 = private unnamed_addr constant [88 x i8] c" %H3 = getelementptr [8 x i32], ptr %H, i64 0, i64 3\0A store i32 -1521486534, ptr %H3\0A\00"
|
|
@.str2028 = private unnamed_addr constant [87 x i8] c" %H4 = getelementptr [8 x i32], ptr %H, i64 0, i64 4\0A store i32 1359893119, ptr %H4\0A\00"
|
|
@.str2029 = private unnamed_addr constant [88 x i8] c" %H5 = getelementptr [8 x i32], ptr %H, i64 0, i64 5\0A store i32 -1694144372, ptr %H5\0A\00"
|
|
@.str2030 = private unnamed_addr constant [86 x i8] c" %H6 = getelementptr [8 x i32], ptr %H, i64 0, i64 6\0A store i32 528734635, ptr %H6\0A\00"
|
|
@.str2031 = private unnamed_addr constant [87 x i8] c" %H7 = getelementptr [8 x i32], ptr %H, i64 0, i64 7\0A store i32 1541459225, ptr %H7\0A\00"
|
|
@.str2032 = private unnamed_addr constant [65 x i8] c" %nb = lshr i64 %pl, 6\0A store i64 0, ptr %bp\0A br label %blkc\0A\00"
|
|
@.str2033 = private unnamed_addr constant [103 x i8] c"blkc:\0A %bi = load i64, ptr %bp\0A %blt = icmp ult i64 %bi, %nb\0A br i1 %blt, label %blkb, label %outp\0A\00"
|
|
@.str2034 = private unnamed_addr constant [80 x i8] c"blkb:\0A %bi64 = shl i64 %bi, 6\0A %base = getelementptr i8, ptr %buf, i64 %bi64\0A\00"
|
|
@.str2035 = private unnamed_addr constant [40 x i8] c" store i64 0, ptr %ip\0A br label %w1c\0A\00"
|
|
@.str2036 = private unnamed_addr constant [104 x i8] c"w1c:\0A %wi = load i64, ptr %ip\0A %wilt = icmp slt i64 %wi, 16\0A br i1 %wilt, label %w1b, label %w2init\0A\00"
|
|
@.str2037 = private unnamed_addr constant [6 x i8] c"w1b:\0A\00"
|
|
@.str2038 = private unnamed_addr constant [25 x i8] c" %wi4 = shl i64 %wi, 2\0A\00"
|
|
@.str2039 = private unnamed_addr constant [75 x i8] c" %wp0 = getelementptr i8, ptr %base, i64 %wi4\0A %wc0 = load i8, ptr %wp0\0A\00"
|
|
@.str2040 = private unnamed_addr constant [100 x i8] c" %wo1 = add i64 %wi4, 1\0A %wp1 = getelementptr i8, ptr %base, i64 %wo1\0A %wc1 = load i8, ptr %wp1\0A\00"
|
|
@.str2041 = private unnamed_addr constant [100 x i8] c" %wo2 = add i64 %wi4, 2\0A %wp2 = getelementptr i8, ptr %base, i64 %wo2\0A %wc2 = load i8, ptr %wp2\0A\00"
|
|
@.str2042 = private unnamed_addr constant [100 x i8] c" %wo3 = add i64 %wi4, 3\0A %wp3 = getelementptr i8, ptr %base, i64 %wo3\0A %wc3 = load i8, ptr %wp3\0A\00"
|
|
@.str2043 = private unnamed_addr constant [117 x i8] c" %wz0 = zext i8 %wc0 to i32\0A %wz1 = zext i8 %wc1 to i32\0A %wz2 = zext i8 %wc2 to i32\0A %wz3 = zext i8 %wc3 to i32\0A\00"
|
|
@.str2044 = private unnamed_addr constant [80 x i8] c" %ws24 = shl i32 %wz0, 24\0A %ws16 = shl i32 %wz1, 16\0A %ws8 = shl i32 %wz2, 8\0A\00"
|
|
@.str2045 = private unnamed_addr constant [89 x i8] c" %wor1 = or i32 %ws24, %ws16\0A %wor2 = or i32 %wor1, %ws8\0A %word = or i32 %wor2, %wz3\0A\00"
|
|
@.str2046 = private unnamed_addr constant [87 x i8] c" %wwp = getelementptr [64 x i32], ptr %W, i64 0, i64 %wi\0A store i32 %word, ptr %wwp\0A\00"
|
|
@.str2047 = private unnamed_addr constant [67 x i8] c" %wi1 = add i64 %wi, 1\0A store i64 %wi1, ptr %ip\0A br label %w1c\0A\00"
|
|
@.str2048 = private unnamed_addr constant [49 x i8] c"w2init:\0A store i64 16, ptr %ip\0A br label %w2c\0A\00"
|
|
@.str2049 = private unnamed_addr constant [106 x i8] c"w2c:\0A %xi = load i64, ptr %ip\0A %xilt = icmp slt i64 %xi, 64\0A br i1 %xilt, label %w2b, label %compinit\0A\00"
|
|
@.str2050 = private unnamed_addr constant [6 x i8] c"w2b:\0A\00"
|
|
@.str2051 = private unnamed_addr constant [117 x i8] c" %im15 = sub i64 %xi, 15\0A %pm15 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im15\0A %w15 = load i32, ptr %pm15\0A\00"
|
|
@.str2052 = private unnamed_addr constant [119 x i8] c" %r7 = call i32 @fn_rotr32(i32 %w15, i32 7)\0A %r18 = call i32 @fn_rotr32(i32 %w15, i32 18)\0A %sh3 = lshr i32 %w15, 3\0A\00"
|
|
@.str2053 = private unnamed_addr constant [55 x i8] c" %x01 = xor i32 %r7, %r18\0A %s0 = xor i32 %x01, %sh3\0A\00"
|
|
@.str2054 = private unnamed_addr constant [112 x i8] c" %im2 = sub i64 %xi, 2\0A %pm2 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im2\0A %w2v = load i32, ptr %pm2\0A\00"
|
|
@.str2055 = private unnamed_addr constant [123 x i8] c" %r17 = call i32 @fn_rotr32(i32 %w2v, i32 17)\0A %r19 = call i32 @fn_rotr32(i32 %w2v, i32 19)\0A %sh10 = lshr i32 %w2v, 10\0A\00"
|
|
@.str2056 = private unnamed_addr constant [57 x i8] c" %x02 = xor i32 %r17, %r19\0A %s1 = xor i32 %x02, %sh10\0A\00"
|
|
@.str2057 = private unnamed_addr constant [117 x i8] c" %im16 = sub i64 %xi, 16\0A %pm16 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im16\0A %w16 = load i32, ptr %pm16\0A\00"
|
|
@.str2058 = private unnamed_addr constant [111 x i8] c" %im7 = sub i64 %xi, 7\0A %pm7 = getelementptr [64 x i32], ptr %W, i64 0, i64 %im7\0A %w7 = load i32, ptr %pm7\0A\00"
|
|
@.str2059 = private unnamed_addr constant [81 x i8] c" %wa1 = add i32 %w16, %s0\0A %wa2 = add i32 %wa1, %w7\0A %wv = add i32 %wa2, %s1\0A\00"
|
|
@.str2060 = private unnamed_addr constant [85 x i8] c" %wpi = getelementptr [64 x i32], ptr %W, i64 0, i64 %xi\0A store i32 %wv, ptr %wpi\0A\00"
|
|
@.str2061 = private unnamed_addr constant [67 x i8] c" %xi1 = add i64 %xi, 1\0A store i64 %xi1, ptr %ip\0A br label %w2c\0A\00"
|
|
@.str2062 = private unnamed_addr constant [11 x i8] c"compinit:\0A\00"
|
|
@.str2063 = private unnamed_addr constant [53 x i8] c" %cv0 = load i32, ptr %H0\0A store i32 %cv0, ptr %a\0A\00"
|
|
@.str2064 = private unnamed_addr constant [53 x i8] c" %cv1 = load i32, ptr %H1\0A store i32 %cv1, ptr %b\0A\00"
|
|
@.str2065 = private unnamed_addr constant [53 x i8] c" %cv2 = load i32, ptr %H2\0A store i32 %cv2, ptr %c\0A\00"
|
|
@.str2066 = private unnamed_addr constant [53 x i8] c" %cv3 = load i32, ptr %H3\0A store i32 %cv3, ptr %d\0A\00"
|
|
@.str2067 = private unnamed_addr constant [53 x i8] c" %cv4 = load i32, ptr %H4\0A store i32 %cv4, ptr %e\0A\00"
|
|
@.str2068 = private unnamed_addr constant [53 x i8] c" %cv5 = load i32, ptr %H5\0A store i32 %cv5, ptr %f\0A\00"
|
|
@.str2069 = private unnamed_addr constant [53 x i8] c" %cv6 = load i32, ptr %H6\0A store i32 %cv6, ptr %g\0A\00"
|
|
@.str2070 = private unnamed_addr constant [53 x i8] c" %cv7 = load i32, ptr %H7\0A store i32 %cv7, ptr %h\0A\00"
|
|
@.str2071 = private unnamed_addr constant [39 x i8] c" store i64 0, ptr %ip\0A br label %rc\0A\00"
|
|
@.str2072 = private unnamed_addr constant [98 x i8] c"rc:\0A %ri = load i64, ptr %ip\0A %rlt = icmp slt i64 %ri, 64\0A br i1 %rlt, label %rb, label %addH\0A\00"
|
|
@.str2073 = private unnamed_addr constant [5 x i8] c"rb:\0A\00"
|
|
@.str2074 = private unnamed_addr constant [102 x i8] c" %av = load i32, ptr %a\0A %bv = load i32, ptr %b\0A %cvv = load i32, ptr %c\0A %dv = load i32, ptr %d\0A\00"
|
|
@.str2075 = private unnamed_addr constant [101 x i8] c" %ev = load i32, ptr %e\0A %fv = load i32, ptr %f\0A %gv = load i32, ptr %g\0A %hv = load i32, ptr %h\0A\00"
|
|
@.str2076 = private unnamed_addr constant [137 x i8] c" %e6 = call i32 @fn_rotr32(i32 %ev, i32 6)\0A %e11 = call i32 @fn_rotr32(i32 %ev, i32 11)\0A %e25 = call i32 @fn_rotr32(i32 %ev, i32 25)\0A\00"
|
|
@.str2077 = private unnamed_addr constant [55 x i8] c" %S1a = xor i32 %e6, %e11\0A %S1 = xor i32 %S1a, %e25\0A\00"
|
|
@.str2078 = private unnamed_addr constant [102 x i8] c" %ef = and i32 %ev, %fv\0A %ne = xor i32 %ev, -1\0A %neg = and i32 %ne, %gv\0A %ch = xor i32 %ef, %neg\0A\00"
|
|
@.str2079 = private unnamed_addr constant [91 x i8] c" %kp = getelementptr [64 x i32], ptr @sha256_K, i64 0, i64 %ri\0A %kv = load i32, ptr %kp\0A\00"
|
|
@.str2080 = private unnamed_addr constant [87 x i8] c" %wpr = getelementptr [64 x i32], ptr %W, i64 0, i64 %ri\0A %wvr = load i32, ptr %wpr\0A\00"
|
|
@.str2081 = private unnamed_addr constant [111 x i8] c" %t1a = add i32 %hv, %S1\0A %t1b = add i32 %t1a, %ch\0A %t1c = add i32 %t1b, %kv\0A %temp1 = add i32 %t1c, %wvr\0A\00"
|
|
@.str2082 = private unnamed_addr constant [138 x i8] c" %a2r = call i32 @fn_rotr32(i32 %av, i32 2)\0A %a13 = call i32 @fn_rotr32(i32 %av, i32 13)\0A %a22 = call i32 @fn_rotr32(i32 %av, i32 22)\0A\00"
|
|
@.str2083 = private unnamed_addr constant [56 x i8] c" %S0a = xor i32 %a2r, %a13\0A %S0 = xor i32 %S0a, %a22\0A\00"
|
|
@.str2084 = private unnamed_addr constant [131 x i8] c" %ab = and i32 %av, %bv\0A %ac = and i32 %av, %cvv\0A %bc = and i32 %bv, %cvv\0A %mj1 = xor i32 %ab, %ac\0A %maj = xor i32 %mj1, %bc\0A\00"
|
|
@.str2085 = private unnamed_addr constant [30 x i8] c" %temp2 = add i32 %S0, %maj\0A\00"
|
|
@.str2086 = private unnamed_addr constant [73 x i8] c" store i32 %gv, ptr %h\0A store i32 %fv, ptr %g\0A store i32 %ev, ptr %f\0A\00"
|
|
@.str2087 = private unnamed_addr constant [57 x i8] c" %newe = add i32 %dv, %temp1\0A store i32 %newe, ptr %e\0A\00"
|
|
@.str2088 = private unnamed_addr constant [74 x i8] c" store i32 %cvv, ptr %d\0A store i32 %bv, ptr %c\0A store i32 %av, ptr %b\0A\00"
|
|
@.str2089 = private unnamed_addr constant [60 x i8] c" %newa = add i32 %temp1, %temp2\0A store i32 %newa, ptr %a\0A\00"
|
|
@.str2090 = private unnamed_addr constant [66 x i8] c" %rin = add i64 %ri, 1\0A store i64 %rin, ptr %ip\0A br label %rc\0A\00"
|
|
@.str2091 = private unnamed_addr constant [7 x i8] c"addH:\0A\00"
|
|
@.str2092 = private unnamed_addr constant [106 x i8] c" %fa = load i32, ptr %a\0A %lH0 = load i32, ptr %H0\0A %nH0 = add i32 %lH0, %fa\0A store i32 %nH0, ptr %H0\0A\00"
|
|
@.str2093 = private unnamed_addr constant [106 x i8] c" %fb = load i32, ptr %b\0A %lH1 = load i32, ptr %H1\0A %nH1 = add i32 %lH1, %fb\0A store i32 %nH1, ptr %H1\0A\00"
|
|
@.str2094 = private unnamed_addr constant [106 x i8] c" %fc = load i32, ptr %c\0A %lH2 = load i32, ptr %H2\0A %nH2 = add i32 %lH2, %fc\0A store i32 %nH2, ptr %H2\0A\00"
|
|
@.str2095 = private unnamed_addr constant [106 x i8] c" %fd = load i32, ptr %d\0A %lH3 = load i32, ptr %H3\0A %nH3 = add i32 %lH3, %fd\0A store i32 %nH3, ptr %H3\0A\00"
|
|
@.str2096 = private unnamed_addr constant [106 x i8] c" %fe = load i32, ptr %e\0A %lH4 = load i32, ptr %H4\0A %nH4 = add i32 %lH4, %fe\0A store i32 %nH4, ptr %H4\0A\00"
|
|
@.str2097 = private unnamed_addr constant [106 x i8] c" %ff = load i32, ptr %f\0A %lH5 = load i32, ptr %H5\0A %nH5 = add i32 %lH5, %ff\0A store i32 %nH5, ptr %H5\0A\00"
|
|
@.str2098 = private unnamed_addr constant [106 x i8] c" %fg = load i32, ptr %g\0A %lH6 = load i32, ptr %H6\0A %nH6 = add i32 %lH6, %fg\0A store i32 %nH6, ptr %H6\0A\00"
|
|
@.str2099 = private unnamed_addr constant [106 x i8] c" %fh = load i32, ptr %h\0A %lH7 = load i32, ptr %H7\0A %nH7 = add i32 %lH7, %fh\0A store i32 %nH7, ptr %H7\0A\00"
|
|
@.str2100 = private unnamed_addr constant [70 x i8] c" %binc = add i64 %bi, 1\0A store i64 %binc, ptr %bp\0A br label %blkc\0A\00"
|
|
@.str2101 = private unnamed_addr constant [45 x i8] c"outp:\0A store i64 0, ptr %ip\0A br label %oc\0A\00"
|
|
@.str2102 = private unnamed_addr constant [98 x i8] c"oc:\0A %oi = load i64, ptr %ip\0A %olt = icmp slt i64 %oi, 8\0A br i1 %olt, label %ob, label %freeb\0A\00"
|
|
@.str2103 = private unnamed_addr constant [5 x i8] c"ob:\0A\00"
|
|
@.str2104 = private unnamed_addr constant [111 x i8] c" %hpp = getelementptr [8 x i32], ptr %H, i64 0, i64 %oi\0A %hval = load i32, ptr %hpp\0A %oi4 = shl i64 %oi, 2\0A\00"
|
|
@.str2105 = private unnamed_addr constant [137 x i8] c" %ob24 = lshr i32 %hval, 24\0A %obb24 = trunc i32 %ob24 to i8\0A %op0 = getelementptr i8, ptr %out, i64 %oi4\0A store i8 %obb24, ptr %op0\0A\00"
|
|
@.str2106 = private unnamed_addr constant [162 x i8] c" %ob16 = lshr i32 %hval, 16\0A %obb16 = trunc i32 %ob16 to i8\0A %oo1 = add i64 %oi4, 1\0A %op1 = getelementptr i8, ptr %out, i64 %oo1\0A store i8 %obb16, ptr %op1\0A\00"
|
|
@.str2107 = private unnamed_addr constant [157 x i8] c" %ob8 = lshr i32 %hval, 8\0A %obb8 = trunc i32 %ob8 to i8\0A %oo2 = add i64 %oi4, 2\0A %op2 = getelementptr i8, ptr %out, i64 %oo2\0A store i8 %obb8, ptr %op2\0A\00"
|
|
@.str2108 = private unnamed_addr constant [131 x i8] c" %obb0 = trunc i32 %hval to i8\0A %oo3 = add i64 %oi4, 3\0A %op3 = getelementptr i8, ptr %out, i64 %oo3\0A store i8 %obb0, ptr %op3\0A\00"
|
|
@.str2109 = private unnamed_addr constant [66 x i8] c" %oin = add i64 %oi, 1\0A store i64 %oin, ptr %ip\0A br label %oc\0A\00"
|
|
@.str2110 = private unnamed_addr constant [49 x i8] c"freeb:\0A call void @free(ptr %buf)\0A ret void\0A}\0A\00"
|
|
@.str2111 = private unnamed_addr constant [35 x i8] c"define i8 @fn_hex_digit(i32 %d) {\0A\00"
|
|
@.str2112 = private unnamed_addr constant [134 x i8] c" %lt = icmp ult i32 %d, 10\0A %base = select i1 %lt, i32 48, i32 87\0A %v = add i32 %base, %d\0A %c = trunc i32 %v to i8\0A ret i8 %c\0A}\0A\00"
|
|
@.str2113 = private unnamed_addr constant [46 x i8] c"define ptr @fn_hex_encode(ptr %in, i64 %n) {\0A\00"
|
|
@.str2114 = private unnamed_addr constant [152 x i8] c"entry:\0A %ip = alloca i64\0A %olen = shl i64 %n, 1\0A %olen1 = add i64 %olen, 1\0A %s = call ptr @malloc(i64 %olen1)\0A store i64 0, ptr %ip\0A br label %c\0A\00"
|
|
@.str2115 = private unnamed_addr constant [94 x i8] c"c:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, %n\0A br i1 %lt, label %bdy, label %done\0A\00"
|
|
@.str2116 = private unnamed_addr constant [104 x i8] c"bdy:\0A %pp = getelementptr i8, ptr %in, i64 %i\0A %byte = load i8, ptr %pp\0A %bz = zext i8 %byte to i32\0A\00"
|
|
@.str2117 = private unnamed_addr constant [127 x i8] c" %hi = lshr i32 %bz, 4\0A %lo = and i32 %bz, 15\0A %hc = call i8 @fn_hex_digit(i32 %hi)\0A %lc = call i8 @fn_hex_digit(i32 %lo)\0A\00"
|
|
@.str2118 = private unnamed_addr constant [180 x i8] c" %oi = shl i64 %i, 1\0A %o0 = getelementptr i8, ptr %s, i64 %oi\0A store i8 %hc, ptr %o0\0A %oi1 = add i64 %oi, 1\0A %o1 = getelementptr i8, ptr %s, i64 %oi1\0A store i8 %lc, ptr %o1\0A\00"
|
|
@.str2119 = private unnamed_addr constant [64 x i8] c" %in1 = add i64 %i, 1\0A store i64 %in1, ptr %ip\0A br label %c\0A\00"
|
|
@.str2120 = private unnamed_addr constant [88 x i8] c"done:\0A %tp = getelementptr i8, ptr %s, i64 %olen\0A store i8 0, ptr %tp\0A ret ptr %s\0A}\0A\00"
|
|
@.str2121 = private unnamed_addr constant [37 x i8] c"define ptr @fn_sha256_hex(ptr %s) {\0A\00"
|
|
@.str2122 = private unnamed_addr constant [124 x i8] c"entry:\0A %dig = alloca [32 x i8]\0A %len = call i64 @strlen(ptr %s)\0A %dp = getelementptr [32 x i8], ptr %dig, i64 0, i64 0\0A\00"
|
|
@.str2123 = private unnamed_addr constant [122 x i8] c" call void @fn_sha256_buf(ptr %s, i64 %len, ptr %dp)\0A %hex = call ptr @fn_hex_encode(ptr %dp, i64 32)\0A ret ptr %hex\0A}\0A\00"
|
|
@.str2124 = private unnamed_addr constant [34 x i8] c"define ptr @fn_str_hex(ptr %s) {\0A\00"
|
|
@.str2125 = private unnamed_addr constant [95 x i8] c" %n = call i64 @strlen(ptr %s)\0A %h = call ptr @fn_hex_encode(ptr %s, i64 %n)\0A ret ptr %h\0A}\0A\00"
|
|
@.str2126 = private unnamed_addr constant [55 x i8] c"define void @fn_xor64(ptr %dst, ptr %src, i32 %pad) {\0A\00"
|
|
@.str2127 = private unnamed_addr constant [64 x i8] c"entry:\0A %ip = alloca i64\0A store i64 0, ptr %ip\0A br label %c\0A\00"
|
|
@.str2128 = private unnamed_addr constant [89 x i8] c"c:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, 64\0A br i1 %lt, label %b, label %d\0A\00"
|
|
@.str2129 = private unnamed_addr constant [281 x i8] c"b:\0A %sp = getelementptr i8, ptr %src, i64 %i\0A %sv = load i8, ptr %sp\0A %sz = zext i8 %sv to i32\0A %xr = xor i32 %sz, %pad\0A %xb = trunc i32 %xr to i8\0A %dp = getelementptr i8, ptr %dst, i64 %i\0A store i8 %xb, ptr %dp\0A %in = add i64 %i, 1\0A store i64 %in, ptr %ip\0A br label %c\0A\00"
|
|
@.str2130 = private unnamed_addr constant [17 x i8] c"d:\0A ret void\0A}\0A\00"
|
|
@.str2131 = private unnamed_addr constant [54 x i8] c"define ptr @fn_hmac_sha256_hex(ptr %key, ptr %msg) {\0A\00"
|
|
@.str2132 = private unnamed_addr constant [8 x i8] c"entry:\0A\00"
|
|
@.str2133 = private unnamed_addr constant [109 x i8] c" %k0 = alloca [64 x i8]\0A %inner = alloca [32 x i8]\0A %outbuf = alloca [96 x i8]\0A %fin = alloca [32 x i8]\0A\00"
|
|
@.str2134 = private unnamed_addr constant [75 x i8] c" %klen = call i64 @strlen(ptr %key)\0A %mlen = call i64 @strlen(ptr %msg)\0A\00"
|
|
@.str2135 = private unnamed_addr constant [101 x i8] c" %k0p = getelementptr [64 x i8], ptr %k0, i64 0, i64 0\0A call ptr @memset(ptr %k0p, i32 0, i64 64)\0A\00"
|
|
@.str2136 = private unnamed_addr constant [74 x i8] c" %big = icmp ugt i64 %klen, 64\0A br i1 %big, label %hashk, label %copyk\0A\00"
|
|
@.str2137 = private unnamed_addr constant [83 x i8] c"hashk:\0A call void @fn_sha256_buf(ptr %key, i64 %klen, ptr %k0p)\0A br label %pads\0A\00"
|
|
@.str2138 = private unnamed_addr constant [75 x i8] c"copyk:\0A call ptr @memcpy(ptr %k0p, ptr %key, i64 %klen)\0A br label %pads\0A\00"
|
|
@.str2139 = private unnamed_addr constant [7 x i8] c"pads:\0A\00"
|
|
@.str2140 = private unnamed_addr constant [70 x i8] c" %inlen = add i64 64, %mlen\0A %inbuf = call ptr @malloc(i64 %inlen)\0A\00"
|
|
@.str2141 = private unnamed_addr constant [53 x i8] c" call void @fn_xor64(ptr %inbuf, ptr %k0p, i32 54)\0A\00"
|
|
@.str2142 = private unnamed_addr constant [101 x i8] c" %inmsg = getelementptr i8, ptr %inbuf, i64 64\0A call ptr @memcpy(ptr %inmsg, ptr %msg, i64 %mlen)\0A\00"
|
|
@.str2143 = private unnamed_addr constant [157 x i8] c" %innerp = getelementptr [32 x i8], ptr %inner, i64 0, i64 0\0A call void @fn_sha256_buf(ptr %inbuf, i64 %inlen, ptr %innerp)\0A call void @free(ptr %inbuf)\0A\00"
|
|
@.str2144 = private unnamed_addr constant [113 x i8] c" %outp = getelementptr [96 x i8], ptr %outbuf, i64 0, i64 0\0A call void @fn_xor64(ptr %outp, ptr %k0p, i32 92)\0A\00"
|
|
@.str2145 = private unnamed_addr constant [104 x i8] c" %outmsg = getelementptr i8, ptr %outbuf, i64 64\0A call ptr @memcpy(ptr %outmsg, ptr %innerp, i64 32)\0A\00"
|
|
@.str2146 = private unnamed_addr constant [116 x i8] c" %finp = getelementptr [32 x i8], ptr %fin, i64 0, i64 0\0A call void @fn_sha256_buf(ptr %outp, i64 96, ptr %finp)\0A\00"
|
|
@.str2147 = private unnamed_addr constant [70 x i8] c" %hex = call ptr @fn_hex_encode(ptr %finp, i64 32)\0A ret ptr %hex\0A}\0A\00"
|
|
@.str2148 = private unnamed_addr constant [43 x i8] c"define i32 @fn_ct_streq(ptr %a, ptr %b) {\0A\00"
|
|
@.str2149 = private unnamed_addr constant [183 x i8] c"entry:\0A %accp = alloca i32\0A %ip = alloca i64\0A %la = call i64 @strlen(ptr %a)\0A %lb = call i64 @strlen(ptr %b)\0A %eqlen = icmp eq i64 %la, %lb\0A br i1 %eqlen, label %go, label %ne\0A\00"
|
|
@.str2150 = private unnamed_addr constant [17 x i8] c"ne:\0A ret i32 0\0A\00"
|
|
@.str2151 = private unnamed_addr constant [67 x i8] c"go:\0A store i32 0, ptr %accp\0A store i64 0, ptr %ip\0A br label %c\0A\00"
|
|
@.str2152 = private unnamed_addr constant [92 x i8] c"c:\0A %i = load i64, ptr %ip\0A %lt = icmp ult i64 %i, %la\0A br i1 %lt, label %bdy, label %d\0A\00"
|
|
@.str2153 = private unnamed_addr constant [327 x i8] c"bdy:\0A %pa = getelementptr i8, ptr %a, i64 %i\0A %va = load i8, ptr %pa\0A %pb = getelementptr i8, ptr %b, i64 %i\0A %vb = load i8, ptr %pb\0A %x = xor i8 %va, %vb\0A %xz = zext i8 %x to i32\0A %ac = load i32, ptr %accp\0A %ao = or i32 %ac, %xz\0A store i32 %ao, ptr %accp\0A %in = add i64 %i, 1\0A store i64 %in, ptr %ip\0A br label %c\0A\00"
|
|
@.str2154 = private unnamed_addr constant [102 x i8] c"d:\0A %finv = load i32, ptr %accp\0A %z = icmp eq i32 %finv, 0\0A %r = zext i1 %z to i32\0A ret i32 %r\0A}\0A\00"
|
|
@.str2155 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
|
|
@.str2156 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00"
|
|
@.str2157 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2158 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2159 = private unnamed_addr constant [4 x i8] c"len\00"
|
|
@.str2160 = private unnamed_addr constant [5 x i8] c"push\00"
|
|
@.str2161 = private unnamed_addr constant [6 x i8] c"clear\00"
|
|
@.str2162 = private unnamed_addr constant [6 x i8] c"first\00"
|
|
@.str2163 = private unnamed_addr constant [5 x i8] c"last\00"
|
|
@.str2164 = private unnamed_addr constant [4 x i8] c"pop\00"
|
|
@.str2165 = private unnamed_addr constant [5 x i8] c"swap\00"
|
|
@.str2166 = private unnamed_addr constant [9 x i8] c"contains\00"
|
|
@.str2167 = private unnamed_addr constant [9 x i8] c"index_of\00"
|
|
@.str2168 = private unnamed_addr constant [8 x i8] c"reverse\00"
|
|
@.str2169 = private unnamed_addr constant [7 x i8] c"insert\00"
|
|
@.str2170 = private unnamed_addr constant [10 x i8] c"remove_at\00"
|
|
@.str2171 = private unnamed_addr constant [7 x i8] c"remove\00"
|
|
@.str2172 = private unnamed_addr constant [5 x i8] c"sort\00"
|
|
@.str2173 = private unnamed_addr constant [8 x i8] c"sort_by\00"
|
|
@.str2174 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00"
|
|
@.str2175 = private unnamed_addr constant [10 x i8] c"sort_with\00"
|
|
@.str2176 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2177 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2178 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
|
|
@.str2179 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2180 = private unnamed_addr constant [3 x i8] c"ig\00"
|
|
@.str2181 = private unnamed_addr constant [4 x i8] c"igd\00"
|
|
@.str2182 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2183 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2184 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2185 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2186 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2187 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str2188 = private unnamed_addr constant [4 x i8] c", 2\00"
|
|
@.str2189 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str2190 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str2191 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str2192 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00"
|
|
@.str2193 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str2194 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str2195 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str2196 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2197 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
|
|
@.str2198 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00"
|
|
@.str2199 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str2200 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2201 = private unnamed_addr constant [13 x i8] c" store ptr \00"
|
|
@.str2202 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2203 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2204 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str2205 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2206 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2207 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2208 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2209 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2210 = private unnamed_addr constant [24 x i8] c"getelementptr inbounds \00"
|
|
@.str2211 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2212 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2213 = private unnamed_addr constant [10 x i8] c"icmp slt \00"
|
|
@.str2214 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2215 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2216 = private unnamed_addr constant [14 x i8] c"call i32 @fn_\00"
|
|
@.str2217 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str2218 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2219 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2220 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2221 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2222 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
|
|
@.str2223 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str2224 = private unnamed_addr constant [6 x i8] c"call \00"
|
|
@.str2225 = private unnamed_addr constant [6 x i8] c" @fn_\00"
|
|
@.str2226 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str2227 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2228 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2229 = private unnamed_addr constant [6 x i8] c"call \00"
|
|
@.str2230 = private unnamed_addr constant [6 x i8] c" @fn_\00"
|
|
@.str2231 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str2232 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2233 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2234 = private unnamed_addr constant [10 x i8] c"icmp slt \00"
|
|
@.str2235 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2236 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2237 = private unnamed_addr constant [10 x i8] c"icmp sgt \00"
|
|
@.str2238 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2239 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2240 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
|
|
@.str2241 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2242 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str2243 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str2244 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str2245 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2246 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
|
|
@.str2247 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2248 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2249 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2250 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str2251 = private unnamed_addr constant [6 x i8] c"ms_wc\00"
|
|
@.str2252 = private unnamed_addr constant [6 x i8] c"ms_wb\00"
|
|
@.str2253 = private unnamed_addr constant [6 x i8] c"ms_we\00"
|
|
@.str2254 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2255 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2256 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2257 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2258 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2259 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2260 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2261 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2262 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2263 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2264 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2265 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str2266 = private unnamed_addr constant [4 x i8] c", 2\00"
|
|
@.str2267 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2268 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2269 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2270 = private unnamed_addr constant [6 x i8] c"ms_ic\00"
|
|
@.str2271 = private unnamed_addr constant [6 x i8] c"ms_ib\00"
|
|
@.str2272 = private unnamed_addr constant [6 x i8] c"ms_ie\00"
|
|
@.str2273 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2274 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2275 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2276 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2277 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2278 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2279 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2280 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2281 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2282 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2283 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2284 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2285 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2286 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2287 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2288 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str2289 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2290 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2291 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2292 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2293 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2294 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2295 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str2296 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2297 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2298 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2299 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2300 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2301 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2302 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2303 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2304 = private unnamed_addr constant [6 x i8] c"ms_mc\00"
|
|
@.str2305 = private unnamed_addr constant [6 x i8] c"ms_mb\00"
|
|
@.str2306 = private unnamed_addr constant [8 x i8] c"ms_mend\00"
|
|
@.str2307 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2308 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2309 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2310 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2311 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2312 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2313 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2314 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2315 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2316 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str2317 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2318 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2319 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2320 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2321 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2322 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2323 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2324 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2325 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2326 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2327 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2328 = private unnamed_addr constant [9 x i8] c"ms_takeR\00"
|
|
@.str2329 = private unnamed_addr constant [9 x i8] c"ms_takeL\00"
|
|
@.str2330 = private unnamed_addr constant [9 x i8] c"ms_takeD\00"
|
|
@.str2331 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2332 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2333 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2334 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2335 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2336 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str2337 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2338 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2339 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2340 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2341 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2342 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2343 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2344 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2345 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2346 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str2347 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2348 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2349 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2350 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2351 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2352 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2353 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2354 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2355 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2356 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2357 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2358 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2359 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2360 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2361 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2362 = private unnamed_addr constant [7 x i8] c"ms_dac\00"
|
|
@.str2363 = private unnamed_addr constant [7 x i8] c"ms_dab\00"
|
|
@.str2364 = private unnamed_addr constant [7 x i8] c"ms_dae\00"
|
|
@.str2365 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2366 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2367 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2368 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2369 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2370 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2371 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2372 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2373 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2374 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2375 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2376 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2377 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2378 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2379 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str2380 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2381 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2382 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2383 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2384 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2385 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2386 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2387 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2388 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2389 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2390 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2391 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2392 = private unnamed_addr constant [7 x i8] c"ms_dbc\00"
|
|
@.str2393 = private unnamed_addr constant [7 x i8] c"ms_dbb\00"
|
|
@.str2394 = private unnamed_addr constant [7 x i8] c"ms_dbe\00"
|
|
@.str2395 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2396 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2397 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2398 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2399 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2400 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2401 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2402 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2403 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2404 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2405 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2406 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2407 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2408 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2409 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str2410 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2411 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2412 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2413 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2414 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2415 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2416 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2417 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2418 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2419 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2420 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2421 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2422 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2423 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2424 = private unnamed_addr constant [7 x i8] c"ms_cbc\00"
|
|
@.str2425 = private unnamed_addr constant [7 x i8] c"ms_cbb\00"
|
|
@.str2426 = private unnamed_addr constant [7 x i8] c"ms_cbe\00"
|
|
@.str2427 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2428 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2429 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2430 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2431 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2432 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2433 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2434 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2435 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2436 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2437 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2438 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2439 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2440 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str2441 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2442 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2443 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2444 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2445 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2446 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2447 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2448 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2449 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2450 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2451 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2452 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2453 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2454 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2455 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2456 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2457 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2458 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2459 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2460 = private unnamed_addr constant [23 x i8] c" call void @free(ptr \00"
|
|
@.str2461 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str2462 = private unnamed_addr constant [6 x i8] c"List.\00"
|
|
@.str2463 = private unnamed_addr constant [25 x i8] c" needs (slice, function)\00"
|
|
@.str2464 = private unnamed_addr constant [6 x i8] c"List.\00"
|
|
@.str2465 = private unnamed_addr constant [46 x i8] c": the second argument must be a function name\00"
|
|
@.str2466 = private unnamed_addr constant [6 x i8] c"List.\00"
|
|
@.str2467 = private unnamed_addr constant [22 x i8] c": no function named '\00"
|
|
@.str2468 = private unnamed_addr constant [2 x i8] c"'\00"
|
|
@.str2469 = private unnamed_addr constant [4 x i8] c"len\00"
|
|
@.str2470 = private unnamed_addr constant [5 x i8] c"push\00"
|
|
@.str2471 = private unnamed_addr constant [6 x i8] c"List.\00"
|
|
@.str2472 = private unnamed_addr constant [15 x i8] c" needs a slice\00"
|
|
@.str2473 = private unnamed_addr constant [6 x i8] c"clear\00"
|
|
@.str2474 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
|
|
@.str2475 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2476 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2477 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str2478 = private unnamed_addr constant [6 x i8] c"first\00"
|
|
@.str2479 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2480 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2481 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2482 = private unnamed_addr constant [5 x i8] c"last\00"
|
|
@.str2483 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2484 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str2485 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2486 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2487 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2488 = private unnamed_addr constant [4 x i8] c"pop\00"
|
|
@.str2489 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2490 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str2491 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2492 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2493 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2494 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str2495 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2496 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2497 = private unnamed_addr constant [5 x i8] c"swap\00"
|
|
@.str2498 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2499 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2500 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2501 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2502 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str2503 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2504 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2505 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2506 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str2507 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2508 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2509 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2510 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2511 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str2512 = private unnamed_addr constant [9 x i8] c"contains\00"
|
|
@.str2513 = private unnamed_addr constant [9 x i8] c"index_of\00"
|
|
@.str2514 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2515 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2516 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2517 = private unnamed_addr constant [3 x i8] c"-1\00"
|
|
@.str2518 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2519 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2520 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2521 = private unnamed_addr constant [8 x i8] c"lc_cond\00"
|
|
@.str2522 = private unnamed_addr constant [8 x i8] c"lc_body\00"
|
|
@.str2523 = private unnamed_addr constant [7 x i8] c"lc_hit\00"
|
|
@.str2524 = private unnamed_addr constant [8 x i8] c"lc_next\00"
|
|
@.str2525 = private unnamed_addr constant [7 x i8] c"lc_end\00"
|
|
@.str2526 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2527 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2528 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2529 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2530 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2531 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2532 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2533 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2534 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2535 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2536 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2537 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2538 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2539 = private unnamed_addr constant [9 x i8] c"icmp eq \00"
|
|
@.str2540 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2541 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2542 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2543 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2544 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2545 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2546 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2547 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2548 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2549 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2550 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2551 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2552 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2553 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2554 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2555 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2556 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2557 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2558 = private unnamed_addr constant [9 x i8] c"index_of\00"
|
|
@.str2559 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str2560 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
|
|
@.str2561 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str2562 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str2563 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str2564 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str2565 = private unnamed_addr constant [7 x i8] c"insert\00"
|
|
@.str2566 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2567 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2568 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2569 = private unnamed_addr constant [5 x i8] c"li_c\00"
|
|
@.str2570 = private unnamed_addr constant [5 x i8] c"li_b\00"
|
|
@.str2571 = private unnamed_addr constant [5 x i8] c"li_e\00"
|
|
@.str2572 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2573 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2574 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2575 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2576 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
|
|
@.str2577 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2578 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2579 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2580 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2581 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2582 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2583 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str2584 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2585 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2586 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2587 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str2588 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2589 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2590 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2591 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2592 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2593 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2594 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2595 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str2596 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2597 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2598 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2599 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2600 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2601 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str2602 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2603 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2604 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2605 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str2606 = private unnamed_addr constant [10 x i8] c"remove_at\00"
|
|
@.str2607 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2608 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str2609 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2610 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2611 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2612 = private unnamed_addr constant [5 x i8] c"lr_c\00"
|
|
@.str2613 = private unnamed_addr constant [5 x i8] c"lr_b\00"
|
|
@.str2614 = private unnamed_addr constant [5 x i8] c"lr_e\00"
|
|
@.str2615 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2616 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2617 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2618 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2619 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2620 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2621 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2622 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2623 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2624 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2625 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2626 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2627 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2628 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2629 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2630 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str2631 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2632 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2633 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2634 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2635 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2636 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2637 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2638 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str2639 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2640 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2641 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2642 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str2643 = private unnamed_addr constant [7 x i8] c"remove\00"
|
|
@.str2644 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2645 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2646 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2647 = private unnamed_addr constant [3 x i8] c"-1\00"
|
|
@.str2648 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2649 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2650 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2651 = private unnamed_addr constant [5 x i8] c"lv_c\00"
|
|
@.str2652 = private unnamed_addr constant [5 x i8] c"lv_b\00"
|
|
@.str2653 = private unnamed_addr constant [5 x i8] c"lv_h\00"
|
|
@.str2654 = private unnamed_addr constant [5 x i8] c"lv_n\00"
|
|
@.str2655 = private unnamed_addr constant [5 x i8] c"lv_e\00"
|
|
@.str2656 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2657 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2658 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2659 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2660 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2661 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2662 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2663 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2664 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str2665 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str2666 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2667 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2668 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2669 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2670 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2671 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2672 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2673 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2674 = private unnamed_addr constant [9 x i8] c"icmp eq \00"
|
|
@.str2675 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2676 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2677 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2678 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2679 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2680 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2681 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2682 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2683 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2684 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2685 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2686 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2687 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2688 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2689 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2690 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2691 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2692 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2693 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
|
|
@.str2694 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str2695 = private unnamed_addr constant [6 x i8] c"lv_do\00"
|
|
@.str2696 = private unnamed_addr constant [7 x i8] c"lv_end\00"
|
|
@.str2697 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2698 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2699 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2700 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2701 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2702 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str2703 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2704 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2705 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2706 = private unnamed_addr constant [6 x i8] c"lv_dc\00"
|
|
@.str2707 = private unnamed_addr constant [6 x i8] c"lv_db\00"
|
|
@.str2708 = private unnamed_addr constant [6 x i8] c"lv_de\00"
|
|
@.str2709 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2710 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2711 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2712 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2713 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2714 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2715 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2716 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2717 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2718 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2719 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2720 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2721 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2722 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2723 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2724 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str2725 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2726 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2727 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2728 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2729 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2730 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2731 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2732 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str2733 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2734 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2735 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2736 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2737 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2738 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2739 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str2740 = private unnamed_addr constant [5 x i8] c"sort\00"
|
|
@.str2741 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2742 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2743 = private unnamed_addr constant [5 x i8] c", 32\00"
|
|
@.str2744 = private unnamed_addr constant [9 x i8] c"sort_ins\00"
|
|
@.str2745 = private unnamed_addr constant [9 x i8] c"sort_mrg\00"
|
|
@.str2746 = private unnamed_addr constant [9 x i8] c"sort_end\00"
|
|
@.str2747 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2748 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2749 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2750 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2751 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2752 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2753 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2754 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2755 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str2756 = private unnamed_addr constant [6 x i8] c"ls_oc\00"
|
|
@.str2757 = private unnamed_addr constant [6 x i8] c"ls_ob\00"
|
|
@.str2758 = private unnamed_addr constant [6 x i8] c"ls_oe\00"
|
|
@.str2759 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2760 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2761 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2762 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2763 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2764 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2765 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2766 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2767 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2768 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2769 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2770 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2771 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2772 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2773 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str2774 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2775 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2776 = private unnamed_addr constant [6 x i8] c"ls_ic\00"
|
|
@.str2777 = private unnamed_addr constant [6 x i8] c"ls_ib\00"
|
|
@.str2778 = private unnamed_addr constant [6 x i8] c"ls_ie\00"
|
|
@.str2779 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2780 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2781 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2782 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2783 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
|
|
@.str2784 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str2785 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2786 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2787 = private unnamed_addr constant [10 x i8] c"icmp sgt \00"
|
|
@.str2788 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2789 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2790 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str2791 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2792 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2793 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2794 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2795 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2796 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2797 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2798 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2799 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str2800 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2801 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2802 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2803 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str2804 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2805 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2806 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2807 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2808 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2809 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2810 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2811 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2812 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str2813 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2814 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2815 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2816 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2817 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2818 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2819 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2820 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2821 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2822 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2823 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2824 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2825 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str2826 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str2827 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2828 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2829 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2830 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2831 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str2832 = private unnamed_addr constant [10 x i8] c"sort_with\00"
|
|
@.str2833 = private unnamed_addr constant [18 x i8] c"List.sort_with: '\00"
|
|
@.str2834 = private unnamed_addr constant [26 x i8] c"' must take two arguments\00"
|
|
@.str2835 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2836 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2837 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str2838 = private unnamed_addr constant [8 x i8] c"sort_by\00"
|
|
@.str2839 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00"
|
|
@.str2840 = private unnamed_addr constant [6 x i8] c"List.\00"
|
|
@.str2841 = private unnamed_addr constant [8 x i8] c": key '\00"
|
|
@.str2842 = private unnamed_addr constant [25 x i8] c"' must take one argument\00"
|
|
@.str2843 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str2844 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str2845 = private unnamed_addr constant [6 x i8] c"List.\00"
|
|
@.str2846 = private unnamed_addr constant [8 x i8] c": key '\00"
|
|
@.str2847 = private unnamed_addr constant [23 x i8] c"' must return a number\00"
|
|
@.str2848 = private unnamed_addr constant [13 x i8] c"sort_desc_by\00"
|
|
@.str2849 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2850 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str2851 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2852 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2853 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2854 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2855 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2856 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str2857 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2858 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2859 = private unnamed_addr constant [8 x i8] c"lr_cond\00"
|
|
@.str2860 = private unnamed_addr constant [8 x i8] c"lr_body\00"
|
|
@.str2861 = private unnamed_addr constant [7 x i8] c"lr_end\00"
|
|
@.str2862 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2863 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2864 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2865 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2866 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str2867 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2868 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2869 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str2870 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2871 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str2872 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2873 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2874 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2875 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2876 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str2877 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2878 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str2879 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2880 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2881 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2882 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str2883 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str2884 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str2885 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2886 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2887 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2888 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2889 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str2890 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str2891 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str2892 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str2893 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str2894 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str2895 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str2896 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str2897 = private unnamed_addr constant [3 x i8] c"in\00"
|
|
@.str2898 = private unnamed_addr constant [4 x i8] c"out\00"
|
|
@.str2899 = private unnamed_addr constant [7 x i8] c"in_out\00"
|
|
@.str2900 = private unnamed_addr constant [5 x i8] c"back\00"
|
|
@.str2901 = private unnamed_addr constant [7 x i8] c"bounce\00"
|
|
@.str2902 = private unnamed_addr constant [8 x i8] c"elastic\00"
|
|
@.str2903 = private unnamed_addr constant [7 x i8] c"495616\00"
|
|
@.str2904 = private unnamed_addr constant [3 x i8] c"in\00"
|
|
@.str2905 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str2906 = private unnamed_addr constant [4 x i8] c"out\00"
|
|
@.str2907 = private unnamed_addr constant [17 x i8] c"sub i32 131072, \00"
|
|
@.str2908 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str2909 = private unnamed_addr constant [7 x i8] c"in_out\00"
|
|
@.str2910 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str2911 = private unnamed_addr constant [4 x i8] c", 3\00"
|
|
@.str2912 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str2913 = private unnamed_addr constant [4 x i8] c", 2\00"
|
|
@.str2914 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str2915 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2916 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str2917 = private unnamed_addr constant [5 x i8] c"back\00"
|
|
@.str2918 = private unnamed_addr constant [7 x i8] c"177051\00"
|
|
@.str2919 = private unnamed_addr constant [7 x i8] c"111515\00"
|
|
@.str2920 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str2921 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2922 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str2923 = private unnamed_addr constant [8 x i8] c"elastic\00"
|
|
@.str2924 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str2925 = private unnamed_addr constant [5 x i8] c", 10\00"
|
|
@.str2926 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
|
|
@.str2927 = private unnamed_addr constant [26 x i8] c"call i32 @fn_fx_exp2(i32 \00"
|
|
@.str2928 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2929 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str2930 = private unnamed_addr constant [8 x i8] c", 49152\00"
|
|
@.str2931 = private unnamed_addr constant [7 x i8] c"137258\00"
|
|
@.str2932 = private unnamed_addr constant [25 x i8] c"call i32 @fn_fx_sin(i32 \00"
|
|
@.str2933 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str2934 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2935 = private unnamed_addr constant [8 x i8] c", 65536\00"
|
|
@.str2936 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str2937 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str2938 = private unnamed_addr constant [8 x i8] c", 35747\00"
|
|
@.str2939 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2940 = private unnamed_addr constant [8 x i8] c", 49152\00"
|
|
@.str2941 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str2942 = private unnamed_addr constant [8 x i8] c", 53620\00"
|
|
@.str2943 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2944 = private unnamed_addr constant [8 x i8] c", 61440\00"
|
|
@.str2945 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str2946 = private unnamed_addr constant [8 x i8] c", 62557\00"
|
|
@.str2947 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2948 = private unnamed_addr constant [8 x i8] c", 64512\00"
|
|
@.str2949 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2950 = private unnamed_addr constant [8 x i8] c", 59578\00"
|
|
@.str2951 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str2952 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2953 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2954 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2955 = private unnamed_addr constant [8 x i8] c", 47663\00"
|
|
@.str2956 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str2957 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2958 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2959 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2960 = private unnamed_addr constant [8 x i8] c", 23831\00"
|
|
@.str2961 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str2962 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2963 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2964 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str2965 = private unnamed_addr constant [6 x i8] c"rects\00"
|
|
@.str2966 = private unnamed_addr constant [11 x i8] c"point_rect\00"
|
|
@.str2967 = private unnamed_addr constant [8 x i8] c"circles\00"
|
|
@.str2968 = private unnamed_addr constant [12 x i8] c"rect_circle\00"
|
|
@.str2969 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str2970 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str2971 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str2972 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str2973 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str2974 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2975 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str2976 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2977 = private unnamed_addr constant [9 x i8] c"add i64 \00"
|
|
@.str2978 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2979 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2980 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2981 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str2982 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2983 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2984 = private unnamed_addr constant [14 x i8] c"icmp sgt i32 \00"
|
|
@.str2985 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2986 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str2987 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2988 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str2989 = private unnamed_addr constant [6 x i8] c"rects\00"
|
|
@.str2990 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2991 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2992 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2993 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2994 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2995 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2996 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str2997 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str2998 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str2999 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3000 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3001 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3002 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3003 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3004 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3005 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3006 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str3007 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3008 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str3009 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3010 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str3011 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3012 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str3013 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str3014 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str3015 = private unnamed_addr constant [11 x i8] c"point_rect\00"
|
|
@.str3016 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3017 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3018 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3019 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3020 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
|
|
@.str3021 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3022 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3023 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3024 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
|
|
@.str3025 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3026 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str3027 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3028 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str3029 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3030 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str3031 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3032 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str3033 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3034 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str3035 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str3036 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str3037 = private unnamed_addr constant [8 x i8] c"circles\00"
|
|
@.str3038 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str3039 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3040 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str3041 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3042 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3043 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3044 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str3045 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str3046 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str3047 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3048 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00"
|
|
@.str3049 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3050 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str3051 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str3052 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str3053 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3054 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3055 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3056 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3057 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str3058 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3059 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str3060 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3061 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str3062 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str3063 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str3064 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3065 = private unnamed_addr constant [14 x i8] c"icmp sle i64 \00"
|
|
@.str3066 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3067 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str3068 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str3069 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str3070 = private unnamed_addr constant [6 x i8] c"bytes\00"
|
|
@.str3071 = private unnamed_addr constant [6 x i8] c"words\00"
|
|
@.str3072 = private unnamed_addr constant [5 x i8] c"copy\00"
|
|
@.str3073 = private unnamed_addr constant [5 x i8] c"fill\00"
|
|
@.str3074 = private unnamed_addr constant [5 x i8] c"peek\00"
|
|
@.str3075 = private unnamed_addr constant [5 x i8] c"poke\00"
|
|
@.str3076 = private unnamed_addr constant [6 x i8] c"bytes\00"
|
|
@.str3077 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str3078 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str3079 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
|
|
@.str3080 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3081 = private unnamed_addr constant [8 x i8] c"pointer\00"
|
|
@.str3082 = private unnamed_addr constant [6 x i8] c"words\00"
|
|
@.str3083 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3084 = private unnamed_addr constant [4 x i8] c", 4\00"
|
|
@.str3085 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str3086 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str3087 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
|
|
@.str3088 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3089 = private unnamed_addr constant [6 x i8] c"words\00"
|
|
@.str3090 = private unnamed_addr constant [5 x i8] c"copy\00"
|
|
@.str3091 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str3092 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str3093 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
|
|
@.str3094 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3095 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str3096 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str3097 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3098 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str3099 = private unnamed_addr constant [5 x i8] c"fill\00"
|
|
@.str3100 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str3101 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str3102 = private unnamed_addr constant [24 x i8] c" call ptr @memset(ptr \00"
|
|
@.str3103 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3104 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str3105 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str3106 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3107 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str3108 = private unnamed_addr constant [5 x i8] c"peek\00"
|
|
@.str3109 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
|
|
@.str3110 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3111 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
|
|
@.str3112 = private unnamed_addr constant [9 x i8] c"zext i8 \00"
|
|
@.str3113 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str3114 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3115 = private unnamed_addr constant [32 x i8] c"getelementptr inbounds i8, ptr \00"
|
|
@.str3116 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3117 = private unnamed_addr constant [11 x i8] c"trunc i32 \00"
|
|
@.str3118 = private unnamed_addr constant [7 x i8] c" to i8\00"
|
|
@.str3119 = private unnamed_addr constant [12 x i8] c" store i8 \00"
|
|
@.str3120 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3121 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3122 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3123 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str3124 = private unnamed_addr constant [6 x i8] c"frame\00"
|
|
@.str3125 = private unnamed_addr constant [6 x i8] c"delta\00"
|
|
@.str3126 = private unnamed_addr constant [8 x i8] c"elapsed\00"
|
|
@.str3127 = private unnamed_addr constant [4 x i8] c"now\00"
|
|
@.str3128 = private unnamed_addr constant [6 x i8] c"since\00"
|
|
@.str3129 = private unnamed_addr constant [6 x i8] c"frame\00"
|
|
@.str3130 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00"
|
|
@.str3131 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3132 = private unnamed_addr constant [6 x i8] c"delta\00"
|
|
@.str3133 = private unnamed_addr constant [5 x i8] c"1092\00"
|
|
@.str3134 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str3135 = private unnamed_addr constant [8 x i8] c"elapsed\00"
|
|
@.str3136 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00"
|
|
@.str3137 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3138 = private unnamed_addr constant [7 x i8] c", 1092\00"
|
|
@.str3139 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str3140 = private unnamed_addr constant [6 x i8] c"since\00"
|
|
@.str3141 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00"
|
|
@.str3142 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str3143 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str3144 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str3145 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3146 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3147 = private unnamed_addr constant [25 x i8] c"call i64 @time(ptr null)\00"
|
|
@.str3148 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str3149 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str3150 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3151 = private unnamed_addr constant [8 x i8] c"seconds\00"
|
|
@.str3152 = private unnamed_addr constant [8 x i8] c"minutes\00"
|
|
@.str3153 = private unnamed_addr constant [6 x i8] c"hours\00"
|
|
@.str3154 = private unnamed_addr constant [5 x i8] c"days\00"
|
|
@.str3155 = private unnamed_addr constant [11 x i8] c"as_seconds\00"
|
|
@.str3156 = private unnamed_addr constant [11 x i8] c"as_minutes\00"
|
|
@.str3157 = private unnamed_addr constant [9 x i8] c"as_hours\00"
|
|
@.str3158 = private unnamed_addr constant [8 x i8] c"as_days\00"
|
|
@.str3159 = private unnamed_addr constant [8 x i8] c"seconds\00"
|
|
@.str3160 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3161 = private unnamed_addr constant [8 x i8] c"minutes\00"
|
|
@.str3162 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3163 = private unnamed_addr constant [5 x i8] c", 60\00"
|
|
@.str3164 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3165 = private unnamed_addr constant [6 x i8] c"hours\00"
|
|
@.str3166 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3167 = private unnamed_addr constant [7 x i8] c", 3600\00"
|
|
@.str3168 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3169 = private unnamed_addr constant [5 x i8] c"days\00"
|
|
@.str3170 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3171 = private unnamed_addr constant [8 x i8] c", 86400\00"
|
|
@.str3172 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3173 = private unnamed_addr constant [11 x i8] c"as_seconds\00"
|
|
@.str3174 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3175 = private unnamed_addr constant [11 x i8] c"as_minutes\00"
|
|
@.str3176 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
|
|
@.str3177 = private unnamed_addr constant [5 x i8] c", 60\00"
|
|
@.str3178 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3179 = private unnamed_addr constant [9 x i8] c"as_hours\00"
|
|
@.str3180 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
|
|
@.str3181 = private unnamed_addr constant [7 x i8] c", 3600\00"
|
|
@.str3182 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3183 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
|
|
@.str3184 = private unnamed_addr constant [8 x i8] c", 86400\00"
|
|
@.str3185 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3186 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3187 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3188 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3189 = private unnamed_addr constant [37 x i8] c" call void @fn_civil_from_days(i32 \00"
|
|
@.str3190 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3191 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3192 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3193 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str3194 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3195 = private unnamed_addr constant [4 x i8] c"new\00"
|
|
@.str3196 = private unnamed_addr constant [5 x i8] c"year\00"
|
|
@.str3197 = private unnamed_addr constant [6 x i8] c"month\00"
|
|
@.str3198 = private unnamed_addr constant [4 x i8] c"day\00"
|
|
@.str3199 = private unnamed_addr constant [8 x i8] c"weekday\00"
|
|
@.str3200 = private unnamed_addr constant [8 x i8] c"is_leap\00"
|
|
@.str3201 = private unnamed_addr constant [14 x i8] c"days_in_month\00"
|
|
@.str3202 = private unnamed_addr constant [9 x i8] c"to_epoch\00"
|
|
@.str3203 = private unnamed_addr constant [9 x i8] c"add_days\00"
|
|
@.str3204 = private unnamed_addr constant [10 x i8] c"diff_days\00"
|
|
@.str3205 = private unnamed_addr constant [4 x i8] c"new\00"
|
|
@.str3206 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
|
|
@.str3207 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3208 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3209 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3210 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3211 = private unnamed_addr constant [5 x i8] c"year\00"
|
|
@.str3212 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3213 = private unnamed_addr constant [6 x i8] c"month\00"
|
|
@.str3214 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3215 = private unnamed_addr constant [4 x i8] c"day\00"
|
|
@.str3216 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3217 = private unnamed_addr constant [8 x i8] c"weekday\00"
|
|
@.str3218 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3219 = private unnamed_addr constant [4 x i8] c", 4\00"
|
|
@.str3220 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str3221 = private unnamed_addr constant [4 x i8] c", 7\00"
|
|
@.str3222 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3223 = private unnamed_addr constant [4 x i8] c", 7\00"
|
|
@.str3224 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str3225 = private unnamed_addr constant [4 x i8] c", 7\00"
|
|
@.str3226 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3227 = private unnamed_addr constant [8 x i8] c"is_leap\00"
|
|
@.str3228 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str3229 = private unnamed_addr constant [4 x i8] c", 4\00"
|
|
@.str3230 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str3231 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str3232 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str3233 = private unnamed_addr constant [6 x i8] c", 100\00"
|
|
@.str3234 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str3235 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str3236 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str3237 = private unnamed_addr constant [6 x i8] c", 400\00"
|
|
@.str3238 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str3239 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str3240 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str3241 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3242 = private unnamed_addr constant [7 x i8] c"or i1 \00"
|
|
@.str3243 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3244 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str3245 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str3246 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str3247 = private unnamed_addr constant [14 x i8] c"days_in_month\00"
|
|
@.str3248 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
|
|
@.str3249 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3250 = private unnamed_addr constant [9 x i8] c", i32 1)\00"
|
|
@.str3251 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str3252 = private unnamed_addr constant [5 x i8] c", 12\00"
|
|
@.str3253 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3254 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3255 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str3256 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3257 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3258 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3259 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3260 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str3261 = private unnamed_addr constant [14 x i8] c", i32 1, i32 \00"
|
|
@.str3262 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
|
|
@.str3263 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3264 = private unnamed_addr constant [9 x i8] c", i32 1)\00"
|
|
@.str3265 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str3266 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3267 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3268 = private unnamed_addr constant [9 x i8] c"to_epoch\00"
|
|
@.str3269 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3270 = private unnamed_addr constant [8 x i8] c", 86400\00"
|
|
@.str3271 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3272 = private unnamed_addr constant [9 x i8] c"add_days\00"
|
|
@.str3273 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3274 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3275 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3276 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str3277 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3278 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3279 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str3280 = private unnamed_addr constant [8 x i8] c", 86400\00"
|
|
@.str3281 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3282 = private unnamed_addr constant [8 x i8] c", 86400\00"
|
|
@.str3283 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str3284 = private unnamed_addr constant [8 x i8] c", 86400\00"
|
|
@.str3285 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str3286 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3287 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
|
|
@.str3288 = private unnamed_addr constant [8 x i8] c", 86400\00"
|
|
@.str3289 = private unnamed_addr constant [5 x i8] c"from\00"
|
|
@.str3290 = private unnamed_addr constant [5 x i8] c"date\00"
|
|
@.str3291 = private unnamed_addr constant [4 x i8] c"add\00"
|
|
@.str3292 = private unnamed_addr constant [5 x i8] c"year\00"
|
|
@.str3293 = private unnamed_addr constant [6 x i8] c"month\00"
|
|
@.str3294 = private unnamed_addr constant [4 x i8] c"day\00"
|
|
@.str3295 = private unnamed_addr constant [8 x i8] c"weekday\00"
|
|
@.str3296 = private unnamed_addr constant [5 x i8] c"hour\00"
|
|
@.str3297 = private unnamed_addr constant [7 x i8] c"minute\00"
|
|
@.str3298 = private unnamed_addr constant [7 x i8] c"second\00"
|
|
@.str3299 = private unnamed_addr constant [7 x i8] c"format\00"
|
|
@.str3300 = private unnamed_addr constant [6 x i8] c"parse\00"
|
|
@.str3301 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00"
|
|
@.str3302 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3303 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3304 = private unnamed_addr constant [47 x i8] c"DateTime.format needs a string-literal pattern\00"
|
|
@.str3305 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3306 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3307 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3308 = private unnamed_addr constant [37 x i8] c" call void @fn_civil_from_days(i32 \00"
|
|
@.str3309 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3310 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3311 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3312 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str3313 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3314 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3315 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3316 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
|
|
@.str3317 = private unnamed_addr constant [7 x i8] c", 3600\00"
|
|
@.str3318 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str3319 = private unnamed_addr constant [7 x i8] c", 3600\00"
|
|
@.str3320 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
|
|
@.str3321 = private unnamed_addr constant [5 x i8] c", 60\00"
|
|
@.str3322 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str3323 = private unnamed_addr constant [5 x i8] c", 60\00"
|
|
@.str3324 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str3325 = private unnamed_addr constant [6 x i8] c", 100\00"
|
|
@.str3326 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str3327 = private unnamed_addr constant [5 x i8] c"YYYY\00"
|
|
@.str3328 = private unnamed_addr constant [3 x i8] c"YY\00"
|
|
@.str3329 = private unnamed_addr constant [3 x i8] c"MM\00"
|
|
@.str3330 = private unnamed_addr constant [3 x i8] c"DD\00"
|
|
@.str3331 = private unnamed_addr constant [3 x i8] c"HH\00"
|
|
@.str3332 = private unnamed_addr constant [3 x i8] c"mm\00"
|
|
@.str3333 = private unnamed_addr constant [3 x i8] c"ss\00"
|
|
@.str3334 = private unnamed_addr constant [26 x i8] c"call ptr @fn_dt_pad0(i32 \00"
|
|
@.str3335 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3336 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3337 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str3338 = private unnamed_addr constant [46 x i8] c"DateTime.parse needs a string-literal pattern\00"
|
|
@.str3339 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3340 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3341 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3342 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3343 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3344 = private unnamed_addr constant [5 x i8] c"1970\00"
|
|
@.str3345 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3346 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3347 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str3348 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3349 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3350 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str3351 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3352 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3353 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3354 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3355 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3356 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3357 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3358 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3359 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3360 = private unnamed_addr constant [5 x i8] c"YYYY\00"
|
|
@.str3361 = private unnamed_addr constant [3 x i8] c"MM\00"
|
|
@.str3362 = private unnamed_addr constant [3 x i8] c"DD\00"
|
|
@.str3363 = private unnamed_addr constant [3 x i8] c"HH\00"
|
|
@.str3364 = private unnamed_addr constant [3 x i8] c"mm\00"
|
|
@.str3365 = private unnamed_addr constant [3 x i8] c"ss\00"
|
|
@.str3366 = private unnamed_addr constant [24 x i8] c"call i32 @fn_dt_rd(ptr \00"
|
|
@.str3367 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3368 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3369 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3370 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3371 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3372 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3373 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3374 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3375 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3376 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3377 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3378 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
|
|
@.str3379 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3380 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3381 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3382 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3383 = private unnamed_addr constant [8 x i8] c", 86400\00"
|
|
@.str3384 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3385 = private unnamed_addr constant [7 x i8] c", 3600\00"
|
|
@.str3386 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3387 = private unnamed_addr constant [5 x i8] c", 60\00"
|
|
@.str3388 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3389 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3390 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3391 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3392 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3393 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3394 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3395 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str3396 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str3397 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str3398 = private unnamed_addr constant [15 x i8] c", i32 -1, i32 \00"
|
|
@.str3399 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3400 = private unnamed_addr constant [7 x i8] c"format\00"
|
|
@.str3401 = private unnamed_addr constant [6 x i8] c"parse\00"
|
|
@.str3402 = private unnamed_addr constant [5 x i8] c"from\00"
|
|
@.str3403 = private unnamed_addr constant [34 x i8] c"call i32 @fn_days_from_civil(i32 \00"
|
|
@.str3404 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3405 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3406 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3407 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3408 = private unnamed_addr constant [8 x i8] c", 86400\00"
|
|
@.str3409 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3410 = private unnamed_addr constant [7 x i8] c", 3600\00"
|
|
@.str3411 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3412 = private unnamed_addr constant [5 x i8] c", 60\00"
|
|
@.str3413 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3414 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3415 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3416 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3417 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3418 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3419 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3420 = private unnamed_addr constant [5 x i8] c"date\00"
|
|
@.str3421 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3422 = private unnamed_addr constant [4 x i8] c"add\00"
|
|
@.str3423 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3424 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3425 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3426 = private unnamed_addr constant [5 x i8] c"year\00"
|
|
@.str3427 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3428 = private unnamed_addr constant [6 x i8] c"month\00"
|
|
@.str3429 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3430 = private unnamed_addr constant [4 x i8] c"day\00"
|
|
@.str3431 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3432 = private unnamed_addr constant [8 x i8] c"weekday\00"
|
|
@.str3433 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3434 = private unnamed_addr constant [4 x i8] c", 4\00"
|
|
@.str3435 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str3436 = private unnamed_addr constant [4 x i8] c", 7\00"
|
|
@.str3437 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3438 = private unnamed_addr constant [4 x i8] c", 7\00"
|
|
@.str3439 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str3440 = private unnamed_addr constant [4 x i8] c", 7\00"
|
|
@.str3441 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3442 = private unnamed_addr constant [5 x i8] c"hour\00"
|
|
@.str3443 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
|
|
@.str3444 = private unnamed_addr constant [7 x i8] c", 3600\00"
|
|
@.str3445 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3446 = private unnamed_addr constant [7 x i8] c"minute\00"
|
|
@.str3447 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str3448 = private unnamed_addr constant [7 x i8] c", 3600\00"
|
|
@.str3449 = private unnamed_addr constant [10 x i8] c"sdiv i32 \00"
|
|
@.str3450 = private unnamed_addr constant [5 x i8] c", 60\00"
|
|
@.str3451 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3452 = private unnamed_addr constant [10 x i8] c"srem i32 \00"
|
|
@.str3453 = private unnamed_addr constant [5 x i8] c", 60\00"
|
|
@.str3454 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3455 = private unnamed_addr constant [59 x i8] c"define i32 @fn_days_from_civil(i32 %y0, i32 %m, i32 %d) {\0A\00"
|
|
@.str3456 = private unnamed_addr constant [30 x i8] c" %mle2 = icmp sle i32 %m, 2\0A\00"
|
|
@.str3457 = private unnamed_addr constant [41 x i8] c" %ysub = select i1 %mle2, i32 1, i32 0\0A\00"
|
|
@.str3458 = private unnamed_addr constant [27 x i8] c" %y = sub i32 %y0, %ysub\0A\00"
|
|
@.str3459 = private unnamed_addr constant [30 x i8] c" %yneg = icmp slt i32 %y, 0\0A\00"
|
|
@.str3460 = private unnamed_addr constant [28 x i8] c" %ym399 = sub i32 %y, 399\0A\00"
|
|
@.str3461 = private unnamed_addr constant [47 x i8] c" %enum = select i1 %yneg, i32 %ym399, i32 %y\0A\00"
|
|
@.str3462 = private unnamed_addr constant [30 x i8] c" %era = sdiv i32 %enum, 400\0A\00"
|
|
@.str3463 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00"
|
|
@.str3464 = private unnamed_addr constant [30 x i8] c" %yoe = sub i32 %y, %era400\0A\00"
|
|
@.str3465 = private unnamed_addr constant [30 x i8] c" %mgt2 = icmp sgt i32 %m, 2\0A\00"
|
|
@.str3466 = private unnamed_addr constant [44 x i8] c" %mshift = select i1 %mgt2, i32 -3, i32 9\0A\00"
|
|
@.str3467 = private unnamed_addr constant [29 x i8] c" %mm = add i32 %m, %mshift\0A\00"
|
|
@.str3468 = private unnamed_addr constant [28 x i8] c" %t153 = mul i32 153, %mm\0A\00"
|
|
@.str3469 = private unnamed_addr constant [29 x i8] c" %t153b = add i32 %t153, 2\0A\00"
|
|
@.str3470 = private unnamed_addr constant [30 x i8] c" %doy0 = sdiv i32 %t153b, 5\0A\00"
|
|
@.str3471 = private unnamed_addr constant [29 x i8] c" %doy1 = add i32 %doy0, %d\0A\00"
|
|
@.str3472 = private unnamed_addr constant [27 x i8] c" %doy = sub i32 %doy1, 1\0A\00"
|
|
@.str3473 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00"
|
|
@.str3474 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00"
|
|
@.str3475 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00"
|
|
@.str3476 = private unnamed_addr constant [34 x i8] c" %doe0 = add i32 %yoe365, %yoe4\0A\00"
|
|
@.str3477 = private unnamed_addr constant [34 x i8] c" %doe1 = sub i32 %doe0, %yoe100\0A\00"
|
|
@.str3478 = private unnamed_addr constant [30 x i8] c" %doe = add i32 %doe1, %doy\0A\00"
|
|
@.str3479 = private unnamed_addr constant [35 x i8] c" %e146097 = mul i32 %era, 146097\0A\00"
|
|
@.str3480 = private unnamed_addr constant [32 x i8] c" %r0 = add i32 %e146097, %doe\0A\00"
|
|
@.str3481 = private unnamed_addr constant [28 x i8] c" %r = sub i32 %r0, 719468\0A\00"
|
|
@.str3482 = private unnamed_addr constant [14 x i8] c" ret i32 %r\0A\00"
|
|
@.str3483 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str3484 = private unnamed_addr constant [71 x i8] c"define void @fn_civil_from_days(i32 %z0, ptr %yp, ptr %mp, ptr %dp) {\0A\00"
|
|
@.str3485 = private unnamed_addr constant [28 x i8] c" %z = add i32 %z0, 719468\0A\00"
|
|
@.str3486 = private unnamed_addr constant [30 x i8] c" %zneg = icmp slt i32 %z, 0\0A\00"
|
|
@.str3487 = private unnamed_addr constant [28 x i8] c" %zm = sub i32 %z, 146096\0A\00"
|
|
@.str3488 = private unnamed_addr constant [44 x i8] c" %enum = select i1 %zneg, i32 %zm, i32 %z\0A\00"
|
|
@.str3489 = private unnamed_addr constant [33 x i8] c" %era = sdiv i32 %enum, 146097\0A\00"
|
|
@.str3490 = private unnamed_addr constant [37 x i8] c" %era146097 = mul i32 %era, 146097\0A\00"
|
|
@.str3491 = private unnamed_addr constant [33 x i8] c" %doe = sub i32 %z, %era146097\0A\00"
|
|
@.str3492 = private unnamed_addr constant [32 x i8] c" %d1460 = sdiv i32 %doe, 1460\0A\00"
|
|
@.str3493 = private unnamed_addr constant [34 x i8] c" %d36524 = sdiv i32 %doe, 36524\0A\00"
|
|
@.str3494 = private unnamed_addr constant [36 x i8] c" %d146096 = sdiv i32 %doe, 146096\0A\00"
|
|
@.str3495 = private unnamed_addr constant [30 x i8] c" %ya = sub i32 %doe, %d1460\0A\00"
|
|
@.str3496 = private unnamed_addr constant [30 x i8] c" %yb = add i32 %ya, %d36524\0A\00"
|
|
@.str3497 = private unnamed_addr constant [31 x i8] c" %yc = sub i32 %yb, %d146096\0A\00"
|
|
@.str3498 = private unnamed_addr constant [28 x i8] c" %yoe = sdiv i32 %yc, 365\0A\00"
|
|
@.str3499 = private unnamed_addr constant [31 x i8] c" %era400 = mul i32 %era, 400\0A\00"
|
|
@.str3500 = private unnamed_addr constant [31 x i8] c" %yy = add i32 %yoe, %era400\0A\00"
|
|
@.str3501 = private unnamed_addr constant [31 x i8] c" %yoe365 = mul i32 %yoe, 365\0A\00"
|
|
@.str3502 = private unnamed_addr constant [28 x i8] c" %yoe4 = sdiv i32 %yoe, 4\0A\00"
|
|
@.str3503 = private unnamed_addr constant [32 x i8] c" %yoe100 = sdiv i32 %yoe, 100\0A\00"
|
|
@.str3504 = private unnamed_addr constant [34 x i8] c" %sub0 = add i32 %yoe365, %yoe4\0A\00"
|
|
@.str3505 = private unnamed_addr constant [34 x i8] c" %sub1 = sub i32 %sub0, %yoe100\0A\00"
|
|
@.str3506 = private unnamed_addr constant [30 x i8] c" %doy = sub i32 %doe, %sub1\0A\00"
|
|
@.str3507 = private unnamed_addr constant [30 x i8] c" %fivedoy = mul i32 5, %doy\0A\00"
|
|
@.str3508 = private unnamed_addr constant [35 x i8] c" %fivedoy2 = add i32 %fivedoy, 2\0A\00"
|
|
@.str3509 = private unnamed_addr constant [34 x i8] c" %mpv = sdiv i32 %fivedoy2, 153\0A\00"
|
|
@.str3510 = private unnamed_addr constant [29 x i8] c" %m153 = mul i32 153, %mpv\0A\00"
|
|
@.str3511 = private unnamed_addr constant [29 x i8] c" %m153b = add i32 %m153, 2\0A\00"
|
|
@.str3512 = private unnamed_addr constant [31 x i8] c" %m153c = sdiv i32 %m153b, 5\0A\00"
|
|
@.str3513 = private unnamed_addr constant [31 x i8] c" %dd0 = sub i32 %doy, %m153c\0A\00"
|
|
@.str3514 = private unnamed_addr constant [25 x i8] c" %dd = add i32 %dd0, 1\0A\00"
|
|
@.str3515 = private unnamed_addr constant [35 x i8] c" %mplt10 = icmp slt i32 %mpv, 10\0A\00"
|
|
@.str3516 = private unnamed_addr constant [29 x i8] c" %mplus3 = add i32 %mpv, 3\0A\00"
|
|
@.str3517 = private unnamed_addr constant [30 x i8] c" %mminus9 = sub i32 %mpv, 9\0A\00"
|
|
@.str3518 = private unnamed_addr constant [56 x i8] c" %mfin = select i1 %mplt10, i32 %mplus3, i32 %mminus9\0A\00"
|
|
@.str3519 = private unnamed_addr constant [34 x i8] c" %mmle2 = icmp sle i32 %mfin, 2\0A\00"
|
|
@.str3520 = private unnamed_addr constant [42 x i8] c" %yinc = select i1 %mmle2, i32 1, i32 0\0A\00"
|
|
@.str3521 = private unnamed_addr constant [30 x i8] c" %yfin = add i32 %yy, %yinc\0A\00"
|
|
@.str3522 = private unnamed_addr constant [28 x i8] c" store i32 %yfin, ptr %yp\0A\00"
|
|
@.str3523 = private unnamed_addr constant [28 x i8] c" store i32 %mfin, ptr %mp\0A\00"
|
|
@.str3524 = private unnamed_addr constant [26 x i8] c" store i32 %dd, ptr %dp\0A\00"
|
|
@.str3525 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
|
|
@.str3526 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str3527 = private unnamed_addr constant [42 x i8] c"define ptr @fn_dt_pad0(i32 %v, i32 %w) {\0A\00"
|
|
@.str3528 = private unnamed_addr constant [28 x i8] c" %we = zext i32 %w to i64\0A\00"
|
|
@.str3529 = private unnamed_addr constant [24 x i8] c" %sz = add i64 %we, 1\0A\00"
|
|
@.str3530 = private unnamed_addr constant [36 x i8] c" %buf = call ptr @malloc(i64 %sz)\0A\00"
|
|
@.str3531 = private unnamed_addr constant [46 x i8] c" %endp = getelementptr i8, ptr %buf, i32 %w\0A\00"
|
|
@.str3532 = private unnamed_addr constant [25 x i8] c" store i8 0, ptr %endp\0A\00"
|
|
@.str3533 = private unnamed_addr constant [39 x i8] c" %kp = alloca i32\0A %vp = alloca i32\0A\00"
|
|
@.str3534 = private unnamed_addr constant [74 x i8] c" %km1 = sub i32 %w, 1\0A store i32 %km1, ptr %kp\0A store i32 %v, ptr %vp\0A\00"
|
|
@.str3535 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
|
|
@.str3536 = private unnamed_addr constant [99 x i8] c"loop:\0A %k = load i32, ptr %kp\0A %kok = icmp sge i32 %k, 0\0A br i1 %kok, label %body, label %done\0A\00"
|
|
@.str3537 = private unnamed_addr constant [109 x i8] c"body:\0A %vv = load i32, ptr %vp\0A %d = srem i32 %vv, 10\0A %ch = add i32 %d, 48\0A %ch8 = trunc i32 %ch to i8\0A\00"
|
|
@.str3538 = private unnamed_addr constant [69 x i8] c" %cp = getelementptr i8, ptr %buf, i32 %k\0A store i8 %ch8, ptr %cp\0A\00"
|
|
@.str3539 = private unnamed_addr constant [115 x i8] c" %vn = sdiv i32 %vv, 10\0A store i32 %vn, ptr %vp\0A %kn = sub i32 %k, 1\0A store i32 %kn, ptr %kp\0A br label %loop\0A\00"
|
|
@.str3540 = private unnamed_addr constant [24 x i8] c"done:\0A ret ptr %buf\0A}\0A\00"
|
|
@.str3541 = private unnamed_addr constant [62 x i8] c"define i32 @fn_dt_rd(ptr %s, i32 %off, i32 %w, ptr %failp) {\0A\00"
|
|
@.str3542 = private unnamed_addr constant [89 x i8] c" %accp = alloca i32\0A store i32 0, ptr %accp\0A %kp = alloca i32\0A store i32 0, ptr %kp\0A\00"
|
|
@.str3543 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
|
|
@.str3544 = private unnamed_addr constant [100 x i8] c"loop:\0A %k = load i32, ptr %kp\0A %kok = icmp slt i32 %k, %w\0A br i1 %kok, label %body, label %done\0A\00"
|
|
@.str3545 = private unnamed_addr constant [127 x i8] c"body:\0A %idx = add i32 %off, %k\0A %cp = getelementptr i8, ptr %s, i32 %idx\0A %c8 = load i8, ptr %cp\0A %c = sext i8 %c8 to i32\0A\00"
|
|
@.str3546 = private unnamed_addr constant [70 x i8] c" %zero = icmp eq i32 %c, 0\0A br i1 %zero, label %stop, label %digit\0A\00"
|
|
@.str3547 = private unnamed_addr constant [50 x i8] c"stop:\0A store i32 1, ptr %failp\0A br label %done\0A\00"
|
|
@.str3548 = private unnamed_addr constant [129 x i8] c"digit:\0A %lt = icmp slt i32 %c, 48\0A %gt = icmp sgt i32 %c, 57\0A %isbad = or i1 %lt, %gt\0A br i1 %isbad, label %fail, label %ok\0A\00"
|
|
@.str3549 = private unnamed_addr constant [50 x i8] c"fail:\0A store i32 1, ptr %failp\0A br label %next\0A\00"
|
|
@.str3550 = private unnamed_addr constant [159 x i8] c"ok:\0A %acc0 = load i32, ptr %accp\0A %m10 = mul i32 %acc0, 10\0A %dg = sub i32 %c, 48\0A %acc1 = add i32 %m10, %dg\0A store i32 %acc1, ptr %accp\0A br label %next\0A\00"
|
|
@.str3551 = private unnamed_addr constant [71 x i8] c"next:\0A %kn = add i32 %k, 1\0A store i32 %kn, ptr %kp\0A br label %loop\0A\00"
|
|
@.str3552 = private unnamed_addr constant [49 x i8] c"done:\0A %r = load i32, ptr %accp\0A ret i32 %r\0A}\0A\00"
|
|
@.str3553 = private unnamed_addr constant [4 x i8] c"now\00"
|
|
@.str3554 = private unnamed_addr constant [4 x i8] c"set\00"
|
|
@.str3555 = private unnamed_addr constant [8 x i8] c"advance\00"
|
|
@.str3556 = private unnamed_addr constant [6 x i8] c"reset\00"
|
|
@.str3557 = private unnamed_addr constant [4 x i8] c"now\00"
|
|
@.str3558 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00"
|
|
@.str3559 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3560 = private unnamed_addr constant [6 x i8] c"reset\00"
|
|
@.str3561 = private unnamed_addr constant [29 x i8] c" store i32 0, ptr @L_clock\0A\00"
|
|
@.str3562 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3563 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str3564 = private unnamed_addr constant [4 x i8] c"set\00"
|
|
@.str3565 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str3566 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00"
|
|
@.str3567 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3568 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str3569 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_clock\00"
|
|
@.str3570 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3571 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3572 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str3573 = private unnamed_addr constant [16 x i8] c", ptr @L_clock\0A\00"
|
|
@.str3574 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3575 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str3576 = private unnamed_addr constant [4 x i8] c"rgb\00"
|
|
@.str3577 = private unnamed_addr constant [5 x i8] c"rgba\00"
|
|
@.str3578 = private unnamed_addr constant [5 x i8] c"lerp\00"
|
|
@.str3579 = private unnamed_addr constant [7 x i8] c"darken\00"
|
|
@.str3580 = private unnamed_addr constant [8 x i8] c"lighten\00"
|
|
@.str3581 = private unnamed_addr constant [11 x i8] c"with_alpha\00"
|
|
@.str3582 = private unnamed_addr constant [10 x i8] c"lshr i32 \00"
|
|
@.str3583 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3584 = private unnamed_addr constant [9 x i8] c"and i32 \00"
|
|
@.str3585 = private unnamed_addr constant [6 x i8] c", 255\00"
|
|
@.str3586 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
|
|
@.str3587 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str3588 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
|
|
@.str3589 = private unnamed_addr constant [4 x i8] c", 8\00"
|
|
@.str3590 = private unnamed_addr constant [8 x i8] c"or i32 \00"
|
|
@.str3591 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3592 = private unnamed_addr constant [8 x i8] c"or i32 \00"
|
|
@.str3593 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3594 = private unnamed_addr constant [9 x i8] c"sub i32 \00"
|
|
@.str3595 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3596 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3597 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3598 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str3599 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str3600 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3601 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3602 = private unnamed_addr constant [4 x i8] c"rgb\00"
|
|
@.str3603 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3604 = private unnamed_addr constant [5 x i8] c"rgba\00"
|
|
@.str3605 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
|
|
@.str3606 = private unnamed_addr constant [5 x i8] c", 24\00"
|
|
@.str3607 = private unnamed_addr constant [8 x i8] c"or i32 \00"
|
|
@.str3608 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3609 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3610 = private unnamed_addr constant [11 x i8] c"with_alpha\00"
|
|
@.str3611 = private unnamed_addr constant [9 x i8] c"and i32 \00"
|
|
@.str3612 = private unnamed_addr constant [11 x i8] c", 16777215\00"
|
|
@.str3613 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
|
|
@.str3614 = private unnamed_addr constant [5 x i8] c", 24\00"
|
|
@.str3615 = private unnamed_addr constant [8 x i8] c"or i32 \00"
|
|
@.str3616 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3617 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3618 = private unnamed_addr constant [5 x i8] c"lerp\00"
|
|
@.str3619 = private unnamed_addr constant [3 x i8] c"16\00"
|
|
@.str3620 = private unnamed_addr constant [3 x i8] c"16\00"
|
|
@.str3621 = private unnamed_addr constant [2 x i8] c"8\00"
|
|
@.str3622 = private unnamed_addr constant [2 x i8] c"8\00"
|
|
@.str3623 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3624 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3625 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3626 = private unnamed_addr constant [7 x i8] c"darken\00"
|
|
@.str3627 = private unnamed_addr constant [16 x i8] c"sub i32 65536, \00"
|
|
@.str3628 = private unnamed_addr constant [3 x i8] c"16\00"
|
|
@.str3629 = private unnamed_addr constant [2 x i8] c"8\00"
|
|
@.str3630 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3631 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3632 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3633 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str3634 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str3635 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3636 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3637 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str3638 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str3639 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3640 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3641 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str3642 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str3643 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3644 = private unnamed_addr constant [3 x i8] c"16\00"
|
|
@.str3645 = private unnamed_addr constant [2 x i8] c"8\00"
|
|
@.str3646 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3647 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00"
|
|
@.str3648 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3649 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3650 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str3651 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str3652 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3653 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3654 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00"
|
|
@.str3655 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3656 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3657 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str3658 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str3659 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3660 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3661 = private unnamed_addr constant [14 x i8] c"sub i32 255, \00"
|
|
@.str3662 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3663 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3664 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str3665 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str3666 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3667 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3668 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3669 = private unnamed_addr constant [6 x i8] c"White\00"
|
|
@.str3670 = private unnamed_addr constant [5 x i8] c"Snow\00"
|
|
@.str3671 = private unnamed_addr constant [6 x i8] c"Ivory\00"
|
|
@.str3672 = private unnamed_addr constant [14 x i8] c"EggShellWhite\00"
|
|
@.str3673 = private unnamed_addr constant [12 x i8] c"FloralWhite\00"
|
|
@.str3674 = private unnamed_addr constant [9 x i8] c"SeaShell\00"
|
|
@.str3675 = private unnamed_addr constant [6 x i8] c"Linen\00"
|
|
@.str3676 = private unnamed_addr constant [13 x i8] c"AntiqueWhite\00"
|
|
@.str3677 = private unnamed_addr constant [8 x i8] c"OldLace\00"
|
|
@.str3678 = private unnamed_addr constant [6 x i8] c"Beige\00"
|
|
@.str3679 = private unnamed_addr constant [6 x i8] c"Cream\00"
|
|
@.str3680 = private unnamed_addr constant [9 x i8] c"Honeydew\00"
|
|
@.str3681 = private unnamed_addr constant [10 x i8] c"MintCream\00"
|
|
@.str3682 = private unnamed_addr constant [6 x i8] c"Azure\00"
|
|
@.str3683 = private unnamed_addr constant [10 x i8] c"AliceBlue\00"
|
|
@.str3684 = private unnamed_addr constant [11 x i8] c"GhostWhite\00"
|
|
@.str3685 = private unnamed_addr constant [11 x i8] c"WhiteSmoke\00"
|
|
@.str3686 = private unnamed_addr constant [9 x i8] c"Lavender\00"
|
|
@.str3687 = private unnamed_addr constant [5 x i8] c"Bone\00"
|
|
@.str3688 = private unnamed_addr constant [10 x i8] c"Parchment\00"
|
|
@.str3689 = private unnamed_addr constant [10 x i8] c"Gainsboro\00"
|
|
@.str3690 = private unnamed_addr constant [10 x i8] c"LightGray\00"
|
|
@.str3691 = private unnamed_addr constant [7 x i8] c"Silver\00"
|
|
@.str3692 = private unnamed_addr constant [4 x i8] c"Ash\00"
|
|
@.str3693 = private unnamed_addr constant [9 x i8] c"DarkGray\00"
|
|
@.str3694 = private unnamed_addr constant [5 x i8] c"Gray\00"
|
|
@.str3695 = private unnamed_addr constant [8 x i8] c"DimGray\00"
|
|
@.str3696 = private unnamed_addr constant [7 x i8] c"Nickel\00"
|
|
@.str3697 = private unnamed_addr constant [6 x i8] c"Slate\00"
|
|
@.str3698 = private unnamed_addr constant [10 x i8] c"SlateGray\00"
|
|
@.str3699 = private unnamed_addr constant [15 x i8] c"LightSlateGray\00"
|
|
@.str3700 = private unnamed_addr constant [9 x i8] c"Gunmetal\00"
|
|
@.str3701 = private unnamed_addr constant [9 x i8] c"Charcoal\00"
|
|
@.str3702 = private unnamed_addr constant [9 x i8] c"Graphite\00"
|
|
@.str3703 = private unnamed_addr constant [5 x i8] c"Onyx\00"
|
|
@.str3704 = private unnamed_addr constant [4 x i8] c"Jet\00"
|
|
@.str3705 = private unnamed_addr constant [6 x i8] c"Black\00"
|
|
@.str3706 = private unnamed_addr constant [11 x i8] c"EerieBlack\00"
|
|
@.str3707 = private unnamed_addr constant [12 x i8] c"RaisinBlack\00"
|
|
@.str3708 = private unnamed_addr constant [6 x i8] c"Ebony\00"
|
|
@.str3709 = private unnamed_addr constant [4 x i8] c"Red\00"
|
|
@.str3710 = private unnamed_addr constant [8 x i8] c"Crimson\00"
|
|
@.str3711 = private unnamed_addr constant [8 x i8] c"Scarlet\00"
|
|
@.str3712 = private unnamed_addr constant [10 x i8] c"Vermilion\00"
|
|
@.str3713 = private unnamed_addr constant [10 x i8] c"FireBrick\00"
|
|
@.str3714 = private unnamed_addr constant [9 x i8] c"Cinnabar\00"
|
|
@.str3715 = private unnamed_addr constant [8 x i8] c"DarkRed\00"
|
|
@.str3716 = private unnamed_addr constant [7 x i8] c"Maroon\00"
|
|
@.str3717 = private unnamed_addr constant [5 x i8] c"Ruby\00"
|
|
@.str3718 = private unnamed_addr constant [9 x i8] c"Cardinal\00"
|
|
@.str3719 = private unnamed_addr constant [10 x i8] c"IndianRed\00"
|
|
@.str3720 = private unnamed_addr constant [5 x i8] c"Rust\00"
|
|
@.str3721 = private unnamed_addr constant [8 x i8] c"Sangria\00"
|
|
@.str3722 = private unnamed_addr constant [8 x i8] c"Redwood\00"
|
|
@.str3723 = private unnamed_addr constant [7 x i8] c"Cerise\00"
|
|
@.str3724 = private unnamed_addr constant [9 x i8] c"Amaranth\00"
|
|
@.str3725 = private unnamed_addr constant [8 x i8] c"Carmine\00"
|
|
@.str3726 = private unnamed_addr constant [9 x i8] c"Chestnut\00"
|
|
@.str3727 = private unnamed_addr constant [6 x i8] c"Brick\00"
|
|
@.str3728 = private unnamed_addr constant [11 x i8] c"TerraCotta\00"
|
|
@.str3729 = private unnamed_addr constant [5 x i8] c"Pink\00"
|
|
@.str3730 = private unnamed_addr constant [10 x i8] c"LightPink\00"
|
|
@.str3731 = private unnamed_addr constant [8 x i8] c"HotPink\00"
|
|
@.str3732 = private unnamed_addr constant [9 x i8] c"DeepPink\00"
|
|
@.str3733 = private unnamed_addr constant [14 x i8] c"PaleVioletRed\00"
|
|
@.str3734 = private unnamed_addr constant [5 x i8] c"Rose\00"
|
|
@.str3735 = private unnamed_addr constant [6 x i8] c"Blush\00"
|
|
@.str3736 = private unnamed_addr constant [7 x i8] c"Salmon\00"
|
|
@.str3737 = private unnamed_addr constant [12 x i8] c"LightSalmon\00"
|
|
@.str3738 = private unnamed_addr constant [11 x i8] c"DarkSalmon\00"
|
|
@.str3739 = private unnamed_addr constant [6 x i8] c"Coral\00"
|
|
@.str3740 = private unnamed_addr constant [11 x i8] c"Watermelon\00"
|
|
@.str3741 = private unnamed_addr constant [9 x i8] c"Flamingo\00"
|
|
@.str3742 = private unnamed_addr constant [10 x i8] c"Bubblegum\00"
|
|
@.str3743 = private unnamed_addr constant [8 x i8] c"Fuchsia\00"
|
|
@.str3744 = private unnamed_addr constant [8 x i8] c"Magenta\00"
|
|
@.str3745 = private unnamed_addr constant [6 x i8] c"Mauve\00"
|
|
@.str3746 = private unnamed_addr constant [5 x i8] c"Puce\00"
|
|
@.str3747 = private unnamed_addr constant [8 x i8] c"Thistle\00"
|
|
@.str3748 = private unnamed_addr constant [7 x i8] c"Orchid\00"
|
|
@.str3749 = private unnamed_addr constant [7 x i8] c"Orange\00"
|
|
@.str3750 = private unnamed_addr constant [11 x i8] c"DarkOrange\00"
|
|
@.str3751 = private unnamed_addr constant [10 x i8] c"Tangerine\00"
|
|
@.str3752 = private unnamed_addr constant [8 x i8] c"Pumpkin\00"
|
|
@.str3753 = private unnamed_addr constant [8 x i8] c"Apricot\00"
|
|
@.str3754 = private unnamed_addr constant [6 x i8] c"Peach\00"
|
|
@.str3755 = private unnamed_addr constant [11 x i8] c"Cantaloupe\00"
|
|
@.str3756 = private unnamed_addr constant [6 x i8] c"Amber\00"
|
|
@.str3757 = private unnamed_addr constant [7 x i8] c"Bronze\00"
|
|
@.str3758 = private unnamed_addr constant [7 x i8] c"Copper\00"
|
|
@.str3759 = private unnamed_addr constant [9 x i8] c"Marigold\00"
|
|
@.str3760 = private unnamed_addr constant [7 x i8] c"Carrot\00"
|
|
@.str3761 = private unnamed_addr constant [10 x i8] c"Persimmon\00"
|
|
@.str3762 = private unnamed_addr constant [7 x i8] c"Papaya\00"
|
|
@.str3763 = private unnamed_addr constant [7 x i8] c"Sunset\00"
|
|
@.str3764 = private unnamed_addr constant [7 x i8] c"Yellow\00"
|
|
@.str3765 = private unnamed_addr constant [12 x i8] c"LightYellow\00"
|
|
@.str3766 = private unnamed_addr constant [5 x i8] c"Gold\00"
|
|
@.str3767 = private unnamed_addr constant [10 x i8] c"Goldenrod\00"
|
|
@.str3768 = private unnamed_addr constant [6 x i8] c"Lemon\00"
|
|
@.str3769 = private unnamed_addr constant [7 x i8] c"Canary\00"
|
|
@.str3770 = private unnamed_addr constant [8 x i8] c"Mustard\00"
|
|
@.str3771 = private unnamed_addr constant [5 x i8] c"Flax\00"
|
|
@.str3772 = private unnamed_addr constant [6 x i8] c"Wheat\00"
|
|
@.str3773 = private unnamed_addr constant [5 x i8] c"Corn\00"
|
|
@.str3774 = private unnamed_addr constant [10 x i8] c"Dandelion\00"
|
|
@.str3775 = private unnamed_addr constant [8 x i8] c"Saffron\00"
|
|
@.str3776 = private unnamed_addr constant [6 x i8] c"Khaki\00"
|
|
@.str3777 = private unnamed_addr constant [10 x i8] c"DarkKhaki\00"
|
|
@.str3778 = private unnamed_addr constant [6 x i8] c"Straw\00"
|
|
@.str3779 = private unnamed_addr constant [6 x i8] c"Brown\00"
|
|
@.str3780 = private unnamed_addr constant [12 x i8] c"SaddleBrown\00"
|
|
@.str3781 = private unnamed_addr constant [7 x i8] c"Sienna\00"
|
|
@.str3782 = private unnamed_addr constant [10 x i8] c"Chocolate\00"
|
|
@.str3783 = private unnamed_addr constant [5 x i8] c"Peru\00"
|
|
@.str3784 = private unnamed_addr constant [4 x i8] c"Tan\00"
|
|
@.str3785 = private unnamed_addr constant [10 x i8] c"BurlyWood\00"
|
|
@.str3786 = private unnamed_addr constant [5 x i8] c"Sand\00"
|
|
@.str3787 = private unnamed_addr constant [7 x i8] c"Coffee\00"
|
|
@.str3788 = private unnamed_addr constant [9 x i8] c"Espresso\00"
|
|
@.str3789 = private unnamed_addr constant [9 x i8] c"Mahogany\00"
|
|
@.str3790 = private unnamed_addr constant [7 x i8] c"Walnut\00"
|
|
@.str3791 = private unnamed_addr constant [6 x i8] c"Umber\00"
|
|
@.str3792 = private unnamed_addr constant [6 x i8] c"Sepia\00"
|
|
@.str3793 = private unnamed_addr constant [6 x i8] c"Taupe\00"
|
|
@.str3794 = private unnamed_addr constant [5 x i8] c"Fawn\00"
|
|
@.str3795 = private unnamed_addr constant [8 x i8] c"Caramel\00"
|
|
@.str3796 = private unnamed_addr constant [6 x i8] c"Cocoa\00"
|
|
@.str3797 = private unnamed_addr constant [6 x i8] c"Hazel\00"
|
|
@.str3798 = private unnamed_addr constant [6 x i8] c"Wenge\00"
|
|
@.str3799 = private unnamed_addr constant [6 x i8] c"Green\00"
|
|
@.str3800 = private unnamed_addr constant [5 x i8] c"Lime\00"
|
|
@.str3801 = private unnamed_addr constant [10 x i8] c"LimeGreen\00"
|
|
@.str3802 = private unnamed_addr constant [10 x i8] c"LawnGreen\00"
|
|
@.str3803 = private unnamed_addr constant [11 x i8] c"Chartreuse\00"
|
|
@.str3804 = private unnamed_addr constant [12 x i8] c"GreenYellow\00"
|
|
@.str3805 = private unnamed_addr constant [12 x i8] c"SpringGreen\00"
|
|
@.str3806 = private unnamed_addr constant [10 x i8] c"MintGreen\00"
|
|
@.str3807 = private unnamed_addr constant [9 x i8] c"SeaGreen\00"
|
|
@.str3808 = private unnamed_addr constant [15 x i8] c"MediumSeaGreen\00"
|
|
@.str3809 = private unnamed_addr constant [12 x i8] c"ForestGreen\00"
|
|
@.str3810 = private unnamed_addr constant [10 x i8] c"DarkGreen\00"
|
|
@.str3811 = private unnamed_addr constant [10 x i8] c"OliveDrab\00"
|
|
@.str3812 = private unnamed_addr constant [6 x i8] c"Olive\00"
|
|
@.str3813 = private unnamed_addr constant [5 x i8] c"Moss\00"
|
|
@.str3814 = private unnamed_addr constant [5 x i8] c"Fern\00"
|
|
@.str3815 = private unnamed_addr constant [8 x i8] c"Emerald\00"
|
|
@.str3816 = private unnamed_addr constant [5 x i8] c"Jade\00"
|
|
@.str3817 = private unnamed_addr constant [10 x i8] c"Malachite\00"
|
|
@.str3818 = private unnamed_addr constant [9 x i8] c"Shamrock\00"
|
|
@.str3819 = private unnamed_addr constant [10 x i8] c"Pistachio\00"
|
|
@.str3820 = private unnamed_addr constant [8 x i8] c"Avocado\00"
|
|
@.str3821 = private unnamed_addr constant [5 x i8] c"Pine\00"
|
|
@.str3822 = private unnamed_addr constant [5 x i8] c"Sage\00"
|
|
@.str3823 = private unnamed_addr constant [6 x i8] c"Kelly\00"
|
|
@.str3824 = private unnamed_addr constant [7 x i8] c"Hunter\00"
|
|
@.str3825 = private unnamed_addr constant [6 x i8] c"Basil\00"
|
|
@.str3826 = private unnamed_addr constant [7 x i8] c"Clover\00"
|
|
@.str3827 = private unnamed_addr constant [8 x i8] c"Juniper\00"
|
|
@.str3828 = private unnamed_addr constant [5 x i8] c"Neon\00"
|
|
@.str3829 = private unnamed_addr constant [5 x i8] c"Cyan\00"
|
|
@.str3830 = private unnamed_addr constant [5 x i8] c"Aqua\00"
|
|
@.str3831 = private unnamed_addr constant [10 x i8] c"LightCyan\00"
|
|
@.str3832 = private unnamed_addr constant [14 x i8] c"PaleTurquoise\00"
|
|
@.str3833 = private unnamed_addr constant [11 x i8] c"Aquamarine\00"
|
|
@.str3834 = private unnamed_addr constant [10 x i8] c"Turquoise\00"
|
|
@.str3835 = private unnamed_addr constant [16 x i8] c"MediumTurquoise\00"
|
|
@.str3836 = private unnamed_addr constant [14 x i8] c"DarkTurquoise\00"
|
|
@.str3837 = private unnamed_addr constant [5 x i8] c"Teal\00"
|
|
@.str3838 = private unnamed_addr constant [9 x i8] c"DarkCyan\00"
|
|
@.str3839 = private unnamed_addr constant [10 x i8] c"CadetBlue\00"
|
|
@.str3840 = private unnamed_addr constant [7 x i8] c"Lagoon\00"
|
|
@.str3841 = private unnamed_addr constant [8 x i8] c"Seafoam\00"
|
|
@.str3842 = private unnamed_addr constant [9 x i8] c"Cerulean\00"
|
|
@.str3843 = private unnamed_addr constant [13 x i8] c"SkyBlueLight\00"
|
|
@.str3844 = private unnamed_addr constant [6 x i8] c"Robin\00"
|
|
@.str3845 = private unnamed_addr constant [10 x i8] c"Verdigris\00"
|
|
@.str3846 = private unnamed_addr constant [8 x i8] c"Celadon\00"
|
|
@.str3847 = private unnamed_addr constant [5 x i8] c"Blue\00"
|
|
@.str3848 = private unnamed_addr constant [10 x i8] c"LightBlue\00"
|
|
@.str3849 = private unnamed_addr constant [11 x i8] c"PowderBlue\00"
|
|
@.str3850 = private unnamed_addr constant [8 x i8] c"SkyBlue\00"
|
|
@.str3851 = private unnamed_addr constant [13 x i8] c"LightSkyBlue\00"
|
|
@.str3852 = private unnamed_addr constant [12 x i8] c"DeepSkyBlue\00"
|
|
@.str3853 = private unnamed_addr constant [11 x i8] c"DodgerBlue\00"
|
|
@.str3854 = private unnamed_addr constant [15 x i8] c"CornflowerBlue\00"
|
|
@.str3855 = private unnamed_addr constant [10 x i8] c"SteelBlue\00"
|
|
@.str3856 = private unnamed_addr constant [10 x i8] c"RoyalBlue\00"
|
|
@.str3857 = private unnamed_addr constant [11 x i8] c"MediumBlue\00"
|
|
@.str3858 = private unnamed_addr constant [9 x i8] c"DarkBlue\00"
|
|
@.str3859 = private unnamed_addr constant [5 x i8] c"Navy\00"
|
|
@.str3860 = private unnamed_addr constant [13 x i8] c"MidnightBlue\00"
|
|
@.str3861 = private unnamed_addr constant [7 x i8] c"Cobalt\00"
|
|
@.str3862 = private unnamed_addr constant [9 x i8] c"Sapphire\00"
|
|
@.str3863 = private unnamed_addr constant [6 x i8] c"Denim\00"
|
|
@.str3864 = private unnamed_addr constant [7 x i8] c"Indigo\00"
|
|
@.str3865 = private unnamed_addr constant [9 x i8] c"Prussian\00"
|
|
@.str3866 = private unnamed_addr constant [12 x i8] c"Ultramarine\00"
|
|
@.str3867 = private unnamed_addr constant [11 x i8] c"Periwinkle\00"
|
|
@.str3868 = private unnamed_addr constant [5 x i8] c"Iris\00"
|
|
@.str3869 = private unnamed_addr constant [9 x i8] c"Glaucous\00"
|
|
@.str3870 = private unnamed_addr constant [7 x i8] c"Zaffre\00"
|
|
@.str3871 = private unnamed_addr constant [6 x i8] c"Berry\00"
|
|
@.str3872 = private unnamed_addr constant [7 x i8] c"Purple\00"
|
|
@.str3873 = private unnamed_addr constant [7 x i8] c"Violet\00"
|
|
@.str3874 = private unnamed_addr constant [11 x i8] c"DarkViolet\00"
|
|
@.str3875 = private unnamed_addr constant [11 x i8] c"BlueViolet\00"
|
|
@.str3876 = private unnamed_addr constant [13 x i8] c"MediumPurple\00"
|
|
@.str3877 = private unnamed_addr constant [9 x i8] c"Amethyst\00"
|
|
@.str3878 = private unnamed_addr constant [5 x i8] c"Plum\00"
|
|
@.str3879 = private unnamed_addr constant [9 x i8] c"Eggplant\00"
|
|
@.str3880 = private unnamed_addr constant [6 x i8] c"Grape\00"
|
|
@.str3881 = private unnamed_addr constant [5 x i8] c"Wine\00"
|
|
@.str3882 = private unnamed_addr constant [9 x i8] c"Mulberry\00"
|
|
@.str3883 = private unnamed_addr constant [6 x i8] c"Lilac\00"
|
|
@.str3884 = private unnamed_addr constant [9 x i8] c"Wisteria\00"
|
|
@.str3885 = private unnamed_addr constant [11 x i8] c"Heliotrope\00"
|
|
@.str3886 = private unnamed_addr constant [10 x i8] c"Byzantium\00"
|
|
@.str3887 = private unnamed_addr constant [7 x i8] c"Tyrian\00"
|
|
@.str3888 = private unnamed_addr constant [14 x i8] c"RebeccaPurple\00"
|
|
@.str3889 = private unnamed_addr constant [8 x i8] c"Orchid2\00"
|
|
@.str3890 = private unnamed_addr constant [15 x i8] c"getelementptr \00"
|
|
@.str3891 = private unnamed_addr constant [18 x i8] c", ptr null, i32 1\00"
|
|
@.str3892 = private unnamed_addr constant [14 x i8] c"ptrtoint ptr \00"
|
|
@.str3893 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str3894 = private unnamed_addr constant [27 x i8] c"unknown record type in new\00"
|
|
@.str3895 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
|
|
@.str3896 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3897 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str3898 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
|
|
@.str3899 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3900 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str3901 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3902 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3903 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str3904 = private unnamed_addr constant [5 x i8] c"null\00"
|
|
@.str3905 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str3906 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3907 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3908 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3909 = private unnamed_addr constant [8 x i8] c"%LSlice\00"
|
|
@.str3910 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
|
|
@.str3911 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3912 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str3913 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
|
|
@.str3914 = private unnamed_addr constant [16 x i8] c", i32 0, i32 0\0A\00"
|
|
@.str3915 = private unnamed_addr constant [23 x i8] c" store ptr null, ptr \00"
|
|
@.str3916 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3917 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str3918 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
|
|
@.str3919 = private unnamed_addr constant [16 x i8] c", i32 0, i32 1\0A\00"
|
|
@.str3920 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
|
|
@.str3921 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3922 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str3923 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
|
|
@.str3924 = private unnamed_addr constant [16 x i8] c", i32 0, i32 2\0A\00"
|
|
@.str3925 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
|
|
@.str3926 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3927 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str3928 = private unnamed_addr constant [40 x i8] c" = getelementptr inbounds %LSlice, ptr \00"
|
|
@.str3929 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str3930 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3931 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3932 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3933 = private unnamed_addr constant [22 x i8] c"call i64 @strlen(ptr \00"
|
|
@.str3934 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3935 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str3936 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str3937 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str3938 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3939 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str3940 = private unnamed_addr constant [14 x i8] c"icmp sge i32 \00"
|
|
@.str3941 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3942 = private unnamed_addr constant [5 x i8] c"grow\00"
|
|
@.str3943 = private unnamed_addr constant [4 x i8] c"put\00"
|
|
@.str3944 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str3945 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3946 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str3947 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3948 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3949 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str3950 = private unnamed_addr constant [4 x i8] c", 2\00"
|
|
@.str3951 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str3952 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str3953 = private unnamed_addr constant [11 x i8] c"select i1 \00"
|
|
@.str3954 = private unnamed_addr constant [14 x i8] c", i32 8, i32 \00"
|
|
@.str3955 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str3956 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str3957 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str3958 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str3959 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
|
|
@.str3960 = private unnamed_addr constant [23 x i8] c"call ptr @realloc(ptr \00"
|
|
@.str3961 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str3962 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str3963 = private unnamed_addr constant [13 x i8] c" store ptr \00"
|
|
@.str3964 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3965 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3966 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str3967 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3968 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3969 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str3970 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3971 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str3972 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
|
|
@.str3973 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str3974 = private unnamed_addr constant [27 x i8] c" = getelementptr inbounds \00"
|
|
@.str3975 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3976 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str3977 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3978 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str3979 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str3980 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3981 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3982 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str3983 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str3984 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str3985 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3986 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3987 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str3988 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str3989 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str3990 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3991 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str3992 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str3993 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str3994 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str3995 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str3996 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str3997 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str3998 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str3999 = private unnamed_addr constant [3 x i8] c"sc\00"
|
|
@.str4000 = private unnamed_addr constant [6 x i8] c"scend\00"
|
|
@.str4001 = private unnamed_addr constant [4 x i8] c"and\00"
|
|
@.str4002 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str4003 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4004 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4005 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4006 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str4007 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4008 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4009 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4010 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4011 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str4012 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str4013 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str4014 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4015 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str4016 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4017 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4018 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str4019 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4020 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4021 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4022 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str4023 = private unnamed_addr constant [2 x i8] c"<\00"
|
|
@.str4024 = private unnamed_addr constant [4 x i8] c"slt\00"
|
|
@.str4025 = private unnamed_addr constant [3 x i8] c"<=\00"
|
|
@.str4026 = private unnamed_addr constant [4 x i8] c"sle\00"
|
|
@.str4027 = private unnamed_addr constant [2 x i8] c">\00"
|
|
@.str4028 = private unnamed_addr constant [4 x i8] c"sgt\00"
|
|
@.str4029 = private unnamed_addr constant [3 x i8] c">=\00"
|
|
@.str4030 = private unnamed_addr constant [4 x i8] c"sge\00"
|
|
@.str4031 = private unnamed_addr constant [3 x i8] c"==\00"
|
|
@.str4032 = private unnamed_addr constant [3 x i8] c"eq\00"
|
|
@.str4033 = private unnamed_addr constant [3 x i8] c"ne\00"
|
|
@.str4034 = private unnamed_addr constant [2 x i8] c"<\00"
|
|
@.str4035 = private unnamed_addr constant [3 x i8] c"<=\00"
|
|
@.str4036 = private unnamed_addr constant [2 x i8] c">\00"
|
|
@.str4037 = private unnamed_addr constant [3 x i8] c">=\00"
|
|
@.str4038 = private unnamed_addr constant [3 x i8] c"==\00"
|
|
@.str4039 = private unnamed_addr constant [3 x i8] c"!=\00"
|
|
@.str4040 = private unnamed_addr constant [2 x i8] c"+\00"
|
|
@.str4041 = private unnamed_addr constant [4 x i8] c"add\00"
|
|
@.str4042 = private unnamed_addr constant [2 x i8] c"-\00"
|
|
@.str4043 = private unnamed_addr constant [4 x i8] c"sub\00"
|
|
@.str4044 = private unnamed_addr constant [2 x i8] c"*\00"
|
|
@.str4045 = private unnamed_addr constant [4 x i8] c"mul\00"
|
|
@.str4046 = private unnamed_addr constant [2 x i8] c"/\00"
|
|
@.str4047 = private unnamed_addr constant [5 x i8] c"sdiv\00"
|
|
@.str4048 = private unnamed_addr constant [2 x i8] c"&\00"
|
|
@.str4049 = private unnamed_addr constant [4 x i8] c"and\00"
|
|
@.str4050 = private unnamed_addr constant [2 x i8] c"|\00"
|
|
@.str4051 = private unnamed_addr constant [3 x i8] c"or\00"
|
|
@.str4052 = private unnamed_addr constant [2 x i8] c"^\00"
|
|
@.str4053 = private unnamed_addr constant [4 x i8] c"xor\00"
|
|
@.str4054 = private unnamed_addr constant [3 x i8] c"<<\00"
|
|
@.str4055 = private unnamed_addr constant [4 x i8] c"shl\00"
|
|
@.str4056 = private unnamed_addr constant [3 x i8] c">>\00"
|
|
@.str4057 = private unnamed_addr constant [5 x i8] c"lshr\00"
|
|
@.str4058 = private unnamed_addr constant [5 x i8] c"srem\00"
|
|
@.str4059 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4060 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
|
|
@.str4061 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str4062 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str4063 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4064 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str4065 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4066 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4067 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str4068 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str4069 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4070 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str4071 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str4072 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4073 = private unnamed_addr constant [2 x i8] c"+\00"
|
|
@.str4074 = private unnamed_addr constant [29 x i8] c"call ptr @fn_str_concat(ptr \00"
|
|
@.str4075 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4076 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4077 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str4078 = private unnamed_addr constant [25 x i8] c"call i32 @fn_str_eq(ptr \00"
|
|
@.str4079 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4080 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4081 = private unnamed_addr constant [3 x i8] c"!=\00"
|
|
@.str4082 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str4083 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str4084 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str4085 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4086 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str4087 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str4088 = private unnamed_addr constant [4 x i8] c"and\00"
|
|
@.str4089 = private unnamed_addr constant [3 x i8] c"or\00"
|
|
@.str4090 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str4091 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str4092 = private unnamed_addr constant [2 x i8] c"+\00"
|
|
@.str4093 = private unnamed_addr constant [2 x i8] c"+\00"
|
|
@.str4094 = private unnamed_addr constant [3 x i8] c"==\00"
|
|
@.str4095 = private unnamed_addr constant [3 x i8] c"!=\00"
|
|
@.str4096 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4097 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4098 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str4099 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str4100 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4101 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str4102 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str4103 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str4104 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str4105 = private unnamed_addr constant [6 x i8] c"icmp \00"
|
|
@.str4106 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str4107 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str4108 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4109 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str4110 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4111 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str4112 = private unnamed_addr constant [6 x i8] c" i64 \00"
|
|
@.str4113 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4114 = private unnamed_addr constant [5 x i8] c"long\00"
|
|
@.str4115 = private unnamed_addr constant [2 x i8] c"*\00"
|
|
@.str4116 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str4117 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4118 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str4119 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4120 = private unnamed_addr constant [9 x i8] c"mul i64 \00"
|
|
@.str4121 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4122 = private unnamed_addr constant [10 x i8] c"ashr i64 \00"
|
|
@.str4123 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str4124 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str4125 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4126 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4127 = private unnamed_addr constant [2 x i8] c"/\00"
|
|
@.str4128 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str4129 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4130 = private unnamed_addr constant [9 x i8] c"shl i64 \00"
|
|
@.str4131 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str4132 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str4133 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4134 = private unnamed_addr constant [10 x i8] c"sdiv i64 \00"
|
|
@.str4135 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4136 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str4137 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4138 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4139 = private unnamed_addr constant [6 x i8] c" i32 \00"
|
|
@.str4140 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4141 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4142 = private unnamed_addr constant [6 x i8] c" i32 \00"
|
|
@.str4143 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4144 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4145 = private unnamed_addr constant [59 x i8] c"named and positional arguments cannot be mixed in one call\00"
|
|
@.str4146 = private unnamed_addr constant [26 x i8] c"wrong number of arguments\00"
|
|
@.str4147 = private unnamed_addr constant [19 x i8] c"no argument named \00"
|
|
@.str4148 = private unnamed_addr constant [5 x i8] c"Math\00"
|
|
@.str4149 = private unnamed_addr constant [22 x i8] c"unknown builtin Math.\00"
|
|
@.str4150 = private unnamed_addr constant [5 x i8] c"Text\00"
|
|
@.str4151 = private unnamed_addr constant [22 x i8] c"unknown builtin Text.\00"
|
|
@.str4152 = private unnamed_addr constant [5 x i8] c"List\00"
|
|
@.str4153 = private unnamed_addr constant [22 x i8] c"unknown builtin List.\00"
|
|
@.str4154 = private unnamed_addr constant [5 x i8] c"Ease\00"
|
|
@.str4155 = private unnamed_addr constant [22 x i8] c"unknown builtin Ease.\00"
|
|
@.str4156 = private unnamed_addr constant [10 x i8] c"Collision\00"
|
|
@.str4157 = private unnamed_addr constant [27 x i8] c"unknown builtin Collision.\00"
|
|
@.str4158 = private unnamed_addr constant [7 x i8] c"Memory\00"
|
|
@.str4159 = private unnamed_addr constant [24 x i8] c"unknown builtin Memory.\00"
|
|
@.str4160 = private unnamed_addr constant [6 x i8] c"Color\00"
|
|
@.str4161 = private unnamed_addr constant [23 x i8] c"unknown builtin Color.\00"
|
|
@.str4162 = private unnamed_addr constant [5 x i8] c"Time\00"
|
|
@.str4163 = private unnamed_addr constant [22 x i8] c"unknown builtin Time.\00"
|
|
@.str4164 = private unnamed_addr constant [5 x i8] c"Hash\00"
|
|
@.str4165 = private unnamed_addr constant [22 x i8] c"unknown builtin Hash.\00"
|
|
@.str4166 = private unnamed_addr constant [7 x i8] c"Crypto\00"
|
|
@.str4167 = private unnamed_addr constant [24 x i8] c"unknown builtin Crypto.\00"
|
|
@.str4168 = private unnamed_addr constant [7 x i8] c"Vector\00"
|
|
@.str4169 = private unnamed_addr constant [24 x i8] c"unknown builtin Vector.\00"
|
|
@.str4170 = private unnamed_addr constant [9 x i8] c"Duration\00"
|
|
@.str4171 = private unnamed_addr constant [26 x i8] c"unknown builtin Duration.\00"
|
|
@.str4172 = private unnamed_addr constant [5 x i8] c"Date\00"
|
|
@.str4173 = private unnamed_addr constant [22 x i8] c"unknown builtin Date.\00"
|
|
@.str4174 = private unnamed_addr constant [9 x i8] c"DateTime\00"
|
|
@.str4175 = private unnamed_addr constant [26 x i8] c"unknown builtin DateTime.\00"
|
|
@.str4176 = private unnamed_addr constant [6 x i8] c"Clock\00"
|
|
@.str4177 = private unnamed_addr constant [23 x i8] c"unknown builtin Clock.\00"
|
|
@.str4178 = private unnamed_addr constant [7 x i8] c"Screen\00"
|
|
@.str4179 = private unnamed_addr constant [6 x i8] c"clear\00"
|
|
@.str4180 = private unnamed_addr constant [6 x i8] c"clear\00"
|
|
@.str4181 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str4182 = private unnamed_addr constant [15 x i8] c"fill_rectangle\00"
|
|
@.str4183 = private unnamed_addr constant [10 x i8] c"fill_rect\00"
|
|
@.str4184 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str4185 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str4186 = private unnamed_addr constant [6 x i8] c"width\00"
|
|
@.str4187 = private unnamed_addr constant [7 x i8] c"height\00"
|
|
@.str4188 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str4189 = private unnamed_addr constant [15 x i8] c"draw_rectangle\00"
|
|
@.str4190 = private unnamed_addr constant [11 x i8] c"frame_rect\00"
|
|
@.str4191 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str4192 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str4193 = private unnamed_addr constant [6 x i8] c"width\00"
|
|
@.str4194 = private unnamed_addr constant [7 x i8] c"height\00"
|
|
@.str4195 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str4196 = private unnamed_addr constant [10 x i8] c"put_pixel\00"
|
|
@.str4197 = private unnamed_addr constant [7 x i8] c"put_px\00"
|
|
@.str4198 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str4199 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str4200 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str4201 = private unnamed_addr constant [10 x i8] c"draw_text\00"
|
|
@.str4202 = private unnamed_addr constant [5 x i8] c"text\00"
|
|
@.str4203 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str4204 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str4205 = private unnamed_addr constant [5 x i8] c"text\00"
|
|
@.str4206 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str4207 = private unnamed_addr constant [6 x i8] c"scale\00"
|
|
@.str4208 = private unnamed_addr constant [12 x i8] c"draw_number\00"
|
|
@.str4209 = private unnamed_addr constant [9 x i8] c"text_int\00"
|
|
@.str4210 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str4211 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str4212 = private unnamed_addr constant [6 x i8] c"value\00"
|
|
@.str4213 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str4214 = private unnamed_addr constant [6 x i8] c"scale\00"
|
|
@.str4215 = private unnamed_addr constant [5 x i8] c"show\00"
|
|
@.str4216 = private unnamed_addr constant [8 x i8] c"present\00"
|
|
@.str4217 = private unnamed_addr constant [6 x i8] c"width\00"
|
|
@.str4218 = private unnamed_addr constant [9 x i8] c"screen_w\00"
|
|
@.str4219 = private unnamed_addr constant [7 x i8] c"height\00"
|
|
@.str4220 = private unnamed_addr constant [9 x i8] c"screen_h\00"
|
|
@.str4221 = private unnamed_addr constant [7 x i8] c"status\00"
|
|
@.str4222 = private unnamed_addr constant [7 x i8] c"status\00"
|
|
@.str4223 = private unnamed_addr constant [5 x i8] c"text\00"
|
|
@.str4224 = private unnamed_addr constant [5 x i8] c"line\00"
|
|
@.str4225 = private unnamed_addr constant [5 x i8] c"line\00"
|
|
@.str4226 = private unnamed_addr constant [3 x i8] c"x1\00"
|
|
@.str4227 = private unnamed_addr constant [3 x i8] c"y1\00"
|
|
@.str4228 = private unnamed_addr constant [3 x i8] c"x2\00"
|
|
@.str4229 = private unnamed_addr constant [3 x i8] c"y2\00"
|
|
@.str4230 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str4231 = private unnamed_addr constant [7 x i8] c"circle\00"
|
|
@.str4232 = private unnamed_addr constant [7 x i8] c"circle\00"
|
|
@.str4233 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str4234 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str4235 = private unnamed_addr constant [7 x i8] c"radius\00"
|
|
@.str4236 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str4237 = private unnamed_addr constant [12 x i8] c"fill_circle\00"
|
|
@.str4238 = private unnamed_addr constant [12 x i8] c"fill_circle\00"
|
|
@.str4239 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str4240 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str4241 = private unnamed_addr constant [7 x i8] c"radius\00"
|
|
@.str4242 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str4243 = private unnamed_addr constant [9 x i8] c"triangle\00"
|
|
@.str4244 = private unnamed_addr constant [9 x i8] c"triangle\00"
|
|
@.str4245 = private unnamed_addr constant [3 x i8] c"x1\00"
|
|
@.str4246 = private unnamed_addr constant [3 x i8] c"y1\00"
|
|
@.str4247 = private unnamed_addr constant [3 x i8] c"x2\00"
|
|
@.str4248 = private unnamed_addr constant [3 x i8] c"y2\00"
|
|
@.str4249 = private unnamed_addr constant [3 x i8] c"x3\00"
|
|
@.str4250 = private unnamed_addr constant [3 x i8] c"y3\00"
|
|
@.str4251 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str4252 = private unnamed_addr constant [14 x i8] c"fill_triangle\00"
|
|
@.str4253 = private unnamed_addr constant [14 x i8] c"fill_triangle\00"
|
|
@.str4254 = private unnamed_addr constant [3 x i8] c"x1\00"
|
|
@.str4255 = private unnamed_addr constant [3 x i8] c"y1\00"
|
|
@.str4256 = private unnamed_addr constant [3 x i8] c"x2\00"
|
|
@.str4257 = private unnamed_addr constant [3 x i8] c"y2\00"
|
|
@.str4258 = private unnamed_addr constant [3 x i8] c"x3\00"
|
|
@.str4259 = private unnamed_addr constant [3 x i8] c"y3\00"
|
|
@.str4260 = private unnamed_addr constant [6 x i8] c"color\00"
|
|
@.str4261 = private unnamed_addr constant [7 x i8] c"sprite\00"
|
|
@.str4262 = private unnamed_addr constant [12 x i8] c"draw_sprite\00"
|
|
@.str4263 = private unnamed_addr constant [3 x i8] c"id\00"
|
|
@.str4264 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str4265 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str4266 = private unnamed_addr constant [14 x i8] c"sprite_scaled\00"
|
|
@.str4267 = private unnamed_addr constant [19 x i8] c"draw_sprite_scaled\00"
|
|
@.str4268 = private unnamed_addr constant [3 x i8] c"id\00"
|
|
@.str4269 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str4270 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str4271 = private unnamed_addr constant [6 x i8] c"scale\00"
|
|
@.str4272 = private unnamed_addr constant [4 x i8] c"Map\00"
|
|
@.str4273 = private unnamed_addr constant [5 x i8] c"size\00"
|
|
@.str4274 = private unnamed_addr constant [9 x i8] c"map_size\00"
|
|
@.str4275 = private unnamed_addr constant [6 x i8] c"width\00"
|
|
@.str4276 = private unnamed_addr constant [7 x i8] c"height\00"
|
|
@.str4277 = private unnamed_addr constant [4 x i8] c"row\00"
|
|
@.str4278 = private unnamed_addr constant [8 x i8] c"map_row\00"
|
|
@.str4279 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str4280 = private unnamed_addr constant [6 x i8] c"cells\00"
|
|
@.str4281 = private unnamed_addr constant [5 x i8] c"tile\00"
|
|
@.str4282 = private unnamed_addr constant [5 x i8] c"tile\00"
|
|
@.str4283 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str4284 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str4285 = private unnamed_addr constant [7 x i8] c"Random\00"
|
|
@.str4286 = private unnamed_addr constant [6 x i8] c"range\00"
|
|
@.str4287 = private unnamed_addr constant [10 x i8] c"rng_range\00"
|
|
@.str4288 = private unnamed_addr constant [4 x i8] c"low\00"
|
|
@.str4289 = private unnamed_addr constant [5 x i8] c"high\00"
|
|
@.str4290 = private unnamed_addr constant [7 x i8] c"chance\00"
|
|
@.str4291 = private unnamed_addr constant [11 x i8] c"rng_chance\00"
|
|
@.str4292 = private unnamed_addr constant [8 x i8] c"percent\00"
|
|
@.str4293 = private unnamed_addr constant [5 x i8] c"seed\00"
|
|
@.str4294 = private unnamed_addr constant [5 x i8] c"seed\00"
|
|
@.str4295 = private unnamed_addr constant [6 x i8] c"value\00"
|
|
@.str4296 = private unnamed_addr constant [6 x i8] c"value\00"
|
|
@.str4297 = private unnamed_addr constant [10 x i8] c"rng_value\00"
|
|
@.str4298 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4299 = private unnamed_addr constant [8 x i8] c"rng_int\00"
|
|
@.str4300 = private unnamed_addr constant [4 x i8] c"max\00"
|
|
@.str4301 = private unnamed_addr constant [5 x i8] c"sign\00"
|
|
@.str4302 = private unnamed_addr constant [9 x i8] c"rng_sign\00"
|
|
@.str4303 = private unnamed_addr constant [6 x i8] c"Input\00"
|
|
@.str4304 = private unnamed_addr constant [4 x i8] c"key\00"
|
|
@.str4305 = private unnamed_addr constant [4 x i8] c"key\00"
|
|
@.str4306 = private unnamed_addr constant [6 x i8] c"World\00"
|
|
@.str4307 = private unnamed_addr constant [4 x i8] c"get\00"
|
|
@.str4308 = private unnamed_addr constant [10 x i8] c"world_get\00"
|
|
@.str4309 = private unnamed_addr constant [4 x i8] c"set\00"
|
|
@.str4310 = private unnamed_addr constant [10 x i8] c"world_set\00"
|
|
@.str4311 = private unnamed_addr constant [4 x i8] c"has\00"
|
|
@.str4312 = private unnamed_addr constant [10 x i8] c"world_has\00"
|
|
@.str4313 = private unnamed_addr constant [6 x i8] c"count\00"
|
|
@.str4314 = private unnamed_addr constant [12 x i8] c"world_count\00"
|
|
@.str4315 = private unnamed_addr constant [5 x i8] c"size\00"
|
|
@.str4316 = private unnamed_addr constant [11 x i8] c"world_size\00"
|
|
@.str4317 = private unnamed_addr constant [6 x i8] c"spawn\00"
|
|
@.str4318 = private unnamed_addr constant [12 x i8] c"world_spawn\00"
|
|
@.str4319 = private unnamed_addr constant [5 x i8] c"save\00"
|
|
@.str4320 = private unnamed_addr constant [11 x i8] c"world_save\00"
|
|
@.str4321 = private unnamed_addr constant [5 x i8] c"load\00"
|
|
@.str4322 = private unnamed_addr constant [11 x i8] c"world_load\00"
|
|
@.str4323 = private unnamed_addr constant [8 x i8] c"prop_id\00"
|
|
@.str4324 = private unnamed_addr constant [14 x i8] c"world_prop_id\00"
|
|
@.str4325 = private unnamed_addr constant [9 x i8] c"field_id\00"
|
|
@.str4326 = private unnamed_addr constant [15 x i8] c"world_field_id\00"
|
|
@.str4327 = private unnamed_addr constant [9 x i8] c"model_id\00"
|
|
@.str4328 = private unnamed_addr constant [15 x i8] c"world_model_id\00"
|
|
@.str4329 = private unnamed_addr constant [5 x i8] c"kind\00"
|
|
@.str4330 = private unnamed_addr constant [11 x i8] c"world_kind\00"
|
|
@.str4331 = private unnamed_addr constant [14 x i8] c"register_prop\00"
|
|
@.str4332 = private unnamed_addr constant [20 x i8] c"world_register_prop\00"
|
|
@.str4333 = private unnamed_addr constant [7 x i8] c"attach\00"
|
|
@.str4334 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00"
|
|
@.str4335 = private unnamed_addr constant [7 x i8] c"detach\00"
|
|
@.str4336 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00"
|
|
@.str4337 = private unnamed_addr constant [11 x i8] c"query_next\00"
|
|
@.str4338 = private unnamed_addr constant [17 x i8] c"world_query_next\00"
|
|
@.str4339 = private unnamed_addr constant [8 x i8] c"Network\00"
|
|
@.str4340 = private unnamed_addr constant [5 x i8] c"send\00"
|
|
@.str4341 = private unnamed_addr constant [9 x i8] c"net_send\00"
|
|
@.str4342 = private unnamed_addr constant [5 x i8] c"poll\00"
|
|
@.str4343 = private unnamed_addr constant [9 x i8] c"net_poll\00"
|
|
@.str4344 = private unnamed_addr constant [10 x i8] c"serialize\00"
|
|
@.str4345 = private unnamed_addr constant [10 x i8] c"serialize\00"
|
|
@.str4346 = private unnamed_addr constant [6 x i8] c"apply\00"
|
|
@.str4347 = private unnamed_addr constant [6 x i8] c"apply\00"
|
|
@.str4348 = private unnamed_addr constant [6 x i8] c"owner\00"
|
|
@.str4349 = private unnamed_addr constant [6 x i8] c"owner\00"
|
|
@.str4350 = private unnamed_addr constant [10 x i8] c"set_owner\00"
|
|
@.str4351 = private unnamed_addr constant [10 x i8] c"set_owner\00"
|
|
@.str4352 = private unnamed_addr constant [10 x i8] c"is_server\00"
|
|
@.str4353 = private unnamed_addr constant [10 x i8] c"is_server\00"
|
|
@.str4354 = private unnamed_addr constant [9 x i8] c"is_owner\00"
|
|
@.str4355 = private unnamed_addr constant [9 x i8] c"is_owner\00"
|
|
@.str4356 = private unnamed_addr constant [9 x i8] c"local_id\00"
|
|
@.str4357 = private unnamed_addr constant [9 x i8] c"local_id\00"
|
|
@.str4358 = private unnamed_addr constant [7 x i8] c"System\00"
|
|
@.str4359 = private unnamed_addr constant [4 x i8] c"arg\00"
|
|
@.str4360 = private unnamed_addr constant [4 x i8] c"arg\00"
|
|
@.str4361 = private unnamed_addr constant [10 x i8] c"arg_count\00"
|
|
@.str4362 = private unnamed_addr constant [10 x i8] c"arg_count\00"
|
|
@.str4363 = private unnamed_addr constant [5 x i8] c"exit\00"
|
|
@.str4364 = private unnamed_addr constant [5 x i8] c"exit\00"
|
|
@.str4365 = private unnamed_addr constant [4 x i8] c"run\00"
|
|
@.str4366 = private unnamed_addr constant [4 x i8] c"run\00"
|
|
@.str4367 = private unnamed_addr constant [4 x i8] c"env\00"
|
|
@.str4368 = private unnamed_addr constant [7 x i8] c"getenv\00"
|
|
@.str4369 = private unnamed_addr constant [10 x i8] c"read_char\00"
|
|
@.str4370 = private unnamed_addr constant [10 x i8] c"read_char\00"
|
|
@.str4371 = private unnamed_addr constant [10 x i8] c"file_open\00"
|
|
@.str4372 = private unnamed_addr constant [10 x i8] c"file_open\00"
|
|
@.str4373 = private unnamed_addr constant [10 x i8] c"file_read\00"
|
|
@.str4374 = private unnamed_addr constant [10 x i8] c"file_read\00"
|
|
@.str4375 = private unnamed_addr constant [11 x i8] c"file_write\00"
|
|
@.str4376 = private unnamed_addr constant [11 x i8] c"file_write\00"
|
|
@.str4377 = private unnamed_addr constant [10 x i8] c"file_seek\00"
|
|
@.str4378 = private unnamed_addr constant [10 x i8] c"file_seek\00"
|
|
@.str4379 = private unnamed_addr constant [10 x i8] c"file_tell\00"
|
|
@.str4380 = private unnamed_addr constant [10 x i8] c"file_tell\00"
|
|
@.str4381 = private unnamed_addr constant [11 x i8] c"file_close\00"
|
|
@.str4382 = private unnamed_addr constant [11 x i8] c"file_close\00"
|
|
@.str4383 = private unnamed_addr constant [7 x i8] c"stdout\00"
|
|
@.str4384 = private unnamed_addr constant [12 x i8] c"file_stdout\00"
|
|
@.str4385 = private unnamed_addr constant [7 x i8] c"stderr\00"
|
|
@.str4386 = private unnamed_addr constant [12 x i8] c"file_stderr\00"
|
|
@.str4387 = private unnamed_addr constant [5 x i8] c"Save\00"
|
|
@.str4388 = private unnamed_addr constant [6 x i8] c"write\00"
|
|
@.str4389 = private unnamed_addr constant [5 x i8] c"save\00"
|
|
@.str4390 = private unnamed_addr constant [5 x i8] c"read\00"
|
|
@.str4391 = private unnamed_addr constant [5 x i8] c"load\00"
|
|
@.str4392 = private unnamed_addr constant [17 x i8] c"unknown builtin \00"
|
|
@.str4393 = private unnamed_addr constant [2 x i8] c".\00"
|
|
@.str4394 = private unnamed_addr constant [30 x i8] c"call target is not a function\00"
|
|
@.str4395 = private unnamed_addr constant [5 x i8] c"self\00"
|
|
@.str4396 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4397 = private unnamed_addr constant [7 x i8] c"entity\00"
|
|
@.str4398 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4399 = private unnamed_addr constant [7 x i8] c"entity\00"
|
|
@.str4400 = private unnamed_addr constant [4 x i8] c"key\00"
|
|
@.str4401 = private unnamed_addr constant [21 x i8] c"load i32, ptr @L_key\00"
|
|
@.str4402 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4403 = private unnamed_addr constant [5 x i8] c"save\00"
|
|
@.str4404 = private unnamed_addr constant [23 x i8] c" call void @L_save()\0A\00"
|
|
@.str4405 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4406 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4407 = private unnamed_addr constant [9 x i8] c"ui_build\00"
|
|
@.str4408 = private unnamed_addr constant [25 x i8] c" call void @ui_build()\0A\00"
|
|
@.str4409 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4410 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4411 = private unnamed_addr constant [5 x i8] c"load\00"
|
|
@.str4412 = private unnamed_addr constant [19 x i8] c"call i32 @L_load()\00"
|
|
@.str4413 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str4414 = private unnamed_addr constant [11 x i8] c"world_size\00"
|
|
@.str4415 = private unnamed_addr constant [25 x i8] c"call i32 @L_world_size()\00"
|
|
@.str4416 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4417 = private unnamed_addr constant [11 x i8] c"world_save\00"
|
|
@.str4418 = private unnamed_addr constant [28 x i8] c"call i32 @L_world_save(ptr \00"
|
|
@.str4419 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4420 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4421 = private unnamed_addr constant [11 x i8] c"world_load\00"
|
|
@.str4422 = private unnamed_addr constant [31 x i8] c" call void @L_world_load(ptr \00"
|
|
@.str4423 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4424 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4425 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4426 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4427 = private unnamed_addr constant [5 x i8] c"quit\00"
|
|
@.str4428 = private unnamed_addr constant [31 x i8] c" store i32 0, ptr @L_running\0A\00"
|
|
@.str4429 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4430 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4431 = private unnamed_addr constant [10 x i8] c"serialize\00"
|
|
@.str4432 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_serialize(i32 \00"
|
|
@.str4433 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4434 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4435 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4436 = private unnamed_addr constant [6 x i8] c"apply\00"
|
|
@.str4437 = private unnamed_addr constant [30 x i8] c" call void @ludic_apply(i32 \00"
|
|
@.str4438 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4439 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4440 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4441 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4442 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4443 = private unnamed_addr constant [10 x i8] c"sync_size\00"
|
|
@.str4444 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_sync_size(i32 \00"
|
|
@.str4445 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4446 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4447 = private unnamed_addr constant [6 x i8] c"owner\00"
|
|
@.str4448 = private unnamed_addr constant [23 x i8] c"call i32 @L_owner(i32 \00"
|
|
@.str4449 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4450 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4451 = private unnamed_addr constant [10 x i8] c"set_owner\00"
|
|
@.str4452 = private unnamed_addr constant [30 x i8] c" call void @L_set_owner(i32 \00"
|
|
@.str4453 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4454 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4455 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4456 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4457 = private unnamed_addr constant [9 x i8] c"is_owner\00"
|
|
@.str4458 = private unnamed_addr constant [26 x i8] c"call i32 @L_is_owner(i32 \00"
|
|
@.str4459 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4460 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str4461 = private unnamed_addr constant [10 x i8] c"is_server\00"
|
|
@.str4462 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00"
|
|
@.str4463 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str4464 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str4465 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str4466 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4467 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str4468 = private unnamed_addr constant [9 x i8] c"local_id\00"
|
|
@.str4469 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_localid\00"
|
|
@.str4470 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4471 = private unnamed_addr constant [9 x i8] c"net_pump\00"
|
|
@.str4472 = private unnamed_addr constant [27 x i8] c" call void @L_net_pump()\0A\00"
|
|
@.str4473 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4474 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4475 = private unnamed_addr constant [11 x i8] c"tick_fixed\00"
|
|
@.str4476 = private unnamed_addr constant [29 x i8] c" call void @L_tick_fixed()\0A\00"
|
|
@.str4477 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4478 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4479 = private unnamed_addr constant [12 x i8] c"tick_render\00"
|
|
@.str4480 = private unnamed_addr constant [30 x i8] c" call void @L_tick_render()\0A\00"
|
|
@.str4481 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4482 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4483 = private unnamed_addr constant [9 x i8] c"set_role\00"
|
|
@.str4484 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str4485 = private unnamed_addr constant [15 x i8] c", ptr @L_role\0A\00"
|
|
@.str4486 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4487 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4488 = private unnamed_addr constant [13 x i8] c"set_local_id\00"
|
|
@.str4489 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str4490 = private unnamed_addr constant [18 x i8] c", ptr @L_localid\0A\00"
|
|
@.str4491 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4492 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4493 = private unnamed_addr constant [9 x i8] c"net_send\00"
|
|
@.str4494 = private unnamed_addr constant [9 x i8] c"net_send\00"
|
|
@.str4495 = private unnamed_addr constant [29 x i8] c" call void @L_net_send(i32 \00"
|
|
@.str4496 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4497 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4498 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4499 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4500 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4501 = private unnamed_addr constant [9 x i8] c"net_poll\00"
|
|
@.str4502 = private unnamed_addr constant [9 x i8] c"net_poll\00"
|
|
@.str4503 = private unnamed_addr constant [26 x i8] c"call i32 @L_net_poll(ptr \00"
|
|
@.str4504 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4505 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4506 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4507 = private unnamed_addr constant [4 x i8] c"len\00"
|
|
@.str4508 = private unnamed_addr constant [5 x i8] c"push\00"
|
|
@.str4509 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str4510 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str4511 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str4512 = private unnamed_addr constant [27 x i8] c"call ptr @fn_long_str(i64 \00"
|
|
@.str4513 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4514 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str4515 = private unnamed_addr constant [26 x i8] c"call ptr @fn_int_str(i32 \00"
|
|
@.str4516 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4517 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str4518 = private unnamed_addr constant [6 x i8] c"print\00"
|
|
@.str4519 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str4520 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_line, ptr \00"
|
|
@.str4521 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4522 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str4523 = private unnamed_addr constant [51 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_long, i64 \00"
|
|
@.str4524 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4525 = private unnamed_addr constant [50 x i8] c" call i32 (ptr, ...) @printf(ptr @.fmt_int, i32 \00"
|
|
@.str4526 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4527 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4528 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4529 = private unnamed_addr constant [6 x i8] c"bytes\00"
|
|
@.str4530 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str4531 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4532 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
|
|
@.str4533 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4534 = private unnamed_addr constant [8 x i8] c"pointer\00"
|
|
@.str4535 = private unnamed_addr constant [6 x i8] c"words\00"
|
|
@.str4536 = private unnamed_addr constant [9 x i8] c"mul i32 \00"
|
|
@.str4537 = private unnamed_addr constant [4 x i8] c", 4\00"
|
|
@.str4538 = private unnamed_addr constant [10 x i8] c"zext i32 \00"
|
|
@.str4539 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4540 = private unnamed_addr constant [22 x i8] c"call ptr @malloc(i64 \00"
|
|
@.str4541 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4542 = private unnamed_addr constant [6 x i8] c"words\00"
|
|
@.str4543 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4544 = private unnamed_addr constant [9 x i8] c"shl i32 \00"
|
|
@.str4545 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str4546 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4547 = private unnamed_addr constant [6 x i8] c"floor\00"
|
|
@.str4548 = private unnamed_addr constant [10 x i8] c"ashr i32 \00"
|
|
@.str4549 = private unnamed_addr constant [5 x i8] c", 16\00"
|
|
@.str4550 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4551 = private unnamed_addr constant [14 x i8] c"world_prop_id\00"
|
|
@.str4552 = private unnamed_addr constant [29 x i8] c"call i32 @ludic_prop_id(ptr \00"
|
|
@.str4553 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4554 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4555 = private unnamed_addr constant [15 x i8] c"world_field_id\00"
|
|
@.str4556 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_field_id(i32 \00"
|
|
@.str4557 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4558 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4559 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4560 = private unnamed_addr constant [10 x i8] c"world_get\00"
|
|
@.str4561 = private unnamed_addr constant [25 x i8] c"call i64 @ludic_get(i32 \00"
|
|
@.str4562 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4563 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4564 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4565 = private unnamed_addr constant [11 x i8] c"trunc i64 \00"
|
|
@.str4566 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4567 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4568 = private unnamed_addr constant [10 x i8] c"world_set\00"
|
|
@.str4569 = private unnamed_addr constant [10 x i8] c"sext i32 \00"
|
|
@.str4570 = private unnamed_addr constant [8 x i8] c" to i64\00"
|
|
@.str4571 = private unnamed_addr constant [28 x i8] c" call void @ludic_set(i32 \00"
|
|
@.str4572 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4573 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4574 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str4575 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4576 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4577 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4578 = private unnamed_addr constant [10 x i8] c"world_has\00"
|
|
@.str4579 = private unnamed_addr constant [25 x i8] c"call i32 @ludic_has(i32 \00"
|
|
@.str4580 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4581 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4582 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4583 = private unnamed_addr constant [12 x i8] c"world_count\00"
|
|
@.str4584 = private unnamed_addr constant [31 x i8] c"call i32 @ludic_entity_count()\00"
|
|
@.str4585 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4586 = private unnamed_addr constant [11 x i8] c"world_kind\00"
|
|
@.str4587 = private unnamed_addr constant [26 x i8] c"call i32 @ludic_kind(i32 \00"
|
|
@.str4588 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4589 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4590 = private unnamed_addr constant [15 x i8] c"world_model_id\00"
|
|
@.str4591 = private unnamed_addr constant [30 x i8] c"call i32 @ludic_model_id(ptr \00"
|
|
@.str4592 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4593 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4594 = private unnamed_addr constant [17 x i8] c"world_query_next\00"
|
|
@.str4595 = private unnamed_addr constant [32 x i8] c"call i32 @ludic_query_next(i32 \00"
|
|
@.str4596 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4597 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4598 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4599 = private unnamed_addr constant [20 x i8] c"world_register_prop\00"
|
|
@.str4600 = private unnamed_addr constant [35 x i8] c"call i32 @ludic_register_prop(ptr \00"
|
|
@.str4601 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4602 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4603 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4604 = private unnamed_addr constant [17 x i8] c"world_attach_dyn\00"
|
|
@.str4605 = private unnamed_addr constant [35 x i8] c" call void @ludic_attach_dyn(i32 \00"
|
|
@.str4606 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4607 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4608 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4609 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4610 = private unnamed_addr constant [17 x i8] c"world_detach_dyn\00"
|
|
@.str4611 = private unnamed_addr constant [35 x i8] c" call void @ludic_detach_dyn(i32 \00"
|
|
@.str4612 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4613 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4614 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4615 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4616 = private unnamed_addr constant [12 x i8] c"world_spawn\00"
|
|
@.str4617 = private unnamed_addr constant [27 x i8] c"call i32 @ludic_spawn(i32 \00"
|
|
@.str4618 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4619 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4620 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str4621 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4622 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4623 = private unnamed_addr constant [4 x i8] c" = \00"
|
|
@.str4624 = private unnamed_addr constant [6 x i8] c"call \00"
|
|
@.str4625 = private unnamed_addr constant [3 x i8] c" @\00"
|
|
@.str4626 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str4627 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4628 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str4629 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4630 = private unnamed_addr constant [4 x i8] c"rt_\00"
|
|
@.str4631 = private unnamed_addr constant [18 x i8] c"unknown function \00"
|
|
@.str4632 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str4633 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4634 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str4635 = private unnamed_addr constant [4 x i8] c" = \00"
|
|
@.str4636 = private unnamed_addr constant [6 x i8] c"call \00"
|
|
@.str4637 = private unnamed_addr constant [6 x i8] c" @fn_\00"
|
|
@.str4638 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str4639 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4640 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str4641 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4642 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4643 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4644 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4645 = private unnamed_addr constant [6 x i8] c"fixed\00"
|
|
@.str4646 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str4647 = private unnamed_addr constant [5 x i8] c"null\00"
|
|
@.str4648 = private unnamed_addr constant [8 x i8] c"pointer\00"
|
|
@.str4649 = private unnamed_addr constant [28 x i8] c"call ptr @fn_str_slice(ptr \00"
|
|
@.str4650 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4651 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str4652 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str4653 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str4654 = private unnamed_addr constant [7 x i8] c"string\00"
|
|
@.str4655 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4656 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str4657 = private unnamed_addr constant [10 x i8] c", ptr @g_\00"
|
|
@.str4658 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4659 = private unnamed_addr constant [20 x i8] c"unknown identifier \00"
|
|
@.str4660 = private unnamed_addr constant [6 x i8] c"Color\00"
|
|
@.str4661 = private unnamed_addr constant [21 x i8] c"unknown color Color.\00"
|
|
@.str4662 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4663 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4664 = private unnamed_addr constant [5 x i8] c"byte\00"
|
|
@.str4665 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
|
|
@.str4666 = private unnamed_addr constant [9 x i8] c"zext i8 \00"
|
|
@.str4667 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4668 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4669 = private unnamed_addr constant [4 x i8] c"i64\00"
|
|
@.str4670 = private unnamed_addr constant [2 x i8] c"-\00"
|
|
@.str4671 = private unnamed_addr constant [12 x i8] c"sub i64 0, \00"
|
|
@.str4672 = private unnamed_addr constant [5 x i8] c"long\00"
|
|
@.str4673 = private unnamed_addr constant [2 x i8] c"~\00"
|
|
@.str4674 = private unnamed_addr constant [9 x i8] c"xor i64 \00"
|
|
@.str4675 = private unnamed_addr constant [5 x i8] c", -1\00"
|
|
@.str4676 = private unnamed_addr constant [5 x i8] c"long\00"
|
|
@.str4677 = private unnamed_addr constant [2 x i8] c"-\00"
|
|
@.str4678 = private unnamed_addr constant [12 x i8] c"sub i32 0, \00"
|
|
@.str4679 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4680 = private unnamed_addr constant [2 x i8] c"~\00"
|
|
@.str4681 = private unnamed_addr constant [9 x i8] c"xor i32 \00"
|
|
@.str4682 = private unnamed_addr constant [5 x i8] c", -1\00"
|
|
@.str4683 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4684 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str4685 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str4686 = private unnamed_addr constant [9 x i8] c"zext i1 \00"
|
|
@.str4687 = private unnamed_addr constant [8 x i8] c" to i32\00"
|
|
@.str4688 = private unnamed_addr constant [5 x i8] c"bool\00"
|
|
@.str4689 = private unnamed_addr constant [23 x i8] c"cannot emit expression\00"
|
|
@.str4690 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4691 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4692 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str4693 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str4694 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4695 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4696 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4697 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4698 = private unnamed_addr constant [29 x i8] c"cannot assign to immutable '\00"
|
|
@.str4699 = private unnamed_addr constant [41 x i8] c"' (declared with let; use var) \E2\80\94 line \00"
|
|
@.str4700 = private unnamed_addr constant [19 x i8] c"assign to unknown \00"
|
|
@.str4701 = private unnamed_addr constant [4 x i8] c"@g_\00"
|
|
@.str4702 = private unnamed_addr constant [22 x i8] c"bad assignment target\00"
|
|
@.str4703 = private unnamed_addr constant [3 x i8] c"i8\00"
|
|
@.str4704 = private unnamed_addr constant [11 x i8] c"trunc i32 \00"
|
|
@.str4705 = private unnamed_addr constant [7 x i8] c" to i8\00"
|
|
@.str4706 = private unnamed_addr constant [2 x i8] c"=\00"
|
|
@.str4707 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str4708 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4709 = private unnamed_addr constant [4 x i8] c"add\00"
|
|
@.str4710 = private unnamed_addr constant [3 x i8] c"-=\00"
|
|
@.str4711 = private unnamed_addr constant [4 x i8] c"sub\00"
|
|
@.str4712 = private unnamed_addr constant [3 x i8] c"*=\00"
|
|
@.str4713 = private unnamed_addr constant [4 x i8] c"mul\00"
|
|
@.str4714 = private unnamed_addr constant [3 x i8] c"/=\00"
|
|
@.str4715 = private unnamed_addr constant [5 x i8] c"sdiv\00"
|
|
@.str4716 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str4717 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str4718 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4719 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str4720 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str4721 = private unnamed_addr constant [5 x i8] c"then\00"
|
|
@.str4722 = private unnamed_addr constant [5 x i8] c"else\00"
|
|
@.str4723 = private unnamed_addr constant [6 x i8] c"ifend\00"
|
|
@.str4724 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str4725 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4726 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4727 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4728 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str4729 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4730 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4731 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4732 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4733 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str4734 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4735 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4736 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str4737 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4738 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4739 = private unnamed_addr constant [6 x i8] c"wcond\00"
|
|
@.str4740 = private unnamed_addr constant [6 x i8] c"wbody\00"
|
|
@.str4741 = private unnamed_addr constant [5 x i8] c"wend\00"
|
|
@.str4742 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str4743 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4744 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4745 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str4746 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str4747 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str4748 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4749 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4750 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4751 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4752 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str4753 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4754 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4755 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4756 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4757 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4758 = private unnamed_addr constant [6 x i8] c"fcond\00"
|
|
@.str4759 = private unnamed_addr constant [6 x i8] c"fbody\00"
|
|
@.str4760 = private unnamed_addr constant [6 x i8] c"fcont\00"
|
|
@.str4761 = private unnamed_addr constant [5 x i8] c"fend\00"
|
|
@.str4762 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str4763 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4764 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4765 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4766 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str4767 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4768 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str4769 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4770 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4771 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4772 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4773 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str4774 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4775 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4776 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4777 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str4778 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str4779 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4780 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str4781 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4782 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4783 = private unnamed_addr constant [8 x i8] c"%retval\00"
|
|
@.str4784 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
|
|
@.str4785 = private unnamed_addr constant [2 x i8] c"_\00"
|
|
@.str4786 = private unnamed_addr constant [5 x i8] c"mend\00"
|
|
@.str4787 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4788 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str4789 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4790 = private unnamed_addr constant [7 x i8] c"or i1 \00"
|
|
@.str4791 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4792 = private unnamed_addr constant [6 x i8] c"mbody\00"
|
|
@.str4793 = private unnamed_addr constant [5 x i8] c"marm\00"
|
|
@.str4794 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str4795 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4796 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4797 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4798 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4799 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str4800 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4801 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4802 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str4803 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4804 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4805 = private unnamed_addr constant [21 x i8] c"emit: unknown event \00"
|
|
@.str4806 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4807 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str4808 = private unnamed_addr constant [5 x i8] c"null\00"
|
|
@.str4809 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str4810 = private unnamed_addr constant [53 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 0\0A\00"
|
|
@.str4811 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str4812 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4813 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4814 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str4815 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_sendbuf, i32 \00"
|
|
@.str4816 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4817 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str4818 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str4819 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str4820 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4821 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4822 = private unnamed_addr constant [10 x i8] c"toclients\00"
|
|
@.str4823 = private unnamed_addr constant [3 x i8] c"-1\00"
|
|
@.str4824 = private unnamed_addr constant [9 x i8] c"net_send\00"
|
|
@.str4825 = private unnamed_addr constant [14 x i8] c" call void @\00"
|
|
@.str4826 = private unnamed_addr constant [6 x i8] c"(i32 \00"
|
|
@.str4827 = private unnamed_addr constant [23 x i8] c", ptr @L_sendbuf, i32 \00"
|
|
@.str4828 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4829 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4830 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4831 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4832 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str4833 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str4834 = private unnamed_addr constant [17 x i8] c" = call i32 @ev_\00"
|
|
@.str4835 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str4836 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4837 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4838 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str4839 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str4840 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str4841 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4842 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str4843 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4844 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str4845 = private unnamed_addr constant [5 x i8] c"null\00"
|
|
@.str4846 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str4847 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4848 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str4849 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4850 = private unnamed_addr constant [44 x i8] c"cancel outside a cancellable event listener\00"
|
|
@.str4851 = private unnamed_addr constant [20 x i8] c" store i32 1, ptr \00"
|
|
@.str4852 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4853 = private unnamed_addr constant [22 x i8] c"cannot emit statement\00"
|
|
@.str4854 = private unnamed_addr constant [36 x i8] c"@L_running = internal global i32 1\0A\00"
|
|
@.str4855 = private unnamed_addr constant [32 x i8] c"@L_key = internal global i32 0\0A\00"
|
|
@.str4856 = private unnamed_addr constant [34 x i8] c"@L_frame = internal global i32 0\0A\00"
|
|
@.str4857 = private unnamed_addr constant [34 x i8] c"@L_scene = internal global i32 0\0A\00"
|
|
@.str4858 = private unnamed_addr constant [33 x i8] c"@L_entc = internal global i32 0\0A\00"
|
|
@.str4859 = private unnamed_addr constant [29 x i8] c"@L_alive = internal global [\00"
|
|
@.str4860 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
|
|
@.str4861 = private unnamed_addr constant [28 x i8] c"@L_kind = internal global [\00"
|
|
@.str4862 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
|
|
@.str4863 = private unnamed_addr constant [32 x i8] c"@L_freelist = internal global [\00"
|
|
@.str4864 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
|
|
@.str4865 = private unnamed_addr constant [34 x i8] c"@L_freen = internal global i32 0\0A\00"
|
|
@.str4866 = private unnamed_addr constant [33 x i8] c"@L_role = internal global i32 1\0A\00"
|
|
@.str4867 = private unnamed_addr constant [36 x i8] c"@L_localid = internal global i32 0\0A\00"
|
|
@.str4868 = private unnamed_addr constant [33 x i8] c"@L_owner_arr = internal global [\00"
|
|
@.str4869 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
|
|
@.str4870 = private unnamed_addr constant [4 x i8] c"@S_\00"
|
|
@.str4871 = private unnamed_addr constant [21 x i8] c" = internal global [\00"
|
|
@.str4872 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str4873 = private unnamed_addr constant [19 x i8] c"] zeroinitializer\0A\00"
|
|
@.str4874 = private unnamed_addr constant [4 x i8] c"@H_\00"
|
|
@.str4875 = private unnamed_addr constant [21 x i8] c" = internal global [\00"
|
|
@.str4876 = private unnamed_addr constant [24 x i8] c" x i8] zeroinitializer\0A\00"
|
|
@.str4877 = private unnamed_addr constant [5 x i8] c"@ME_\00"
|
|
@.str4878 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00"
|
|
@.str4879 = private unnamed_addr constant [5 x i8] c"@HE_\00"
|
|
@.str4880 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00"
|
|
@.str4881 = private unnamed_addr constant [5 x i8] c"@LE_\00"
|
|
@.str4882 = private unnamed_addr constant [26 x i8] c" = internal global i32 1\0A\00"
|
|
@.str4883 = private unnamed_addr constant [39 x i8] c"define void @L_reset(i32 %e) {\0Aentry:\0A\00"
|
|
@.str4884 = private unnamed_addr constant [3 x i8] c"%h\00"
|
|
@.str4885 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str4886 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str4887 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
|
|
@.str4888 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
|
|
@.str4889 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00"
|
|
@.str4890 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4891 = private unnamed_addr constant [32 x i8] c" %k = getelementptr inbounds [\00"
|
|
@.str4892 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00"
|
|
@.str4893 = private unnamed_addr constant [23 x i8] c" store i32 0, ptr %k\0A\00"
|
|
@.str4894 = private unnamed_addr constant [33 x i8] c" %ow = getelementptr inbounds [\00"
|
|
@.str4895 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A\00"
|
|
@.str4896 = private unnamed_addr constant [25 x i8] c" store i32 -1, ptr %ow\0A\00"
|
|
@.str4897 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
|
|
@.str4898 = private unnamed_addr constant [32 x i8] c"define i32 @L_alloc() {\0Aentry:\0A\00"
|
|
@.str4899 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00"
|
|
@.str4900 = private unnamed_addr constant [30 x i8] c" %has = icmp sgt i32 %fn, 0\0A\00"
|
|
@.str4901 = private unnamed_addr constant [42 x i8] c" br i1 %has, label %reuse, label %fresh\0A\00"
|
|
@.str4902 = private unnamed_addr constant [8 x i8] c"reuse:\0A\00"
|
|
@.str4903 = private unnamed_addr constant [25 x i8] c" %fn1 = sub i32 %fn, 1\0A\00"
|
|
@.str4904 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00"
|
|
@.str4905 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00"
|
|
@.str4906 = private unnamed_addr constant [43 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn1\0A\00"
|
|
@.str4907 = private unnamed_addr constant [27 x i8] c" %re = load i32, ptr %fp\0A\00"
|
|
@.str4908 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00"
|
|
@.str4909 = private unnamed_addr constant [8 x i8] c"fresh:\0A\00"
|
|
@.str4910 = private unnamed_addr constant [31 x i8] c" %ec = load i32, ptr @L_entc\0A\00"
|
|
@.str4911 = private unnamed_addr constant [25 x i8] c" %ec1 = add i32 %ec, 1\0A\00"
|
|
@.str4912 = private unnamed_addr constant [31 x i8] c" store i32 %ec1, ptr @L_entc\0A\00"
|
|
@.str4913 = private unnamed_addr constant [18 x i8] c" br label %done\0A\00"
|
|
@.str4914 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
|
|
@.str4915 = private unnamed_addr constant [49 x i8] c" %e = phi i32 [ %re, %reuse ], [ %ec, %fresh ]\0A\00"
|
|
@.str4916 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00"
|
|
@.str4917 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00"
|
|
@.str4918 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00"
|
|
@.str4919 = private unnamed_addr constant [24 x i8] c" store i32 1, ptr %ap\0A\00"
|
|
@.str4920 = private unnamed_addr constant [17 x i8] c" ret i32 %e\0A}\0A\0A\00"
|
|
@.str4921 = private unnamed_addr constant [45 x i8] c"define void @L_free_entity(i32 %e) {\0Aentry:\0A\00"
|
|
@.str4922 = private unnamed_addr constant [33 x i8] c" %ap = getelementptr inbounds [\00"
|
|
@.str4923 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00"
|
|
@.str4924 = private unnamed_addr constant [24 x i8] c" store i32 0, ptr %ap\0A\00"
|
|
@.str4925 = private unnamed_addr constant [30 x i8] c" call void @L_reset(i32 %e)\0A\00"
|
|
@.str4926 = private unnamed_addr constant [32 x i8] c" %fn = load i32, ptr @L_freen\0A\00"
|
|
@.str4927 = private unnamed_addr constant [33 x i8] c" %fp = getelementptr inbounds [\00"
|
|
@.str4928 = private unnamed_addr constant [42 x i8] c" x i32], ptr @L_freelist, i32 0, i32 %fn\0A\00"
|
|
@.str4929 = private unnamed_addr constant [25 x i8] c" store i32 %e, ptr %fp\0A\00"
|
|
@.str4930 = private unnamed_addr constant [25 x i8] c" %fn1 = add i32 %fn, 1\0A\00"
|
|
@.str4931 = private unnamed_addr constant [32 x i8] c" store i32 %fn1, ptr @L_freen\0A\00"
|
|
@.str4932 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
|
|
@.str4933 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4934 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str4935 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4936 = private unnamed_addr constant [6 x i8] c"qcond\00"
|
|
@.str4937 = private unnamed_addr constant [6 x i8] c"qbody\00"
|
|
@.str4938 = private unnamed_addr constant [6 x i8] c"qnext\00"
|
|
@.str4939 = private unnamed_addr constant [5 x i8] c"qend\00"
|
|
@.str4940 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str4941 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4942 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4943 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4944 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_entc\00"
|
|
@.str4945 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str4946 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4947 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str4948 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4949 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4950 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4951 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4952 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4953 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str4954 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str4955 = private unnamed_addr constant [35 x i8] c" x i32], ptr @L_alive, i32 0, i32 \00"
|
|
@.str4956 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4957 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4958 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str4959 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str4960 = private unnamed_addr constant [3 x i8] c"qa\00"
|
|
@.str4961 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str4962 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4963 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4964 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4965 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4966 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str4967 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str4968 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str4969 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00"
|
|
@.str4970 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4971 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str4972 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str4973 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4974 = private unnamed_addr constant [19 x i8] c"load i32, ptr @ME_\00"
|
|
@.str4975 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str4976 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str4977 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str4978 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str4979 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str4980 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str4981 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
|
|
@.str4982 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str4983 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4984 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
|
|
@.str4985 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00"
|
|
@.str4986 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str4987 = private unnamed_addr constant [3 x i8] c"qt\00"
|
|
@.str4988 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str4989 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4990 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str4991 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4992 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str4993 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str4994 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str4995 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str4996 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
|
|
@.str4997 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str4998 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str4999 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str5000 = private unnamed_addr constant [13 x i8] c" store ptr \00"
|
|
@.str5001 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5002 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5003 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str5004 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str5005 = private unnamed_addr constant [3 x i8] c"qw\00"
|
|
@.str5006 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str5007 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5008 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5009 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5010 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5011 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str5012 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5013 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5014 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str5015 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str5016 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str5017 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str5018 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str5019 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5020 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5021 = private unnamed_addr constant [25 x i8] c"spawn: unknown property \00"
|
|
@.str5022 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5023 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str5024 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
|
|
@.str5025 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str5026 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5027 = private unnamed_addr constant [19 x i8] c" store i8 1, ptr \00"
|
|
@.str5028 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5029 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5030 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str5031 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str5032 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
|
|
@.str5033 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str5034 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5035 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5036 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
|
|
@.str5037 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5038 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str5039 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5040 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str5041 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str5042 = private unnamed_addr constant [5 x i8] c"null\00"
|
|
@.str5043 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str5044 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str5045 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5046 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5047 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5048 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
|
|
@.str5049 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5050 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str5051 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5052 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str5053 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str5054 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5055 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5056 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str5057 = private unnamed_addr constant [13 x i8] c" store ptr \00"
|
|
@.str5058 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5059 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5060 = private unnamed_addr constant [6 x i8] c"prop_\00"
|
|
@.str5061 = private unnamed_addr constant [8 x i8] c"_attach\00"
|
|
@.str5062 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str5063 = private unnamed_addr constant [6 x i8] c"(i32 \00"
|
|
@.str5064 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str5065 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5066 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str5067 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str5068 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
|
|
@.str5069 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str5070 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5071 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str5072 = private unnamed_addr constant [13 x i8] c" store ptr \00"
|
|
@.str5073 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5074 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5075 = private unnamed_addr constant [20 x i8] c"call i32 @L_alloc()\00"
|
|
@.str5076 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5077 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str5078 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00"
|
|
@.str5079 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5080 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str5081 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5082 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5083 = private unnamed_addr constant [7 x i8] c"model_\00"
|
|
@.str5084 = private unnamed_addr constant [7 x i8] c"_spawn\00"
|
|
@.str5085 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str5086 = private unnamed_addr constant [6 x i8] c"(i32 \00"
|
|
@.str5087 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str5088 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5089 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str5090 = private unnamed_addr constant [34 x i8] c" x i32], ptr @L_kind, i32 0, i32 \00"
|
|
@.str5091 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5092 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str5093 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str5094 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5095 = private unnamed_addr constant [3 x i8] c"dh\00"
|
|
@.str5096 = private unnamed_addr constant [4 x i8] c"dhn\00"
|
|
@.str5097 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str5098 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5099 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5100 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5101 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00"
|
|
@.str5102 = private unnamed_addr constant [6 x i8] c"(i32 \00"
|
|
@.str5103 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00"
|
|
@.str5104 = private unnamed_addr constant [7 x i8] c"model_\00"
|
|
@.str5105 = private unnamed_addr constant [9 x i8] c"_despawn\00"
|
|
@.str5106 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str5107 = private unnamed_addr constant [6 x i8] c"(i32 \00"
|
|
@.str5108 = private unnamed_addr constant [10 x i8] c", i32 0)\0A\00"
|
|
@.str5109 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str5110 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5111 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5112 = private unnamed_addr constant [37 x i8] c" call void @ludic_sweep_entity(i32 \00"
|
|
@.str5113 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str5114 = private unnamed_addr constant [32 x i8] c" call void @L_free_entity(i32 \00"
|
|
@.str5115 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str5116 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5117 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str5118 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
|
|
@.str5119 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str5120 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5121 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
|
|
@.str5122 = private unnamed_addr constant [12 x i8] c"icmp eq i8 \00"
|
|
@.str5123 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str5124 = private unnamed_addr constant [7 x i8] c"attach\00"
|
|
@.str5125 = private unnamed_addr constant [8 x i8] c"attdone\00"
|
|
@.str5126 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str5127 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5128 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5129 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5130 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5131 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str5132 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5133 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5134 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5135 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str5136 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
|
|
@.str5137 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str5138 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5139 = private unnamed_addr constant [14 x i8] c"load i8, ptr \00"
|
|
@.str5140 = private unnamed_addr constant [12 x i8] c"icmp ne i8 \00"
|
|
@.str5141 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str5142 = private unnamed_addr constant [7 x i8] c"detach\00"
|
|
@.str5143 = private unnamed_addr constant [8 x i8] c"detdone\00"
|
|
@.str5144 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str5145 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5146 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5147 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5148 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5149 = private unnamed_addr constant [19 x i8] c" store i8 0, ptr \00"
|
|
@.str5150 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5151 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5152 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str5153 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str5154 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
|
|
@.str5155 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str5156 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5157 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str5158 = private unnamed_addr constant [13 x i8] c" store ptr \00"
|
|
@.str5159 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5160 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5161 = private unnamed_addr constant [6 x i8] c"prop_\00"
|
|
@.str5162 = private unnamed_addr constant [8 x i8] c"_detach\00"
|
|
@.str5163 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str5164 = private unnamed_addr constant [6 x i8] c"(i32 \00"
|
|
@.str5165 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str5166 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str5167 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5168 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5169 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str5170 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str5171 = private unnamed_addr constant [6 x i8] c"layer\00"
|
|
@.str5172 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str5173 = private unnamed_addr constant [11 x i8] c", ptr @LE_\00"
|
|
@.str5174 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5175 = private unnamed_addr constant [7 x i8] c"layer_\00"
|
|
@.str5176 = private unnamed_addr constant [6 x i8] c"_hide\00"
|
|
@.str5177 = private unnamed_addr constant [7 x i8] c"layer_\00"
|
|
@.str5178 = private unnamed_addr constant [6 x i8] c"_show\00"
|
|
@.str5179 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str5180 = private unnamed_addr constant [4 x i8] c"()\0A\00"
|
|
@.str5181 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5182 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str5183 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
|
|
@.str5184 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str5185 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5186 = private unnamed_addr constant [12 x i8] c" store i8 \00"
|
|
@.str5187 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5188 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5189 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5190 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str5191 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str5192 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
|
|
@.str5193 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str5194 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5195 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str5196 = private unnamed_addr constant [13 x i8] c" store ptr \00"
|
|
@.str5197 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5198 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5199 = private unnamed_addr constant [6 x i8] c"prop_\00"
|
|
@.str5200 = private unnamed_addr constant [9 x i8] c"_disable\00"
|
|
@.str5201 = private unnamed_addr constant [6 x i8] c"prop_\00"
|
|
@.str5202 = private unnamed_addr constant [8 x i8] c"_enable\00"
|
|
@.str5203 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str5204 = private unnamed_addr constant [6 x i8] c"(i32 \00"
|
|
@.str5205 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str5206 = private unnamed_addr constant [5 x i8] c"@HE_\00"
|
|
@.str5207 = private unnamed_addr constant [5 x i8] c"@ME_\00"
|
|
@.str5208 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str5209 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5210 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5211 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str5212 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
|
|
@.str5213 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
|
|
@.str5214 = private unnamed_addr constant [18 x i8] c"define void @sys_\00"
|
|
@.str5215 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
|
|
@.str5216 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
|
|
@.str5217 = private unnamed_addr constant [19 x i8] c"load i32, ptr @HE_\00"
|
|
@.str5218 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str5219 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str5220 = private unnamed_addr constant [19 x i8] c"load i32, ptr @LE_\00"
|
|
@.str5221 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str5222 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str5223 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str5224 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5225 = private unnamed_addr constant [22 x i8] c"load i32, ptr @L_role\00"
|
|
@.str5226 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str5227 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str5228 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str5229 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5230 = private unnamed_addr constant [5 x i8] c"hrun\00"
|
|
@.str5231 = private unnamed_addr constant [6 x i8] c"hskip\00"
|
|
@.str5232 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str5233 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5234 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5235 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5236 = private unnamed_addr constant [20 x i8] c":\0A call void @sys_\00"
|
|
@.str5237 = private unnamed_addr constant [4 x i8] c"()\0A\00"
|
|
@.str5238 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str5239 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5240 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5241 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_scene\00"
|
|
@.str5242 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str5243 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5244 = private unnamed_addr constant [6 x i8] c"scrun\00"
|
|
@.str5245 = private unnamed_addr constant [7 x i8] c"scskip\00"
|
|
@.str5246 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str5247 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5248 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5249 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5250 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5251 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str5252 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5253 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5254 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str5255 = private unnamed_addr constant [7 x i8] c"scene_\00"
|
|
@.str5256 = private unnamed_addr constant [2 x i8] c"_\00"
|
|
@.str5257 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str5258 = private unnamed_addr constant [4 x i8] c"()\0A\00"
|
|
@.str5259 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
|
|
@.str5260 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
|
|
@.str5261 = private unnamed_addr constant [20 x i8] c"define void @scene_\00"
|
|
@.str5262 = private unnamed_addr constant [2 x i8] c"_\00"
|
|
@.str5263 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
|
|
@.str5264 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
|
|
@.str5265 = private unnamed_addr constant [6 x i8] c"enter\00"
|
|
@.str5266 = private unnamed_addr constant [5 x i8] c"exit\00"
|
|
@.str5267 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str5268 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str5269 = private unnamed_addr constant [26 x i8] c" store i32 %reason, ptr \00"
|
|
@.str5270 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5271 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str5272 = private unnamed_addr constant [3 x i8] c"%e\00"
|
|
@.str5273 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
|
|
@.str5274 = private unnamed_addr constant [17 x i8] c"ret:\0A ret void\0A\00"
|
|
@.str5275 = private unnamed_addr constant [25 x i8] c"define void @on_despawn_\00"
|
|
@.str5276 = private unnamed_addr constant [32 x i8] c"(i32 %e, i32 %reason) {\0Aentry:\0A\00"
|
|
@.str5277 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
|
|
@.str5278 = private unnamed_addr constant [67 x i8] c"define void @L_despawn_all(i32 %reason) {\0Aentry:\0A br label %loop\0A\00"
|
|
@.str5279 = private unnamed_addr constant [52 x i8] c"loop:\0A %i = phi i32 [ 0, %entry ], [ %i1, %cont ]\0A\00"
|
|
@.str5280 = private unnamed_addr constant [58 x i8] c" %n = load i32, ptr @L_entc\0A %go = icmp slt i32 %i, %n\0A\00"
|
|
@.str5281 = private unnamed_addr constant [38 x i8] c" br i1 %go, label %body, label %fin\0A\00"
|
|
@.str5282 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00"
|
|
@.str5283 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %i\0A\00"
|
|
@.str5284 = private unnamed_addr constant [55 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A\00"
|
|
@.str5285 = private unnamed_addr constant [38 x i8] c" br i1 %isa, label %do, label %cont\0A\00"
|
|
@.str5286 = private unnamed_addr constant [37 x i8] c"do:\0A %kp = getelementptr inbounds [\00"
|
|
@.str5287 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %i\0A\00"
|
|
@.str5288 = private unnamed_addr constant [26 x i8] c" %k = load i32, ptr %kp\0A\00"
|
|
@.str5289 = private unnamed_addr constant [5 x i8] c" %c\00"
|
|
@.str5290 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
|
|
@.str5291 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5292 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
|
|
@.str5293 = private unnamed_addr constant [13 x i8] c", label %hit\00"
|
|
@.str5294 = private unnamed_addr constant [14 x i8] c", label %next\00"
|
|
@.str5295 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5296 = private unnamed_addr constant [4 x i8] c"hit\00"
|
|
@.str5297 = private unnamed_addr constant [27 x i8] c":\0A call void @on_despawn_\00"
|
|
@.str5298 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00"
|
|
@.str5299 = private unnamed_addr constant [7 x i8] c"model_\00"
|
|
@.str5300 = private unnamed_addr constant [9 x i8] c"_despawn\00"
|
|
@.str5301 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str5302 = private unnamed_addr constant [23 x i8] c"(i32 %i, i32 %reason)\0A\00"
|
|
@.str5303 = private unnamed_addr constant [17 x i8] c" br label %next\00"
|
|
@.str5304 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5305 = private unnamed_addr constant [5 x i8] c"next\00"
|
|
@.str5306 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5307 = private unnamed_addr constant [18 x i8] c" br label %cont\0A\00"
|
|
@.str5308 = private unnamed_addr constant [46 x i8] c"cont:\0A %i1 = add i32 %i, 1\0A br label %loop\0A\00"
|
|
@.str5309 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00"
|
|
@.str5310 = private unnamed_addr constant [26 x i8] c"@ev_depth = global i32 0\0A\00"
|
|
@.str5311 = private unnamed_addr constant [5 x i8] c"%Ev_\00"
|
|
@.str5312 = private unnamed_addr constant [11 x i8] c" = type { \00"
|
|
@.str5313 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5314 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5315 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str5316 = private unnamed_addr constant [4 x i8] c" }\0A\00"
|
|
@.str5317 = private unnamed_addr constant [6 x i8] c"@evL_\00"
|
|
@.str5318 = private unnamed_addr constant [12 x i8] c" = global [\00"
|
|
@.str5319 = private unnamed_addr constant [25 x i8] c" x ptr] zeroinitializer\0A\00"
|
|
@.str5320 = private unnamed_addr constant [6 x i8] c"@evN_\00"
|
|
@.str5321 = private unnamed_addr constant [17 x i8] c" = global i32 0\0A\00"
|
|
@.str5322 = private unnamed_addr constant [6 x i8] c"@evO_\00"
|
|
@.str5323 = private unnamed_addr constant [12 x i8] c" = global [\00"
|
|
@.str5324 = private unnamed_addr constant [25 x i8] c" x i32] zeroinitializer\0A\00"
|
|
@.str5325 = private unnamed_addr constant [22 x i8] c"define i32 @ludic_on_\00"
|
|
@.str5326 = private unnamed_addr constant [20 x i8] c"(ptr %cb) {\0Aentry:\0A\00"
|
|
@.str5327 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00"
|
|
@.str5328 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5329 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00"
|
|
@.str5330 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5331 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00"
|
|
@.str5332 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00"
|
|
@.str5333 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
|
|
@.str5334 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
|
|
@.str5335 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00"
|
|
@.str5336 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00"
|
|
@.str5337 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00"
|
|
@.str5338 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
|
|
@.str5339 = private unnamed_addr constant [28 x i8] c" store i32 -1, ptr %oslot\0A\00"
|
|
@.str5340 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00"
|
|
@.str5341 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00"
|
|
@.str5342 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00"
|
|
@.str5343 = private unnamed_addr constant [29 x i8] c"define i32 @ludic_on_entity_\00"
|
|
@.str5344 = private unnamed_addr constant [32 x i8] c"(i32 %owner, ptr %cb) {\0Aentry:\0A\00"
|
|
@.str5345 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00"
|
|
@.str5346 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5347 = private unnamed_addr constant [28 x i8] c" %full = icmp slt i32 %n, \00"
|
|
@.str5348 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5349 = private unnamed_addr constant [40 x i8] c" br i1 %full, label %add, label %drop\0A\00"
|
|
@.str5350 = private unnamed_addr constant [40 x i8] c"add:\0A %slot = getelementptr inbounds [\00"
|
|
@.str5351 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
|
|
@.str5352 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
|
|
@.str5353 = private unnamed_addr constant [28 x i8] c" store ptr %cb, ptr %slot\0A\00"
|
|
@.str5354 = private unnamed_addr constant [36 x i8] c" %oslot = getelementptr inbounds [\00"
|
|
@.str5355 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00"
|
|
@.str5356 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %n\0A\00"
|
|
@.str5357 = private unnamed_addr constant [32 x i8] c" store i32 %owner, ptr %oslot\0A\00"
|
|
@.str5358 = private unnamed_addr constant [49 x i8] c" %n1 = add i32 %n, 1\0A store i32 %n1, ptr @evN_\00"
|
|
@.str5359 = private unnamed_addr constant [15 x i8] c"\0A ret i32 %n\0A\00"
|
|
@.str5360 = private unnamed_addr constant [23 x i8] c"drop:\0A ret i32 -1\0A}\0A\0A\00"
|
|
@.str5361 = private unnamed_addr constant [24 x i8] c"define void @ludic_off_\00"
|
|
@.str5362 = private unnamed_addr constant [21 x i8] c"(i32 %tok) {\0Aentry:\0A\00"
|
|
@.str5363 = private unnamed_addr constant [27 x i8] c" %n = load i32, ptr @evN_\00"
|
|
@.str5364 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5365 = private unnamed_addr constant [84 x i8] c" %lo = icmp sge i32 %tok, 0\0A %hi = icmp slt i32 %tok, %n\0A %ok = and i1 %lo, %hi\0A\00"
|
|
@.str5366 = private unnamed_addr constant [37 x i8] c" br i1 %ok, label %do, label %skip\0A\00"
|
|
@.str5367 = private unnamed_addr constant [39 x i8] c"do:\0A %slot = getelementptr inbounds [\00"
|
|
@.str5368 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
|
|
@.str5369 = private unnamed_addr constant [19 x i8] c", i32 0, i32 %tok\0A\00"
|
|
@.str5370 = private unnamed_addr constant [46 x i8] c" store ptr null, ptr %slot\0A br label %skip\0A\00"
|
|
@.str5371 = private unnamed_addr constant [21 x i8] c"skip:\0A ret void\0A}\0A\0A\00"
|
|
@.str5372 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str5373 = private unnamed_addr constant [34 x i8] c" %evd = load i32, ptr @ev_depth\0A\00"
|
|
@.str5374 = private unnamed_addr constant [32 x i8] c" %evover = icmp sge i32 %evd, \00"
|
|
@.str5375 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5376 = private unnamed_addr constant [44 x i8] c" br i1 %evover, label %evcap, label %evgo\0A\00"
|
|
@.str5377 = private unnamed_addr constant [8 x i8] c"evcap:\0A\00"
|
|
@.str5378 = private unnamed_addr constant [13 x i8] c" ret i32 0\0A\00"
|
|
@.str5379 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
|
|
@.str5380 = private unnamed_addr constant [7 x i8] c"evgo:\0A\00"
|
|
@.str5381 = private unnamed_addr constant [60 x i8] c" %evd1 = add i32 %evd, 1\0A store i32 %evd1, ptr @ev_depth\0A\00"
|
|
@.str5382 = private unnamed_addr constant [5 x i8] c"%Ev_\00"
|
|
@.str5383 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5384 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00"
|
|
@.str5385 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5386 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str5387 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5388 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str5389 = private unnamed_addr constant [4 x i8] c" %p\00"
|
|
@.str5390 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5391 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5392 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str5393 = private unnamed_addr constant [4 x i8] c" %p\00"
|
|
@.str5394 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5395 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5396 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5397 = private unnamed_addr constant [31 x i8] c" = getelementptr inbounds %Ev_\00"
|
|
@.str5398 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5399 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str5400 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5401 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
|
|
@.str5402 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5403 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str5404 = private unnamed_addr constant [20 x i8] c" store i32 0, ptr \00"
|
|
@.str5405 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5406 = private unnamed_addr constant [4 x i8] c"evl\00"
|
|
@.str5407 = private unnamed_addr constant [4 x i8] c"evb\00"
|
|
@.str5408 = private unnamed_addr constant [4 x i8] c"evd\00"
|
|
@.str5409 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str5410 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5411 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5412 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str5413 = private unnamed_addr constant [20 x i8] c"load i32, ptr @evN_\00"
|
|
@.str5414 = private unnamed_addr constant [14 x i8] c"icmp slt i32 \00"
|
|
@.str5415 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5416 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str5417 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5418 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5419 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5420 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5421 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5422 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str5423 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
|
|
@.str5424 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str5425 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5426 = private unnamed_addr constant [15 x i8] c"load ptr, ptr \00"
|
|
@.str5427 = private unnamed_addr constant [13 x i8] c"icmp eq ptr \00"
|
|
@.str5428 = private unnamed_addr constant [7 x i8] c", null\00"
|
|
@.str5429 = private unnamed_addr constant [5 x i8] c"evdo\00"
|
|
@.str5430 = private unnamed_addr constant [5 x i8] c"evsk\00"
|
|
@.str5431 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str5432 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5433 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5434 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5435 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5436 = private unnamed_addr constant [13 x i8] c" call void \00"
|
|
@.str5437 = private unnamed_addr constant [6 x i8] c"(ptr \00"
|
|
@.str5438 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str5439 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str5440 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5441 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5442 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str5443 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str5444 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str5445 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5446 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5447 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str5448 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5449 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5450 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
|
|
@.str5451 = private unnamed_addr constant [6 x i8] c"ret:\0A\00"
|
|
@.str5452 = private unnamed_addr constant [97 x i8] c" %evdd = load i32, ptr @ev_depth\0A %evdd1 = sub i32 %evdd, 1\0A store i32 %evdd1, ptr @ev_depth\0A\00"
|
|
@.str5453 = private unnamed_addr constant [15 x i8] c"load i32, ptr \00"
|
|
@.str5454 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
|
|
@.str5455 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5456 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
|
|
@.str5457 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str5458 = private unnamed_addr constant [4 x i8] c"i32\00"
|
|
@.str5459 = private unnamed_addr constant [8 x i8] c"define \00"
|
|
@.str5460 = private unnamed_addr constant [6 x i8] c" @ev_\00"
|
|
@.str5461 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str5462 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5463 = private unnamed_addr constant [4 x i8] c" %p\00"
|
|
@.str5464 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00"
|
|
@.str5465 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
|
|
@.str5466 = private unnamed_addr constant [112 x i8] c"define void @ludic_sweep_entity(i32 %owner) {\0Aentry:\0A %ci = alloca i32\0A store i32 0, ptr %ci\0A br label %sw0\0A\00"
|
|
@.str5467 = private unnamed_addr constant [3 x i8] c"sw\00"
|
|
@.str5468 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5469 = private unnamed_addr constant [7 x i8] c" %swi\00"
|
|
@.str5470 = private unnamed_addr constant [22 x i8] c" = load i32, ptr %ci\0A\00"
|
|
@.str5471 = private unnamed_addr constant [7 x i8] c" %swn\00"
|
|
@.str5472 = private unnamed_addr constant [23 x i8] c" = load i32, ptr @evN_\00"
|
|
@.str5473 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5474 = private unnamed_addr constant [7 x i8] c" %swg\00"
|
|
@.str5475 = private unnamed_addr constant [21 x i8] c" = icmp slt i32 %swi\00"
|
|
@.str5476 = private unnamed_addr constant [7 x i8] c", %swn\00"
|
|
@.str5477 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5478 = private unnamed_addr constant [13 x i8] c" br i1 %swg\00"
|
|
@.str5479 = private unnamed_addr constant [13 x i8] c", label %swb\00"
|
|
@.str5480 = private unnamed_addr constant [13 x i8] c", label %swd\00"
|
|
@.str5481 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5482 = private unnamed_addr constant [4 x i8] c"swb\00"
|
|
@.str5483 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5484 = private unnamed_addr constant [8 x i8] c" %swop\00"
|
|
@.str5485 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str5486 = private unnamed_addr constant [19 x i8] c" x i32], ptr @evO_\00"
|
|
@.str5487 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00"
|
|
@.str5488 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5489 = private unnamed_addr constant [8 x i8] c" %swov\00"
|
|
@.str5490 = private unnamed_addr constant [23 x i8] c" = load i32, ptr %swop\00"
|
|
@.str5491 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5492 = private unnamed_addr constant [7 x i8] c" %swm\00"
|
|
@.str5493 = private unnamed_addr constant [21 x i8] c" = icmp eq i32 %swov\00"
|
|
@.str5494 = private unnamed_addr constant [10 x i8] c", %owner\0A\00"
|
|
@.str5495 = private unnamed_addr constant [13 x i8] c" br i1 %swm\00"
|
|
@.str5496 = private unnamed_addr constant [13 x i8] c", label %swh\00"
|
|
@.str5497 = private unnamed_addr constant [13 x i8] c", label %swx\00"
|
|
@.str5498 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5499 = private unnamed_addr constant [4 x i8] c"swh\00"
|
|
@.str5500 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5501 = private unnamed_addr constant [8 x i8] c" %swlp\00"
|
|
@.str5502 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str5503 = private unnamed_addr constant [19 x i8] c" x ptr], ptr @evL_\00"
|
|
@.str5504 = private unnamed_addr constant [18 x i8] c", i32 0, i32 %swi\00"
|
|
@.str5505 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5506 = private unnamed_addr constant [28 x i8] c" store ptr null, ptr %swlp\00"
|
|
@.str5507 = private unnamed_addr constant [17 x i8] c"\0A br label %swx\00"
|
|
@.str5508 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5509 = private unnamed_addr constant [4 x i8] c"swx\00"
|
|
@.str5510 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5511 = private unnamed_addr constant [8 x i8] c" %swi1\00"
|
|
@.str5512 = private unnamed_addr constant [16 x i8] c" = add i32 %swi\00"
|
|
@.str5513 = private unnamed_addr constant [22 x i8] c", 1\0A store i32 %swi1\00"
|
|
@.str5514 = private unnamed_addr constant [25 x i8] c", ptr %ci\0A br label %sw\00"
|
|
@.str5515 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5516 = private unnamed_addr constant [4 x i8] c"swd\00"
|
|
@.str5517 = private unnamed_addr constant [26 x i8] c":\0A store i32 0, ptr %ci\0A\00"
|
|
@.str5518 = private unnamed_addr constant [15 x i8] c" br label %sw\00"
|
|
@.str5519 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5520 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
|
|
@.str5521 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
|
|
@.str5522 = private unnamed_addr constant [31 x i8] c"declare i32 @strcmp(ptr, ptr)\0A\00"
|
|
@.str5523 = private unnamed_addr constant [27 x i8] c"@dyn_count = global i32 0\0A\00"
|
|
@.str5524 = private unnamed_addr constant [43 x i8] c"@dynS = global [32 x ptr] zeroinitializer\0A\00"
|
|
@.str5525 = private unnamed_addr constant [43 x i8] c"@dynH = global [32 x ptr] zeroinitializer\0A\00"
|
|
@.str5526 = private unnamed_addr constant [43 x i8] c"@dynF = global [32 x i32] zeroinitializer\0A\00"
|
|
@.str5527 = private unnamed_addr constant [46 x i8] c"@dynName = global [32 x ptr] zeroinitializer\0A\00"
|
|
@.str5528 = private unnamed_addr constant [47 x i8] c"define i32 @ludic_prop_id(ptr %name) {\0Aentry:\0A\00"
|
|
@.str5529 = private unnamed_addr constant [5 x i8] c" %c\00"
|
|
@.str5530 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00"
|
|
@.str5531 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str5532 = private unnamed_addr constant [5 x i8] c" %e\00"
|
|
@.str5533 = private unnamed_addr constant [18 x i8] c" = icmp eq i32 %c\00"
|
|
@.str5534 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
|
|
@.str5535 = private unnamed_addr constant [11 x i8] c" br i1 %e\00"
|
|
@.str5536 = private unnamed_addr constant [11 x i8] c", label %h\00"
|
|
@.str5537 = private unnamed_addr constant [11 x i8] c", label %n\00"
|
|
@.str5538 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5539 = private unnamed_addr constant [2 x i8] c"h\00"
|
|
@.str5540 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
|
|
@.str5541 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5542 = private unnamed_addr constant [2 x i8] c"n\00"
|
|
@.str5543 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5544 = private unnamed_addr constant [61 x i8] c" %dpi = alloca i32\0A store i32 0, ptr %dpi\0A br label %dpl\0A\00"
|
|
@.str5545 = private unnamed_addr constant [135 x i8] c"dpl:\0A %di = load i32, ptr %dpi\0A %dn = load i32, ptr @dyn_count\0A %dg = icmp slt i32 %di, %dn\0A br i1 %dg, label %dpb, label %dpnone\0A\00"
|
|
@.str5546 = private unnamed_addr constant [231 x i8] c"dpb:\0A %dnp = getelementptr inbounds [32 x ptr], ptr @dynName, i32 0, i32 %di\0A %dname = load ptr, ptr %dnp\0A %dcmp = call i32 @strcmp(ptr %name, ptr %dname)\0A %deq = icmp eq i32 %dcmp, 0\0A br i1 %deq, label %dphit, label %dpnext\0A\00"
|
|
@.str5547 = private unnamed_addr constant [31 x i8] c"dphit:\0A %drid = add i32 %di, \00"
|
|
@.str5548 = private unnamed_addr constant [18 x i8] c"\0A ret i32 %drid\0A\00"
|
|
@.str5549 = private unnamed_addr constant [76 x i8] c"dpnext:\0A %di1 = add i32 %di, 1\0A store i32 %di1, ptr %dpi\0A br label %dpl\0A\00"
|
|
@.str5550 = private unnamed_addr constant [25 x i8] c"dpnone:\0A ret i32 -1\0A}\0A\0A\00"
|
|
@.str5551 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_field_id(i32 %p, ptr %name) {\0Aentry:\0A\00"
|
|
@.str5552 = private unnamed_addr constant [6 x i8] c" %pm\00"
|
|
@.str5553 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
|
|
@.str5554 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5555 = private unnamed_addr constant [12 x i8] c" br i1 %pm\00"
|
|
@.str5556 = private unnamed_addr constant [12 x i8] c", label %pk\00"
|
|
@.str5557 = private unnamed_addr constant [12 x i8] c", label %pn\00"
|
|
@.str5558 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5559 = private unnamed_addr constant [3 x i8] c"pk\00"
|
|
@.str5560 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5561 = private unnamed_addr constant [2 x i8] c"_\00"
|
|
@.str5562 = private unnamed_addr constant [6 x i8] c" %fc\00"
|
|
@.str5563 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00"
|
|
@.str5564 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str5565 = private unnamed_addr constant [6 x i8] c" %fe\00"
|
|
@.str5566 = private unnamed_addr constant [19 x i8] c" = icmp eq i32 %fc\00"
|
|
@.str5567 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
|
|
@.str5568 = private unnamed_addr constant [12 x i8] c" br i1 %fe\00"
|
|
@.str5569 = private unnamed_addr constant [12 x i8] c", label %fh\00"
|
|
@.str5570 = private unnamed_addr constant [12 x i8] c", label %fn\00"
|
|
@.str5571 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5572 = private unnamed_addr constant [3 x i8] c"fh\00"
|
|
@.str5573 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
|
|
@.str5574 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5575 = private unnamed_addr constant [3 x i8] c"fn\00"
|
|
@.str5576 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5577 = private unnamed_addr constant [14 x i8] c" ret i32 -1\0A\00"
|
|
@.str5578 = private unnamed_addr constant [3 x i8] c"pn\00"
|
|
@.str5579 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5580 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00"
|
|
@.str5581 = private unnamed_addr constant [56 x i8] c"define i64 @ludic_get(i32 %e, i32 %p, i32 %f) {\0Aentry:\0A\00"
|
|
@.str5582 = private unnamed_addr constant [5 x i8] c" %m\00"
|
|
@.str5583 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
|
|
@.str5584 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5585 = private unnamed_addr constant [11 x i8] c" br i1 %m\00"
|
|
@.str5586 = private unnamed_addr constant [11 x i8] c", label %g\00"
|
|
@.str5587 = private unnamed_addr constant [12 x i8] c", label %gn\00"
|
|
@.str5588 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5589 = private unnamed_addr constant [2 x i8] c"g\00"
|
|
@.str5590 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5591 = private unnamed_addr constant [5 x i8] c" %s\00"
|
|
@.str5592 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str5593 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str5594 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
|
|
@.str5595 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
|
|
@.str5596 = private unnamed_addr constant [2 x i8] c"_\00"
|
|
@.str5597 = private unnamed_addr constant [6 x i8] c" %gm\00"
|
|
@.str5598 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00"
|
|
@.str5599 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5600 = private unnamed_addr constant [12 x i8] c" br i1 %gm\00"
|
|
@.str5601 = private unnamed_addr constant [12 x i8] c", label %gf\00"
|
|
@.str5602 = private unnamed_addr constant [12 x i8] c", label %gk\00"
|
|
@.str5603 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5604 = private unnamed_addr constant [3 x i8] c"gf\00"
|
|
@.str5605 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5606 = private unnamed_addr constant [6 x i8] c" %ga\00"
|
|
@.str5607 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
|
|
@.str5608 = private unnamed_addr constant [9 x i8] c", ptr %s\00"
|
|
@.str5609 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str5610 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5611 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str5612 = private unnamed_addr constant [6 x i8] c" %gl\00"
|
|
@.str5613 = private unnamed_addr constant [21 x i8] c" = load ptr, ptr %ga\00"
|
|
@.str5614 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5615 = private unnamed_addr constant [6 x i8] c" %gr\00"
|
|
@.str5616 = private unnamed_addr constant [20 x i8] c" = ptrtoint ptr %gl\00"
|
|
@.str5617 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00"
|
|
@.str5618 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5619 = private unnamed_addr constant [3 x i8] c"i8\00"
|
|
@.str5620 = private unnamed_addr constant [6 x i8] c" %gl\00"
|
|
@.str5621 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %ga\00"
|
|
@.str5622 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5623 = private unnamed_addr constant [6 x i8] c" %gr\00"
|
|
@.str5624 = private unnamed_addr constant [15 x i8] c" = zext i8 %gl\00"
|
|
@.str5625 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00"
|
|
@.str5626 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5627 = private unnamed_addr constant [6 x i8] c" %gl\00"
|
|
@.str5628 = private unnamed_addr constant [21 x i8] c" = load i32, ptr %ga\00"
|
|
@.str5629 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5630 = private unnamed_addr constant [6 x i8] c" %gr\00"
|
|
@.str5631 = private unnamed_addr constant [16 x i8] c" = sext i32 %gl\00"
|
|
@.str5632 = private unnamed_addr constant [22 x i8] c" to i64\0A ret i64 %gr\00"
|
|
@.str5633 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5634 = private unnamed_addr constant [3 x i8] c"gk\00"
|
|
@.str5635 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5636 = private unnamed_addr constant [13 x i8] c" ret i64 0\0A\00"
|
|
@.str5637 = private unnamed_addr constant [3 x i8] c"gn\00"
|
|
@.str5638 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5639 = private unnamed_addr constant [23 x i8] c" %gdyn = sub i32 %p, \00"
|
|
@.str5640 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5641 = private unnamed_addr constant [175 x i8] c" %gdlo = icmp sge i32 %gdyn, 0\0A %gdc = load i32, ptr @dyn_count\0A %gdhi = icmp slt i32 %gdyn, %gdc\0A %gdok = and i1 %gdlo, %gdhi\0A br i1 %gdok, label %gdyng, label %gdnone\0A\00"
|
|
@.str5642 = private unnamed_addr constant [110 x i8] c"gdyng:\0A %gsp = getelementptr inbounds [32 x ptr], ptr @dynS, i32 0, i32 %gdyn\0A %gbase = load ptr, ptr %gsp\0A\00"
|
|
@.str5643 = private unnamed_addr constant [156 x i8] c" %gfp = getelementptr inbounds [32 x i32], ptr @dynF, i32 0, i32 %gdyn\0A %gnf = load i32, ptr %gfp\0A %grow = mul i32 %e, %gnf\0A %gidx = add i32 %grow, %f\0A\00"
|
|
@.str5644 = private unnamed_addr constant [133 x i8] c" %gaddr = getelementptr inbounds i32, ptr %gbase, i32 %gidx\0A %gv = load i32, ptr %gaddr\0A %gr = sext i32 %gv to i64\0A ret i64 %gr\0A\00"
|
|
@.str5645 = private unnamed_addr constant [24 x i8] c"gdnone:\0A ret i64 0\0A}\0A\0A\00"
|
|
@.str5646 = private unnamed_addr constant [67 x i8] c"define void @ludic_set(i32 %e, i32 %p, i32 %f, i64 %val) {\0Aentry:\0A\00"
|
|
@.str5647 = private unnamed_addr constant [5 x i8] c" %m\00"
|
|
@.str5648 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
|
|
@.str5649 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5650 = private unnamed_addr constant [11 x i8] c" br i1 %m\00"
|
|
@.str5651 = private unnamed_addr constant [11 x i8] c", label %g\00"
|
|
@.str5652 = private unnamed_addr constant [12 x i8] c", label %gn\00"
|
|
@.str5653 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5654 = private unnamed_addr constant [2 x i8] c"g\00"
|
|
@.str5655 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5656 = private unnamed_addr constant [5 x i8] c" %s\00"
|
|
@.str5657 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str5658 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str5659 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
|
|
@.str5660 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
|
|
@.str5661 = private unnamed_addr constant [2 x i8] c"_\00"
|
|
@.str5662 = private unnamed_addr constant [6 x i8] c" %sm\00"
|
|
@.str5663 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %f, \00"
|
|
@.str5664 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5665 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00"
|
|
@.str5666 = private unnamed_addr constant [12 x i8] c", label %sf\00"
|
|
@.str5667 = private unnamed_addr constant [12 x i8] c", label %sk\00"
|
|
@.str5668 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5669 = private unnamed_addr constant [3 x i8] c"sf\00"
|
|
@.str5670 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5671 = private unnamed_addr constant [6 x i8] c" %sa\00"
|
|
@.str5672 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
|
|
@.str5673 = private unnamed_addr constant [9 x i8] c", ptr %s\00"
|
|
@.str5674 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str5675 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5676 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str5677 = private unnamed_addr constant [6 x i8] c" %sp\00"
|
|
@.str5678 = private unnamed_addr constant [29 x i8] c" = inttoptr i64 %val to ptr\0A\00"
|
|
@.str5679 = private unnamed_addr constant [16 x i8] c" store ptr %sp\00"
|
|
@.str5680 = private unnamed_addr constant [10 x i8] c", ptr %sa\00"
|
|
@.str5681 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00"
|
|
@.str5682 = private unnamed_addr constant [3 x i8] c"i8\00"
|
|
@.str5683 = private unnamed_addr constant [6 x i8] c" %sb\00"
|
|
@.str5684 = private unnamed_addr constant [25 x i8] c" = trunc i64 %val to i8\0A\00"
|
|
@.str5685 = private unnamed_addr constant [15 x i8] c" store i8 %sb\00"
|
|
@.str5686 = private unnamed_addr constant [10 x i8] c", ptr %sa\00"
|
|
@.str5687 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00"
|
|
@.str5688 = private unnamed_addr constant [6 x i8] c" %sw\00"
|
|
@.str5689 = private unnamed_addr constant [26 x i8] c" = trunc i64 %val to i32\0A\00"
|
|
@.str5690 = private unnamed_addr constant [16 x i8] c" store i32 %sw\00"
|
|
@.str5691 = private unnamed_addr constant [10 x i8] c", ptr %sa\00"
|
|
@.str5692 = private unnamed_addr constant [13 x i8] c"\0A ret void\0A\00"
|
|
@.str5693 = private unnamed_addr constant [3 x i8] c"sk\00"
|
|
@.str5694 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5695 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
|
|
@.str5696 = private unnamed_addr constant [3 x i8] c"gn\00"
|
|
@.str5697 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5698 = private unnamed_addr constant [23 x i8] c" %sdyn = sub i32 %p, \00"
|
|
@.str5699 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5700 = private unnamed_addr constant [175 x i8] c" %sdlo = icmp sge i32 %sdyn, 0\0A %sdc = load i32, ptr @dyn_count\0A %sdhi = icmp slt i32 %sdyn, %sdc\0A %sdok = and i1 %sdlo, %sdhi\0A br i1 %sdok, label %sdyng, label %sdnone\0A\00"
|
|
@.str5701 = private unnamed_addr constant [110 x i8] c"sdyng:\0A %ssp = getelementptr inbounds [32 x ptr], ptr @dynS, i32 0, i32 %sdyn\0A %sbase = load ptr, ptr %ssp\0A\00"
|
|
@.str5702 = private unnamed_addr constant [156 x i8] c" %sfp = getelementptr inbounds [32 x i32], ptr @dynF, i32 0, i32 %sdyn\0A %snf = load i32, ptr %sfp\0A %srow = mul i32 %e, %snf\0A %sidx = add i32 %srow, %f\0A\00"
|
|
@.str5703 = private unnamed_addr constant [131 x i8] c" %saddr = getelementptr inbounds i32, ptr %sbase, i32 %sidx\0A %sv = trunc i64 %val to i32\0A store i32 %sv, ptr %saddr\0A ret void\0A\00"
|
|
@.str5704 = private unnamed_addr constant [23 x i8] c"sdnone:\0A ret void\0A}\0A\0A\00"
|
|
@.str5705 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_has(i32 %e, i32 %p) {\0Aentry:\0A\00"
|
|
@.str5706 = private unnamed_addr constant [5 x i8] c" %m\00"
|
|
@.str5707 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %p, \00"
|
|
@.str5708 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5709 = private unnamed_addr constant [11 x i8] c" br i1 %m\00"
|
|
@.str5710 = private unnamed_addr constant [11 x i8] c", label %g\00"
|
|
@.str5711 = private unnamed_addr constant [12 x i8] c", label %gn\00"
|
|
@.str5712 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5713 = private unnamed_addr constant [2 x i8] c"g\00"
|
|
@.str5714 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5715 = private unnamed_addr constant [6 x i8] c" %hp\00"
|
|
@.str5716 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str5717 = private unnamed_addr constant [16 x i8] c" x i8], ptr @H_\00"
|
|
@.str5718 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
|
|
@.str5719 = private unnamed_addr constant [6 x i8] c" %hv\00"
|
|
@.str5720 = private unnamed_addr constant [20 x i8] c" = load i8, ptr %hp\00"
|
|
@.str5721 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5722 = private unnamed_addr constant [6 x i8] c" %hr\00"
|
|
@.str5723 = private unnamed_addr constant [15 x i8] c" = zext i8 %hv\00"
|
|
@.str5724 = private unnamed_addr constant [22 x i8] c" to i32\0A ret i32 %hr\00"
|
|
@.str5725 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5726 = private unnamed_addr constant [3 x i8] c"gn\00"
|
|
@.str5727 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5728 = private unnamed_addr constant [23 x i8] c" %hdyn = sub i32 %p, \00"
|
|
@.str5729 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5730 = private unnamed_addr constant [175 x i8] c" %hdlo = icmp sge i32 %hdyn, 0\0A %hdc = load i32, ptr @dyn_count\0A %hdhi = icmp slt i32 %hdyn, %hdc\0A %hdok = and i1 %hdlo, %hdhi\0A br i1 %hdok, label %hdyng, label %hdnone\0A\00"
|
|
@.str5731 = private unnamed_addr constant [238 x i8] c"hdyng:\0A %hhp = getelementptr inbounds [32 x ptr], ptr @dynH, i32 0, i32 %hdyn\0A %hh = load ptr, ptr %hhp\0A %hslot = getelementptr inbounds i8, ptr %hh, i32 %e\0A %hval = load i8, ptr %hslot\0A %hres = zext i8 %hval to i32\0A ret i32 %hres\0A\00"
|
|
@.str5732 = private unnamed_addr constant [24 x i8] c"hdnone:\0A ret i32 0\0A}\0A\0A\00"
|
|
@.str5733 = private unnamed_addr constant [67 x i8] c"define i32 @ludic_register_prop(ptr %name, i32 %nfields) {\0Aentry:\0A\00"
|
|
@.str5734 = private unnamed_addr constant [102 x i8] c" %dc = load i32, ptr @dyn_count\0A %full = icmp slt i32 %dc, 32\0A br i1 %full, label %do, label %rej\0A\00"
|
|
@.str5735 = private unnamed_addr constant [56 x i8] c"do:\0A %nf4 = mul i32 %nfields, 4\0A %sz = mul i32 %nf4, \00"
|
|
@.str5736 = private unnamed_addr constant [31 x i8] c"\0A %szl = sext i32 %sz to i64\0A\00"
|
|
@.str5737 = private unnamed_addr constant [83 x i8] c" %buf = call ptr @malloc(i64 %szl)\0A call ptr @memset(ptr %buf, i32 0, i64 %szl)\0A\00"
|
|
@.str5738 = private unnamed_addr constant [96 x i8] c" %sp = getelementptr inbounds [32 x ptr], ptr @dynS, i32 0, i32 %dc\0A store ptr %buf, ptr %sp\0A\00"
|
|
@.str5739 = private unnamed_addr constant [32 x i8] c" %hbuf = call ptr @malloc(i64 \00"
|
|
@.str5740 = private unnamed_addr constant [44 x i8] c")\0A call ptr @memset(ptr %hbuf, i32 0, i64 \00"
|
|
@.str5741 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str5742 = private unnamed_addr constant [97 x i8] c" %hp = getelementptr inbounds [32 x ptr], ptr @dynH, i32 0, i32 %dc\0A store ptr %hbuf, ptr %hp\0A\00"
|
|
@.str5743 = private unnamed_addr constant [100 x i8] c" %fp = getelementptr inbounds [32 x i32], ptr @dynF, i32 0, i32 %dc\0A store i32 %nfields, ptr %fp\0A\00"
|
|
@.str5744 = private unnamed_addr constant [100 x i8] c" %np = getelementptr inbounds [32 x ptr], ptr @dynName, i32 0, i32 %dc\0A store ptr %name, ptr %np\0A\00"
|
|
@.str5745 = private unnamed_addr constant [22 x i8] c" %id = add i32 %dc, \00"
|
|
@.str5746 = private unnamed_addr constant [73 x i8] c"\0A %dc1 = add i32 %dc, 1\0A store i32 %dc1, ptr @dyn_count\0A ret i32 %id\0A\00"
|
|
@.str5747 = private unnamed_addr constant [22 x i8] c"rej:\0A ret i32 -1\0A}\0A\0A\00"
|
|
@.str5748 = private unnamed_addr constant [56 x i8] c"define void @ludic_attach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00"
|
|
@.str5749 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00"
|
|
@.str5750 = private unnamed_addr constant [187 x i8] c"\0A %hp = getelementptr inbounds [32 x ptr], ptr @dynH, i32 0, i32 %dyn\0A %h = load ptr, ptr %hp\0A %slot = getelementptr inbounds i8, ptr %h, i32 %e\0A store i8 1, ptr %slot\0A ret void\0A}\0A\0A\00"
|
|
@.str5751 = private unnamed_addr constant [56 x i8] c"define void @ludic_detach_dyn(i32 %e, i32 %p) {\0Aentry:\0A\00"
|
|
@.str5752 = private unnamed_addr constant [22 x i8] c" %dyn = sub i32 %p, \00"
|
|
@.str5753 = private unnamed_addr constant [187 x i8] c"\0A %hp = getelementptr inbounds [32 x ptr], ptr @dynH, i32 0, i32 %dyn\0A %h = load ptr, ptr %hp\0A %slot = getelementptr inbounds i8, ptr %h, i32 %e\0A store i8 0, ptr %slot\0A ret void\0A}\0A\0A\00"
|
|
@.str5754 = private unnamed_addr constant [88 x i8] c"define i32 @ludic_entity_count() {\0Aentry:\0A %n = load i32, ptr @L_entc\0A ret i32 %n\0A}\0A\0A\00"
|
|
@.str5755 = private unnamed_addr constant [41 x i8] c"define i32 @ludic_kind(i32 %e) {\0Aentry:\0A\00"
|
|
@.str5756 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
|
|
@.str5757 = private unnamed_addr constant [37 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A\00"
|
|
@.str5758 = private unnamed_addr constant [42 x i8] c" %k = load i32, ptr %kp\0A ret i32 %k\0A}\0A\0A\00"
|
|
@.str5759 = private unnamed_addr constant [48 x i8] c"define i32 @ludic_model_id(ptr %name) {\0Aentry:\0A\00"
|
|
@.str5760 = private unnamed_addr constant [7 x i8] c" %mdc\00"
|
|
@.str5761 = private unnamed_addr constant [36 x i8] c" = call i32 @strcmp(ptr %name, ptr \00"
|
|
@.str5762 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str5763 = private unnamed_addr constant [7 x i8] c" %mde\00"
|
|
@.str5764 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %mdc\00"
|
|
@.str5765 = private unnamed_addr constant [5 x i8] c", 0\0A\00"
|
|
@.str5766 = private unnamed_addr constant [13 x i8] c" br i1 %mde\00"
|
|
@.str5767 = private unnamed_addr constant [13 x i8] c", label %mdh\00"
|
|
@.str5768 = private unnamed_addr constant [13 x i8] c", label %mdn\00"
|
|
@.str5769 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5770 = private unnamed_addr constant [4 x i8] c"mdh\00"
|
|
@.str5771 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
|
|
@.str5772 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5773 = private unnamed_addr constant [4 x i8] c"mdn\00"
|
|
@.str5774 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5775 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00"
|
|
@.str5776 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str5777 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
|
|
@.str5778 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5779 = private unnamed_addr constant [25 x i8] c"define i32 @ludic_spawn_\00"
|
|
@.str5780 = private unnamed_addr constant [13 x i8] c"() {\0Aentry:\0A\00"
|
|
@.str5781 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
|
|
@.str5782 = private unnamed_addr constant [42 x i8] c"define i32 @ludic_spawn(i32 %m) {\0Aentry:\0A\00"
|
|
@.str5783 = private unnamed_addr constant [6 x i8] c" %sm\00"
|
|
@.str5784 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %m, \00"
|
|
@.str5785 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5786 = private unnamed_addr constant [12 x i8] c" br i1 %sm\00"
|
|
@.str5787 = private unnamed_addr constant [12 x i8] c", label %sh\00"
|
|
@.str5788 = private unnamed_addr constant [12 x i8] c", label %sn\00"
|
|
@.str5789 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5790 = private unnamed_addr constant [3 x i8] c"sh\00"
|
|
@.str5791 = private unnamed_addr constant [8 x i8] c":\0A %sr\00"
|
|
@.str5792 = private unnamed_addr constant [26 x i8] c" = call i32 @ludic_spawn_\00"
|
|
@.str5793 = private unnamed_addr constant [17 x i8] c"()\0A ret i32 %sr\00"
|
|
@.str5794 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5795 = private unnamed_addr constant [3 x i8] c"sn\00"
|
|
@.str5796 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5797 = private unnamed_addr constant [17 x i8] c" ret i32 -1\0A}\0A\0A\00"
|
|
@.str5798 = private unnamed_addr constant [58 x i8] c"define i32 @ludic_query_next(i32 %p, i32 %from) {\0Aentry:\0A\00"
|
|
@.str5799 = private unnamed_addr constant [47 x i8] c" %n = load i32, ptr @L_entc\0A br label %loop\0A\00"
|
|
@.str5800 = private unnamed_addr constant [56 x i8] c"loop:\0A %e = phi i32 [ %from, %entry ], [ %e1, %cont ]\0A\00"
|
|
@.str5801 = private unnamed_addr constant [67 x i8] c" %go = icmp slt i32 %e, %n\0A br i1 %go, label %body, label %none\0A\00"
|
|
@.str5802 = private unnamed_addr constant [39 x i8] c"body:\0A %ap = getelementptr inbounds [\00"
|
|
@.str5803 = private unnamed_addr constant [38 x i8] c" x i32], ptr @L_alive, i32 0, i32 %e\0A\00"
|
|
@.str5804 = private unnamed_addr constant [93 x i8] c" %al = load i32, ptr %ap\0A %isa = icmp ne i32 %al, 0\0A br i1 %isa, label %chk, label %cont\0A\00"
|
|
@.str5805 = private unnamed_addr constant [115 x i8] c"chk:\0A %h = call i32 @ludic_has(i32 %e, i32 %p)\0A %hit = icmp ne i32 %h, 0\0A br i1 %hit, label %hitb, label %cont\0A\00"
|
|
@.str5806 = private unnamed_addr constant [20 x i8] c"hitb:\0A ret i32 %e\0A\00"
|
|
@.str5807 = private unnamed_addr constant [46 x i8] c"cont:\0A %e1 = add i32 %e, 1\0A br label %loop\0A\00"
|
|
@.str5808 = private unnamed_addr constant [23 x i8] c"none:\0A ret i32 -1\0A}\0A\0A\00"
|
|
@.str5809 = private unnamed_addr constant [38 x i8] c"define void @L_tick_fixed() {\0Aentry:\0A\00"
|
|
@.str5810 = private unnamed_addr constant [6 x i8] c"Input\00"
|
|
@.str5811 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00"
|
|
@.str5812 = private unnamed_addr constant [7 x i8] c"Update\00"
|
|
@.str5813 = private unnamed_addr constant [11 x i8] c"LateUpdate\00"
|
|
@.str5814 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
|
|
@.str5815 = private unnamed_addr constant [39 x i8] c"define void @L_tick_render() {\0Aentry:\0A\00"
|
|
@.str5816 = private unnamed_addr constant [7 x i8] c"Render\00"
|
|
@.str5817 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
|
|
@.str5818 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00"
|
|
@.str5819 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00"
|
|
@.str5820 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00"
|
|
@.str5821 = private unnamed_addr constant [8 x i8] c"rt_init\00"
|
|
@.str5822 = private unnamed_addr constant [27 x i8] c" call void @fn_rt_init()\0A\00"
|
|
@.str5823 = private unnamed_addr constant [6 x i8] c"Start\00"
|
|
@.str5824 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str5825 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00"
|
|
@.str5826 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00"
|
|
@.str5827 = private unnamed_addr constant [4 x i8] c"()\0A\00"
|
|
@.str5828 = private unnamed_addr constant [14 x i8] c"program_start\00"
|
|
@.str5829 = private unnamed_addr constant [33 x i8] c" call void @ev_program_start()\0A\00"
|
|
@.str5830 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
|
|
@.str5831 = private unnamed_addr constant [7 x i8] c"loop:\0A\00"
|
|
@.str5832 = private unnamed_addr constant [25 x i8] c"load i32, ptr @L_running\00"
|
|
@.str5833 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str5834 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str5835 = private unnamed_addr constant [11 x i8] c"rt_running\00"
|
|
@.str5836 = private unnamed_addr constant [26 x i8] c"call i32 @fn_rt_running()\00"
|
|
@.str5837 = private unnamed_addr constant [13 x i8] c"icmp ne i32 \00"
|
|
@.str5838 = private unnamed_addr constant [4 x i8] c", 0\00"
|
|
@.str5839 = private unnamed_addr constant [8 x i8] c"and i1 \00"
|
|
@.str5840 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5841 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str5842 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00"
|
|
@.str5843 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str5844 = private unnamed_addr constant [28 x i8] c", label %body, label %done\0A\00"
|
|
@.str5845 = private unnamed_addr constant [7 x i8] c"body:\0A\00"
|
|
@.str5846 = private unnamed_addr constant [8 x i8] c"rt_poll\00"
|
|
@.str5847 = private unnamed_addr constant [23 x i8] c"call i32 @fn_rt_poll()\00"
|
|
@.str5848 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str5849 = private unnamed_addr constant [14 x i8] c", ptr @L_key\0A\00"
|
|
@.str5850 = private unnamed_addr constant [6 x i8] c"Input\00"
|
|
@.str5851 = private unnamed_addr constant [12 x i8] c"FixedUpdate\00"
|
|
@.str5852 = private unnamed_addr constant [7 x i8] c"Update\00"
|
|
@.str5853 = private unnamed_addr constant [11 x i8] c"LateUpdate\00"
|
|
@.str5854 = private unnamed_addr constant [7 x i8] c"Render\00"
|
|
@.str5855 = private unnamed_addr constant [23 x i8] c"load i32, ptr @L_frame\00"
|
|
@.str5856 = private unnamed_addr constant [9 x i8] c"add i32 \00"
|
|
@.str5857 = private unnamed_addr constant [4 x i8] c", 1\00"
|
|
@.str5858 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str5859 = private unnamed_addr constant [16 x i8] c", ptr @L_frame\0A\00"
|
|
@.str5860 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
|
|
@.str5861 = private unnamed_addr constant [7 x i8] c"done:\0A\00"
|
|
@.str5862 = private unnamed_addr constant [35 x i8] c" call void @L_despawn_all(i32 2)\0A\00"
|
|
@.str5863 = private unnamed_addr constant [7 x i8] c"OnQuit\00"
|
|
@.str5864 = private unnamed_addr constant [13 x i8] c"program_quit\00"
|
|
@.str5865 = private unnamed_addr constant [32 x i8] c" call void @ev_program_quit()\0A\00"
|
|
@.str5866 = private unnamed_addr constant [12 x i8] c"rt_shutdown\00"
|
|
@.str5867 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_shutdown()\0A\00"
|
|
@.str5868 = private unnamed_addr constant [15 x i8] c" ret i32 0\0A}\0A\00"
|
|
@.str5869 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str5870 = private unnamed_addr constant [18 x i8] c"load i32, ptr @g_\00"
|
|
@.str5871 = private unnamed_addr constant [25 x i8] c"call i32 @fn_rt_reg(i32 \00"
|
|
@.str5872 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str5873 = private unnamed_addr constant [6 x i8] c"smend\00"
|
|
@.str5874 = private unnamed_addr constant [13 x i8] c"icmp eq i32 \00"
|
|
@.str5875 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5876 = private unnamed_addr constant [6 x i8] c"sbody\00"
|
|
@.str5877 = private unnamed_addr constant [5 x i8] c"sarm\00"
|
|
@.str5878 = private unnamed_addr constant [9 x i8] c" br i1 \00"
|
|
@.str5879 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5880 = private unnamed_addr constant [10 x i8] c", label %\00"
|
|
@.str5881 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5882 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5883 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str5884 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5885 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5886 = private unnamed_addr constant [13 x i8] c" br label %\00"
|
|
@.str5887 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5888 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str5889 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str5890 = private unnamed_addr constant [10 x i8] c", ptr @g_\00"
|
|
@.str5891 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5892 = private unnamed_addr constant [32 x i8] c" call void @fn_rt_set_reg(i32 \00"
|
|
@.str5893 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str5894 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str5895 = private unnamed_addr constant [27 x i8] c"become: no state or scene \00"
|
|
@.str5896 = private unnamed_addr constant [25 x i8] c" call void @scene_exit_\00"
|
|
@.str5897 = private unnamed_addr constant [4 x i8] c"()\0A\00"
|
|
@.str5898 = private unnamed_addr constant [13 x i8] c" store i32 \00"
|
|
@.str5899 = private unnamed_addr constant [16 x i8] c", ptr @L_scene\0A\00"
|
|
@.str5900 = private unnamed_addr constant [26 x i8] c" call void @scene_enter_\00"
|
|
@.str5901 = private unnamed_addr constant [4 x i8] c"()\0A\00"
|
|
@.str5902 = private unnamed_addr constant [5 x i8] c"file\00"
|
|
@.str5903 = private unnamed_addr constant [4 x i8] c"%io\00"
|
|
@.str5904 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5905 = private unnamed_addr constant [14 x i8] c" = call i64 @\00"
|
|
@.str5906 = private unnamed_addr constant [6 x i8] c"(ptr \00"
|
|
@.str5907 = private unnamed_addr constant [14 x i8] c", i64 1, i64 \00"
|
|
@.str5908 = private unnamed_addr constant [11 x i8] c", ptr %f)\0A\00"
|
|
@.str5909 = private unnamed_addr constant [5 x i8] c"size\00"
|
|
@.str5910 = private unnamed_addr constant [6 x i8] c"%ioff\00"
|
|
@.str5911 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5912 = private unnamed_addr constant [12 x i8] c" = add i64 \00"
|
|
@.str5913 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5914 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5915 = private unnamed_addr constant [5 x i8] c"%ioa\00"
|
|
@.str5916 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5917 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i64 \00"
|
|
@.str5918 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5919 = private unnamed_addr constant [5 x i8] c"save\00"
|
|
@.str5920 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
|
|
@.str5921 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5922 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str5923 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str5924 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
|
|
@.str5925 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str5926 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str5927 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str5928 = private unnamed_addr constant [6 x i8] c"%ioff\00"
|
|
@.str5929 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5930 = private unnamed_addr constant [12 x i8] c" = add i64 \00"
|
|
@.str5931 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str5932 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str5933 = private unnamed_addr constant [2 x i8] c"0\00"
|
|
@.str5934 = private unnamed_addr constant [8 x i8] c"@L_entc\00"
|
|
@.str5935 = private unnamed_addr constant [2 x i8] c"4\00"
|
|
@.str5936 = private unnamed_addr constant [9 x i8] c"@L_freen\00"
|
|
@.str5937 = private unnamed_addr constant [2 x i8] c"4\00"
|
|
@.str5938 = private unnamed_addr constant [21 x i8] c" %nalive = mul i64 \00"
|
|
@.str5939 = private unnamed_addr constant [5 x i8] c", 4\0A\00"
|
|
@.str5940 = private unnamed_addr constant [9 x i8] c"@L_alive\00"
|
|
@.str5941 = private unnamed_addr constant [8 x i8] c"%nalive\00"
|
|
@.str5942 = private unnamed_addr constant [12 x i8] c"@L_freelist\00"
|
|
@.str5943 = private unnamed_addr constant [8 x i8] c"%nalive\00"
|
|
@.str5944 = private unnamed_addr constant [8 x i8] c"@L_kind\00"
|
|
@.str5945 = private unnamed_addr constant [8 x i8] c"%nalive\00"
|
|
@.str5946 = private unnamed_addr constant [13 x i8] c"@L_owner_arr\00"
|
|
@.str5947 = private unnamed_addr constant [8 x i8] c"%nalive\00"
|
|
@.str5948 = private unnamed_addr constant [4 x i8] c"@g_\00"
|
|
@.str5949 = private unnamed_addr constant [2 x i8] c"4\00"
|
|
@.str5950 = private unnamed_addr constant [5 x i8] c"%csz\00"
|
|
@.str5951 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5952 = private unnamed_addr constant [37 x i8] c" = ptrtoint ptr getelementptr (%Cmp_\00"
|
|
@.str5953 = private unnamed_addr constant [17 x i8] c", ptr null, i32 \00"
|
|
@.str5954 = private unnamed_addr constant [10 x i8] c") to i64\0A\00"
|
|
@.str5955 = private unnamed_addr constant [4 x i8] c"@S_\00"
|
|
@.str5956 = private unnamed_addr constant [4 x i8] c"@H_\00"
|
|
@.str5957 = private unnamed_addr constant [5 x i8] c"file\00"
|
|
@.str5958 = private unnamed_addr constant [70 x i8] c"@.sav_path = private unnamed_addr constant [10 x i8] c\22ludic.sav\5C00\22\0A\00"
|
|
@.str5959 = private unnamed_addr constant [60 x i8] c"@.sav_wb = private unnamed_addr constant [3 x i8] c\22wb\5C00\22\0A\00"
|
|
@.str5960 = private unnamed_addr constant [60 x i8] c"@.sav_rb = private unnamed_addr constant [3 x i8] c\22rb\5C00\22\0A\00"
|
|
@.str5961 = private unnamed_addr constant [14 x i8] c"rt_save_state\00"
|
|
@.str5962 = private unnamed_addr constant [14 x i8] c"rt_load_state\00"
|
|
@.str5963 = private unnamed_addr constant [32 x i8] c"define void @L_save() {\0Aentry:\0A\00"
|
|
@.str5964 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_wb)\0A\00"
|
|
@.str5965 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00"
|
|
@.str5966 = private unnamed_addr constant [41 x i8] c" br i1 %bad, label %out, label %go\0Ago:\0A\00"
|
|
@.str5967 = private unnamed_addr constant [7 x i8] c"fwrite\00"
|
|
@.str5968 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_save_state(ptr %f)\0A\00"
|
|
@.str5969 = private unnamed_addr constant [68 x i8] c" %c = call i32 @fclose(ptr %f)\0A br label %out\0Aout:\0A ret void\0A}\0A\0A\00"
|
|
@.str5970 = private unnamed_addr constant [31 x i8] c"define i32 @L_load() {\0Aentry:\0A\00"
|
|
@.str5971 = private unnamed_addr constant [54 x i8] c" %f = call ptr @fopen(ptr @.sav_path, ptr @.sav_rb)\0A\00"
|
|
@.str5972 = private unnamed_addr constant [31 x i8] c" %bad = icmp eq ptr %f, null\0A\00"
|
|
@.str5973 = private unnamed_addr constant [60 x i8] c" br i1 %bad, label %miss, label %go\0Amiss:\0A ret i32 0\0Ago:\0A\00"
|
|
@.str5974 = private unnamed_addr constant [6 x i8] c"fread\00"
|
|
@.str5975 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_load_state(ptr %f)\0A\00"
|
|
@.str5976 = private unnamed_addr constant [48 x i8] c" %c = call i32 @fclose(ptr %f)\0A ret i32 1\0A}\0A\0A\00"
|
|
@.str5977 = private unnamed_addr constant [45 x i8] c"define i32 @L_world_save(ptr %buf) {\0Aentry:\0A\00"
|
|
@.str5978 = private unnamed_addr constant [5 x i8] c"save\00"
|
|
@.str5979 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str5980 = private unnamed_addr constant [5 x i8] c"%wsn\00"
|
|
@.str5981 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5982 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00"
|
|
@.str5983 = private unnamed_addr constant [9 x i8] c" to i32\0A\00"
|
|
@.str5984 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
|
|
@.str5985 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
|
|
@.str5986 = private unnamed_addr constant [56 x i8] c"define void @L_world_load(ptr %buf, i32 %len) {\0Aentry:\0A\00"
|
|
@.str5987 = private unnamed_addr constant [5 x i8] c"load\00"
|
|
@.str5988 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str5989 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
|
|
@.str5990 = private unnamed_addr constant [37 x i8] c"define i32 @L_world_size() {\0Aentry:\0A\00"
|
|
@.str5991 = private unnamed_addr constant [5 x i8] c"size\00"
|
|
@.str5992 = private unnamed_addr constant [1 x i8] c"\00"
|
|
@.str5993 = private unnamed_addr constant [5 x i8] c"%wzn\00"
|
|
@.str5994 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str5995 = private unnamed_addr constant [14 x i8] c" = trunc i64 \00"
|
|
@.str5996 = private unnamed_addr constant [9 x i8] c" to i32\0A\00"
|
|
@.str5997 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
|
|
@.str5998 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
|
|
@.str5999 = private unnamed_addr constant [5 x i8] c"file\00"
|
|
@.str6000 = private unnamed_addr constant [3 x i8] c"i8\00"
|
|
@.str6001 = private unnamed_addr constant [3 x i8] c"i8\00"
|
|
@.str6002 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str6003 = private unnamed_addr constant [2 x i8] c"4\00"
|
|
@.str6004 = private unnamed_addr constant [24 x i8] c"ludicc(self): warning: \00"
|
|
@.str6005 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6006 = private unnamed_addr constant [4 x i8] c"ptr\00"
|
|
@.str6007 = private unnamed_addr constant [13 x i8] c"@Sync field \00"
|
|
@.str6008 = private unnamed_addr constant [2 x i8] c".\00"
|
|
@.str6009 = private unnamed_addr constant [68 x i8] c" is not a POD scalar (networked fields must be int/bool/fixed/byte)\00"
|
|
@.str6010 = private unnamed_addr constant [7 x i8] c"model \00"
|
|
@.str6011 = private unnamed_addr constant [9 x i8] c" @Syncs \00"
|
|
@.str6012 = private unnamed_addr constant [51 x i8] c" but it has no @Sync fields \E2\80\94 nothing replicates\00"
|
|
@.str6013 = private unnamed_addr constant [25 x i8] c"define i32 @L_serialize_\00"
|
|
@.str6014 = private unnamed_addr constant [29 x i8] c"(i32 %e, ptr %buf) {\0Aentry:\0A\00"
|
|
@.str6015 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6016 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str6017 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str6018 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
|
|
@.str6019 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
|
|
@.str6020 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6021 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
|
|
@.str6022 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6023 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str6024 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6025 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6026 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00"
|
|
@.str6027 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6028 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
|
|
@.str6029 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6030 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str6031 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6032 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
|
|
@.str6033 = private unnamed_addr constant [5 x i8] c"\0A}\0A\0A\00"
|
|
@.str6034 = private unnamed_addr constant [22 x i8] c"define void @L_apply_\00"
|
|
@.str6035 = private unnamed_addr constant [39 x i8] c"(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00"
|
|
@.str6036 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6037 = private unnamed_addr constant [28 x i8] c" = getelementptr inbounds [\00"
|
|
@.str6038 = private unnamed_addr constant [9 x i8] c" x %Cmp_\00"
|
|
@.str6039 = private unnamed_addr constant [11 x i8] c"], ptr @S_\00"
|
|
@.str6040 = private unnamed_addr constant [17 x i8] c", i32 0, i32 %e\0A\00"
|
|
@.str6041 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6042 = private unnamed_addr constant [32 x i8] c" = getelementptr inbounds %Cmp_\00"
|
|
@.str6043 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6044 = private unnamed_addr constant [14 x i8] c", i32 0, i32 \00"
|
|
@.str6045 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6046 = private unnamed_addr constant [3 x i8] c" \00"
|
|
@.str6047 = private unnamed_addr constant [45 x i8] c" = getelementptr inbounds i8, ptr %buf, i32 \00"
|
|
@.str6048 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6049 = private unnamed_addr constant [24 x i8] c" call ptr @memcpy(ptr \00"
|
|
@.str6050 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6051 = private unnamed_addr constant [7 x i8] c", i64 \00"
|
|
@.str6052 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6053 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
|
|
@.str6054 = private unnamed_addr constant [56 x i8] c"define i32 @ludic_serialize(i32 %e, ptr %buf) {\0Aentry:\0A\00"
|
|
@.str6055 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
|
|
@.str6056 = private unnamed_addr constant [62 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A %k = load i32, ptr %kp\0A\00"
|
|
@.str6057 = private unnamed_addr constant [5 x i8] c" %c\00"
|
|
@.str6058 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
|
|
@.str6059 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6060 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
|
|
@.str6061 = private unnamed_addr constant [11 x i8] c", label %h\00"
|
|
@.str6062 = private unnamed_addr constant [11 x i8] c", label %n\00"
|
|
@.str6063 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6064 = private unnamed_addr constant [2 x i8] c"h\00"
|
|
@.str6065 = private unnamed_addr constant [7 x i8] c":\0A %r\00"
|
|
@.str6066 = private unnamed_addr constant [26 x i8] c" = call i32 @L_serialize_\00"
|
|
@.str6067 = private unnamed_addr constant [32 x i8] c"(i32 %e, ptr %buf)\0A ret i32 %r\00"
|
|
@.str6068 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6069 = private unnamed_addr constant [2 x i8] c"n\00"
|
|
@.str6070 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6071 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00"
|
|
@.str6072 = private unnamed_addr constant [63 x i8] c"define void @ludic_apply(i32 %e, ptr %buf, i32 %len) {\0Aentry:\0A\00"
|
|
@.str6073 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
|
|
@.str6074 = private unnamed_addr constant [62 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A %k = load i32, ptr %kp\0A\00"
|
|
@.str6075 = private unnamed_addr constant [5 x i8] c" %c\00"
|
|
@.str6076 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
|
|
@.str6077 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6078 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
|
|
@.str6079 = private unnamed_addr constant [11 x i8] c", label %h\00"
|
|
@.str6080 = private unnamed_addr constant [11 x i8] c", label %n\00"
|
|
@.str6081 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6082 = private unnamed_addr constant [2 x i8] c"h\00"
|
|
@.str6083 = private unnamed_addr constant [24 x i8] c":\0A call void @L_apply_\00"
|
|
@.str6084 = private unnamed_addr constant [41 x i8] c"(i32 %e, ptr %buf, i32 %len)\0A ret void\0A\00"
|
|
@.str6085 = private unnamed_addr constant [2 x i8] c"n\00"
|
|
@.str6086 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6087 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
|
|
@.str6088 = private unnamed_addr constant [46 x i8] c"define i32 @ludic_sync_size(i32 %e) {\0Aentry:\0A\00"
|
|
@.str6089 = private unnamed_addr constant [33 x i8] c" %kp = getelementptr inbounds [\00"
|
|
@.str6090 = private unnamed_addr constant [62 x i8] c" x i32], ptr @L_kind, i32 0, i32 %e\0A %k = load i32, ptr %kp\0A\00"
|
|
@.str6091 = private unnamed_addr constant [5 x i8] c" %c\00"
|
|
@.str6092 = private unnamed_addr constant [20 x i8] c" = icmp eq i32 %k, \00"
|
|
@.str6093 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6094 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
|
|
@.str6095 = private unnamed_addr constant [11 x i8] c", label %h\00"
|
|
@.str6096 = private unnamed_addr constant [11 x i8] c", label %n\00"
|
|
@.str6097 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6098 = private unnamed_addr constant [2 x i8] c"h\00"
|
|
@.str6099 = private unnamed_addr constant [13 x i8] c":\0A ret i32 \00"
|
|
@.str6100 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6101 = private unnamed_addr constant [2 x i8] c"n\00"
|
|
@.str6102 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6103 = private unnamed_addr constant [16 x i8] c" ret i32 0\0A}\0A\0A\00"
|
|
@.str6104 = private unnamed_addr constant [38 x i8] c"define i32 @L_owner(i32 %e) {\0Aentry:\0A\00"
|
|
@.str6105 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00"
|
|
@.str6106 = private unnamed_addr constant [82 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A %v = load i32, ptr %p\0A ret i32 %v\0A}\0A\0A\00"
|
|
@.str6107 = private unnamed_addr constant [52 x i8] c"define void @L_set_owner(i32 %e, i32 %id) {\0Aentry:\0A\00"
|
|
@.str6108 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00"
|
|
@.str6109 = private unnamed_addr constant [80 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A store i32 %id, ptr %p\0A ret void\0A}\0A\0A\00"
|
|
@.str6110 = private unnamed_addr constant [41 x i8] c"define i32 @L_is_owner(i32 %e) {\0Aentry:\0A\00"
|
|
@.str6111 = private unnamed_addr constant [32 x i8] c" %p = getelementptr inbounds [\00"
|
|
@.str6112 = private unnamed_addr constant [66 x i8] c" x i32], ptr @L_owner_arr, i32 0, i32 %e\0A %o = load i32, ptr %p\0A\00"
|
|
@.str6113 = private unnamed_addr constant [106 x i8] c" %lid = load i32, ptr @L_localid\0A %eq = icmp eq i32 %o, %lid\0A %r = zext i1 %eq to i32\0A ret i32 %r\0A}\0A\0A\00"
|
|
@.str6114 = private unnamed_addr constant [62 x i8] c"@L_netq = internal global [64 x [2048 x i8]] zeroinitializer\0A\00"
|
|
@.str6115 = private unnamed_addr constant [56 x i8] c"@L_netlen = internal global [64 x i32] zeroinitializer\0A\00"
|
|
@.str6116 = private unnamed_addr constant [36 x i8] c"@L_nethead = internal global i32 0\0A\00"
|
|
@.str6117 = private unnamed_addr constant [36 x i8] c"@L_nettail = internal global i32 0\0A\00"
|
|
@.str6118 = private unnamed_addr constant [65 x i8] c"define void @L_net_send(i32 %peer, ptr %buf, i32 %len) {\0Aentry:\0A\00"
|
|
@.str6119 = private unnamed_addr constant [71 x i8] c" %l0 = icmp slt i32 %len, 0\0A %len1 = select i1 %l0, i32 0, i32 %len\0A\00"
|
|
@.str6120 = private unnamed_addr constant [76 x i8] c" %l1 = icmp sgt i32 %len1, 2048\0A %n = select i1 %l1, i32 2048, i32 %len1\0A\00"
|
|
@.str6121 = private unnamed_addr constant [65 x i8] c" %t = load i32, ptr @L_nettail\0A %h = load i32, ptr @L_nethead\0A\00"
|
|
@.str6122 = private unnamed_addr constant [78 x i8] c" %t1 = add i32 %t, 1\0A %tn = srem i32 %t1, 64\0A %full = icmp eq i32 %tn, %h\0A\00"
|
|
@.str6123 = private unnamed_addr constant [39 x i8] c" br i1 %full, label %drop, label %go\0A\00"
|
|
@.str6124 = private unnamed_addr constant [5 x i8] c"go:\0A\00"
|
|
@.str6125 = private unnamed_addr constant [80 x i8] c" %row = getelementptr inbounds [64 x [2048 x i8]], ptr @L_netq, i32 0, i32 %t\0A\00"
|
|
@.str6126 = private unnamed_addr constant [76 x i8] c" %nz = zext i32 %n to i64\0A call ptr @memcpy(ptr %row, ptr %buf, i64 %nz)\0A\00"
|
|
@.str6127 = private unnamed_addr constant [97 x i8] c" %lp = getelementptr inbounds [64 x i32], ptr @L_netlen, i32 0, i32 %t\0A store i32 %n, ptr %lp\0A\00"
|
|
@.str6128 = private unnamed_addr constant [50 x i8] c" store i32 %tn, ptr @L_nettail\0A br label %drop\0A\00"
|
|
@.str6129 = private unnamed_addr constant [21 x i8] c"drop:\0A ret void\0A}\0A\0A\00"
|
|
@.str6130 = private unnamed_addr constant [53 x i8] c"define i32 @L_net_poll(ptr %buf, i32 %cap) {\0Aentry:\0A\00"
|
|
@.str6131 = private unnamed_addr constant [95 x i8] c" %h = load i32, ptr @L_nethead\0A %t = load i32, ptr @L_nettail\0A %empty = icmp eq i32 %h, %t\0A\00"
|
|
@.str6132 = private unnamed_addr constant [40 x i8] c" br i1 %empty, label %none, label %go\0A\00"
|
|
@.str6133 = private unnamed_addr constant [5 x i8] c"go:\0A\00"
|
|
@.str6134 = private unnamed_addr constant [99 x i8] c" %lp = getelementptr inbounds [64 x i32], ptr @L_netlen, i32 0, i32 %h\0A %ln = load i32, ptr %lp\0A\00"
|
|
@.str6135 = private unnamed_addr constant [74 x i8] c" %big = icmp sgt i32 %ln, %cap\0A %n = select i1 %big, i32 %cap, i32 %ln\0A\00"
|
|
@.str6136 = private unnamed_addr constant [80 x i8] c" %row = getelementptr inbounds [64 x [2048 x i8]], ptr @L_netq, i32 0, i32 %h\0A\00"
|
|
@.str6137 = private unnamed_addr constant [76 x i8] c" %nz = zext i32 %n to i64\0A call ptr @memcpy(ptr %buf, ptr %row, i64 %nz)\0A\00"
|
|
@.str6138 = private unnamed_addr constant [93 x i8] c" %h1 = add i32 %h, 1\0A %hn = srem i32 %h1, 64\0A store i32 %hn, ptr @L_nethead\0A ret i32 %n\0A\00"
|
|
@.str6139 = private unnamed_addr constant [22 x i8] c"none:\0A ret i32 0\0A}\0A\0A\00"
|
|
@.str6140 = private unnamed_addr constant [9 x i8] c"net_send\00"
|
|
@.str6141 = private unnamed_addr constant [11 x i8] c"L_net_send\00"
|
|
@.str6142 = private unnamed_addr constant [9 x i8] c"net_poll\00"
|
|
@.str6143 = private unnamed_addr constant [11 x i8] c"L_net_poll\00"
|
|
@.str6144 = private unnamed_addr constant [58 x i8] c"@L_recvbuf = internal global [2048 x i8] zeroinitializer\0A\00"
|
|
@.str6145 = private unnamed_addr constant [9 x i8] c"net_poll\00"
|
|
@.str6146 = private unnamed_addr constant [53 x i8] c"define void @L_net_pump() {\0Aentry:\0A br label %loop\0A\00"
|
|
@.str6147 = private unnamed_addr constant [24 x i8] c"loop:\0A %n = call i32 @\00"
|
|
@.str6148 = private unnamed_addr constant [28 x i8] c"(ptr @L_recvbuf, i32 2048)\0A\00"
|
|
@.str6149 = private unnamed_addr constant [68 x i8] c" %done = icmp eq i32 %n, 0\0A br i1 %done, label %fin, label %body\0A\00"
|
|
@.str6150 = private unnamed_addr constant [41 x i8] c"body:\0A %eid = load i32, ptr @L_recvbuf\0A\00"
|
|
@.str6151 = private unnamed_addr constant [5 x i8] c" %c\00"
|
|
@.str6152 = private unnamed_addr constant [22 x i8] c" = icmp eq i32 %eid, \00"
|
|
@.str6153 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6154 = private unnamed_addr constant [11 x i8] c" br i1 %c\00"
|
|
@.str6155 = private unnamed_addr constant [11 x i8] c", label %h\00"
|
|
@.str6156 = private unnamed_addr constant [11 x i8] c", label %x\00"
|
|
@.str6157 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6158 = private unnamed_addr constant [2 x i8] c"h\00"
|
|
@.str6159 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6160 = private unnamed_addr constant [2 x i8] c"_\00"
|
|
@.str6161 = private unnamed_addr constant [6 x i8] c" %fa\00"
|
|
@.str6162 = private unnamed_addr constant [51 x i8] c" = getelementptr inbounds i8, ptr @L_recvbuf, i32 \00"
|
|
@.str6163 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6164 = private unnamed_addr constant [6 x i8] c" %fv\00"
|
|
@.str6165 = private unnamed_addr constant [9 x i8] c" = load \00"
|
|
@.str6166 = private unnamed_addr constant [10 x i8] c", ptr %fa\00"
|
|
@.str6167 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6168 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str6169 = private unnamed_addr constant [5 x i8] c" %fv\00"
|
|
@.str6170 = private unnamed_addr constant [17 x i8] c" call void @ev_\00"
|
|
@.str6171 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str6172 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6173 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
|
|
@.str6174 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str6175 = private unnamed_addr constant [3 x i8] c":\0A\00"
|
|
@.str6176 = private unnamed_addr constant [18 x i8] c" br label %loop\0A\00"
|
|
@.str6177 = private unnamed_addr constant [20 x i8] c"fin:\0A ret void\0A}\0A\0A\00"
|
|
@.str6178 = private unnamed_addr constant [58 x i8] c"@L_sendbuf = internal global [2048 x i8] zeroinitializer\0A\00"
|
|
@.str6179 = private unnamed_addr constant [6 x i8] c"panel\00"
|
|
@.str6180 = private unnamed_addr constant [4 x i8] c"col\00"
|
|
@.str6181 = private unnamed_addr constant [4 x i8] c"row\00"
|
|
@.str6182 = private unnamed_addr constant [6 x i8] c"label\00"
|
|
@.str6183 = private unnamed_addr constant [7 x i8] c"button\00"
|
|
@.str6184 = private unnamed_addr constant [6 x i8] c"image\00"
|
|
@.str6185 = private unnamed_addr constant [7 x i8] c"spacer\00"
|
|
@.str6186 = private unnamed_addr constant [3 x i8] c"id\00"
|
|
@.str6187 = private unnamed_addr constant [31 x i8] c" call void @fn_rt_ui_set(i32 \00"
|
|
@.str6188 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6189 = private unnamed_addr constant [7 x i8] c", i32 \00"
|
|
@.str6190 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6191 = private unnamed_addr constant [2 x i8] c"w\00"
|
|
@.str6192 = private unnamed_addr constant [2 x i8] c"h\00"
|
|
@.str6193 = private unnamed_addr constant [2 x i8] c"x\00"
|
|
@.str6194 = private unnamed_addr constant [2 x i8] c"y\00"
|
|
@.str6195 = private unnamed_addr constant [4 x i8] c"pad\00"
|
|
@.str6196 = private unnamed_addr constant [4 x i8] c"gap\00"
|
|
@.str6197 = private unnamed_addr constant [3 x i8] c"bg\00"
|
|
@.str6198 = private unnamed_addr constant [3 x i8] c"fg\00"
|
|
@.str6199 = private unnamed_addr constant [7 x i8] c"border\00"
|
|
@.str6200 = private unnamed_addr constant [5 x i8] c"grow\00"
|
|
@.str6201 = private unnamed_addr constant [5 x i8] c"font\00"
|
|
@.str6202 = private unnamed_addr constant [5 x i8] c"size\00"
|
|
@.str6203 = private unnamed_addr constant [6 x i8] c"inset\00"
|
|
@.str6204 = private unnamed_addr constant [6 x i8] c"focus\00"
|
|
@.str6205 = private unnamed_addr constant [33 x i8] c" call void @fn_rt_ui_reset(i32 \00"
|
|
@.str6206 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6207 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str6208 = private unnamed_addr constant [3 x i8] c"id\00"
|
|
@.str6209 = private unnamed_addr constant [5 x i8] c"text\00"
|
|
@.str6210 = private unnamed_addr constant [39 x i8] c" call void @fn_rt_ui_static_text(i32 \00"
|
|
@.str6211 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6212 = private unnamed_addr constant [3 x i8] c")\0A\00"
|
|
@.str6213 = private unnamed_addr constant [5 x i8] c"skin\00"
|
|
@.str6214 = private unnamed_addr constant [6 x i8] c"image\00"
|
|
@.str6215 = private unnamed_addr constant [32 x i8] c"call i32 @fn_rt_image_load(ptr \00"
|
|
@.str6216 = private unnamed_addr constant [2 x i8] c")\00"
|
|
@.str6217 = private unnamed_addr constant [5 x i8] c"skin\00"
|
|
@.str6218 = private unnamed_addr constant [6 x i8] c"align\00"
|
|
@.str6219 = private unnamed_addr constant [7 x i8] c"center\00"
|
|
@.str6220 = private unnamed_addr constant [4 x i8] c"end\00"
|
|
@.str6221 = private unnamed_addr constant [2 x i8] c"1\00"
|
|
@.str6222 = private unnamed_addr constant [34 x i8] c"define void @ui_build() {\0Aentry:\0A\00"
|
|
@.str6223 = private unnamed_addr constant [15 x i8] c" ret void\0A}\0A\0A\00"
|
|
@.str6224 = private unnamed_addr constant [3 x i8] c", \00"
|
|
@.str6225 = private unnamed_addr constant [7 x i8] c" %arg_\00"
|
|
@.str6226 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6227 = private unnamed_addr constant [20 x i8] c" %retval = alloca \00"
|
|
@.str6228 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6229 = private unnamed_addr constant [9 x i8] c" store \00"
|
|
@.str6230 = private unnamed_addr constant [7 x i8] c" %arg_\00"
|
|
@.str6231 = private unnamed_addr constant [7 x i8] c", ptr \00"
|
|
@.str6232 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6233 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
|
|
@.str6234 = private unnamed_addr constant [6 x i8] c"ret:\0A\00"
|
|
@.str6235 = private unnamed_addr constant [5 x i8] c"void\00"
|
|
@.str6236 = private unnamed_addr constant [12 x i8] c" ret void\0A\00"
|
|
@.str6237 = private unnamed_addr constant [6 x i8] c"load \00"
|
|
@.str6238 = private unnamed_addr constant [14 x i8] c", ptr %retval\00"
|
|
@.str6239 = private unnamed_addr constant [7 x i8] c" ret \00"
|
|
@.str6240 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str6241 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6242 = private unnamed_addr constant [8 x i8] c"define \00"
|
|
@.str6243 = private unnamed_addr constant [6 x i8] c" @fn_\00"
|
|
@.str6244 = private unnamed_addr constant [2 x i8] c"(\00"
|
|
@.str6245 = private unnamed_addr constant [12 x i8] c") {\0Aentry:\0A\00"
|
|
@.str6246 = private unnamed_addr constant [4 x i8] c"}\0A\0A\00"
|
|
@.str6247 = private unnamed_addr constant [4 x i8] c"int\00"
|
|
@.str6248 = private unnamed_addr constant [24 x i8] c" %retval = alloca i32\0A\00"
|
|
@.str6249 = private unnamed_addr constant [32 x i8] c" store i32 %argc, ptr @L_argc\0A\00"
|
|
@.str6250 = private unnamed_addr constant [32 x i8] c" store ptr %argv, ptr @L_argv\0A\00"
|
|
@.str6251 = private unnamed_addr constant [28 x i8] c" store i32 0, ptr %retval\0A\00"
|
|
@.str6252 = private unnamed_addr constant [17 x i8] c" br label %ret\0A\00"
|
|
@.str6253 = private unnamed_addr constant [6 x i8] c"ret:\0A\00"
|
|
@.str6254 = private unnamed_addr constant [22 x i8] c"load i32, ptr %retval\00"
|
|
@.str6255 = private unnamed_addr constant [11 x i8] c" ret i32 \00"
|
|
@.str6256 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6257 = private unnamed_addr constant [49 x i8] c"define i32 @main(i32 %argc, ptr %argv) {\0Aentry:\0A\00"
|
|
@.str6258 = private unnamed_addr constant [3 x i8] c"}\0A\00"
|
|
@.str6259 = private unnamed_addr constant [3 x i8] c"wb\00"
|
|
@.str6260 = private unnamed_addr constant [7 x i8] c".ludic\00"
|
|
@.str6261 = private unnamed_addr constant [2 x i8] c"/\00"
|
|
@.str6262 = private unnamed_addr constant [6 x i8] c"ludic\00"
|
|
@.str6263 = private unnamed_addr constant [11 x i8] c"--windowed\00"
|
|
@.str6264 = private unnamed_addr constant [11 x i8] c"--headless\00"
|
|
@.str6265 = private unnamed_addr constant [12 x i8] c"--emit-llvm\00"
|
|
@.str6266 = private unnamed_addr constant [6 x i8] c"--fmt\00"
|
|
@.str6267 = private unnamed_addr constant [13 x i8] c"--save-temps\00"
|
|
@.str6268 = private unnamed_addr constant [6 x i8] c"--run\00"
|
|
@.str6269 = private unnamed_addr constant [3 x i8] c"-o\00"
|
|
@.str6270 = private unnamed_addr constant [31 x i8] c"ludicc: ignoring unknown flag \00"
|
|
@.str6271 = private unnamed_addr constant [2 x i8] c"\0A\00"
|
|
@.str6272 = private unnamed_addr constant [90 x i8] c"usage: ludicc <file.ludic> [-o out] [--windowed|--headless] [--emit-llvm] [--save-temps]\0A\00"
|
|
@.str6273 = private unnamed_addr constant [27 x i8] c"ludicc: cannot open input\0A\00"
|
|
@.str6274 = private unnamed_addr constant [16 x i8] c"/tmp/ludic-run-\00"
|
|
@.str6275 = private unnamed_addr constant [10 x i8] c"mkdir -p \00"
|
|
@.str6276 = private unnamed_addr constant [4 x i8] c".ll\00"
|
|
@.str6277 = private unnamed_addr constant [25 x i8] c"ludicc: cannot write IR\0A\00"
|
|
@.str6278 = private unnamed_addr constant [9 x i8] c"LUDIC_CC\00"
|
|
@.str6279 = private unnamed_addr constant [6 x i8] c"clang\00"
|
|
@.str6280 = private unnamed_addr constant [11 x i8] c"LUDIC_HOME\00"
|
|
@.str6281 = private unnamed_addr constant [27 x i8] c" -O2 -Wno-override-module \00"
|
|
@.str6282 = private unnamed_addr constant [24 x i8] c"runtime/native/cocoa.ll\00"
|
|
@.str6283 = private unnamed_addr constant [2 x i8] c" \00"
|
|
@.str6284 = private unnamed_addr constant [42 x i8] c" -framework Cocoa -Wl,-rpath,@loader_path\00"
|
|
@.str6285 = private unnamed_addr constant [5 x i8] c" -o \00"
|
|
@.str6286 = private unnamed_addr constant [7 x i8] c"rm -f \00"
|
|
@.str6287 = private unnamed_addr constant [21 x i8] c"ludicc: link failed\0A\00"
|
|
define i32 @fn_str_eq(ptr %a, ptr %b) {
|
|
entry:
|
|
br label %loop
|
|
loop:
|
|
%i = phi i32 [ 0, %entry ], [ %i1, %cont ]
|
|
%pa = getelementptr inbounds i8, ptr %a, i32 %i
|
|
%pb = getelementptr inbounds i8, ptr %b, i32 %i
|
|
%ca = load i8, ptr %pa
|
|
%cb = load i8, ptr %pb
|
|
%df = icmp ne i8 %ca, %cb
|
|
br i1 %df, label %ret0, label %chk
|
|
chk:
|
|
%zt = icmp eq i8 %ca, 0
|
|
br i1 %zt, label %ret1, label %cont
|
|
cont:
|
|
%i1 = add i32 %i, 1
|
|
br label %loop
|
|
ret1:
|
|
ret i32 1
|
|
ret0:
|
|
ret i32 0
|
|
}
|
|
define ptr @fn_str_concat(ptr %a, ptr %b) {
|
|
entry:
|
|
br label %al
|
|
al:
|
|
%ia = phi i32 [ 0, %entry ], [ %ia1, %alb ]
|
|
%pa = getelementptr inbounds i8, ptr %a, i32 %ia
|
|
%cca = load i8, ptr %pa
|
|
%za = icmp eq i8 %cca, 0
|
|
br i1 %za, label %bl0, label %alb
|
|
alb:
|
|
%ia1 = add i32 %ia, 1
|
|
br label %al
|
|
bl0:
|
|
br label %bl
|
|
bl:
|
|
%ib = phi i32 [ 0, %bl0 ], [ %ib1, %blb ]
|
|
%pb = getelementptr inbounds i8, ptr %b, i32 %ib
|
|
%ccb = load i8, ptr %pb
|
|
%zb = icmp eq i8 %ccb, 0
|
|
br i1 %zb, label %alloc, label %blb
|
|
blb:
|
|
%ib1 = add i32 %ib, 1
|
|
br label %bl
|
|
alloc:
|
|
%sum = add i32 %ia, %ib
|
|
%sz = add i32 %sum, 1
|
|
%sz64 = sext i32 %sz to i64
|
|
%out = call ptr @malloc(i64 %sz64)
|
|
br label %c1
|
|
c1:
|
|
%i = phi i32 [ 0, %alloc ], [ %i1, %c1b ]
|
|
%d1 = icmp slt i32 %i, %ia
|
|
br i1 %d1, label %c1b, label %c2i
|
|
c1b:
|
|
%s1 = getelementptr inbounds i8, ptr %a, i32 %i
|
|
%v1 = load i8, ptr %s1
|
|
%o1 = getelementptr inbounds i8, ptr %out, i32 %i
|
|
store i8 %v1, ptr %o1
|
|
%i1 = add i32 %i, 1
|
|
br label %c1
|
|
c2i:
|
|
br label %c2
|
|
c2:
|
|
%j = phi i32 [ 0, %c2i ], [ %j1, %c2b ]
|
|
%d2 = icmp slt i32 %j, %ib
|
|
br i1 %d2, label %c2b, label %fin
|
|
c2b:
|
|
%s2 = getelementptr inbounds i8, ptr %b, i32 %j
|
|
%v2 = load i8, ptr %s2
|
|
%oj = add i32 %ia, %j
|
|
%o2 = getelementptr inbounds i8, ptr %out, i32 %oj
|
|
store i8 %v2, ptr %o2
|
|
%j1 = add i32 %j, 1
|
|
br label %c2
|
|
fin:
|
|
%pe = getelementptr inbounds i8, ptr %out, i32 %sum
|
|
store i8 0, ptr %pe
|
|
ret ptr %out
|
|
}
|
|
define ptr @fn_int_str(i32 %n0) {
|
|
entry:
|
|
%buf = call ptr @malloc(i64 24)
|
|
%isneg = icmp slt i32 %n0, 0
|
|
%neg = sub i32 0, %n0
|
|
%n = select i1 %isneg, i32 %neg, i32 %n0
|
|
%term = getelementptr inbounds i8, ptr %buf, i32 23
|
|
store i8 0, ptr %term
|
|
%iszero = icmp eq i32 %n0, 0
|
|
br i1 %iszero, label %zc, label %dl
|
|
zc:
|
|
%zp = getelementptr inbounds i8, ptr %buf, i32 22
|
|
store i8 48, ptr %zp
|
|
ret ptr %zp
|
|
dl:
|
|
br label %dloop
|
|
dloop:
|
|
%pos = phi i32 [ 22, %dl ], [ %pos2, %dbody ]
|
|
%cur = phi i32 [ %n, %dl ], [ %cur2, %dbody ]
|
|
%done = icmp eq i32 %cur, 0
|
|
br i1 %done, label %sign, label %dbody
|
|
dbody:
|
|
%d = urem i32 %cur, 10
|
|
%ch = add i32 %d, 48
|
|
%ch8 = trunc i32 %ch to i8
|
|
%pp = getelementptr inbounds i8, ptr %buf, i32 %pos
|
|
store i8 %ch8, ptr %pp
|
|
%cur2 = udiv i32 %cur, 10
|
|
%pos2 = sub i32 %pos, 1
|
|
br label %dloop
|
|
sign:
|
|
br i1 %isneg, label %addneg, label %fin
|
|
addneg:
|
|
%sp = getelementptr inbounds i8, ptr %buf, i32 %pos
|
|
store i8 45, ptr %sp
|
|
%posn = sub i32 %pos, 1
|
|
br label %fin
|
|
fin:
|
|
%fpos = phi i32 [ %pos, %sign ], [ %posn, %addneg ]
|
|
%rpos = add i32 %fpos, 1
|
|
%res = getelementptr inbounds i8, ptr %buf, i32 %rpos
|
|
ret ptr %res
|
|
}
|
|
define ptr @fn_str_slice(ptr %s, i32 %start, i32 %end) {
|
|
entry:
|
|
%len = sub i32 %end, %start
|
|
%sz = add i32 %len, 1
|
|
%sz64 = sext i32 %sz to i64
|
|
%out = call ptr @malloc(i64 %sz64)
|
|
br label %loop
|
|
loop:
|
|
%i = phi i32 [ 0, %entry ], [ %i1, %body ]
|
|
%d = icmp slt i32 %i, %len
|
|
br i1 %d, label %body, label %fin
|
|
body:
|
|
%si = add i32 %start, %i
|
|
%sp = getelementptr inbounds i8, ptr %s, i32 %si
|
|
%c = load i8, ptr %sp
|
|
%op = getelementptr inbounds i8, ptr %out, i32 %i
|
|
store i8 %c, ptr %op
|
|
%i1 = add i32 %i, 1
|
|
br label %loop
|
|
fin:
|
|
%tp = getelementptr inbounds i8, ptr %out, i32 %len
|
|
store i8 0, ptr %tp
|
|
ret ptr %out
|
|
}
|
|
define i32 @fn_char_is_digit(i32 %arg_c) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca i32
|
|
%t1 = alloca i32
|
|
store i32 %arg_c, ptr %t0
|
|
%t2 = load i32, ptr %t0
|
|
%t3 = icmp sge i32 %t2, 48
|
|
%t4 = zext i1 %t3 to i32
|
|
%t5 = icmp ne i32 %t4, 0
|
|
%t6 = zext i1 %t5 to i32
|
|
store i32 %t6, ptr %t1
|
|
br i1 %t5, label %sc0, label %scend1
|
|
sc0:
|
|
%t7 = load i32, ptr %t0
|
|
%t8 = icmp sle i32 %t7, 57
|
|
%t9 = zext i1 %t8 to i32
|
|
%t10 = icmp ne i32 %t9, 0
|
|
%t11 = zext i1 %t10 to i32
|
|
store i32 %t11, ptr %t1
|
|
br label %scend1
|
|
scend1:
|
|
%t12 = load i32, ptr %t1
|
|
store i32 %t12, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t13 = load i32, ptr %retval
|
|
ret i32 %t13
|
|
}
|
|
|
|
define i32 @fn_char_is_alpha(i32 %arg_c) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca i32
|
|
%t1 = alloca i32
|
|
%t14 = alloca i32
|
|
store i32 %arg_c, ptr %t0
|
|
%t2 = load i32, ptr %t0
|
|
%t3 = icmp sge i32 %t2, 65
|
|
%t4 = zext i1 %t3 to i32
|
|
%t5 = icmp ne i32 %t4, 0
|
|
%t6 = zext i1 %t5 to i32
|
|
store i32 %t6, ptr %t1
|
|
br i1 %t5, label %sc0, label %scend1
|
|
sc0:
|
|
%t7 = load i32, ptr %t0
|
|
%t8 = icmp sle i32 %t7, 90
|
|
%t9 = zext i1 %t8 to i32
|
|
%t10 = icmp ne i32 %t9, 0
|
|
%t11 = zext i1 %t10 to i32
|
|
store i32 %t11, ptr %t1
|
|
br label %scend1
|
|
scend1:
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = icmp ne i32 %t12, 0
|
|
br i1 %t13, label %then2, label %ifend4
|
|
then2:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend4:
|
|
%t15 = load i32, ptr %t0
|
|
%t16 = icmp sge i32 %t15, 97
|
|
%t17 = zext i1 %t16 to i32
|
|
%t18 = icmp ne i32 %t17, 0
|
|
%t19 = zext i1 %t18 to i32
|
|
store i32 %t19, ptr %t14
|
|
br i1 %t18, label %sc5, label %scend6
|
|
sc5:
|
|
%t20 = load i32, ptr %t0
|
|
%t21 = icmp sle i32 %t20, 122
|
|
%t22 = zext i1 %t21 to i32
|
|
%t23 = icmp ne i32 %t22, 0
|
|
%t24 = zext i1 %t23 to i32
|
|
store i32 %t24, ptr %t14
|
|
br label %scend6
|
|
scend6:
|
|
%t25 = load i32, ptr %t14
|
|
%t26 = icmp ne i32 %t25, 0
|
|
br i1 %t26, label %then7, label %ifend9
|
|
then7:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend9:
|
|
%t27 = load i32, ptr %t0
|
|
%t28 = icmp eq i32 %t27, 95
|
|
%t29 = zext i1 %t28 to i32
|
|
store i32 %t29, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t30 = load i32, ptr %retval
|
|
ret i32 %t30
|
|
}
|
|
|
|
define i32 @fn_char_is_alnum(i32 %arg_c) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca i32
|
|
%t1 = alloca i32
|
|
store i32 %arg_c, ptr %t0
|
|
%t2 = load i32, ptr %t0
|
|
%t3 = call i32 @fn_char_is_alpha(i32 %t2)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
%t5 = zext i1 %t4 to i32
|
|
store i32 %t5, ptr %t1
|
|
br i1 %t4, label %scend1, label %sc0
|
|
sc0:
|
|
%t6 = load i32, ptr %t0
|
|
%t7 = call i32 @fn_char_is_digit(i32 %t6)
|
|
%t8 = icmp ne i32 %t7, 0
|
|
%t9 = zext i1 %t8 to i32
|
|
store i32 %t9, ptr %t1
|
|
br label %scend1
|
|
scend1:
|
|
%t10 = load i32, ptr %t1
|
|
store i32 %t10, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t11 = load i32, ptr %retval
|
|
ret i32 %t11
|
|
}
|
|
|
|
define ptr @fn_itoa(i32 %arg_v) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca i32
|
|
%t7 = alloca ptr
|
|
%t15 = alloca i32
|
|
%t17 = alloca i32
|
|
%t26 = alloca ptr
|
|
%t27 = alloca i32
|
|
%t44 = alloca i32
|
|
%t53 = alloca ptr
|
|
%t54 = alloca i32
|
|
%t60 = alloca i32
|
|
store i32 %arg_v, ptr %t0
|
|
%t1 = load i32, ptr %t0
|
|
%t2 = icmp eq i32 %t1, 0
|
|
%t3 = zext i1 %t2 to i32
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = zext i32 2 to i64
|
|
%t6 = call ptr @malloc(i64 %t5)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = getelementptr inbounds i8, ptr %t8, i32 0
|
|
%t10 = trunc i32 48 to i8
|
|
store i8 %t10, ptr %t9
|
|
%t11 = load ptr, ptr %t7
|
|
%t12 = getelementptr inbounds i8, ptr %t11, i32 1
|
|
%t13 = trunc i32 0 to i8
|
|
store i8 %t13, ptr %t12
|
|
%t14 = load ptr, ptr %t7
|
|
store ptr %t14, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
store i32 0, ptr %t15
|
|
%t16 = load i32, ptr %t0
|
|
store i32 %t16, ptr %t17
|
|
%t18 = load i32, ptr %t17
|
|
%t19 = icmp slt i32 %t18, 0
|
|
%t20 = zext i1 %t19 to i32
|
|
%t21 = icmp ne i32 %t20, 0
|
|
br i1 %t21, label %then3, label %ifend5
|
|
then3:
|
|
store i32 1, ptr %t15
|
|
%t22 = load i32, ptr %t17
|
|
%t23 = sub i32 0, %t22
|
|
store i32 %t23, ptr %t17
|
|
br label %ifend5
|
|
ifend5:
|
|
%t24 = zext i32 16 to i64
|
|
%t25 = call ptr @malloc(i64 %t24)
|
|
store ptr %t25, ptr %t26
|
|
store i32 0, ptr %t27
|
|
br label %wcond6
|
|
wcond6:
|
|
%t28 = load i32, ptr %t17
|
|
%t29 = icmp sgt i32 %t28, 0
|
|
%t30 = zext i1 %t29 to i32
|
|
%t31 = icmp ne i32 %t30, 0
|
|
br i1 %t31, label %wbody7, label %wend8
|
|
wbody7:
|
|
%t32 = load ptr, ptr %t26
|
|
%t33 = load i32, ptr %t27
|
|
%t34 = getelementptr inbounds i8, ptr %t32, i32 %t33
|
|
%t35 = load i32, ptr %t17
|
|
%t36 = srem i32 %t35, 10
|
|
%t37 = add i32 48, %t36
|
|
%t38 = trunc i32 %t37 to i8
|
|
store i8 %t38, ptr %t34
|
|
%t39 = load i32, ptr %t17
|
|
%t40 = sdiv i32 %t39, 10
|
|
store i32 %t40, ptr %t17
|
|
%t41 = load i32, ptr %t27
|
|
%t42 = add i32 %t41, 1
|
|
store i32 %t42, ptr %t27
|
|
br label %wcond6
|
|
wend8:
|
|
%t43 = load i32, ptr %t27
|
|
store i32 %t43, ptr %t44
|
|
%t45 = load i32, ptr %t15
|
|
%t46 = icmp ne i32 %t45, 0
|
|
br i1 %t46, label %then9, label %ifend11
|
|
then9:
|
|
%t47 = load i32, ptr %t44
|
|
%t48 = add i32 %t47, 1
|
|
store i32 %t48, ptr %t44
|
|
br label %ifend11
|
|
ifend11:
|
|
%t49 = load i32, ptr %t44
|
|
%t50 = add i32 %t49, 1
|
|
%t51 = zext i32 %t50 to i64
|
|
%t52 = call ptr @malloc(i64 %t51)
|
|
store ptr %t52, ptr %t53
|
|
store i32 0, ptr %t54
|
|
%t55 = load i32, ptr %t15
|
|
%t56 = icmp ne i32 %t55, 0
|
|
br i1 %t56, label %then12, label %ifend14
|
|
then12:
|
|
%t57 = load ptr, ptr %t53
|
|
%t58 = getelementptr inbounds i8, ptr %t57, i32 0
|
|
%t59 = trunc i32 45 to i8
|
|
store i8 %t59, ptr %t58
|
|
store i32 1, ptr %t54
|
|
br label %ifend14
|
|
ifend14:
|
|
store i32 0, ptr %t60
|
|
br label %wcond15
|
|
wcond15:
|
|
%t61 = load i32, ptr %t60
|
|
%t62 = load i32, ptr %t27
|
|
%t63 = icmp slt i32 %t61, %t62
|
|
%t64 = zext i1 %t63 to i32
|
|
%t65 = icmp ne i32 %t64, 0
|
|
br i1 %t65, label %wbody16, label %wend17
|
|
wbody16:
|
|
%t66 = load ptr, ptr %t53
|
|
%t67 = load i32, ptr %t54
|
|
%t68 = load i32, ptr %t60
|
|
%t69 = add i32 %t67, %t68
|
|
%t70 = getelementptr inbounds i8, ptr %t66, i32 %t69
|
|
%t71 = load ptr, ptr %t26
|
|
%t72 = load i32, ptr %t27
|
|
%t73 = sub i32 %t72, 1
|
|
%t74 = load i32, ptr %t60
|
|
%t75 = sub i32 %t73, %t74
|
|
%t76 = getelementptr inbounds i8, ptr %t71, i32 %t75
|
|
%t77 = load i8, ptr %t76
|
|
%t78 = zext i8 %t77 to i32
|
|
%t79 = trunc i32 %t78 to i8
|
|
store i8 %t79, ptr %t70
|
|
%t80 = load i32, ptr %t60
|
|
%t81 = add i32 %t80, 1
|
|
store i32 %t81, ptr %t60
|
|
br label %wcond15
|
|
wend17:
|
|
%t82 = load ptr, ptr %t53
|
|
%t83 = load i32, ptr %t44
|
|
%t84 = getelementptr inbounds i8, ptr %t82, i32 %t83
|
|
%t85 = trunc i32 0 to i8
|
|
store i8 %t85, ptr %t84
|
|
%t86 = load ptr, ptr %t53
|
|
store ptr %t86, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t87 = load ptr, ptr %retval
|
|
ret ptr %t87
|
|
}
|
|
|
|
define ptr @fn_buf_new() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t6 = alloca ptr
|
|
%t0 = getelementptr %Cmp_Buf, ptr null, i32 1
|
|
%t1 = ptrtoint ptr %t0 to i64
|
|
%t2 = call ptr @malloc(i64 %t1)
|
|
%t3 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 0
|
|
store ptr null, ptr %t3
|
|
%t4 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 1
|
|
store i32 0, ptr %t4
|
|
%t5 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 2
|
|
store i32 0, ptr %t5
|
|
store ptr %t2, ptr %t6
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = getelementptr inbounds %Cmp_Buf, ptr %t7, i32 0, i32 2
|
|
store i32 256, ptr %t8
|
|
%t9 = load ptr, ptr %t6
|
|
%t10 = getelementptr inbounds %Cmp_Buf, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t6
|
|
%t12 = getelementptr inbounds %Cmp_Buf, ptr %t11, i32 0, i32 2
|
|
%t13 = load i32, ptr %t12
|
|
%t14 = zext i32 %t13 to i64
|
|
%t15 = call ptr @malloc(i64 %t14)
|
|
store ptr %t15, ptr %t10
|
|
%t16 = load ptr, ptr %t6
|
|
%t17 = getelementptr inbounds %Cmp_Buf, ptr %t16, i32 0, i32 1
|
|
store i32 0, ptr %t17
|
|
%t18 = load ptr, ptr %t6
|
|
store ptr %t18, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t19 = load ptr, ptr %retval
|
|
ret ptr %t19
|
|
}
|
|
|
|
define void @fn_buf_ensure(ptr %arg_b, i32 %arg_extra) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_b, ptr %t0
|
|
store i32 %arg_extra, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = getelementptr inbounds %Cmp_Buf, ptr %t2, i32 0, i32 1
|
|
%t4 = load i32, ptr %t3
|
|
%t5 = load i32, ptr %t1
|
|
%t6 = add i32 %t4, %t5
|
|
%t7 = add i32 %t6, 1
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = getelementptr inbounds %Cmp_Buf, ptr %t8, i32 0, i32 2
|
|
%t10 = load i32, ptr %t9
|
|
%t11 = icmp sle i32 %t7, %t10
|
|
%t12 = zext i1 %t11 to i32
|
|
%t13 = icmp ne i32 %t12, 0
|
|
br i1 %t13, label %then0, label %ifend2
|
|
then0:
|
|
br label %ret
|
|
ifend2:
|
|
br label %wcond3
|
|
wcond3:
|
|
%t14 = load ptr, ptr %t0
|
|
%t15 = getelementptr inbounds %Cmp_Buf, ptr %t14, i32 0, i32 1
|
|
%t16 = load i32, ptr %t15
|
|
%t17 = load i32, ptr %t1
|
|
%t18 = add i32 %t16, %t17
|
|
%t19 = add i32 %t18, 1
|
|
%t20 = load ptr, ptr %t0
|
|
%t21 = getelementptr inbounds %Cmp_Buf, ptr %t20, i32 0, i32 2
|
|
%t22 = load i32, ptr %t21
|
|
%t23 = icmp sgt i32 %t19, %t22
|
|
%t24 = zext i1 %t23 to i32
|
|
%t25 = icmp ne i32 %t24, 0
|
|
br i1 %t25, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t26 = load ptr, ptr %t0
|
|
%t27 = getelementptr inbounds %Cmp_Buf, ptr %t26, i32 0, i32 2
|
|
%t28 = load ptr, ptr %t0
|
|
%t29 = getelementptr inbounds %Cmp_Buf, ptr %t28, i32 0, i32 2
|
|
%t30 = load i32, ptr %t29
|
|
%t31 = mul i32 %t30, 2
|
|
store i32 %t31, ptr %t27
|
|
br label %wcond3
|
|
wend5:
|
|
%t32 = load ptr, ptr %t0
|
|
%t33 = getelementptr inbounds %Cmp_Buf, ptr %t32, i32 0, i32 0
|
|
%t34 = load ptr, ptr %t0
|
|
%t35 = getelementptr inbounds %Cmp_Buf, ptr %t34, i32 0, i32 0
|
|
%t36 = load ptr, ptr %t35
|
|
%t37 = load ptr, ptr %t0
|
|
%t38 = getelementptr inbounds %Cmp_Buf, ptr %t37, i32 0, i32 2
|
|
%t39 = load i32, ptr %t38
|
|
%t40 = zext i32 %t39 to i64
|
|
%t41 = call ptr @realloc(ptr %t36, i64 %t40)
|
|
store ptr %t41, ptr %t33
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_buf_putc(ptr %arg_b, i32 %arg_c) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_b, ptr %t0
|
|
store i32 %arg_c, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
call void @fn_buf_ensure(ptr %t2, i32 1)
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = getelementptr inbounds %Cmp_Buf, ptr %t3, i32 0, i32 0
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = getelementptr inbounds %Cmp_Buf, ptr %t6, i32 0, i32 1
|
|
%t8 = load i32, ptr %t7
|
|
%t9 = getelementptr inbounds i8, ptr %t5, i32 %t8
|
|
%t10 = load i32, ptr %t1
|
|
%t11 = trunc i32 %t10 to i8
|
|
store i8 %t11, ptr %t9
|
|
%t12 = load ptr, ptr %t0
|
|
%t13 = getelementptr inbounds %Cmp_Buf, ptr %t12, i32 0, i32 1
|
|
%t14 = load ptr, ptr %t0
|
|
%t15 = getelementptr inbounds %Cmp_Buf, ptr %t14, i32 0, i32 1
|
|
%t16 = load i32, ptr %t15
|
|
%t17 = add i32 %t16, 1
|
|
store i32 %t17, ptr %t13
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_buf_puts(ptr %arg_b, ptr %arg_s) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca i32
|
|
store ptr %arg_b, ptr %t0
|
|
store ptr %arg_s, ptr %t1
|
|
store i32 0, ptr %t2
|
|
br label %wcond0
|
|
wcond0:
|
|
%t3 = load ptr, ptr %t1
|
|
%t4 = load i32, ptr %t2
|
|
%t5 = getelementptr inbounds i8, ptr %t3, i32 %t4
|
|
%t6 = load i8, ptr %t5
|
|
%t7 = zext i8 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
%t9 = zext i1 %t8 to i32
|
|
%t10 = icmp ne i32 %t9, 0
|
|
br i1 %t10, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t11 = load ptr, ptr %t0
|
|
%t12 = load ptr, ptr %t1
|
|
%t13 = load i32, ptr %t2
|
|
%t14 = getelementptr inbounds i8, ptr %t12, i32 %t13
|
|
%t15 = load i8, ptr %t14
|
|
%t16 = zext i8 %t15 to i32
|
|
call void @fn_buf_putc(ptr %t11, i32 %t16)
|
|
%t17 = load i32, ptr %t2
|
|
%t18 = add i32 %t17, 1
|
|
store i32 %t18, ptr %t2
|
|
br label %wcond0
|
|
wend2:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_buf_puti(ptr %arg_b, i32 %arg_n) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_b, ptr %t0
|
|
store i32 %arg_n, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = load i32, ptr %t1
|
|
%t4 = call ptr @fn_itoa(i32 %t3)
|
|
call void @fn_buf_puts(ptr %t2, ptr %t4)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_buf_str(ptr %arg_b) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
store ptr %arg_b, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Buf, ptr %t1, i32 0, i32 0
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = getelementptr inbounds %Cmp_Buf, ptr %t4, i32 0, i32 1
|
|
%t6 = load i32, ptr %t5
|
|
%t7 = getelementptr inbounds i8, ptr %t3, i32 %t6
|
|
%t8 = trunc i32 0 to i8
|
|
store i8 %t8, ptr %t7
|
|
%t9 = load ptr, ptr %t0
|
|
%t10 = getelementptr inbounds %Cmp_Buf, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
store ptr %t11, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t12 = load ptr, ptr %retval
|
|
ret ptr %t12
|
|
}
|
|
|
|
define ptr @fn_read_file(ptr %arg_path) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t14 = alloca i32
|
|
%t22 = alloca ptr
|
|
store ptr %arg_path, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call ptr @fopen(ptr %t1, ptr @.str0)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = icmp eq ptr %t4, null
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %then0, label %ifend2
|
|
then0:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t8 = load ptr, ptr %t3
|
|
%t9 = sext i32 0 to i64
|
|
%t10 = call i32 @fseek(ptr %t8, i64 %t9, i32 2)
|
|
%t11 = load ptr, ptr %t3
|
|
%t12 = call i64 @ftell(ptr %t11)
|
|
%t13 = trunc i64 %t12 to i32
|
|
store i32 %t13, ptr %t14
|
|
%t15 = load ptr, ptr %t3
|
|
%t16 = sext i32 0 to i64
|
|
%t17 = call i32 @fseek(ptr %t15, i64 %t16, i32 0)
|
|
%t18 = load i32, ptr %t14
|
|
%t19 = add i32 %t18, 1
|
|
%t20 = zext i32 %t19 to i64
|
|
%t21 = call ptr @malloc(i64 %t20)
|
|
store ptr %t21, ptr %t22
|
|
%t23 = load ptr, ptr %t3
|
|
%t24 = load ptr, ptr %t22
|
|
%t25 = load i32, ptr %t14
|
|
%t26 = zext i32 %t25 to i64
|
|
%t27 = call i64 @fread(ptr %t24, i64 1, i64 %t26, ptr %t23)
|
|
%t28 = trunc i64 %t27 to i32
|
|
%t29 = load ptr, ptr %t22
|
|
%t30 = load i32, ptr %t14
|
|
%t31 = getelementptr inbounds i8, ptr %t29, i32 %t30
|
|
%t32 = trunc i32 0 to i8
|
|
store i8 %t32, ptr %t31
|
|
%t33 = load ptr, ptr %t3
|
|
call i32 @fclose(ptr %t33)
|
|
%t34 = load ptr, ptr %t22
|
|
store ptr %t34, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t35 = load ptr, ptr %retval
|
|
ret ptr %t35
|
|
}
|
|
|
|
define i32 @fn_cstr_len(ptr %arg_s) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_s, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = load i32, ptr %t1
|
|
%t4 = getelementptr inbounds i8, ptr %t2, i32 %t3
|
|
%t5 = load i8, ptr %t4
|
|
%t6 = zext i8 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
%t8 = zext i1 %t7 to i32
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t10 = load i32, ptr %t1
|
|
%t11 = add i32 %t10, 1
|
|
store i32 %t11, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
%t12 = load i32, ptr %t1
|
|
store i32 %t12, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t13 = load i32, ptr %retval
|
|
ret i32 %t13
|
|
}
|
|
|
|
define ptr @fn_node(i32 %arg_kind) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca i32
|
|
%t13 = alloca ptr
|
|
store i32 %arg_kind, ptr %t0
|
|
%t1 = getelementptr %Cmp_Node, ptr null, i32 1
|
|
%t2 = ptrtoint ptr %t1 to i64
|
|
%t3 = call ptr @malloc(i64 %t2)
|
|
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 0
|
|
store i32 0, ptr %t4
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1
|
|
store ptr null, ptr %t5
|
|
%t6 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 2
|
|
store i32 0, ptr %t6
|
|
%t7 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 3
|
|
store ptr null, ptr %t7
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4
|
|
store ptr null, ptr %t8
|
|
%t9 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 5
|
|
store ptr null, ptr %t9
|
|
%t10 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 6
|
|
store ptr null, ptr %t10
|
|
%t11 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7
|
|
store ptr null, ptr %t11
|
|
%t12 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 8
|
|
store i32 0, ptr %t12
|
|
store ptr %t3, ptr %t13
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0
|
|
%t16 = load i32, ptr %t0
|
|
store i32 %t16, ptr %t15
|
|
%t17 = load ptr, ptr %t13
|
|
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7
|
|
%t19 = getelementptr %LSlice, ptr null, i32 1
|
|
%t20 = ptrtoint ptr %t19 to i64
|
|
%t21 = call ptr @malloc(i64 %t20)
|
|
%t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0
|
|
store ptr null, ptr %t22
|
|
%t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1
|
|
store i32 0, ptr %t23
|
|
%t24 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 2
|
|
store i32 0, ptr %t24
|
|
store ptr %t21, ptr %t18
|
|
%t25 = load ptr, ptr %t13
|
|
store ptr %t25, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t26 = load ptr, ptr %retval
|
|
ret ptr %t26
|
|
}
|
|
|
|
define void @fn_tok_push(i32 %arg_kind, ptr %arg_text, i32 %arg_ival, i32 %arg_line) {
|
|
entry:
|
|
%t0 = alloca i32
|
|
%t1 = alloca ptr
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
%t11 = alloca ptr
|
|
store i32 %arg_kind, ptr %t0
|
|
store ptr %arg_text, ptr %t1
|
|
store i32 %arg_ival, ptr %t2
|
|
store i32 %arg_line, ptr %t3
|
|
%t4 = getelementptr %Cmp_Tok, ptr null, i32 1
|
|
%t5 = ptrtoint ptr %t4 to i64
|
|
%t6 = call ptr @malloc(i64 %t5)
|
|
%t7 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 0
|
|
store i32 0, ptr %t7
|
|
%t8 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 1
|
|
store ptr null, ptr %t8
|
|
%t9 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 2
|
|
store i32 0, ptr %t9
|
|
%t10 = getelementptr inbounds %Cmp_Tok, ptr %t6, i32 0, i32 3
|
|
store i32 0, ptr %t10
|
|
store ptr %t6, ptr %t11
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = getelementptr inbounds %Cmp_Tok, ptr %t12, i32 0, i32 0
|
|
%t14 = load i32, ptr %t0
|
|
store i32 %t14, ptr %t13
|
|
%t15 = load ptr, ptr %t11
|
|
%t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 1
|
|
%t17 = load ptr, ptr %t1
|
|
store ptr %t17, ptr %t16
|
|
%t18 = load ptr, ptr %t11
|
|
%t19 = getelementptr inbounds %Cmp_Tok, ptr %t18, i32 0, i32 2
|
|
%t20 = load i32, ptr %t2
|
|
store i32 %t20, ptr %t19
|
|
%t21 = load ptr, ptr %t11
|
|
%t22 = getelementptr inbounds %Cmp_Tok, ptr %t21, i32 0, i32 3
|
|
%t23 = load i32, ptr %t3
|
|
store i32 %t23, ptr %t22
|
|
%t24 = load ptr, ptr @g_toks
|
|
%t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 1
|
|
%t26 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 2
|
|
%t27 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0
|
|
%t28 = load i32, ptr %t25
|
|
%t29 = load i32, ptr %t26
|
|
%t30 = icmp sge i32 %t28, %t29
|
|
br i1 %t30, label %grow0, label %put1
|
|
grow0:
|
|
%t31 = mul i32 %t29, 2
|
|
%t32 = icmp eq i32 %t29, 0
|
|
%t33 = select i1 %t32, i32 8, i32 %t31
|
|
%t34 = getelementptr ptr, ptr null, i32 1
|
|
%t35 = ptrtoint ptr %t34 to i64
|
|
%t36 = zext i32 %t33 to i64
|
|
%t37 = mul i64 %t36, %t35
|
|
%t38 = load ptr, ptr %t27
|
|
%t39 = call ptr @realloc(ptr %t38, i64 %t37)
|
|
store ptr %t39, ptr %t27
|
|
store i32 %t33, ptr %t26
|
|
br label %put1
|
|
put1:
|
|
%t40 = load ptr, ptr %t11
|
|
%t41 = load ptr, ptr %t27
|
|
%t42 = getelementptr inbounds ptr, ptr %t41, i32 %t28
|
|
store ptr %t40, ptr %t42
|
|
%t43 = add i32 %t28, 1
|
|
store i32 %t43, ptr %t25
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_two_at(ptr %arg_src, i32 %arg_i, i32 %arg_a, i32 %arg_b) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
%t4 = alloca i32
|
|
store ptr %arg_src, ptr %t0
|
|
store i32 %arg_i, ptr %t1
|
|
store i32 %arg_a, ptr %t2
|
|
store i32 %arg_b, ptr %t3
|
|
%t5 = load ptr, ptr %t0
|
|
%t6 = load i32, ptr %t1
|
|
%t7 = getelementptr inbounds i8, ptr %t5, i32 %t6
|
|
%t8 = load i8, ptr %t7
|
|
%t9 = zext i8 %t8 to i32
|
|
%t10 = load i32, ptr %t2
|
|
%t11 = icmp eq i32 %t9, %t10
|
|
%t12 = zext i1 %t11 to i32
|
|
%t13 = icmp ne i32 %t12, 0
|
|
%t14 = zext i1 %t13 to i32
|
|
store i32 %t14, ptr %t4
|
|
br i1 %t13, label %sc0, label %scend1
|
|
sc0:
|
|
%t15 = load ptr, ptr %t0
|
|
%t16 = load i32, ptr %t1
|
|
%t17 = add i32 %t16, 1
|
|
%t18 = getelementptr inbounds i8, ptr %t15, i32 %t17
|
|
%t19 = load i8, ptr %t18
|
|
%t20 = zext i8 %t19 to i32
|
|
%t21 = load i32, ptr %t3
|
|
%t22 = icmp eq i32 %t20, %t21
|
|
%t23 = zext i1 %t22 to i32
|
|
%t24 = icmp ne i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
store i32 %t25, ptr %t4
|
|
br label %scend1
|
|
scend1:
|
|
%t26 = load i32, ptr %t4
|
|
store i32 %t26, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t27 = load i32, ptr %retval
|
|
ret i32 %t27
|
|
}
|
|
|
|
define i32 @fn_is_op1(i32 %arg_c) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca i32
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
%t4 = alloca i32
|
|
%t41 = alloca i32
|
|
%t42 = alloca i32
|
|
%t63 = alloca i32
|
|
%t64 = alloca i32
|
|
%t65 = alloca i32
|
|
%t94 = alloca i32
|
|
%t95 = alloca i32
|
|
%t96 = alloca i32
|
|
%t97 = alloca i32
|
|
%t134 = alloca i32
|
|
%t147 = alloca i32
|
|
%t148 = alloca i32
|
|
%t149 = alloca i32
|
|
store i32 %arg_c, ptr %t0
|
|
%t5 = load i32, ptr %t0
|
|
%t6 = icmp eq i32 %t5, 43
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
%t9 = zext i1 %t8 to i32
|
|
store i32 %t9, ptr %t4
|
|
br i1 %t8, label %scend1, label %sc0
|
|
sc0:
|
|
%t10 = load i32, ptr %t0
|
|
%t11 = icmp eq i32 %t10, 45
|
|
%t12 = zext i1 %t11 to i32
|
|
%t13 = icmp ne i32 %t12, 0
|
|
%t14 = zext i1 %t13 to i32
|
|
store i32 %t14, ptr %t4
|
|
br label %scend1
|
|
scend1:
|
|
%t15 = load i32, ptr %t4
|
|
%t16 = icmp ne i32 %t15, 0
|
|
%t17 = zext i1 %t16 to i32
|
|
store i32 %t17, ptr %t3
|
|
br i1 %t16, label %scend3, label %sc2
|
|
sc2:
|
|
%t18 = load i32, ptr %t0
|
|
%t19 = icmp eq i32 %t18, 42
|
|
%t20 = zext i1 %t19 to i32
|
|
%t21 = icmp ne i32 %t20, 0
|
|
%t22 = zext i1 %t21 to i32
|
|
store i32 %t22, ptr %t3
|
|
br label %scend3
|
|
scend3:
|
|
%t23 = load i32, ptr %t3
|
|
%t24 = icmp ne i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
store i32 %t25, ptr %t2
|
|
br i1 %t24, label %scend5, label %sc4
|
|
sc4:
|
|
%t26 = load i32, ptr %t0
|
|
%t27 = icmp eq i32 %t26, 47
|
|
%t28 = zext i1 %t27 to i32
|
|
%t29 = icmp ne i32 %t28, 0
|
|
%t30 = zext i1 %t29 to i32
|
|
store i32 %t30, ptr %t2
|
|
br label %scend5
|
|
scend5:
|
|
%t31 = load i32, ptr %t2
|
|
%t32 = icmp ne i32 %t31, 0
|
|
%t33 = zext i1 %t32 to i32
|
|
store i32 %t33, ptr %t1
|
|
br i1 %t32, label %scend7, label %sc6
|
|
sc6:
|
|
%t34 = load i32, ptr %t0
|
|
%t35 = icmp eq i32 %t34, 37
|
|
%t36 = zext i1 %t35 to i32
|
|
%t37 = icmp ne i32 %t36, 0
|
|
%t38 = zext i1 %t37 to i32
|
|
store i32 %t38, ptr %t1
|
|
br label %scend7
|
|
scend7:
|
|
%t39 = load i32, ptr %t1
|
|
%t40 = icmp ne i32 %t39, 0
|
|
br i1 %t40, label %then8, label %ifend10
|
|
then8:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend10:
|
|
%t43 = load i32, ptr %t0
|
|
%t44 = icmp eq i32 %t43, 60
|
|
%t45 = zext i1 %t44 to i32
|
|
%t46 = icmp ne i32 %t45, 0
|
|
%t47 = zext i1 %t46 to i32
|
|
store i32 %t47, ptr %t42
|
|
br i1 %t46, label %scend12, label %sc11
|
|
sc11:
|
|
%t48 = load i32, ptr %t0
|
|
%t49 = icmp eq i32 %t48, 62
|
|
%t50 = zext i1 %t49 to i32
|
|
%t51 = icmp ne i32 %t50, 0
|
|
%t52 = zext i1 %t51 to i32
|
|
store i32 %t52, ptr %t42
|
|
br label %scend12
|
|
scend12:
|
|
%t53 = load i32, ptr %t42
|
|
%t54 = icmp ne i32 %t53, 0
|
|
%t55 = zext i1 %t54 to i32
|
|
store i32 %t55, ptr %t41
|
|
br i1 %t54, label %scend14, label %sc13
|
|
sc13:
|
|
%t56 = load i32, ptr %t0
|
|
%t57 = icmp eq i32 %t56, 61
|
|
%t58 = zext i1 %t57 to i32
|
|
%t59 = icmp ne i32 %t58, 0
|
|
%t60 = zext i1 %t59 to i32
|
|
store i32 %t60, ptr %t41
|
|
br label %scend14
|
|
scend14:
|
|
%t61 = load i32, ptr %t41
|
|
%t62 = icmp ne i32 %t61, 0
|
|
br i1 %t62, label %then15, label %ifend17
|
|
then15:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t66 = load i32, ptr %t0
|
|
%t67 = icmp eq i32 %t66, 40
|
|
%t68 = zext i1 %t67 to i32
|
|
%t69 = icmp ne i32 %t68, 0
|
|
%t70 = zext i1 %t69 to i32
|
|
store i32 %t70, ptr %t65
|
|
br i1 %t69, label %scend19, label %sc18
|
|
sc18:
|
|
%t71 = load i32, ptr %t0
|
|
%t72 = icmp eq i32 %t71, 41
|
|
%t73 = zext i1 %t72 to i32
|
|
%t74 = icmp ne i32 %t73, 0
|
|
%t75 = zext i1 %t74 to i32
|
|
store i32 %t75, ptr %t65
|
|
br label %scend19
|
|
scend19:
|
|
%t76 = load i32, ptr %t65
|
|
%t77 = icmp ne i32 %t76, 0
|
|
%t78 = zext i1 %t77 to i32
|
|
store i32 %t78, ptr %t64
|
|
br i1 %t77, label %scend21, label %sc20
|
|
sc20:
|
|
%t79 = load i32, ptr %t0
|
|
%t80 = icmp eq i32 %t79, 123
|
|
%t81 = zext i1 %t80 to i32
|
|
%t82 = icmp ne i32 %t81, 0
|
|
%t83 = zext i1 %t82 to i32
|
|
store i32 %t83, ptr %t64
|
|
br label %scend21
|
|
scend21:
|
|
%t84 = load i32, ptr %t64
|
|
%t85 = icmp ne i32 %t84, 0
|
|
%t86 = zext i1 %t85 to i32
|
|
store i32 %t86, ptr %t63
|
|
br i1 %t85, label %scend23, label %sc22
|
|
sc22:
|
|
%t87 = load i32, ptr %t0
|
|
%t88 = icmp eq i32 %t87, 125
|
|
%t89 = zext i1 %t88 to i32
|
|
%t90 = icmp ne i32 %t89, 0
|
|
%t91 = zext i1 %t90 to i32
|
|
store i32 %t91, ptr %t63
|
|
br label %scend23
|
|
scend23:
|
|
%t92 = load i32, ptr %t63
|
|
%t93 = icmp ne i32 %t92, 0
|
|
br i1 %t93, label %then24, label %ifend26
|
|
then24:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t98 = load i32, ptr %t0
|
|
%t99 = icmp eq i32 %t98, 91
|
|
%t100 = zext i1 %t99 to i32
|
|
%t101 = icmp ne i32 %t100, 0
|
|
%t102 = zext i1 %t101 to i32
|
|
store i32 %t102, ptr %t97
|
|
br i1 %t101, label %scend28, label %sc27
|
|
sc27:
|
|
%t103 = load i32, ptr %t0
|
|
%t104 = icmp eq i32 %t103, 93
|
|
%t105 = zext i1 %t104 to i32
|
|
%t106 = icmp ne i32 %t105, 0
|
|
%t107 = zext i1 %t106 to i32
|
|
store i32 %t107, ptr %t97
|
|
br label %scend28
|
|
scend28:
|
|
%t108 = load i32, ptr %t97
|
|
%t109 = icmp ne i32 %t108, 0
|
|
%t110 = zext i1 %t109 to i32
|
|
store i32 %t110, ptr %t96
|
|
br i1 %t109, label %scend30, label %sc29
|
|
sc29:
|
|
%t111 = load i32, ptr %t0
|
|
%t112 = icmp eq i32 %t111, 44
|
|
%t113 = zext i1 %t112 to i32
|
|
%t114 = icmp ne i32 %t113, 0
|
|
%t115 = zext i1 %t114 to i32
|
|
store i32 %t115, ptr %t96
|
|
br label %scend30
|
|
scend30:
|
|
%t116 = load i32, ptr %t96
|
|
%t117 = icmp ne i32 %t116, 0
|
|
%t118 = zext i1 %t117 to i32
|
|
store i32 %t118, ptr %t95
|
|
br i1 %t117, label %scend32, label %sc31
|
|
sc31:
|
|
%t119 = load i32, ptr %t0
|
|
%t120 = icmp eq i32 %t119, 58
|
|
%t121 = zext i1 %t120 to i32
|
|
%t122 = icmp ne i32 %t121, 0
|
|
%t123 = zext i1 %t122 to i32
|
|
store i32 %t123, ptr %t95
|
|
br label %scend32
|
|
scend32:
|
|
%t124 = load i32, ptr %t95
|
|
%t125 = icmp ne i32 %t124, 0
|
|
%t126 = zext i1 %t125 to i32
|
|
store i32 %t126, ptr %t94
|
|
br i1 %t125, label %scend34, label %sc33
|
|
sc33:
|
|
%t127 = load i32, ptr %t0
|
|
%t128 = icmp eq i32 %t127, 46
|
|
%t129 = zext i1 %t128 to i32
|
|
%t130 = icmp ne i32 %t129, 0
|
|
%t131 = zext i1 %t130 to i32
|
|
store i32 %t131, ptr %t94
|
|
br label %scend34
|
|
scend34:
|
|
%t132 = load i32, ptr %t94
|
|
%t133 = icmp ne i32 %t132, 0
|
|
br i1 %t133, label %then35, label %ifend37
|
|
then35:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend37:
|
|
%t135 = load i32, ptr %t0
|
|
%t136 = icmp eq i32 %t135, 33
|
|
%t137 = zext i1 %t136 to i32
|
|
%t138 = icmp ne i32 %t137, 0
|
|
%t139 = zext i1 %t138 to i32
|
|
store i32 %t139, ptr %t134
|
|
br i1 %t138, label %scend39, label %sc38
|
|
sc38:
|
|
%t140 = load i32, ptr %t0
|
|
%t141 = icmp eq i32 %t140, 64
|
|
%t142 = zext i1 %t141 to i32
|
|
%t143 = icmp ne i32 %t142, 0
|
|
%t144 = zext i1 %t143 to i32
|
|
store i32 %t144, ptr %t134
|
|
br label %scend39
|
|
scend39:
|
|
%t145 = load i32, ptr %t134
|
|
%t146 = icmp ne i32 %t145, 0
|
|
br i1 %t146, label %then40, label %ifend42
|
|
then40:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend42:
|
|
%t150 = load i32, ptr %t0
|
|
%t151 = icmp eq i32 %t150, 38
|
|
%t152 = zext i1 %t151 to i32
|
|
%t153 = icmp ne i32 %t152, 0
|
|
%t154 = zext i1 %t153 to i32
|
|
store i32 %t154, ptr %t149
|
|
br i1 %t153, label %scend44, label %sc43
|
|
sc43:
|
|
%t155 = load i32, ptr %t0
|
|
%t156 = icmp eq i32 %t155, 124
|
|
%t157 = zext i1 %t156 to i32
|
|
%t158 = icmp ne i32 %t157, 0
|
|
%t159 = zext i1 %t158 to i32
|
|
store i32 %t159, ptr %t149
|
|
br label %scend44
|
|
scend44:
|
|
%t160 = load i32, ptr %t149
|
|
%t161 = icmp ne i32 %t160, 0
|
|
%t162 = zext i1 %t161 to i32
|
|
store i32 %t162, ptr %t148
|
|
br i1 %t161, label %scend46, label %sc45
|
|
sc45:
|
|
%t163 = load i32, ptr %t0
|
|
%t164 = icmp eq i32 %t163, 94
|
|
%t165 = zext i1 %t164 to i32
|
|
%t166 = icmp ne i32 %t165, 0
|
|
%t167 = zext i1 %t166 to i32
|
|
store i32 %t167, ptr %t148
|
|
br label %scend46
|
|
scend46:
|
|
%t168 = load i32, ptr %t148
|
|
%t169 = icmp ne i32 %t168, 0
|
|
%t170 = zext i1 %t169 to i32
|
|
store i32 %t170, ptr %t147
|
|
br i1 %t169, label %scend48, label %sc47
|
|
sc47:
|
|
%t171 = load i32, ptr %t0
|
|
%t172 = icmp eq i32 %t171, 126
|
|
%t173 = zext i1 %t172 to i32
|
|
%t174 = icmp ne i32 %t173, 0
|
|
%t175 = zext i1 %t174 to i32
|
|
store i32 %t175, ptr %t147
|
|
br label %scend48
|
|
scend48:
|
|
%t176 = load i32, ptr %t147
|
|
%t177 = icmp ne i32 %t176, 0
|
|
br i1 %t177, label %then49, label %ifend51
|
|
then49:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend51:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t178 = load i32, ptr %retval
|
|
ret i32 %t178
|
|
}
|
|
|
|
define void @fn_lex(ptr %arg_src) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t7 = alloca i32
|
|
%t8 = alloca i32
|
|
%t12 = alloca i32
|
|
%t23 = alloca i32
|
|
%t33 = alloca i32
|
|
%t34 = alloca i32
|
|
%t61 = alloca i32
|
|
%t88 = alloca i32
|
|
%t92 = alloca ptr
|
|
%t93 = alloca i32
|
|
%t94 = alloca i32
|
|
%t126 = alloca i32
|
|
%t128 = alloca i32
|
|
%t180 = alloca ptr
|
|
%t181 = alloca i32
|
|
%t182 = alloca i32
|
|
%t227 = alloca i32
|
|
%t242 = alloca i32
|
|
%t279 = alloca i32
|
|
%t297 = alloca i32
|
|
%t310 = alloca i32
|
|
%t311 = alloca i32
|
|
%t317 = alloca i32
|
|
%t332 = alloca i32
|
|
%t355 = alloca i32
|
|
%t356 = alloca i32
|
|
%t384 = alloca i32
|
|
%t385 = alloca i32
|
|
%t417 = alloca i32
|
|
%t418 = alloca i32
|
|
%t419 = alloca i32
|
|
%t463 = alloca i32
|
|
%t472 = alloca i32
|
|
%t473 = alloca i32
|
|
store ptr %arg_src, ptr %t0
|
|
%t1 = getelementptr %LSlice, ptr null, i32 1
|
|
%t2 = ptrtoint ptr %t1 to i64
|
|
%t3 = call ptr @malloc(i64 %t2)
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0
|
|
store ptr null, ptr %t4
|
|
%t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
store i32 0, ptr %t5
|
|
%t6 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 2
|
|
store i32 0, ptr %t6
|
|
store ptr %t3, ptr @g_toks
|
|
store i32 0, ptr %t7
|
|
store i32 1, ptr %t8
|
|
%t9 = load ptr, ptr %t0
|
|
%t10 = call i64 @strlen(ptr %t9)
|
|
%t11 = trunc i64 %t10 to i32
|
|
store i32 %t11, ptr %t12
|
|
br label %wcond0
|
|
wcond0:
|
|
%t13 = load i32, ptr %t7
|
|
%t14 = load i32, ptr %t12
|
|
%t15 = icmp slt i32 %t13, %t14
|
|
%t16 = zext i1 %t15 to i32
|
|
%t17 = icmp ne i32 %t16, 0
|
|
br i1 %t17, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t18 = load ptr, ptr %t0
|
|
%t19 = load i32, ptr %t7
|
|
%t20 = getelementptr inbounds i8, ptr %t18, i32 %t19
|
|
%t21 = load i8, ptr %t20
|
|
%t22 = zext i8 %t21 to i32
|
|
store i32 %t22, ptr %t23
|
|
%t24 = load i32, ptr %t23
|
|
%t25 = icmp eq i32 %t24, 10
|
|
%t26 = zext i1 %t25 to i32
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then3, label %ifend5
|
|
then3:
|
|
%t28 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 4, ptr null, i32 0, i32 %t28)
|
|
%t29 = load i32, ptr %t8
|
|
%t30 = add i32 %t29, 1
|
|
store i32 %t30, ptr %t8
|
|
%t31 = load i32, ptr %t7
|
|
%t32 = add i32 %t31, 1
|
|
store i32 %t32, ptr %t7
|
|
br label %wcond0
|
|
ifend5:
|
|
%t35 = load i32, ptr %t23
|
|
%t36 = icmp eq i32 %t35, 32
|
|
%t37 = zext i1 %t36 to i32
|
|
%t38 = icmp ne i32 %t37, 0
|
|
%t39 = zext i1 %t38 to i32
|
|
store i32 %t39, ptr %t34
|
|
br i1 %t38, label %scend7, label %sc6
|
|
sc6:
|
|
%t40 = load i32, ptr %t23
|
|
%t41 = icmp eq i32 %t40, 9
|
|
%t42 = zext i1 %t41 to i32
|
|
%t43 = icmp ne i32 %t42, 0
|
|
%t44 = zext i1 %t43 to i32
|
|
store i32 %t44, ptr %t34
|
|
br label %scend7
|
|
scend7:
|
|
%t45 = load i32, ptr %t34
|
|
%t46 = icmp ne i32 %t45, 0
|
|
%t47 = zext i1 %t46 to i32
|
|
store i32 %t47, ptr %t33
|
|
br i1 %t46, label %scend9, label %sc8
|
|
sc8:
|
|
%t48 = load i32, ptr %t23
|
|
%t49 = icmp eq i32 %t48, 13
|
|
%t50 = zext i1 %t49 to i32
|
|
%t51 = icmp ne i32 %t50, 0
|
|
%t52 = zext i1 %t51 to i32
|
|
store i32 %t52, ptr %t33
|
|
br label %scend9
|
|
scend9:
|
|
%t53 = load i32, ptr %t33
|
|
%t54 = icmp ne i32 %t53, 0
|
|
br i1 %t54, label %then10, label %ifend12
|
|
then10:
|
|
%t55 = load i32, ptr %t7
|
|
%t56 = add i32 %t55, 1
|
|
store i32 %t56, ptr %t7
|
|
br label %wcond0
|
|
ifend12:
|
|
%t57 = load i32, ptr %t23
|
|
%t58 = icmp eq i32 %t57, 35
|
|
%t59 = zext i1 %t58 to i32
|
|
%t60 = icmp ne i32 %t59, 0
|
|
br i1 %t60, label %then13, label %ifend15
|
|
then13:
|
|
br label %wcond16
|
|
wcond16:
|
|
%t62 = load i32, ptr %t7
|
|
%t63 = load i32, ptr %t12
|
|
%t64 = icmp slt i32 %t62, %t63
|
|
%t65 = zext i1 %t64 to i32
|
|
%t66 = icmp ne i32 %t65, 0
|
|
%t67 = zext i1 %t66 to i32
|
|
store i32 %t67, ptr %t61
|
|
br i1 %t66, label %sc19, label %scend20
|
|
sc19:
|
|
%t68 = load ptr, ptr %t0
|
|
%t69 = load i32, ptr %t7
|
|
%t70 = getelementptr inbounds i8, ptr %t68, i32 %t69
|
|
%t71 = load i8, ptr %t70
|
|
%t72 = zext i8 %t71 to i32
|
|
%t73 = icmp ne i32 %t72, 10
|
|
%t74 = zext i1 %t73 to i32
|
|
%t75 = icmp ne i32 %t74, 0
|
|
%t76 = zext i1 %t75 to i32
|
|
store i32 %t76, ptr %t61
|
|
br label %scend20
|
|
scend20:
|
|
%t77 = load i32, ptr %t61
|
|
%t78 = icmp ne i32 %t77, 0
|
|
br i1 %t78, label %wbody17, label %wend18
|
|
wbody17:
|
|
%t79 = load i32, ptr %t7
|
|
%t80 = add i32 %t79, 1
|
|
store i32 %t80, ptr %t7
|
|
br label %wcond16
|
|
wend18:
|
|
br label %wcond0
|
|
ifend15:
|
|
%t81 = load i32, ptr %t23
|
|
%t82 = icmp eq i32 %t81, 34
|
|
%t83 = zext i1 %t82 to i32
|
|
%t84 = icmp ne i32 %t83, 0
|
|
br i1 %t84, label %then21, label %ifend23
|
|
then21:
|
|
%t85 = load i32, ptr %t7
|
|
%t86 = add i32 %t85, 1
|
|
store i32 %t86, ptr %t7
|
|
%t87 = load i32, ptr %t7
|
|
store i32 %t87, ptr %t88
|
|
%t89 = load i32, ptr %t12
|
|
%t90 = zext i32 %t89 to i64
|
|
%t91 = call ptr @malloc(i64 %t90)
|
|
store ptr %t91, ptr %t92
|
|
store i32 0, ptr %t93
|
|
br label %wcond24
|
|
wcond24:
|
|
%t95 = load i32, ptr %t7
|
|
%t96 = load i32, ptr %t12
|
|
%t97 = icmp slt i32 %t95, %t96
|
|
%t98 = zext i1 %t97 to i32
|
|
%t99 = icmp ne i32 %t98, 0
|
|
%t100 = zext i1 %t99 to i32
|
|
store i32 %t100, ptr %t94
|
|
br i1 %t99, label %sc27, label %scend28
|
|
sc27:
|
|
%t101 = load ptr, ptr %t0
|
|
%t102 = load i32, ptr %t7
|
|
%t103 = getelementptr inbounds i8, ptr %t101, i32 %t102
|
|
%t104 = load i8, ptr %t103
|
|
%t105 = zext i8 %t104 to i32
|
|
%t106 = icmp ne i32 %t105, 34
|
|
%t107 = zext i1 %t106 to i32
|
|
%t108 = icmp ne i32 %t107, 0
|
|
%t109 = zext i1 %t108 to i32
|
|
store i32 %t109, ptr %t94
|
|
br label %scend28
|
|
scend28:
|
|
%t110 = load i32, ptr %t94
|
|
%t111 = icmp ne i32 %t110, 0
|
|
br i1 %t111, label %wbody25, label %wend26
|
|
wbody25:
|
|
%t112 = load ptr, ptr %t0
|
|
%t113 = load i32, ptr %t7
|
|
%t114 = getelementptr inbounds i8, ptr %t112, i32 %t113
|
|
%t115 = load i8, ptr %t114
|
|
%t116 = zext i8 %t115 to i32
|
|
%t117 = icmp eq i32 %t116, 92
|
|
%t118 = zext i1 %t117 to i32
|
|
%t119 = icmp ne i32 %t118, 0
|
|
br i1 %t119, label %then29, label %else30
|
|
then29:
|
|
%t120 = load ptr, ptr %t0
|
|
%t121 = load i32, ptr %t7
|
|
%t122 = add i32 %t121, 1
|
|
%t123 = getelementptr inbounds i8, ptr %t120, i32 %t122
|
|
%t124 = load i8, ptr %t123
|
|
%t125 = zext i8 %t124 to i32
|
|
store i32 %t125, ptr %t126
|
|
%t127 = load i32, ptr %t126
|
|
store i32 %t127, ptr %t128
|
|
%t129 = load i32, ptr %t126
|
|
%t130 = icmp eq i32 %t129, 110
|
|
%t131 = zext i1 %t130 to i32
|
|
%t132 = icmp ne i32 %t131, 0
|
|
br i1 %t132, label %then32, label %ifend34
|
|
then32:
|
|
store i32 10, ptr %t128
|
|
br label %ifend34
|
|
ifend34:
|
|
%t133 = load i32, ptr %t126
|
|
%t134 = icmp eq i32 %t133, 116
|
|
%t135 = zext i1 %t134 to i32
|
|
%t136 = icmp ne i32 %t135, 0
|
|
br i1 %t136, label %then35, label %ifend37
|
|
then35:
|
|
store i32 9, ptr %t128
|
|
br label %ifend37
|
|
ifend37:
|
|
%t137 = load i32, ptr %t126
|
|
%t138 = icmp eq i32 %t137, 48
|
|
%t139 = zext i1 %t138 to i32
|
|
%t140 = icmp ne i32 %t139, 0
|
|
br i1 %t140, label %then38, label %ifend40
|
|
then38:
|
|
store i32 0, ptr %t128
|
|
br label %ifend40
|
|
ifend40:
|
|
%t141 = load ptr, ptr %t92
|
|
%t142 = load i32, ptr %t93
|
|
%t143 = getelementptr inbounds i8, ptr %t141, i32 %t142
|
|
%t144 = load i32, ptr %t128
|
|
%t145 = trunc i32 %t144 to i8
|
|
store i8 %t145, ptr %t143
|
|
%t146 = load i32, ptr %t93
|
|
%t147 = add i32 %t146, 1
|
|
store i32 %t147, ptr %t93
|
|
%t148 = load i32, ptr %t7
|
|
%t149 = add i32 %t148, 2
|
|
store i32 %t149, ptr %t7
|
|
br label %ifend31
|
|
else30:
|
|
%t150 = load ptr, ptr %t92
|
|
%t151 = load i32, ptr %t93
|
|
%t152 = getelementptr inbounds i8, ptr %t150, i32 %t151
|
|
%t153 = load ptr, ptr %t0
|
|
%t154 = load i32, ptr %t7
|
|
%t155 = getelementptr inbounds i8, ptr %t153, i32 %t154
|
|
%t156 = load i8, ptr %t155
|
|
%t157 = zext i8 %t156 to i32
|
|
%t158 = trunc i32 %t157 to i8
|
|
store i8 %t158, ptr %t152
|
|
%t159 = load i32, ptr %t93
|
|
%t160 = add i32 %t159, 1
|
|
store i32 %t160, ptr %t93
|
|
%t161 = load i32, ptr %t7
|
|
%t162 = add i32 %t161, 1
|
|
store i32 %t162, ptr %t7
|
|
br label %ifend31
|
|
ifend31:
|
|
br label %wcond24
|
|
wend26:
|
|
%t163 = load i32, ptr %t7
|
|
%t164 = add i32 %t163, 1
|
|
store i32 %t164, ptr %t7
|
|
%t165 = load ptr, ptr %t92
|
|
%t166 = load i32, ptr %t93
|
|
%t167 = getelementptr inbounds i8, ptr %t165, i32 %t166
|
|
%t168 = trunc i32 0 to i8
|
|
store i8 %t168, ptr %t167
|
|
%t169 = load ptr, ptr %t92
|
|
%t170 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 2, ptr %t169, i32 0, i32 %t170)
|
|
br label %wcond0
|
|
ifend23:
|
|
%t171 = load i32, ptr %t23
|
|
%t172 = icmp eq i32 %t171, 96
|
|
%t173 = zext i1 %t172 to i32
|
|
%t174 = icmp ne i32 %t173, 0
|
|
br i1 %t174, label %then41, label %ifend43
|
|
then41:
|
|
%t175 = load i32, ptr %t7
|
|
%t176 = add i32 %t175, 1
|
|
store i32 %t176, ptr %t7
|
|
%t177 = load i32, ptr %t12
|
|
%t178 = zext i32 %t177 to i64
|
|
%t179 = call ptr @malloc(i64 %t178)
|
|
store ptr %t179, ptr %t180
|
|
store i32 0, ptr %t181
|
|
br label %wcond44
|
|
wcond44:
|
|
%t183 = load i32, ptr %t7
|
|
%t184 = load i32, ptr %t12
|
|
%t185 = icmp slt i32 %t183, %t184
|
|
%t186 = zext i1 %t185 to i32
|
|
%t187 = icmp ne i32 %t186, 0
|
|
%t188 = zext i1 %t187 to i32
|
|
store i32 %t188, ptr %t182
|
|
br i1 %t187, label %sc47, label %scend48
|
|
sc47:
|
|
%t189 = load ptr, ptr %t0
|
|
%t190 = load i32, ptr %t7
|
|
%t191 = getelementptr inbounds i8, ptr %t189, i32 %t190
|
|
%t192 = load i8, ptr %t191
|
|
%t193 = zext i8 %t192 to i32
|
|
%t194 = icmp ne i32 %t193, 96
|
|
%t195 = zext i1 %t194 to i32
|
|
%t196 = icmp ne i32 %t195, 0
|
|
%t197 = zext i1 %t196 to i32
|
|
store i32 %t197, ptr %t182
|
|
br label %scend48
|
|
scend48:
|
|
%t198 = load i32, ptr %t182
|
|
%t199 = icmp ne i32 %t198, 0
|
|
br i1 %t199, label %wbody45, label %wend46
|
|
wbody45:
|
|
%t200 = load ptr, ptr %t180
|
|
%t201 = load i32, ptr %t181
|
|
%t202 = getelementptr inbounds i8, ptr %t200, i32 %t201
|
|
%t203 = load ptr, ptr %t0
|
|
%t204 = load i32, ptr %t7
|
|
%t205 = getelementptr inbounds i8, ptr %t203, i32 %t204
|
|
%t206 = load i8, ptr %t205
|
|
%t207 = zext i8 %t206 to i32
|
|
%t208 = trunc i32 %t207 to i8
|
|
store i8 %t208, ptr %t202
|
|
%t209 = load i32, ptr %t181
|
|
%t210 = add i32 %t209, 1
|
|
store i32 %t210, ptr %t181
|
|
%t211 = load i32, ptr %t7
|
|
%t212 = add i32 %t211, 1
|
|
store i32 %t212, ptr %t7
|
|
br label %wcond44
|
|
wend46:
|
|
%t213 = load i32, ptr %t7
|
|
%t214 = add i32 %t213, 1
|
|
store i32 %t214, ptr %t7
|
|
%t215 = load ptr, ptr %t180
|
|
%t216 = load i32, ptr %t181
|
|
%t217 = getelementptr inbounds i8, ptr %t215, i32 %t216
|
|
%t218 = trunc i32 0 to i8
|
|
store i8 %t218, ptr %t217
|
|
%t219 = load ptr, ptr %t180
|
|
%t220 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 7, ptr %t219, i32 0, i32 %t220)
|
|
br label %wcond0
|
|
ifend43:
|
|
%t221 = load i32, ptr %t23
|
|
%t222 = icmp eq i32 %t221, 39
|
|
%t223 = zext i1 %t222 to i32
|
|
%t224 = icmp ne i32 %t223, 0
|
|
br i1 %t224, label %then49, label %ifend51
|
|
then49:
|
|
%t225 = load i32, ptr %t7
|
|
%t226 = add i32 %t225, 1
|
|
store i32 %t226, ptr %t7
|
|
store i32 0, ptr %t227
|
|
%t228 = load ptr, ptr %t0
|
|
%t229 = load i32, ptr %t7
|
|
%t230 = getelementptr inbounds i8, ptr %t228, i32 %t229
|
|
%t231 = load i8, ptr %t230
|
|
%t232 = zext i8 %t231 to i32
|
|
%t233 = icmp eq i32 %t232, 92
|
|
%t234 = zext i1 %t233 to i32
|
|
%t235 = icmp ne i32 %t234, 0
|
|
br i1 %t235, label %then52, label %else53
|
|
then52:
|
|
%t236 = load ptr, ptr %t0
|
|
%t237 = load i32, ptr %t7
|
|
%t238 = add i32 %t237, 1
|
|
%t239 = getelementptr inbounds i8, ptr %t236, i32 %t238
|
|
%t240 = load i8, ptr %t239
|
|
%t241 = zext i8 %t240 to i32
|
|
store i32 %t241, ptr %t242
|
|
%t243 = load i32, ptr %t242
|
|
%t244 = icmp eq i32 %t243, 110
|
|
%t245 = zext i1 %t244 to i32
|
|
%t246 = icmp ne i32 %t245, 0
|
|
br i1 %t246, label %then55, label %ifend57
|
|
then55:
|
|
store i32 10, ptr %t227
|
|
br label %ifend57
|
|
ifend57:
|
|
%t247 = load i32, ptr %t242
|
|
%t248 = icmp eq i32 %t247, 116
|
|
%t249 = zext i1 %t248 to i32
|
|
%t250 = icmp ne i32 %t249, 0
|
|
br i1 %t250, label %then58, label %ifend60
|
|
then58:
|
|
store i32 9, ptr %t227
|
|
br label %ifend60
|
|
ifend60:
|
|
%t251 = load i32, ptr %t242
|
|
%t252 = icmp eq i32 %t251, 48
|
|
%t253 = zext i1 %t252 to i32
|
|
%t254 = icmp ne i32 %t253, 0
|
|
br i1 %t254, label %then61, label %ifend63
|
|
then61:
|
|
store i32 0, ptr %t227
|
|
br label %ifend63
|
|
ifend63:
|
|
%t255 = load i32, ptr %t7
|
|
%t256 = add i32 %t255, 2
|
|
store i32 %t256, ptr %t7
|
|
br label %ifend54
|
|
else53:
|
|
%t257 = load ptr, ptr %t0
|
|
%t258 = load i32, ptr %t7
|
|
%t259 = getelementptr inbounds i8, ptr %t257, i32 %t258
|
|
%t260 = load i8, ptr %t259
|
|
%t261 = zext i8 %t260 to i32
|
|
store i32 %t261, ptr %t227
|
|
%t262 = load i32, ptr %t7
|
|
%t263 = add i32 %t262, 1
|
|
store i32 %t263, ptr %t7
|
|
br label %ifend54
|
|
ifend54:
|
|
%t264 = load ptr, ptr %t0
|
|
%t265 = load i32, ptr %t7
|
|
%t266 = getelementptr inbounds i8, ptr %t264, i32 %t265
|
|
%t267 = load i8, ptr %t266
|
|
%t268 = zext i8 %t267 to i32
|
|
%t269 = icmp eq i32 %t268, 39
|
|
%t270 = zext i1 %t269 to i32
|
|
%t271 = icmp ne i32 %t270, 0
|
|
br i1 %t271, label %then64, label %ifend66
|
|
then64:
|
|
%t272 = load i32, ptr %t7
|
|
%t273 = add i32 %t272, 1
|
|
store i32 %t273, ptr %t7
|
|
br label %ifend66
|
|
ifend66:
|
|
%t274 = load i32, ptr %t227
|
|
%t275 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 1, ptr null, i32 %t274, i32 %t275)
|
|
br label %wcond0
|
|
ifend51:
|
|
%t276 = load i32, ptr %t23
|
|
%t277 = call i32 @fn_char_is_digit(i32 %t276)
|
|
%t278 = icmp ne i32 %t277, 0
|
|
br i1 %t278, label %then67, label %ifend69
|
|
then67:
|
|
%t280 = load i32, ptr %t23
|
|
%t281 = icmp eq i32 %t280, 48
|
|
%t282 = zext i1 %t281 to i32
|
|
%t283 = icmp ne i32 %t282, 0
|
|
%t284 = zext i1 %t283 to i32
|
|
store i32 %t284, ptr %t279
|
|
br i1 %t283, label %sc70, label %scend71
|
|
sc70:
|
|
%t285 = load ptr, ptr %t0
|
|
%t286 = load i32, ptr %t7
|
|
%t287 = add i32 %t286, 1
|
|
%t288 = getelementptr inbounds i8, ptr %t285, i32 %t287
|
|
%t289 = load i8, ptr %t288
|
|
%t290 = zext i8 %t289 to i32
|
|
%t291 = icmp eq i32 %t290, 120
|
|
%t292 = zext i1 %t291 to i32
|
|
%t293 = icmp ne i32 %t292, 0
|
|
%t294 = zext i1 %t293 to i32
|
|
store i32 %t294, ptr %t279
|
|
br label %scend71
|
|
scend71:
|
|
%t295 = load i32, ptr %t279
|
|
%t296 = icmp ne i32 %t295, 0
|
|
br i1 %t296, label %then72, label %ifend74
|
|
then72:
|
|
store i32 0, ptr %t297
|
|
%t298 = load i32, ptr %t7
|
|
%t299 = add i32 %t298, 2
|
|
store i32 %t299, ptr %t7
|
|
br label %wcond75
|
|
wcond75:
|
|
%t300 = load i32, ptr %t7
|
|
%t301 = load i32, ptr %t12
|
|
%t302 = icmp slt i32 %t300, %t301
|
|
%t303 = zext i1 %t302 to i32
|
|
%t304 = icmp ne i32 %t303, 0
|
|
br i1 %t304, label %wbody76, label %wend77
|
|
wbody76:
|
|
%t305 = load ptr, ptr %t0
|
|
%t306 = load i32, ptr %t7
|
|
%t307 = getelementptr inbounds i8, ptr %t305, i32 %t306
|
|
%t308 = load i8, ptr %t307
|
|
%t309 = zext i8 %t308 to i32
|
|
store i32 %t309, ptr %t310
|
|
store i32 0, ptr %t311
|
|
%t312 = load i32, ptr %t310
|
|
%t313 = call i32 @fn_char_is_digit(i32 %t312)
|
|
%t314 = icmp ne i32 %t313, 0
|
|
br i1 %t314, label %then78, label %else79
|
|
then78:
|
|
%t315 = load i32, ptr %t310
|
|
%t316 = sub i32 %t315, 48
|
|
store i32 %t316, ptr %t311
|
|
br label %ifend80
|
|
else79:
|
|
%t318 = load i32, ptr %t310
|
|
%t319 = icmp sge i32 %t318, 97
|
|
%t320 = zext i1 %t319 to i32
|
|
%t321 = icmp ne i32 %t320, 0
|
|
%t322 = zext i1 %t321 to i32
|
|
store i32 %t322, ptr %t317
|
|
br i1 %t321, label %sc81, label %scend82
|
|
sc81:
|
|
%t323 = load i32, ptr %t310
|
|
%t324 = icmp sle i32 %t323, 102
|
|
%t325 = zext i1 %t324 to i32
|
|
%t326 = icmp ne i32 %t325, 0
|
|
%t327 = zext i1 %t326 to i32
|
|
store i32 %t327, ptr %t317
|
|
br label %scend82
|
|
scend82:
|
|
%t328 = load i32, ptr %t317
|
|
%t329 = icmp ne i32 %t328, 0
|
|
br i1 %t329, label %then83, label %else84
|
|
then83:
|
|
%t330 = load i32, ptr %t310
|
|
%t331 = sub i32 %t330, 87
|
|
store i32 %t331, ptr %t311
|
|
br label %ifend85
|
|
else84:
|
|
%t333 = load i32, ptr %t310
|
|
%t334 = icmp sge i32 %t333, 65
|
|
%t335 = zext i1 %t334 to i32
|
|
%t336 = icmp ne i32 %t335, 0
|
|
%t337 = zext i1 %t336 to i32
|
|
store i32 %t337, ptr %t332
|
|
br i1 %t336, label %sc86, label %scend87
|
|
sc86:
|
|
%t338 = load i32, ptr %t310
|
|
%t339 = icmp sle i32 %t338, 70
|
|
%t340 = zext i1 %t339 to i32
|
|
%t341 = icmp ne i32 %t340, 0
|
|
%t342 = zext i1 %t341 to i32
|
|
store i32 %t342, ptr %t332
|
|
br label %scend87
|
|
scend87:
|
|
%t343 = load i32, ptr %t332
|
|
%t344 = icmp ne i32 %t343, 0
|
|
br i1 %t344, label %then88, label %else89
|
|
then88:
|
|
%t345 = load i32, ptr %t310
|
|
%t346 = sub i32 %t345, 55
|
|
store i32 %t346, ptr %t311
|
|
br label %ifend90
|
|
else89:
|
|
br label %wend77
|
|
ifend90:
|
|
br label %ifend85
|
|
ifend85:
|
|
br label %ifend80
|
|
ifend80:
|
|
%t347 = load i32, ptr %t297
|
|
%t348 = mul i32 %t347, 16
|
|
%t349 = load i32, ptr %t311
|
|
%t350 = add i32 %t348, %t349
|
|
store i32 %t350, ptr %t297
|
|
%t351 = load i32, ptr %t7
|
|
%t352 = add i32 %t351, 1
|
|
store i32 %t352, ptr %t7
|
|
br label %wcond75
|
|
wend77:
|
|
%t353 = load i32, ptr %t297
|
|
%t354 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 1, ptr null, i32 %t353, i32 %t354)
|
|
br label %wcond0
|
|
ifend74:
|
|
store i32 0, ptr %t355
|
|
br label %wcond91
|
|
wcond91:
|
|
%t357 = load i32, ptr %t7
|
|
%t358 = load i32, ptr %t12
|
|
%t359 = icmp slt i32 %t357, %t358
|
|
%t360 = zext i1 %t359 to i32
|
|
%t361 = icmp ne i32 %t360, 0
|
|
%t362 = zext i1 %t361 to i32
|
|
store i32 %t362, ptr %t356
|
|
br i1 %t361, label %sc94, label %scend95
|
|
sc94:
|
|
%t363 = load ptr, ptr %t0
|
|
%t364 = load i32, ptr %t7
|
|
%t365 = getelementptr inbounds i8, ptr %t363, i32 %t364
|
|
%t366 = load i8, ptr %t365
|
|
%t367 = zext i8 %t366 to i32
|
|
%t368 = call i32 @fn_char_is_digit(i32 %t367)
|
|
%t369 = icmp ne i32 %t368, 0
|
|
%t370 = zext i1 %t369 to i32
|
|
store i32 %t370, ptr %t356
|
|
br label %scend95
|
|
scend95:
|
|
%t371 = load i32, ptr %t356
|
|
%t372 = icmp ne i32 %t371, 0
|
|
br i1 %t372, label %wbody92, label %wend93
|
|
wbody92:
|
|
%t373 = load i32, ptr %t355
|
|
%t374 = mul i32 %t373, 10
|
|
%t375 = load ptr, ptr %t0
|
|
%t376 = load i32, ptr %t7
|
|
%t377 = getelementptr inbounds i8, ptr %t375, i32 %t376
|
|
%t378 = load i8, ptr %t377
|
|
%t379 = zext i8 %t378 to i32
|
|
%t380 = sub i32 %t379, 48
|
|
%t381 = add i32 %t374, %t380
|
|
store i32 %t381, ptr %t355
|
|
%t382 = load i32, ptr %t7
|
|
%t383 = add i32 %t382, 1
|
|
store i32 %t383, ptr %t7
|
|
br label %wcond91
|
|
wend93:
|
|
%t386 = load i32, ptr %t7
|
|
%t387 = load i32, ptr %t12
|
|
%t388 = icmp slt i32 %t386, %t387
|
|
%t389 = zext i1 %t388 to i32
|
|
%t390 = icmp ne i32 %t389, 0
|
|
%t391 = zext i1 %t390 to i32
|
|
store i32 %t391, ptr %t385
|
|
br i1 %t390, label %sc96, label %scend97
|
|
sc96:
|
|
%t392 = load ptr, ptr %t0
|
|
%t393 = load i32, ptr %t7
|
|
%t394 = getelementptr inbounds i8, ptr %t392, i32 %t393
|
|
%t395 = load i8, ptr %t394
|
|
%t396 = zext i8 %t395 to i32
|
|
%t397 = icmp eq i32 %t396, 46
|
|
%t398 = zext i1 %t397 to i32
|
|
%t399 = icmp ne i32 %t398, 0
|
|
%t400 = zext i1 %t399 to i32
|
|
store i32 %t400, ptr %t385
|
|
br label %scend97
|
|
scend97:
|
|
%t401 = load i32, ptr %t385
|
|
%t402 = icmp ne i32 %t401, 0
|
|
%t403 = zext i1 %t402 to i32
|
|
store i32 %t403, ptr %t384
|
|
br i1 %t402, label %sc98, label %scend99
|
|
sc98:
|
|
%t404 = load ptr, ptr %t0
|
|
%t405 = load i32, ptr %t7
|
|
%t406 = add i32 %t405, 1
|
|
%t407 = getelementptr inbounds i8, ptr %t404, i32 %t406
|
|
%t408 = load i8, ptr %t407
|
|
%t409 = zext i8 %t408 to i32
|
|
%t410 = call i32 @fn_char_is_digit(i32 %t409)
|
|
%t411 = icmp ne i32 %t410, 0
|
|
%t412 = zext i1 %t411 to i32
|
|
store i32 %t412, ptr %t384
|
|
br label %scend99
|
|
scend99:
|
|
%t413 = load i32, ptr %t384
|
|
%t414 = icmp ne i32 %t413, 0
|
|
br i1 %t414, label %then100, label %ifend102
|
|
then100:
|
|
%t415 = load i32, ptr %t7
|
|
%t416 = add i32 %t415, 1
|
|
store i32 %t416, ptr %t7
|
|
store i32 0, ptr %t417
|
|
store i32 1, ptr %t418
|
|
br label %wcond103
|
|
wcond103:
|
|
%t420 = load i32, ptr %t7
|
|
%t421 = load i32, ptr %t12
|
|
%t422 = icmp slt i32 %t420, %t421
|
|
%t423 = zext i1 %t422 to i32
|
|
%t424 = icmp ne i32 %t423, 0
|
|
%t425 = zext i1 %t424 to i32
|
|
store i32 %t425, ptr %t419
|
|
br i1 %t424, label %sc106, label %scend107
|
|
sc106:
|
|
%t426 = load ptr, ptr %t0
|
|
%t427 = load i32, ptr %t7
|
|
%t428 = getelementptr inbounds i8, ptr %t426, i32 %t427
|
|
%t429 = load i8, ptr %t428
|
|
%t430 = zext i8 %t429 to i32
|
|
%t431 = call i32 @fn_char_is_digit(i32 %t430)
|
|
%t432 = icmp ne i32 %t431, 0
|
|
%t433 = zext i1 %t432 to i32
|
|
store i32 %t433, ptr %t419
|
|
br label %scend107
|
|
scend107:
|
|
%t434 = load i32, ptr %t419
|
|
%t435 = icmp ne i32 %t434, 0
|
|
br i1 %t435, label %wbody104, label %wend105
|
|
wbody104:
|
|
%t436 = load i32, ptr %t418
|
|
%t437 = icmp slt i32 %t436, 10000
|
|
%t438 = zext i1 %t437 to i32
|
|
%t439 = icmp ne i32 %t438, 0
|
|
br i1 %t439, label %then108, label %ifend110
|
|
then108:
|
|
%t440 = load i32, ptr %t417
|
|
%t441 = mul i32 %t440, 10
|
|
%t442 = load ptr, ptr %t0
|
|
%t443 = load i32, ptr %t7
|
|
%t444 = getelementptr inbounds i8, ptr %t442, i32 %t443
|
|
%t445 = load i8, ptr %t444
|
|
%t446 = zext i8 %t445 to i32
|
|
%t447 = sub i32 %t446, 48
|
|
%t448 = add i32 %t441, %t447
|
|
store i32 %t448, ptr %t417
|
|
%t449 = load i32, ptr %t418
|
|
%t450 = mul i32 %t449, 10
|
|
store i32 %t450, ptr %t418
|
|
br label %ifend110
|
|
ifend110:
|
|
%t451 = load i32, ptr %t7
|
|
%t452 = add i32 %t451, 1
|
|
store i32 %t452, ptr %t7
|
|
br label %wcond103
|
|
wend105:
|
|
%t453 = load i32, ptr %t355
|
|
%t454 = shl i32 %t453, 16
|
|
%t455 = load i32, ptr %t417
|
|
%t456 = shl i32 %t455, 16
|
|
%t457 = load i32, ptr %t418
|
|
%t458 = lshr i32 %t457, 1
|
|
%t459 = add i32 %t456, %t458
|
|
%t460 = load i32, ptr %t418
|
|
%t461 = sdiv i32 %t459, %t460
|
|
%t462 = add i32 %t454, %t461
|
|
store i32 %t462, ptr %t463
|
|
%t464 = load i32, ptr %t463
|
|
%t465 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 6, ptr null, i32 %t464, i32 %t465)
|
|
br label %wcond0
|
|
ifend102:
|
|
%t466 = load i32, ptr %t355
|
|
%t467 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 1, ptr null, i32 %t466, i32 %t467)
|
|
br label %wcond0
|
|
ifend69:
|
|
%t468 = load i32, ptr %t23
|
|
%t469 = call i32 @fn_char_is_alpha(i32 %t468)
|
|
%t470 = icmp ne i32 %t469, 0
|
|
br i1 %t470, label %then111, label %ifend113
|
|
then111:
|
|
%t471 = load i32, ptr %t7
|
|
store i32 %t471, ptr %t472
|
|
br label %wcond114
|
|
wcond114:
|
|
%t474 = load i32, ptr %t7
|
|
%t475 = load i32, ptr %t12
|
|
%t476 = icmp slt i32 %t474, %t475
|
|
%t477 = zext i1 %t476 to i32
|
|
%t478 = icmp ne i32 %t477, 0
|
|
%t479 = zext i1 %t478 to i32
|
|
store i32 %t479, ptr %t473
|
|
br i1 %t478, label %sc117, label %scend118
|
|
sc117:
|
|
%t480 = load ptr, ptr %t0
|
|
%t481 = load i32, ptr %t7
|
|
%t482 = getelementptr inbounds i8, ptr %t480, i32 %t481
|
|
%t483 = load i8, ptr %t482
|
|
%t484 = zext i8 %t483 to i32
|
|
%t485 = call i32 @fn_char_is_alnum(i32 %t484)
|
|
%t486 = icmp ne i32 %t485, 0
|
|
%t487 = zext i1 %t486 to i32
|
|
store i32 %t487, ptr %t473
|
|
br label %scend118
|
|
scend118:
|
|
%t488 = load i32, ptr %t473
|
|
%t489 = icmp ne i32 %t488, 0
|
|
br i1 %t489, label %wbody115, label %wend116
|
|
wbody115:
|
|
%t490 = load i32, ptr %t7
|
|
%t491 = add i32 %t490, 1
|
|
store i32 %t491, ptr %t7
|
|
br label %wcond114
|
|
wend116:
|
|
%t492 = load ptr, ptr %t0
|
|
%t493 = load i32, ptr %t472
|
|
%t494 = load i32, ptr %t7
|
|
%t495 = call ptr @fn_str_slice(ptr %t492, i32 %t493, i32 %t494)
|
|
%t496 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 0, ptr %t495, i32 0, i32 %t496)
|
|
br label %wcond0
|
|
ifend113:
|
|
%t497 = load i32, ptr %t23
|
|
%t498 = icmp eq i32 %t497, 59
|
|
%t499 = zext i1 %t498 to i32
|
|
%t500 = icmp ne i32 %t499, 0
|
|
br i1 %t500, label %then119, label %ifend121
|
|
then119:
|
|
%t501 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 4, ptr null, i32 0, i32 %t501)
|
|
%t502 = load i32, ptr %t7
|
|
%t503 = add i32 %t502, 1
|
|
store i32 %t503, ptr %t7
|
|
br label %wcond0
|
|
ifend121:
|
|
%t504 = load ptr, ptr %t0
|
|
%t505 = load i32, ptr %t7
|
|
%t506 = call i32 @fn_two_at(ptr %t504, i32 %t505, i32 45, i32 62)
|
|
%t507 = icmp ne i32 %t506, 0
|
|
br i1 %t507, label %then122, label %ifend124
|
|
then122:
|
|
%t508 = load ptr, ptr %t0
|
|
%t509 = load i32, ptr %t7
|
|
%t510 = load i32, ptr %t7
|
|
%t511 = add i32 %t510, 2
|
|
%t512 = call ptr @fn_str_slice(ptr %t508, i32 %t509, i32 %t511)
|
|
%t513 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 3, ptr %t512, i32 0, i32 %t513)
|
|
%t514 = load i32, ptr %t7
|
|
%t515 = add i32 %t514, 2
|
|
store i32 %t515, ptr %t7
|
|
br label %wcond0
|
|
ifend124:
|
|
%t516 = load ptr, ptr %t0
|
|
%t517 = load i32, ptr %t7
|
|
%t518 = call i32 @fn_two_at(ptr %t516, i32 %t517, i32 61, i32 62)
|
|
%t519 = icmp ne i32 %t518, 0
|
|
br i1 %t519, label %then125, label %ifend127
|
|
then125:
|
|
%t520 = load ptr, ptr %t0
|
|
%t521 = load i32, ptr %t7
|
|
%t522 = load i32, ptr %t7
|
|
%t523 = add i32 %t522, 2
|
|
%t524 = call ptr @fn_str_slice(ptr %t520, i32 %t521, i32 %t523)
|
|
%t525 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 3, ptr %t524, i32 0, i32 %t525)
|
|
%t526 = load i32, ptr %t7
|
|
%t527 = add i32 %t526, 2
|
|
store i32 %t527, ptr %t7
|
|
br label %wcond0
|
|
ifend127:
|
|
%t528 = load ptr, ptr %t0
|
|
%t529 = load i32, ptr %t7
|
|
%t530 = call i32 @fn_two_at(ptr %t528, i32 %t529, i32 61, i32 61)
|
|
%t531 = icmp ne i32 %t530, 0
|
|
br i1 %t531, label %then128, label %ifend130
|
|
then128:
|
|
%t532 = load ptr, ptr %t0
|
|
%t533 = load i32, ptr %t7
|
|
%t534 = load i32, ptr %t7
|
|
%t535 = add i32 %t534, 2
|
|
%t536 = call ptr @fn_str_slice(ptr %t532, i32 %t533, i32 %t535)
|
|
%t537 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 3, ptr %t536, i32 0, i32 %t537)
|
|
%t538 = load i32, ptr %t7
|
|
%t539 = add i32 %t538, 2
|
|
store i32 %t539, ptr %t7
|
|
br label %wcond0
|
|
ifend130:
|
|
%t540 = load ptr, ptr %t0
|
|
%t541 = load i32, ptr %t7
|
|
%t542 = call i32 @fn_two_at(ptr %t540, i32 %t541, i32 33, i32 61)
|
|
%t543 = icmp ne i32 %t542, 0
|
|
br i1 %t543, label %then131, label %ifend133
|
|
then131:
|
|
%t544 = load ptr, ptr %t0
|
|
%t545 = load i32, ptr %t7
|
|
%t546 = load i32, ptr %t7
|
|
%t547 = add i32 %t546, 2
|
|
%t548 = call ptr @fn_str_slice(ptr %t544, i32 %t545, i32 %t547)
|
|
%t549 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 3, ptr %t548, i32 0, i32 %t549)
|
|
%t550 = load i32, ptr %t7
|
|
%t551 = add i32 %t550, 2
|
|
store i32 %t551, ptr %t7
|
|
br label %wcond0
|
|
ifend133:
|
|
%t552 = load ptr, ptr %t0
|
|
%t553 = load i32, ptr %t7
|
|
%t554 = call i32 @fn_two_at(ptr %t552, i32 %t553, i32 60, i32 61)
|
|
%t555 = icmp ne i32 %t554, 0
|
|
br i1 %t555, label %then134, label %ifend136
|
|
then134:
|
|
%t556 = load ptr, ptr %t0
|
|
%t557 = load i32, ptr %t7
|
|
%t558 = load i32, ptr %t7
|
|
%t559 = add i32 %t558, 2
|
|
%t560 = call ptr @fn_str_slice(ptr %t556, i32 %t557, i32 %t559)
|
|
%t561 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 3, ptr %t560, i32 0, i32 %t561)
|
|
%t562 = load i32, ptr %t7
|
|
%t563 = add i32 %t562, 2
|
|
store i32 %t563, ptr %t7
|
|
br label %wcond0
|
|
ifend136:
|
|
%t564 = load ptr, ptr %t0
|
|
%t565 = load i32, ptr %t7
|
|
%t566 = call i32 @fn_two_at(ptr %t564, i32 %t565, i32 62, i32 61)
|
|
%t567 = icmp ne i32 %t566, 0
|
|
br i1 %t567, label %then137, label %ifend139
|
|
then137:
|
|
%t568 = load ptr, ptr %t0
|
|
%t569 = load i32, ptr %t7
|
|
%t570 = load i32, ptr %t7
|
|
%t571 = add i32 %t570, 2
|
|
%t572 = call ptr @fn_str_slice(ptr %t568, i32 %t569, i32 %t571)
|
|
%t573 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 3, ptr %t572, i32 0, i32 %t573)
|
|
%t574 = load i32, ptr %t7
|
|
%t575 = add i32 %t574, 2
|
|
store i32 %t575, ptr %t7
|
|
br label %wcond0
|
|
ifend139:
|
|
%t576 = load ptr, ptr %t0
|
|
%t577 = load i32, ptr %t7
|
|
%t578 = call i32 @fn_two_at(ptr %t576, i32 %t577, i32 43, i32 61)
|
|
%t579 = icmp ne i32 %t578, 0
|
|
br i1 %t579, label %then140, label %ifend142
|
|
then140:
|
|
%t580 = load ptr, ptr %t0
|
|
%t581 = load i32, ptr %t7
|
|
%t582 = load i32, ptr %t7
|
|
%t583 = add i32 %t582, 2
|
|
%t584 = call ptr @fn_str_slice(ptr %t580, i32 %t581, i32 %t583)
|
|
%t585 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 3, ptr %t584, i32 0, i32 %t585)
|
|
%t586 = load i32, ptr %t7
|
|
%t587 = add i32 %t586, 2
|
|
store i32 %t587, ptr %t7
|
|
br label %wcond0
|
|
ifend142:
|
|
%t588 = load ptr, ptr %t0
|
|
%t589 = load i32, ptr %t7
|
|
%t590 = call i32 @fn_two_at(ptr %t588, i32 %t589, i32 45, i32 61)
|
|
%t591 = icmp ne i32 %t590, 0
|
|
br i1 %t591, label %then143, label %ifend145
|
|
then143:
|
|
%t592 = load ptr, ptr %t0
|
|
%t593 = load i32, ptr %t7
|
|
%t594 = load i32, ptr %t7
|
|
%t595 = add i32 %t594, 2
|
|
%t596 = call ptr @fn_str_slice(ptr %t592, i32 %t593, i32 %t595)
|
|
%t597 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 3, ptr %t596, i32 0, i32 %t597)
|
|
%t598 = load i32, ptr %t7
|
|
%t599 = add i32 %t598, 2
|
|
store i32 %t599, ptr %t7
|
|
br label %wcond0
|
|
ifend145:
|
|
%t600 = load ptr, ptr %t0
|
|
%t601 = load i32, ptr %t7
|
|
%t602 = call i32 @fn_two_at(ptr %t600, i32 %t601, i32 42, i32 61)
|
|
%t603 = icmp ne i32 %t602, 0
|
|
br i1 %t603, label %then146, label %ifend148
|
|
then146:
|
|
%t604 = load ptr, ptr %t0
|
|
%t605 = load i32, ptr %t7
|
|
%t606 = load i32, ptr %t7
|
|
%t607 = add i32 %t606, 2
|
|
%t608 = call ptr @fn_str_slice(ptr %t604, i32 %t605, i32 %t607)
|
|
%t609 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 3, ptr %t608, i32 0, i32 %t609)
|
|
%t610 = load i32, ptr %t7
|
|
%t611 = add i32 %t610, 2
|
|
store i32 %t611, ptr %t7
|
|
br label %wcond0
|
|
ifend148:
|
|
%t612 = load ptr, ptr %t0
|
|
%t613 = load i32, ptr %t7
|
|
%t614 = call i32 @fn_two_at(ptr %t612, i32 %t613, i32 47, i32 61)
|
|
%t615 = icmp ne i32 %t614, 0
|
|
br i1 %t615, label %then149, label %ifend151
|
|
then149:
|
|
%t616 = load ptr, ptr %t0
|
|
%t617 = load i32, ptr %t7
|
|
%t618 = load i32, ptr %t7
|
|
%t619 = add i32 %t618, 2
|
|
%t620 = call ptr @fn_str_slice(ptr %t616, i32 %t617, i32 %t619)
|
|
%t621 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 3, ptr %t620, i32 0, i32 %t621)
|
|
%t622 = load i32, ptr %t7
|
|
%t623 = add i32 %t622, 2
|
|
store i32 %t623, ptr %t7
|
|
br label %wcond0
|
|
ifend151:
|
|
%t624 = load ptr, ptr %t0
|
|
%t625 = load i32, ptr %t7
|
|
%t626 = call i32 @fn_two_at(ptr %t624, i32 %t625, i32 46, i32 46)
|
|
%t627 = icmp ne i32 %t626, 0
|
|
br i1 %t627, label %then152, label %ifend154
|
|
then152:
|
|
%t628 = load ptr, ptr %t0
|
|
%t629 = load i32, ptr %t7
|
|
%t630 = load i32, ptr %t7
|
|
%t631 = add i32 %t630, 2
|
|
%t632 = call ptr @fn_str_slice(ptr %t628, i32 %t629, i32 %t631)
|
|
%t633 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 3, ptr %t632, i32 0, i32 %t633)
|
|
%t634 = load i32, ptr %t7
|
|
%t635 = add i32 %t634, 2
|
|
store i32 %t635, ptr %t7
|
|
br label %wcond0
|
|
ifend154:
|
|
%t636 = load ptr, ptr %t0
|
|
%t637 = load i32, ptr %t7
|
|
%t638 = call i32 @fn_two_at(ptr %t636, i32 %t637, i32 60, i32 60)
|
|
%t639 = icmp ne i32 %t638, 0
|
|
br i1 %t639, label %then155, label %ifend157
|
|
then155:
|
|
%t640 = load ptr, ptr %t0
|
|
%t641 = load i32, ptr %t7
|
|
%t642 = load i32, ptr %t7
|
|
%t643 = add i32 %t642, 2
|
|
%t644 = call ptr @fn_str_slice(ptr %t640, i32 %t641, i32 %t643)
|
|
%t645 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 3, ptr %t644, i32 0, i32 %t645)
|
|
%t646 = load i32, ptr %t7
|
|
%t647 = add i32 %t646, 2
|
|
store i32 %t647, ptr %t7
|
|
br label %wcond0
|
|
ifend157:
|
|
%t648 = load ptr, ptr %t0
|
|
%t649 = load i32, ptr %t7
|
|
%t650 = call i32 @fn_two_at(ptr %t648, i32 %t649, i32 62, i32 62)
|
|
%t651 = icmp ne i32 %t650, 0
|
|
br i1 %t651, label %then158, label %ifend160
|
|
then158:
|
|
%t652 = load ptr, ptr %t0
|
|
%t653 = load i32, ptr %t7
|
|
%t654 = load i32, ptr %t7
|
|
%t655 = add i32 %t654, 2
|
|
%t656 = call ptr @fn_str_slice(ptr %t652, i32 %t653, i32 %t655)
|
|
%t657 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 3, ptr %t656, i32 0, i32 %t657)
|
|
%t658 = load i32, ptr %t7
|
|
%t659 = add i32 %t658, 2
|
|
store i32 %t659, ptr %t7
|
|
br label %wcond0
|
|
ifend160:
|
|
%t660 = load i32, ptr %t23
|
|
%t661 = call i32 @fn_is_op1(i32 %t660)
|
|
%t662 = icmp ne i32 %t661, 0
|
|
br i1 %t662, label %then161, label %ifend163
|
|
then161:
|
|
%t663 = load ptr, ptr %t0
|
|
%t664 = load i32, ptr %t7
|
|
%t665 = load i32, ptr %t7
|
|
%t666 = add i32 %t665, 1
|
|
%t667 = call ptr @fn_str_slice(ptr %t663, i32 %t664, i32 %t666)
|
|
%t668 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 3, ptr %t667, i32 0, i32 %t668)
|
|
%t669 = load i32, ptr %t7
|
|
%t670 = add i32 %t669, 1
|
|
store i32 %t670, ptr %t7
|
|
br label %wcond0
|
|
ifend163:
|
|
%t671 = load i32, ptr %t7
|
|
%t672 = add i32 %t671, 1
|
|
store i32 %t672, ptr %t7
|
|
br label %wcond0
|
|
wend2:
|
|
%t673 = load i32, ptr %t8
|
|
call void @fn_tok_push(i32 5, ptr null, i32 0, i32 %t673)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_cur() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = load ptr, ptr @g_toks
|
|
%t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0
|
|
%t2 = load ptr, ptr %t1
|
|
%t3 = load i32, ptr @g_pi
|
|
%t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3
|
|
%t5 = load ptr, ptr %t4
|
|
store ptr %t5, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t6 = load ptr, ptr %retval
|
|
ret ptr %t6
|
|
}
|
|
|
|
define ptr @fn_pk(i32 %arg_o) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca i32
|
|
store i32 %arg_o, ptr %t0
|
|
%t1 = load ptr, ptr @g_toks
|
|
%t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = load i32, ptr @g_pi
|
|
%t5 = load i32, ptr %t0
|
|
%t6 = add i32 %t4, %t5
|
|
%t7 = getelementptr inbounds ptr, ptr %t3, i32 %t6
|
|
%t8 = load ptr, ptr %t7
|
|
store ptr %t8, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t9 = load ptr, ptr %retval
|
|
ret ptr %t9
|
|
}
|
|
|
|
define i32 @fn_is_op(ptr %arg_v) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t8 = alloca i32
|
|
store ptr %arg_v, ptr %t0
|
|
%t1 = load ptr, ptr @g_toks
|
|
%t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = load i32, ptr @g_pi
|
|
%t5 = getelementptr inbounds ptr, ptr %t3, i32 %t4
|
|
%t6 = load ptr, ptr %t5
|
|
store ptr %t6, ptr %t7
|
|
%t9 = load ptr, ptr %t7
|
|
%t10 = getelementptr inbounds %Cmp_Tok, ptr %t9, i32 0, i32 0
|
|
%t11 = load i32, ptr %t10
|
|
%t12 = icmp eq i32 %t11, 3
|
|
%t13 = zext i1 %t12 to i32
|
|
%t14 = icmp ne i32 %t13, 0
|
|
%t15 = zext i1 %t14 to i32
|
|
store i32 %t15, ptr %t8
|
|
br i1 %t14, label %sc0, label %scend1
|
|
sc0:
|
|
%t16 = load ptr, ptr %t7
|
|
%t17 = getelementptr inbounds %Cmp_Tok, ptr %t16, i32 0, i32 1
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = load ptr, ptr %t0
|
|
%t20 = call i32 @fn_str_eq(ptr %t18, ptr %t19)
|
|
%t21 = icmp ne i32 %t20, 0
|
|
%t22 = zext i1 %t21 to i32
|
|
store i32 %t22, ptr %t8
|
|
br label %scend1
|
|
scend1:
|
|
%t23 = load i32, ptr %t8
|
|
store i32 %t23, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t24 = load i32, ptr %retval
|
|
ret i32 %t24
|
|
}
|
|
|
|
define i32 @fn_is_id(ptr %arg_v) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t8 = alloca i32
|
|
store ptr %arg_v, ptr %t0
|
|
%t1 = load ptr, ptr @g_toks
|
|
%t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = load i32, ptr @g_pi
|
|
%t5 = getelementptr inbounds ptr, ptr %t3, i32 %t4
|
|
%t6 = load ptr, ptr %t5
|
|
store ptr %t6, ptr %t7
|
|
%t9 = load ptr, ptr %t7
|
|
%t10 = getelementptr inbounds %Cmp_Tok, ptr %t9, i32 0, i32 0
|
|
%t11 = load i32, ptr %t10
|
|
%t12 = icmp eq i32 %t11, 0
|
|
%t13 = zext i1 %t12 to i32
|
|
%t14 = icmp ne i32 %t13, 0
|
|
%t15 = zext i1 %t14 to i32
|
|
store i32 %t15, ptr %t8
|
|
br i1 %t14, label %sc0, label %scend1
|
|
sc0:
|
|
%t16 = load ptr, ptr %t7
|
|
%t17 = getelementptr inbounds %Cmp_Tok, ptr %t16, i32 0, i32 1
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = load ptr, ptr %t0
|
|
%t20 = call i32 @fn_str_eq(ptr %t18, ptr %t19)
|
|
%t21 = icmp ne i32 %t20, 0
|
|
%t22 = zext i1 %t21 to i32
|
|
store i32 %t22, ptr %t8
|
|
br label %scend1
|
|
scend1:
|
|
%t23 = load i32, ptr %t8
|
|
store i32 %t23, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t24 = load i32, ptr %retval
|
|
ret i32 %t24
|
|
}
|
|
|
|
define i32 @fn_is_kw(ptr %arg_v) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
store ptr %arg_v, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call i32 @fn_is_id(ptr %t1)
|
|
store i32 %t2, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t3 = load i32, ptr %retval
|
|
ret i32 %t3
|
|
}
|
|
|
|
define void @fn_perr(ptr %arg_msg) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t2 = alloca ptr
|
|
store ptr %arg_msg, ptr %t0
|
|
%t1 = load ptr, ptr @__stderrp
|
|
store ptr %t1, ptr %t2
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = zext i32 27 to i64
|
|
%t5 = call i64 @fwrite(ptr @.str1, i64 1, i64 %t4, ptr %t3)
|
|
%t6 = trunc i64 %t5 to i32
|
|
%t7 = load ptr, ptr %t2
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = load ptr, ptr %t0
|
|
%t10 = call i64 @strlen(ptr %t9)
|
|
%t11 = trunc i64 %t10 to i32
|
|
%t12 = zext i32 %t11 to i64
|
|
%t13 = call i64 @fwrite(ptr %t8, i64 1, i64 %t12, ptr %t7)
|
|
%t14 = trunc i64 %t13 to i32
|
|
%t15 = load ptr, ptr %t2
|
|
%t16 = zext i32 1 to i64
|
|
%t17 = call i64 @fwrite(ptr @.str2, i64 1, i64 %t16, ptr %t15)
|
|
%t18 = trunc i64 %t17 to i32
|
|
call void @exit(i32 1)
|
|
unreachable
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_eat_op(ptr %arg_v) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
store ptr %arg_v, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call i32 @fn_is_op(ptr %t1)
|
|
%t3 = icmp eq i32 %t2, 0
|
|
%t4 = zext i1 %t3 to i32
|
|
%t5 = icmp ne i32 %t4, 0
|
|
br i1 %t5, label %then0, label %ifend2
|
|
then0:
|
|
%t6 = load ptr, ptr %t0
|
|
call void @fn_perr(ptr %t6)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t7 = load i32, ptr @g_pi
|
|
%t8 = add i32 %t7, 1
|
|
store i32 %t8, ptr @g_pi
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_eat_id() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t6 = alloca ptr
|
|
%t0 = load ptr, ptr @g_toks
|
|
%t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0
|
|
%t2 = load ptr, ptr %t1
|
|
%t3 = load i32, ptr @g_pi
|
|
%t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3
|
|
%t5 = load ptr, ptr %t4
|
|
store ptr %t5, ptr %t6
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = getelementptr inbounds %Cmp_Tok, ptr %t7, i32 0, i32 0
|
|
%t9 = load i32, ptr %t8
|
|
%t10 = icmp ne i32 %t9, 0
|
|
%t11 = zext i1 %t10 to i32
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_perr(ptr @.str3)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t13 = load i32, ptr @g_pi
|
|
%t14 = add i32 %t13, 1
|
|
store i32 %t14, ptr @g_pi
|
|
%t15 = load ptr, ptr %t6
|
|
%t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 1
|
|
%t17 = load ptr, ptr %t16
|
|
store ptr %t17, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t18 = load ptr, ptr %retval
|
|
ret ptr %t18
|
|
}
|
|
|
|
define void @fn_skipnl() {
|
|
entry:
|
|
br label %wcond0
|
|
wcond0:
|
|
%t0 = load ptr, ptr @g_toks
|
|
%t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0
|
|
%t2 = load ptr, ptr %t1
|
|
%t3 = load i32, ptr @g_pi
|
|
%t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = getelementptr inbounds %Cmp_Tok, ptr %t5, i32 0, i32 0
|
|
%t7 = load i32, ptr %t6
|
|
%t8 = icmp eq i32 %t7, 4
|
|
%t9 = zext i1 %t8 to i32
|
|
%t10 = icmp ne i32 %t9, 0
|
|
br i1 %t10, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t11 = load i32, ptr @g_pi
|
|
%t12 = add i32 %t11, 1
|
|
store i32 %t12, ptr @g_pi
|
|
br label %wcond0
|
|
wend2:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_ptype() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t12 = alloca ptr
|
|
%t19 = alloca i32
|
|
%t0 = call i32 @fn_is_op(ptr @.str4)
|
|
%t1 = icmp ne i32 %t0, 0
|
|
br i1 %t1, label %then0, label %ifend2
|
|
then0:
|
|
%t2 = load i32, ptr @g_pi
|
|
%t3 = add i32 %t2, 1
|
|
store i32 %t3, ptr @g_pi
|
|
call void @fn_eat_op(ptr @.str5)
|
|
%t4 = call ptr @fn_ptype()
|
|
store ptr %t4, ptr %t5
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = call i64 @strlen(ptr %t6)
|
|
%t8 = trunc i64 %t7 to i32
|
|
%t9 = add i32 %t8, 3
|
|
%t10 = zext i32 %t9 to i64
|
|
%t11 = call ptr @malloc(i64 %t10)
|
|
store ptr %t11, ptr %t12
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = getelementptr inbounds i8, ptr %t13, i32 0
|
|
%t15 = trunc i32 91 to i8
|
|
store i8 %t15, ptr %t14
|
|
%t16 = load ptr, ptr %t12
|
|
%t17 = getelementptr inbounds i8, ptr %t16, i32 1
|
|
%t18 = trunc i32 93 to i8
|
|
store i8 %t18, ptr %t17
|
|
store i32 0, ptr %t19
|
|
br label %wcond3
|
|
wcond3:
|
|
%t20 = load ptr, ptr %t5
|
|
%t21 = load i32, ptr %t19
|
|
%t22 = getelementptr inbounds i8, ptr %t20, i32 %t21
|
|
%t23 = load i8, ptr %t22
|
|
%t24 = zext i8 %t23 to i32
|
|
%t25 = icmp ne i32 %t24, 0
|
|
%t26 = zext i1 %t25 to i32
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t28 = load ptr, ptr %t12
|
|
%t29 = load i32, ptr %t19
|
|
%t30 = add i32 2, %t29
|
|
%t31 = getelementptr inbounds i8, ptr %t28, i32 %t30
|
|
%t32 = load ptr, ptr %t5
|
|
%t33 = load i32, ptr %t19
|
|
%t34 = getelementptr inbounds i8, ptr %t32, i32 %t33
|
|
%t35 = load i8, ptr %t34
|
|
%t36 = zext i8 %t35 to i32
|
|
%t37 = trunc i32 %t36 to i8
|
|
store i8 %t37, ptr %t31
|
|
%t38 = load i32, ptr %t19
|
|
%t39 = add i32 %t38, 1
|
|
store i32 %t39, ptr %t19
|
|
br label %wcond3
|
|
wend5:
|
|
%t40 = load ptr, ptr %t12
|
|
%t41 = load i32, ptr %t19
|
|
%t42 = add i32 2, %t41
|
|
%t43 = getelementptr inbounds i8, ptr %t40, i32 %t42
|
|
%t44 = trunc i32 0 to i8
|
|
store i8 %t44, ptr %t43
|
|
%t45 = load ptr, ptr %t12
|
|
store ptr %t45, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t46 = call ptr @fn_eat_id()
|
|
store ptr %t46, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t47 = load ptr, ptr %retval
|
|
ret ptr %t47
|
|
}
|
|
|
|
define ptr @fn_expr() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = call ptr @fn_p_or()
|
|
store ptr %t0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t1 = load ptr, ptr %retval
|
|
ret ptr %t1
|
|
}
|
|
|
|
define void @fn_args_call(ptr %arg_call) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t11 = alloca ptr
|
|
%t19 = alloca ptr
|
|
%t20 = alloca i32
|
|
%t21 = alloca i32
|
|
%t48 = alloca ptr
|
|
store ptr %arg_call, ptr %t0
|
|
call void @fn_eat_op(ptr @.str6)
|
|
call void @fn_skipnl()
|
|
br label %wcond0
|
|
wcond0:
|
|
%t1 = call i32 @fn_is_op(ptr @.str7)
|
|
%t2 = icmp eq i32 %t1, 0
|
|
%t3 = zext i1 %t2 to i32
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t5 = load ptr, ptr @g_toks
|
|
%t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = load i32, ptr @g_pi
|
|
%t9 = getelementptr inbounds ptr, ptr %t7, i32 %t8
|
|
%t10 = load ptr, ptr %t9
|
|
store ptr %t10, ptr %t11
|
|
%t12 = load ptr, ptr @g_toks
|
|
%t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = load i32, ptr @g_pi
|
|
%t16 = add i32 %t15, 1
|
|
%t17 = getelementptr inbounds ptr, ptr %t14, i32 %t16
|
|
%t18 = load ptr, ptr %t17
|
|
store ptr %t18, ptr %t19
|
|
%t22 = load ptr, ptr %t11
|
|
%t23 = getelementptr inbounds %Cmp_Tok, ptr %t22, i32 0, i32 0
|
|
%t24 = load i32, ptr %t23
|
|
%t25 = icmp eq i32 %t24, 0
|
|
%t26 = zext i1 %t25 to i32
|
|
%t27 = icmp ne i32 %t26, 0
|
|
%t28 = zext i1 %t27 to i32
|
|
store i32 %t28, ptr %t21
|
|
br i1 %t27, label %sc3, label %scend4
|
|
sc3:
|
|
%t29 = load ptr, ptr %t19
|
|
%t30 = getelementptr inbounds %Cmp_Tok, ptr %t29, i32 0, i32 0
|
|
%t31 = load i32, ptr %t30
|
|
%t32 = icmp eq i32 %t31, 3
|
|
%t33 = zext i1 %t32 to i32
|
|
%t34 = icmp ne i32 %t33, 0
|
|
%t35 = zext i1 %t34 to i32
|
|
store i32 %t35, ptr %t21
|
|
br label %scend4
|
|
scend4:
|
|
%t36 = load i32, ptr %t21
|
|
%t37 = icmp ne i32 %t36, 0
|
|
%t38 = zext i1 %t37 to i32
|
|
store i32 %t38, ptr %t20
|
|
br i1 %t37, label %sc5, label %scend6
|
|
sc5:
|
|
%t39 = load ptr, ptr %t19
|
|
%t40 = getelementptr inbounds %Cmp_Tok, ptr %t39, i32 0, i32 1
|
|
%t41 = load ptr, ptr %t40
|
|
%t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str8)
|
|
%t43 = icmp ne i32 %t42, 0
|
|
%t44 = zext i1 %t43 to i32
|
|
store i32 %t44, ptr %t20
|
|
br label %scend6
|
|
scend6:
|
|
%t45 = load i32, ptr %t20
|
|
%t46 = icmp ne i32 %t45, 0
|
|
br i1 %t46, label %then7, label %else8
|
|
then7:
|
|
%t47 = call ptr @fn_node(i32 42)
|
|
store ptr %t47, ptr %t48
|
|
%t49 = load ptr, ptr %t48
|
|
%t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1
|
|
%t51 = call ptr @fn_eat_id()
|
|
store ptr %t51, ptr %t50
|
|
call void @fn_eat_op(ptr @.str9)
|
|
call void @fn_skipnl()
|
|
%t52 = load ptr, ptr %t48
|
|
%t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4
|
|
%t54 = call ptr @fn_expr()
|
|
store ptr %t54, ptr %t53
|
|
%t55 = load ptr, ptr %t0
|
|
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7
|
|
%t57 = load ptr, ptr %t56
|
|
%t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1
|
|
%t59 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 2
|
|
%t60 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0
|
|
%t61 = load i32, ptr %t58
|
|
%t62 = load i32, ptr %t59
|
|
%t63 = icmp sge i32 %t61, %t62
|
|
br i1 %t63, label %grow10, label %put11
|
|
grow10:
|
|
%t64 = mul i32 %t62, 2
|
|
%t65 = icmp eq i32 %t62, 0
|
|
%t66 = select i1 %t65, i32 8, i32 %t64
|
|
%t67 = getelementptr ptr, ptr null, i32 1
|
|
%t68 = ptrtoint ptr %t67 to i64
|
|
%t69 = zext i32 %t66 to i64
|
|
%t70 = mul i64 %t69, %t68
|
|
%t71 = load ptr, ptr %t60
|
|
%t72 = call ptr @realloc(ptr %t71, i64 %t70)
|
|
store ptr %t72, ptr %t60
|
|
store i32 %t66, ptr %t59
|
|
br label %put11
|
|
put11:
|
|
%t73 = load ptr, ptr %t48
|
|
%t74 = load ptr, ptr %t60
|
|
%t75 = getelementptr inbounds ptr, ptr %t74, i32 %t61
|
|
store ptr %t73, ptr %t75
|
|
%t76 = add i32 %t61, 1
|
|
store i32 %t76, ptr %t58
|
|
br label %ifend9
|
|
else8:
|
|
%t77 = load ptr, ptr %t0
|
|
%t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 7
|
|
%t79 = load ptr, ptr %t78
|
|
%t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1
|
|
%t81 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 2
|
|
%t82 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0
|
|
%t83 = load i32, ptr %t80
|
|
%t84 = load i32, ptr %t81
|
|
%t85 = icmp sge i32 %t83, %t84
|
|
br i1 %t85, label %grow12, label %put13
|
|
grow12:
|
|
%t86 = mul i32 %t84, 2
|
|
%t87 = icmp eq i32 %t84, 0
|
|
%t88 = select i1 %t87, i32 8, i32 %t86
|
|
%t89 = getelementptr ptr, ptr null, i32 1
|
|
%t90 = ptrtoint ptr %t89 to i64
|
|
%t91 = zext i32 %t88 to i64
|
|
%t92 = mul i64 %t91, %t90
|
|
%t93 = load ptr, ptr %t82
|
|
%t94 = call ptr @realloc(ptr %t93, i64 %t92)
|
|
store ptr %t94, ptr %t82
|
|
store i32 %t88, ptr %t81
|
|
br label %put13
|
|
put13:
|
|
%t95 = call ptr @fn_expr()
|
|
%t96 = load ptr, ptr %t82
|
|
%t97 = getelementptr inbounds ptr, ptr %t96, i32 %t83
|
|
store ptr %t95, ptr %t97
|
|
%t98 = add i32 %t83, 1
|
|
store i32 %t98, ptr %t80
|
|
br label %ifend9
|
|
ifend9:
|
|
call void @fn_skipnl()
|
|
%t99 = call i32 @fn_is_op(ptr @.str10)
|
|
%t100 = icmp ne i32 %t99, 0
|
|
br i1 %t100, label %then14, label %ifend16
|
|
then14:
|
|
%t101 = load i32, ptr @g_pi
|
|
%t102 = add i32 %t101, 1
|
|
store i32 %t102, ptr @g_pi
|
|
call void @fn_skipnl()
|
|
br label %ifend16
|
|
ifend16:
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_eat_op(ptr @.str11)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_interp_lit(ptr %arg_buf, i32 %arg_len) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t3 = alloca ptr
|
|
store ptr %arg_buf, ptr %t0
|
|
store i32 %arg_len, ptr %t1
|
|
%t2 = call ptr @fn_node(i32 31)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = load i32, ptr %t1
|
|
%t8 = add i32 0, %t7
|
|
%t9 = call ptr @fn_str_slice(ptr %t6, i32 0, i32 %t8)
|
|
store ptr %t9, ptr %t5
|
|
%t10 = load ptr, ptr %t3
|
|
store ptr %t10, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t11 = load ptr, ptr %retval
|
|
ret ptr %t11
|
|
}
|
|
|
|
define ptr @fn_interp_add(ptr %arg_acc, ptr %arg_part) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
store ptr %arg_acc, ptr %t0
|
|
store ptr %arg_part, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = icmp eq ptr %t2, null
|
|
%t4 = zext i1 %t3 to i32
|
|
%t5 = icmp ne i32 %t4, 0
|
|
br i1 %t5, label %then0, label %ifend2
|
|
then0:
|
|
%t6 = load ptr, ptr %t1
|
|
store ptr %t6, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = load ptr, ptr %t1
|
|
%t9 = call ptr @fn_mkbin(ptr @.str12, ptr %t7, ptr %t8)
|
|
store ptr %t9, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t10 = load ptr, ptr %retval
|
|
ret ptr %t10
|
|
}
|
|
|
|
define ptr @fn_interp_str(ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t4 = alloca ptr
|
|
store ptr %arg_e, ptr %t0
|
|
%t1 = call ptr @fn_node(i32 34)
|
|
store ptr %t1, ptr %t2
|
|
%t3 = call ptr @fn_node(i32 33)
|
|
store ptr %t3, ptr %t4
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 1
|
|
store ptr @.str13, ptr %t6
|
|
%t7 = load ptr, ptr %t2
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4
|
|
%t9 = load ptr, ptr %t4
|
|
store ptr %t9, ptr %t8
|
|
%t10 = load ptr, ptr %t2
|
|
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1
|
|
%t14 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 2
|
|
%t15 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 0
|
|
%t16 = load i32, ptr %t13
|
|
%t17 = load i32, ptr %t14
|
|
%t18 = icmp sge i32 %t16, %t17
|
|
br i1 %t18, label %grow0, label %put1
|
|
grow0:
|
|
%t19 = mul i32 %t17, 2
|
|
%t20 = icmp eq i32 %t17, 0
|
|
%t21 = select i1 %t20, i32 8, i32 %t19
|
|
%t22 = getelementptr ptr, ptr null, i32 1
|
|
%t23 = ptrtoint ptr %t22 to i64
|
|
%t24 = zext i32 %t21 to i64
|
|
%t25 = mul i64 %t24, %t23
|
|
%t26 = load ptr, ptr %t15
|
|
%t27 = call ptr @realloc(ptr %t26, i64 %t25)
|
|
store ptr %t27, ptr %t15
|
|
store i32 %t21, ptr %t14
|
|
br label %put1
|
|
put1:
|
|
%t28 = load ptr, ptr %t0
|
|
%t29 = load ptr, ptr %t15
|
|
%t30 = getelementptr inbounds ptr, ptr %t29, i32 %t16
|
|
store ptr %t28, ptr %t30
|
|
%t31 = add i32 %t16, 1
|
|
store i32 %t31, ptr %t13
|
|
%t32 = load ptr, ptr %t2
|
|
store ptr %t32, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t33 = load ptr, ptr %retval
|
|
ret ptr %t33
|
|
}
|
|
|
|
define ptr @fn_parse_hole(ptr %arg_inner) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t4 = alloca i32
|
|
%t7 = alloca ptr
|
|
store ptr %arg_inner, ptr %t0
|
|
%t1 = load ptr, ptr @g_toks
|
|
store ptr %t1, ptr %t2
|
|
%t3 = load i32, ptr @g_pi
|
|
store i32 %t3, ptr %t4
|
|
%t5 = load ptr, ptr %t0
|
|
call void @fn_lex(ptr %t5)
|
|
store i32 0, ptr @g_pi
|
|
call void @fn_skipnl()
|
|
%t6 = call ptr @fn_expr()
|
|
store ptr %t6, ptr %t7
|
|
%t8 = load ptr, ptr %t2
|
|
store ptr %t8, ptr @g_toks
|
|
%t9 = load i32, ptr %t4
|
|
store i32 %t9, ptr @g_pi
|
|
%t10 = load ptr, ptr %t7
|
|
store ptr %t10, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t11 = load ptr, ptr %retval
|
|
ret ptr %t11
|
|
}
|
|
|
|
define ptr @fn_parse_interp(ptr %arg_raw) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t4 = alloca i32
|
|
%t5 = alloca ptr
|
|
%t10 = alloca ptr
|
|
%t11 = alloca i32
|
|
%t12 = alloca i32
|
|
%t23 = alloca i32
|
|
%t57 = alloca i32
|
|
%t58 = alloca i32
|
|
%t59 = alloca i32
|
|
%t78 = alloca i32
|
|
%t107 = alloca i32
|
|
%t143 = alloca i32
|
|
%t145 = alloca i32
|
|
%t172 = alloca i32
|
|
store ptr %arg_raw, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call i64 @strlen(ptr %t1)
|
|
%t3 = trunc i64 %t2 to i32
|
|
store i32 %t3, ptr %t4
|
|
store ptr null, ptr %t5
|
|
%t6 = load i32, ptr %t4
|
|
%t7 = add i32 %t6, 1
|
|
%t8 = zext i32 %t7 to i64
|
|
%t9 = call ptr @malloc(i64 %t8)
|
|
store ptr %t9, ptr %t10
|
|
store i32 0, ptr %t11
|
|
store i32 0, ptr %t12
|
|
br label %wcond0
|
|
wcond0:
|
|
%t13 = load i32, ptr %t12
|
|
%t14 = load i32, ptr %t4
|
|
%t15 = icmp slt i32 %t13, %t14
|
|
%t16 = zext i1 %t15 to i32
|
|
%t17 = icmp ne i32 %t16, 0
|
|
br i1 %t17, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t18 = load ptr, ptr %t0
|
|
%t19 = load i32, ptr %t12
|
|
%t20 = getelementptr inbounds i8, ptr %t18, i32 %t19
|
|
%t21 = load i8, ptr %t20
|
|
%t22 = zext i8 %t21 to i32
|
|
store i32 %t22, ptr %t23
|
|
%t24 = load i32, ptr %t23
|
|
%t25 = icmp eq i32 %t24, 123
|
|
%t26 = zext i1 %t25 to i32
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then3, label %else4
|
|
then3:
|
|
%t28 = load ptr, ptr %t0
|
|
%t29 = load i32, ptr %t12
|
|
%t30 = add i32 %t29, 1
|
|
%t31 = getelementptr inbounds i8, ptr %t28, i32 %t30
|
|
%t32 = load i8, ptr %t31
|
|
%t33 = zext i8 %t32 to i32
|
|
%t34 = icmp eq i32 %t33, 123
|
|
%t35 = zext i1 %t34 to i32
|
|
%t36 = icmp ne i32 %t35, 0
|
|
br i1 %t36, label %then6, label %ifend8
|
|
then6:
|
|
%t37 = load ptr, ptr %t10
|
|
%t38 = load i32, ptr %t11
|
|
%t39 = getelementptr inbounds i8, ptr %t37, i32 %t38
|
|
%t40 = trunc i32 123 to i8
|
|
store i8 %t40, ptr %t39
|
|
%t41 = load i32, ptr %t11
|
|
%t42 = add i32 %t41, 1
|
|
store i32 %t42, ptr %t11
|
|
%t43 = load i32, ptr %t12
|
|
%t44 = add i32 %t43, 2
|
|
store i32 %t44, ptr %t12
|
|
br label %wcond0
|
|
ifend8:
|
|
%t45 = load i32, ptr %t11
|
|
%t46 = icmp sgt i32 %t45, 0
|
|
%t47 = zext i1 %t46 to i32
|
|
%t48 = icmp ne i32 %t47, 0
|
|
br i1 %t48, label %then9, label %ifend11
|
|
then9:
|
|
%t49 = load ptr, ptr %t5
|
|
%t50 = load ptr, ptr %t10
|
|
%t51 = load i32, ptr %t11
|
|
%t52 = call ptr @fn_interp_lit(ptr %t50, i32 %t51)
|
|
%t53 = call ptr @fn_interp_add(ptr %t49, ptr %t52)
|
|
store ptr %t53, ptr %t5
|
|
store i32 0, ptr %t11
|
|
br label %ifend11
|
|
ifend11:
|
|
%t54 = load i32, ptr %t12
|
|
%t55 = add i32 %t54, 1
|
|
store i32 %t55, ptr %t12
|
|
%t56 = load i32, ptr %t12
|
|
store i32 %t56, ptr %t57
|
|
store i32 1, ptr %t58
|
|
br label %wcond12
|
|
wcond12:
|
|
%t60 = load i32, ptr %t12
|
|
%t61 = load i32, ptr %t4
|
|
%t62 = icmp slt i32 %t60, %t61
|
|
%t63 = zext i1 %t62 to i32
|
|
%t64 = icmp ne i32 %t63, 0
|
|
%t65 = zext i1 %t64 to i32
|
|
store i32 %t65, ptr %t59
|
|
br i1 %t64, label %sc15, label %scend16
|
|
sc15:
|
|
%t66 = load i32, ptr %t58
|
|
%t67 = icmp sgt i32 %t66, 0
|
|
%t68 = zext i1 %t67 to i32
|
|
%t69 = icmp ne i32 %t68, 0
|
|
%t70 = zext i1 %t69 to i32
|
|
store i32 %t70, ptr %t59
|
|
br label %scend16
|
|
scend16:
|
|
%t71 = load i32, ptr %t59
|
|
%t72 = icmp ne i32 %t71, 0
|
|
br i1 %t72, label %wbody13, label %wend14
|
|
wbody13:
|
|
%t73 = load ptr, ptr %t0
|
|
%t74 = load i32, ptr %t12
|
|
%t75 = getelementptr inbounds i8, ptr %t73, i32 %t74
|
|
%t76 = load i8, ptr %t75
|
|
%t77 = zext i8 %t76 to i32
|
|
store i32 %t77, ptr %t78
|
|
%t79 = load i32, ptr %t78
|
|
%t80 = icmp eq i32 %t79, 123
|
|
%t81 = zext i1 %t80 to i32
|
|
%t82 = icmp ne i32 %t81, 0
|
|
br i1 %t82, label %then17, label %else18
|
|
then17:
|
|
%t83 = load i32, ptr %t58
|
|
%t84 = add i32 %t83, 1
|
|
store i32 %t84, ptr %t58
|
|
br label %ifend19
|
|
else18:
|
|
%t85 = load i32, ptr %t78
|
|
%t86 = icmp eq i32 %t85, 125
|
|
%t87 = zext i1 %t86 to i32
|
|
%t88 = icmp ne i32 %t87, 0
|
|
br i1 %t88, label %then20, label %ifend22
|
|
then20:
|
|
%t89 = load i32, ptr %t58
|
|
%t90 = sub i32 %t89, 1
|
|
store i32 %t90, ptr %t58
|
|
%t91 = load i32, ptr %t58
|
|
%t92 = icmp eq i32 %t91, 0
|
|
%t93 = zext i1 %t92 to i32
|
|
%t94 = icmp ne i32 %t93, 0
|
|
br i1 %t94, label %then23, label %ifend25
|
|
then23:
|
|
br label %wend14
|
|
ifend25:
|
|
br label %ifend22
|
|
ifend22:
|
|
br label %ifend19
|
|
ifend19:
|
|
%t95 = load i32, ptr %t12
|
|
%t96 = add i32 %t95, 1
|
|
store i32 %t96, ptr %t12
|
|
br label %wcond12
|
|
wend14:
|
|
%t97 = load ptr, ptr %t5
|
|
%t98 = load ptr, ptr %t0
|
|
%t99 = load i32, ptr %t57
|
|
%t100 = load i32, ptr %t12
|
|
%t101 = call ptr @fn_str_slice(ptr %t98, i32 %t99, i32 %t100)
|
|
%t102 = call ptr @fn_parse_hole(ptr %t101)
|
|
%t103 = call ptr @fn_interp_str(ptr %t102)
|
|
%t104 = call ptr @fn_interp_add(ptr %t97, ptr %t103)
|
|
store ptr %t104, ptr %t5
|
|
%t105 = load i32, ptr %t12
|
|
%t106 = add i32 %t105, 1
|
|
store i32 %t106, ptr %t12
|
|
br label %ifend5
|
|
else4:
|
|
%t108 = load i32, ptr %t23
|
|
%t109 = icmp eq i32 %t108, 125
|
|
%t110 = zext i1 %t109 to i32
|
|
%t111 = icmp ne i32 %t110, 0
|
|
%t112 = zext i1 %t111 to i32
|
|
store i32 %t112, ptr %t107
|
|
br i1 %t111, label %sc26, label %scend27
|
|
sc26:
|
|
%t113 = load ptr, ptr %t0
|
|
%t114 = load i32, ptr %t12
|
|
%t115 = add i32 %t114, 1
|
|
%t116 = getelementptr inbounds i8, ptr %t113, i32 %t115
|
|
%t117 = load i8, ptr %t116
|
|
%t118 = zext i8 %t117 to i32
|
|
%t119 = icmp eq i32 %t118, 125
|
|
%t120 = zext i1 %t119 to i32
|
|
%t121 = icmp ne i32 %t120, 0
|
|
%t122 = zext i1 %t121 to i32
|
|
store i32 %t122, ptr %t107
|
|
br label %scend27
|
|
scend27:
|
|
%t123 = load i32, ptr %t107
|
|
%t124 = icmp ne i32 %t123, 0
|
|
br i1 %t124, label %then28, label %ifend30
|
|
then28:
|
|
%t125 = load ptr, ptr %t10
|
|
%t126 = load i32, ptr %t11
|
|
%t127 = getelementptr inbounds i8, ptr %t125, i32 %t126
|
|
%t128 = trunc i32 125 to i8
|
|
store i8 %t128, ptr %t127
|
|
%t129 = load i32, ptr %t11
|
|
%t130 = add i32 %t129, 1
|
|
store i32 %t130, ptr %t11
|
|
%t131 = load i32, ptr %t12
|
|
%t132 = add i32 %t131, 2
|
|
store i32 %t132, ptr %t12
|
|
br label %wcond0
|
|
ifend30:
|
|
%t133 = load i32, ptr %t23
|
|
%t134 = icmp eq i32 %t133, 92
|
|
%t135 = zext i1 %t134 to i32
|
|
%t136 = icmp ne i32 %t135, 0
|
|
br i1 %t136, label %then31, label %ifend33
|
|
then31:
|
|
%t137 = load ptr, ptr %t0
|
|
%t138 = load i32, ptr %t12
|
|
%t139 = add i32 %t138, 1
|
|
%t140 = getelementptr inbounds i8, ptr %t137, i32 %t139
|
|
%t141 = load i8, ptr %t140
|
|
%t142 = zext i8 %t141 to i32
|
|
store i32 %t142, ptr %t143
|
|
%t144 = load i32, ptr %t143
|
|
store i32 %t144, ptr %t145
|
|
%t146 = load i32, ptr %t143
|
|
%t147 = icmp eq i32 %t146, 110
|
|
%t148 = zext i1 %t147 to i32
|
|
%t149 = icmp ne i32 %t148, 0
|
|
br i1 %t149, label %then34, label %ifend36
|
|
then34:
|
|
store i32 10, ptr %t145
|
|
br label %ifend36
|
|
ifend36:
|
|
%t150 = load i32, ptr %t143
|
|
%t151 = icmp eq i32 %t150, 116
|
|
%t152 = zext i1 %t151 to i32
|
|
%t153 = icmp ne i32 %t152, 0
|
|
br i1 %t153, label %then37, label %ifend39
|
|
then37:
|
|
store i32 9, ptr %t145
|
|
br label %ifend39
|
|
ifend39:
|
|
%t154 = load ptr, ptr %t10
|
|
%t155 = load i32, ptr %t11
|
|
%t156 = getelementptr inbounds i8, ptr %t154, i32 %t155
|
|
%t157 = load i32, ptr %t145
|
|
%t158 = trunc i32 %t157 to i8
|
|
store i8 %t158, ptr %t156
|
|
%t159 = load i32, ptr %t11
|
|
%t160 = add i32 %t159, 1
|
|
store i32 %t160, ptr %t11
|
|
%t161 = load i32, ptr %t12
|
|
%t162 = add i32 %t161, 2
|
|
store i32 %t162, ptr %t12
|
|
br label %wcond0
|
|
ifend33:
|
|
%t163 = load ptr, ptr %t10
|
|
%t164 = load i32, ptr %t11
|
|
%t165 = getelementptr inbounds i8, ptr %t163, i32 %t164
|
|
%t166 = load i32, ptr %t23
|
|
%t167 = trunc i32 %t166 to i8
|
|
store i8 %t167, ptr %t165
|
|
%t168 = load i32, ptr %t11
|
|
%t169 = add i32 %t168, 1
|
|
store i32 %t169, ptr %t11
|
|
%t170 = load i32, ptr %t12
|
|
%t171 = add i32 %t170, 1
|
|
store i32 %t171, ptr %t12
|
|
br label %ifend5
|
|
ifend5:
|
|
br label %wcond0
|
|
wend2:
|
|
%t173 = load i32, ptr %t11
|
|
%t174 = icmp sgt i32 %t173, 0
|
|
%t175 = zext i1 %t174 to i32
|
|
%t176 = icmp ne i32 %t175, 0
|
|
%t177 = zext i1 %t176 to i32
|
|
store i32 %t177, ptr %t172
|
|
br i1 %t176, label %scend41, label %sc40
|
|
sc40:
|
|
%t178 = load ptr, ptr %t5
|
|
%t179 = icmp eq ptr %t178, null
|
|
%t180 = zext i1 %t179 to i32
|
|
%t181 = icmp ne i32 %t180, 0
|
|
%t182 = zext i1 %t181 to i32
|
|
store i32 %t182, ptr %t172
|
|
br label %scend41
|
|
scend41:
|
|
%t183 = load i32, ptr %t172
|
|
%t184 = icmp ne i32 %t183, 0
|
|
br i1 %t184, label %then42, label %ifend44
|
|
then42:
|
|
%t185 = load ptr, ptr %t5
|
|
%t186 = load ptr, ptr %t10
|
|
%t187 = load i32, ptr %t11
|
|
%t188 = call ptr @fn_interp_lit(ptr %t186, i32 %t187)
|
|
%t189 = call ptr @fn_interp_add(ptr %t185, ptr %t188)
|
|
store ptr %t189, ptr %t5
|
|
br label %ifend44
|
|
ifend44:
|
|
%t190 = load ptr, ptr %t5
|
|
store ptr %t190, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t191 = load ptr, ptr %retval
|
|
ret ptr %t191
|
|
}
|
|
|
|
define ptr @fn_parse_emit() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t8 = alloca ptr
|
|
%t14 = alloca ptr
|
|
%t0 = load i32, ptr @g_pi
|
|
%t1 = add i32 %t0, 1
|
|
store i32 %t1, ptr @g_pi
|
|
%t2 = call ptr @fn_node(i32 49)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
|
|
%t6 = call ptr @fn_eat_id()
|
|
store ptr %t6, ptr %t5
|
|
%t7 = call ptr @fn_node(i32 41)
|
|
store ptr %t7, ptr %t8
|
|
call void @fn_eat_op(ptr @.str14)
|
|
call void @fn_skipnl()
|
|
br label %wcond0
|
|
wcond0:
|
|
%t9 = call i32 @fn_is_op(ptr @.str15)
|
|
%t10 = icmp eq i32 %t9, 0
|
|
%t11 = zext i1 %t10 to i32
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t13 = call ptr @fn_node(i32 42)
|
|
store ptr %t13, ptr %t14
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1
|
|
%t17 = call ptr @fn_eat_id()
|
|
store ptr %t17, ptr %t16
|
|
call void @fn_eat_op(ptr @.str16)
|
|
%t18 = load ptr, ptr %t14
|
|
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4
|
|
%t20 = call ptr @fn_expr()
|
|
store ptr %t20, ptr %t19
|
|
%t21 = load ptr, ptr %t8
|
|
%t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 7
|
|
%t23 = load ptr, ptr %t22
|
|
%t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1
|
|
%t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 2
|
|
%t26 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0
|
|
%t27 = load i32, ptr %t24
|
|
%t28 = load i32, ptr %t25
|
|
%t29 = icmp sge i32 %t27, %t28
|
|
br i1 %t29, label %grow3, label %put4
|
|
grow3:
|
|
%t30 = mul i32 %t28, 2
|
|
%t31 = icmp eq i32 %t28, 0
|
|
%t32 = select i1 %t31, i32 8, i32 %t30
|
|
%t33 = getelementptr ptr, ptr null, i32 1
|
|
%t34 = ptrtoint ptr %t33 to i64
|
|
%t35 = zext i32 %t32 to i64
|
|
%t36 = mul i64 %t35, %t34
|
|
%t37 = load ptr, ptr %t26
|
|
%t38 = call ptr @realloc(ptr %t37, i64 %t36)
|
|
store ptr %t38, ptr %t26
|
|
store i32 %t32, ptr %t25
|
|
br label %put4
|
|
put4:
|
|
%t39 = load ptr, ptr %t14
|
|
%t40 = load ptr, ptr %t26
|
|
%t41 = getelementptr inbounds ptr, ptr %t40, i32 %t27
|
|
store ptr %t39, ptr %t41
|
|
%t42 = add i32 %t27, 1
|
|
store i32 %t42, ptr %t24
|
|
call void @fn_skipnl()
|
|
%t43 = call i32 @fn_is_op(ptr @.str17)
|
|
%t44 = icmp ne i32 %t43, 0
|
|
br i1 %t44, label %then5, label %ifend7
|
|
then5:
|
|
%t45 = load i32, ptr @g_pi
|
|
%t46 = add i32 %t45, 1
|
|
store i32 %t46, ptr @g_pi
|
|
call void @fn_skipnl()
|
|
br label %ifend7
|
|
ifend7:
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_eat_op(ptr @.str18)
|
|
%t47 = load ptr, ptr %t3
|
|
%t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 4
|
|
%t49 = load ptr, ptr %t8
|
|
store ptr %t49, ptr %t48
|
|
%t50 = load ptr, ptr %t3
|
|
store ptr %t50, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t51 = load ptr, ptr %retval
|
|
ret ptr %t51
|
|
}
|
|
|
|
define ptr @fn_p_primary() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t6 = alloca ptr
|
|
%t19 = alloca i32
|
|
%t20 = alloca i32
|
|
%t60 = alloca ptr
|
|
%t76 = alloca ptr
|
|
%t92 = alloca ptr
|
|
%t113 = alloca ptr
|
|
%t125 = alloca ptr
|
|
%t147 = alloca ptr
|
|
%t153 = alloca ptr
|
|
%t167 = alloca ptr
|
|
%t0 = load ptr, ptr @g_toks
|
|
%t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0
|
|
%t2 = load ptr, ptr %t1
|
|
%t3 = load i32, ptr @g_pi
|
|
%t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3
|
|
%t5 = load ptr, ptr %t4
|
|
store ptr %t5, ptr %t6
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = getelementptr inbounds %Cmp_Tok, ptr %t7, i32 0, i32 0
|
|
%t9 = load i32, ptr %t8
|
|
%t10 = icmp eq i32 %t9, 7
|
|
%t11 = zext i1 %t10 to i32
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then0, label %ifend2
|
|
then0:
|
|
%t13 = load i32, ptr @g_pi
|
|
%t14 = add i32 %t13, 1
|
|
store i32 %t14, ptr @g_pi
|
|
%t15 = load ptr, ptr %t6
|
|
%t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 1
|
|
%t17 = load ptr, ptr %t16
|
|
%t18 = call ptr @fn_parse_interp(ptr %t17)
|
|
store ptr %t18, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t21 = load ptr, ptr %t6
|
|
%t22 = getelementptr inbounds %Cmp_Tok, ptr %t21, i32 0, i32 0
|
|
%t23 = load i32, ptr %t22
|
|
%t24 = icmp eq i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
%t26 = icmp ne i32 %t25, 0
|
|
%t27 = zext i1 %t26 to i32
|
|
store i32 %t27, ptr %t20
|
|
br i1 %t26, label %sc3, label %scend4
|
|
sc3:
|
|
%t28 = load ptr, ptr %t6
|
|
%t29 = getelementptr inbounds %Cmp_Tok, ptr %t28, i32 0, i32 1
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str19)
|
|
%t32 = icmp ne i32 %t31, 0
|
|
%t33 = zext i1 %t32 to i32
|
|
store i32 %t33, ptr %t20
|
|
br label %scend4
|
|
scend4:
|
|
%t34 = load i32, ptr %t20
|
|
%t35 = icmp ne i32 %t34, 0
|
|
%t36 = zext i1 %t35 to i32
|
|
store i32 %t36, ptr %t19
|
|
br i1 %t35, label %sc5, label %scend6
|
|
sc5:
|
|
%t37 = load ptr, ptr @g_toks
|
|
%t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0
|
|
%t39 = load ptr, ptr %t38
|
|
%t40 = load i32, ptr @g_pi
|
|
%t41 = add i32 %t40, 1
|
|
%t42 = getelementptr inbounds ptr, ptr %t39, i32 %t41
|
|
%t43 = load ptr, ptr %t42
|
|
%t44 = getelementptr inbounds %Cmp_Tok, ptr %t43, i32 0, i32 0
|
|
%t45 = load i32, ptr %t44
|
|
%t46 = icmp eq i32 %t45, 0
|
|
%t47 = zext i1 %t46 to i32
|
|
%t48 = icmp ne i32 %t47, 0
|
|
%t49 = zext i1 %t48 to i32
|
|
store i32 %t49, ptr %t19
|
|
br label %scend6
|
|
scend6:
|
|
%t50 = load i32, ptr %t19
|
|
%t51 = icmp ne i32 %t50, 0
|
|
br i1 %t51, label %then7, label %ifend9
|
|
then7:
|
|
%t52 = call ptr @fn_parse_emit()
|
|
store ptr %t52, ptr %retval
|
|
br label %ret
|
|
ifend9:
|
|
%t53 = load ptr, ptr %t6
|
|
%t54 = getelementptr inbounds %Cmp_Tok, ptr %t53, i32 0, i32 0
|
|
%t55 = load i32, ptr %t54
|
|
%t56 = icmp eq i32 %t55, 1
|
|
%t57 = zext i1 %t56 to i32
|
|
%t58 = icmp ne i32 %t57, 0
|
|
br i1 %t58, label %then10, label %ifend12
|
|
then10:
|
|
%t59 = call ptr @fn_node(i32 30)
|
|
store ptr %t59, ptr %t60
|
|
%t61 = load ptr, ptr %t60
|
|
%t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 2
|
|
%t63 = load ptr, ptr %t6
|
|
%t64 = getelementptr inbounds %Cmp_Tok, ptr %t63, i32 0, i32 2
|
|
%t65 = load i32, ptr %t64
|
|
store i32 %t65, ptr %t62
|
|
%t66 = load i32, ptr @g_pi
|
|
%t67 = add i32 %t66, 1
|
|
store i32 %t67, ptr @g_pi
|
|
%t68 = load ptr, ptr %t60
|
|
store ptr %t68, ptr %retval
|
|
br label %ret
|
|
ifend12:
|
|
%t69 = load ptr, ptr %t6
|
|
%t70 = getelementptr inbounds %Cmp_Tok, ptr %t69, i32 0, i32 0
|
|
%t71 = load i32, ptr %t70
|
|
%t72 = icmp eq i32 %t71, 6
|
|
%t73 = zext i1 %t72 to i32
|
|
%t74 = icmp ne i32 %t73, 0
|
|
br i1 %t74, label %then13, label %ifend15
|
|
then13:
|
|
%t75 = call ptr @fn_node(i32 40)
|
|
store ptr %t75, ptr %t76
|
|
%t77 = load ptr, ptr %t76
|
|
%t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 2
|
|
%t79 = load ptr, ptr %t6
|
|
%t80 = getelementptr inbounds %Cmp_Tok, ptr %t79, i32 0, i32 2
|
|
%t81 = load i32, ptr %t80
|
|
store i32 %t81, ptr %t78
|
|
%t82 = load i32, ptr @g_pi
|
|
%t83 = add i32 %t82, 1
|
|
store i32 %t83, ptr @g_pi
|
|
%t84 = load ptr, ptr %t76
|
|
store ptr %t84, ptr %retval
|
|
br label %ret
|
|
ifend15:
|
|
%t85 = load ptr, ptr %t6
|
|
%t86 = getelementptr inbounds %Cmp_Tok, ptr %t85, i32 0, i32 0
|
|
%t87 = load i32, ptr %t86
|
|
%t88 = icmp eq i32 %t87, 2
|
|
%t89 = zext i1 %t88 to i32
|
|
%t90 = icmp ne i32 %t89, 0
|
|
br i1 %t90, label %then16, label %ifend18
|
|
then16:
|
|
%t91 = call ptr @fn_node(i32 31)
|
|
store ptr %t91, ptr %t92
|
|
%t93 = load ptr, ptr %t92
|
|
%t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 1
|
|
%t95 = load ptr, ptr %t6
|
|
%t96 = getelementptr inbounds %Cmp_Tok, ptr %t95, i32 0, i32 1
|
|
%t97 = load ptr, ptr %t96
|
|
store ptr %t97, ptr %t94
|
|
%t98 = load i32, ptr @g_pi
|
|
%t99 = add i32 %t98, 1
|
|
store i32 %t99, ptr @g_pi
|
|
%t100 = load ptr, ptr %t92
|
|
store ptr %t100, ptr %retval
|
|
br label %ret
|
|
ifend18:
|
|
%t101 = load ptr, ptr %t6
|
|
%t102 = getelementptr inbounds %Cmp_Tok, ptr %t101, i32 0, i32 0
|
|
%t103 = load i32, ptr %t102
|
|
%t104 = icmp eq i32 %t103, 0
|
|
%t105 = zext i1 %t104 to i32
|
|
%t106 = icmp ne i32 %t105, 0
|
|
br i1 %t106, label %then19, label %ifend21
|
|
then19:
|
|
%t107 = load ptr, ptr %t6
|
|
%t108 = getelementptr inbounds %Cmp_Tok, ptr %t107, i32 0, i32 1
|
|
%t109 = load ptr, ptr %t108
|
|
%t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str20)
|
|
%t111 = icmp ne i32 %t110, 0
|
|
br i1 %t111, label %then22, label %ifend24
|
|
then22:
|
|
%t112 = call ptr @fn_node(i32 32)
|
|
store ptr %t112, ptr %t113
|
|
%t114 = load ptr, ptr %t113
|
|
%t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 2
|
|
store i32 1, ptr %t115
|
|
%t116 = load i32, ptr @g_pi
|
|
%t117 = add i32 %t116, 1
|
|
store i32 %t117, ptr @g_pi
|
|
%t118 = load ptr, ptr %t113
|
|
store ptr %t118, ptr %retval
|
|
br label %ret
|
|
ifend24:
|
|
%t119 = load ptr, ptr %t6
|
|
%t120 = getelementptr inbounds %Cmp_Tok, ptr %t119, i32 0, i32 1
|
|
%t121 = load ptr, ptr %t120
|
|
%t122 = call i32 @fn_str_eq(ptr %t121, ptr @.str21)
|
|
%t123 = icmp ne i32 %t122, 0
|
|
br i1 %t123, label %then25, label %ifend27
|
|
then25:
|
|
%t124 = call ptr @fn_node(i32 32)
|
|
store ptr %t124, ptr %t125
|
|
%t126 = load ptr, ptr %t125
|
|
%t127 = getelementptr inbounds %Cmp_Node, ptr %t126, i32 0, i32 2
|
|
store i32 0, ptr %t127
|
|
%t128 = load i32, ptr @g_pi
|
|
%t129 = add i32 %t128, 1
|
|
store i32 %t129, ptr @g_pi
|
|
%t130 = load ptr, ptr %t125
|
|
store ptr %t130, ptr %retval
|
|
br label %ret
|
|
ifend27:
|
|
%t131 = load ptr, ptr %t6
|
|
%t132 = getelementptr inbounds %Cmp_Tok, ptr %t131, i32 0, i32 1
|
|
%t133 = load ptr, ptr %t132
|
|
%t134 = call i32 @fn_str_eq(ptr %t133, ptr @.str22)
|
|
%t135 = icmp ne i32 %t134, 0
|
|
br i1 %t135, label %then28, label %ifend30
|
|
then28:
|
|
%t136 = load i32, ptr @g_pi
|
|
%t137 = add i32 %t136, 1
|
|
store i32 %t137, ptr @g_pi
|
|
%t138 = call ptr @fn_node(i32 43)
|
|
store ptr %t138, ptr %retval
|
|
br label %ret
|
|
ifend30:
|
|
%t139 = load ptr, ptr %t6
|
|
%t140 = getelementptr inbounds %Cmp_Tok, ptr %t139, i32 0, i32 1
|
|
%t141 = load ptr, ptr %t140
|
|
%t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str23)
|
|
%t143 = icmp ne i32 %t142, 0
|
|
br i1 %t143, label %then31, label %ifend33
|
|
then31:
|
|
%t144 = load i32, ptr @g_pi
|
|
%t145 = add i32 %t144, 1
|
|
store i32 %t145, ptr @g_pi
|
|
%t146 = call ptr @fn_node(i32 39)
|
|
store ptr %t146, ptr %t147
|
|
%t148 = load ptr, ptr %t147
|
|
%t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 1
|
|
%t150 = call ptr @fn_ptype()
|
|
store ptr %t150, ptr %t149
|
|
%t151 = load ptr, ptr %t147
|
|
store ptr %t151, ptr %retval
|
|
br label %ret
|
|
ifend33:
|
|
%t152 = call ptr @fn_node(i32 33)
|
|
store ptr %t152, ptr %t153
|
|
%t154 = load ptr, ptr %t153
|
|
%t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 1
|
|
%t156 = load ptr, ptr %t6
|
|
%t157 = getelementptr inbounds %Cmp_Tok, ptr %t156, i32 0, i32 1
|
|
%t158 = load ptr, ptr %t157
|
|
store ptr %t158, ptr %t155
|
|
%t159 = load i32, ptr @g_pi
|
|
%t160 = add i32 %t159, 1
|
|
store i32 %t160, ptr @g_pi
|
|
%t161 = load ptr, ptr %t153
|
|
store ptr %t161, ptr %retval
|
|
br label %ret
|
|
ifend21:
|
|
%t162 = call i32 @fn_is_op(ptr @.str24)
|
|
%t163 = icmp ne i32 %t162, 0
|
|
br i1 %t163, label %then34, label %ifend36
|
|
then34:
|
|
%t164 = load i32, ptr @g_pi
|
|
%t165 = add i32 %t164, 1
|
|
store i32 %t165, ptr @g_pi
|
|
call void @fn_skipnl()
|
|
%t166 = call ptr @fn_expr()
|
|
store ptr %t166, ptr %t167
|
|
call void @fn_skipnl()
|
|
call void @fn_eat_op(ptr @.str25)
|
|
%t168 = load ptr, ptr %t167
|
|
store ptr %t168, ptr %retval
|
|
br label %ret
|
|
ifend36:
|
|
call void @fn_perr(ptr @.str26)
|
|
%t169 = call ptr @fn_node(i32 30)
|
|
store ptr %t169, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t170 = load ptr, ptr %retval
|
|
ret ptr %t170
|
|
}
|
|
|
|
define ptr @fn_p_postfix() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t8 = alloca ptr
|
|
%t21 = alloca ptr
|
|
%t27 = alloca ptr
|
|
%t39 = alloca ptr
|
|
%t50 = alloca ptr
|
|
%t0 = call ptr @fn_p_primary()
|
|
store ptr %t0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = icmp ne i32 1, 0
|
|
br i1 %t2, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t3 = call i32 @fn_is_op(ptr @.str27)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then3, label %else4
|
|
then3:
|
|
%t5 = load i32, ptr @g_pi
|
|
%t6 = add i32 %t5, 1
|
|
store i32 %t6, ptr @g_pi
|
|
%t7 = call ptr @fn_node(i32 35)
|
|
store ptr %t7, ptr %t8
|
|
%t9 = load ptr, ptr %t8
|
|
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4
|
|
%t11 = load ptr, ptr %t1
|
|
store ptr %t11, ptr %t10
|
|
%t12 = load ptr, ptr %t8
|
|
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1
|
|
%t14 = call ptr @fn_eat_id()
|
|
store ptr %t14, ptr %t13
|
|
%t15 = load ptr, ptr %t8
|
|
store ptr %t15, ptr %t1
|
|
br label %ifend5
|
|
else4:
|
|
%t16 = call i32 @fn_is_op(ptr @.str28)
|
|
%t17 = icmp ne i32 %t16, 0
|
|
br i1 %t17, label %then6, label %else7
|
|
then6:
|
|
%t18 = load i32, ptr @g_pi
|
|
%t19 = add i32 %t18, 1
|
|
store i32 %t19, ptr @g_pi
|
|
%t20 = call ptr @fn_expr()
|
|
store ptr %t20, ptr %t21
|
|
%t22 = call i32 @fn_is_op(ptr @.str29)
|
|
%t23 = icmp ne i32 %t22, 0
|
|
br i1 %t23, label %then9, label %else10
|
|
then9:
|
|
%t24 = load i32, ptr @g_pi
|
|
%t25 = add i32 %t24, 1
|
|
store i32 %t25, ptr @g_pi
|
|
%t26 = call ptr @fn_node(i32 44)
|
|
store ptr %t26, ptr %t27
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 4
|
|
%t30 = load ptr, ptr %t1
|
|
store ptr %t30, ptr %t29
|
|
%t31 = load ptr, ptr %t27
|
|
%t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 5
|
|
%t33 = load ptr, ptr %t21
|
|
store ptr %t33, ptr %t32
|
|
%t34 = load ptr, ptr %t27
|
|
%t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 6
|
|
%t36 = call ptr @fn_expr()
|
|
store ptr %t36, ptr %t35
|
|
call void @fn_eat_op(ptr @.str30)
|
|
%t37 = load ptr, ptr %t27
|
|
store ptr %t37, ptr %t1
|
|
br label %ifend11
|
|
else10:
|
|
%t38 = call ptr @fn_node(i32 36)
|
|
store ptr %t38, ptr %t39
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 4
|
|
%t42 = load ptr, ptr %t1
|
|
store ptr %t42, ptr %t41
|
|
%t43 = load ptr, ptr %t39
|
|
%t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 5
|
|
%t45 = load ptr, ptr %t21
|
|
store ptr %t45, ptr %t44
|
|
call void @fn_eat_op(ptr @.str31)
|
|
%t46 = load ptr, ptr %t39
|
|
store ptr %t46, ptr %t1
|
|
br label %ifend11
|
|
ifend11:
|
|
br label %ifend8
|
|
else7:
|
|
%t47 = call i32 @fn_is_op(ptr @.str32)
|
|
%t48 = icmp ne i32 %t47, 0
|
|
br i1 %t48, label %then12, label %else13
|
|
then12:
|
|
%t49 = call ptr @fn_node(i32 34)
|
|
store ptr %t49, ptr %t50
|
|
%t51 = load ptr, ptr %t50
|
|
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 4
|
|
%t53 = load ptr, ptr %t1
|
|
store ptr %t53, ptr %t52
|
|
%t54 = load ptr, ptr %t50
|
|
call void @fn_args_call(ptr %t54)
|
|
%t55 = load ptr, ptr %t50
|
|
store ptr %t55, ptr %t1
|
|
br label %ifend14
|
|
else13:
|
|
br label %wend2
|
|
ifend14:
|
|
br label %ifend8
|
|
ifend8:
|
|
br label %ifend5
|
|
ifend5:
|
|
br label %wcond0
|
|
wend2:
|
|
%t56 = load ptr, ptr %t1
|
|
store ptr %t56, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t57 = load ptr, ptr %retval
|
|
ret ptr %t57
|
|
}
|
|
|
|
define ptr @fn_p_unary() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t17 = alloca ptr
|
|
%t29 = alloca ptr
|
|
%t0 = call i32 @fn_is_op(ptr @.str33)
|
|
%t1 = icmp ne i32 %t0, 0
|
|
br i1 %t1, label %then0, label %ifend2
|
|
then0:
|
|
%t2 = load i32, ptr @g_pi
|
|
%t3 = add i32 %t2, 1
|
|
store i32 %t3, ptr @g_pi
|
|
%t4 = call ptr @fn_node(i32 38)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1
|
|
store ptr @.str34, ptr %t7
|
|
%t8 = load ptr, ptr %t5
|
|
%t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4
|
|
%t10 = call ptr @fn_p_unary()
|
|
store ptr %t10, ptr %t9
|
|
%t11 = load ptr, ptr %t5
|
|
store ptr %t11, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t12 = call i32 @fn_is_op(ptr @.str35)
|
|
%t13 = icmp ne i32 %t12, 0
|
|
br i1 %t13, label %then3, label %ifend5
|
|
then3:
|
|
%t14 = load i32, ptr @g_pi
|
|
%t15 = add i32 %t14, 1
|
|
store i32 %t15, ptr @g_pi
|
|
%t16 = call ptr @fn_node(i32 38)
|
|
store ptr %t16, ptr %t17
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1
|
|
store ptr @.str36, ptr %t19
|
|
%t20 = load ptr, ptr %t17
|
|
%t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 4
|
|
%t22 = call ptr @fn_p_unary()
|
|
store ptr %t22, ptr %t21
|
|
%t23 = load ptr, ptr %t17
|
|
store ptr %t23, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t24 = call i32 @fn_is_id(ptr @.str37)
|
|
%t25 = icmp ne i32 %t24, 0
|
|
br i1 %t25, label %then6, label %ifend8
|
|
then6:
|
|
%t26 = load i32, ptr @g_pi
|
|
%t27 = add i32 %t26, 1
|
|
store i32 %t27, ptr @g_pi
|
|
%t28 = call ptr @fn_node(i32 38)
|
|
store ptr %t28, ptr %t29
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 1
|
|
store ptr @.str38, ptr %t31
|
|
%t32 = load ptr, ptr %t29
|
|
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 4
|
|
%t34 = call ptr @fn_p_unary()
|
|
store ptr %t34, ptr %t33
|
|
%t35 = load ptr, ptr %t29
|
|
store ptr %t35, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t36 = call ptr @fn_p_postfix()
|
|
store ptr %t36, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t37 = load ptr, ptr %retval
|
|
ret ptr %t37
|
|
}
|
|
|
|
define ptr @fn_mkbin(ptr %arg_op, ptr %arg_l, ptr %arg_r) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t4 = alloca ptr
|
|
store ptr %arg_op, ptr %t0
|
|
store ptr %arg_l, ptr %t1
|
|
store ptr %arg_r, ptr %t2
|
|
%t3 = call ptr @fn_node(i32 37)
|
|
store ptr %t3, ptr %t4
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 1
|
|
%t7 = load ptr, ptr %t0
|
|
store ptr %t7, ptr %t6
|
|
%t8 = load ptr, ptr %t4
|
|
%t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4
|
|
%t10 = load ptr, ptr %t1
|
|
store ptr %t10, ptr %t9
|
|
%t11 = load ptr, ptr %t4
|
|
%t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 5
|
|
%t13 = load ptr, ptr %t2
|
|
store ptr %t13, ptr %t12
|
|
%t14 = load ptr, ptr %t4
|
|
store ptr %t14, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t15 = load ptr, ptr %retval
|
|
ret ptr %t15
|
|
}
|
|
|
|
define ptr @fn_p_mul() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
%t4 = alloca i32
|
|
%t5 = alloca i32
|
|
%t6 = alloca i32
|
|
%t47 = alloca ptr
|
|
%t0 = call ptr @fn_p_unary()
|
|
store ptr %t0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t7 = call i32 @fn_is_op(ptr @.str39)
|
|
%t8 = icmp ne i32 %t7, 0
|
|
%t9 = zext i1 %t8 to i32
|
|
store i32 %t9, ptr %t6
|
|
br i1 %t8, label %scend4, label %sc3
|
|
sc3:
|
|
%t10 = call i32 @fn_is_op(ptr @.str40)
|
|
%t11 = icmp ne i32 %t10, 0
|
|
%t12 = zext i1 %t11 to i32
|
|
store i32 %t12, ptr %t6
|
|
br label %scend4
|
|
scend4:
|
|
%t13 = load i32, ptr %t6
|
|
%t14 = icmp ne i32 %t13, 0
|
|
%t15 = zext i1 %t14 to i32
|
|
store i32 %t15, ptr %t5
|
|
br i1 %t14, label %scend6, label %sc5
|
|
sc5:
|
|
%t16 = call i32 @fn_is_op(ptr @.str41)
|
|
%t17 = icmp ne i32 %t16, 0
|
|
%t18 = zext i1 %t17 to i32
|
|
store i32 %t18, ptr %t5
|
|
br label %scend6
|
|
scend6:
|
|
%t19 = load i32, ptr %t5
|
|
%t20 = icmp ne i32 %t19, 0
|
|
%t21 = zext i1 %t20 to i32
|
|
store i32 %t21, ptr %t4
|
|
br i1 %t20, label %scend8, label %sc7
|
|
sc7:
|
|
%t22 = call i32 @fn_is_op(ptr @.str42)
|
|
%t23 = icmp ne i32 %t22, 0
|
|
%t24 = zext i1 %t23 to i32
|
|
store i32 %t24, ptr %t4
|
|
br label %scend8
|
|
scend8:
|
|
%t25 = load i32, ptr %t4
|
|
%t26 = icmp ne i32 %t25, 0
|
|
%t27 = zext i1 %t26 to i32
|
|
store i32 %t27, ptr %t3
|
|
br i1 %t26, label %scend10, label %sc9
|
|
sc9:
|
|
%t28 = call i32 @fn_is_op(ptr @.str43)
|
|
%t29 = icmp ne i32 %t28, 0
|
|
%t30 = zext i1 %t29 to i32
|
|
store i32 %t30, ptr %t3
|
|
br label %scend10
|
|
scend10:
|
|
%t31 = load i32, ptr %t3
|
|
%t32 = icmp ne i32 %t31, 0
|
|
%t33 = zext i1 %t32 to i32
|
|
store i32 %t33, ptr %t2
|
|
br i1 %t32, label %scend12, label %sc11
|
|
sc11:
|
|
%t34 = call i32 @fn_is_op(ptr @.str44)
|
|
%t35 = icmp ne i32 %t34, 0
|
|
%t36 = zext i1 %t35 to i32
|
|
store i32 %t36, ptr %t2
|
|
br label %scend12
|
|
scend12:
|
|
%t37 = load i32, ptr %t2
|
|
%t38 = icmp ne i32 %t37, 0
|
|
br i1 %t38, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t39 = load ptr, ptr @g_toks
|
|
%t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0
|
|
%t41 = load ptr, ptr %t40
|
|
%t42 = load i32, ptr @g_pi
|
|
%t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42
|
|
%t44 = load ptr, ptr %t43
|
|
%t45 = getelementptr inbounds %Cmp_Tok, ptr %t44, i32 0, i32 1
|
|
%t46 = load ptr, ptr %t45
|
|
store ptr %t46, ptr %t47
|
|
%t48 = load i32, ptr @g_pi
|
|
%t49 = add i32 %t48, 1
|
|
store i32 %t49, ptr @g_pi
|
|
%t50 = load ptr, ptr %t47
|
|
%t51 = load ptr, ptr %t1
|
|
%t52 = call ptr @fn_p_unary()
|
|
%t53 = call ptr @fn_mkbin(ptr %t50, ptr %t51, ptr %t52)
|
|
store ptr %t53, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
%t54 = load ptr, ptr %t1
|
|
store ptr %t54, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t55 = load ptr, ptr %retval
|
|
ret ptr %t55
|
|
}
|
|
|
|
define ptr @fn_p_add() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
%t4 = alloca i32
|
|
%t33 = alloca ptr
|
|
%t0 = call ptr @fn_p_mul()
|
|
store ptr %t0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t5 = call i32 @fn_is_op(ptr @.str45)
|
|
%t6 = icmp ne i32 %t5, 0
|
|
%t7 = zext i1 %t6 to i32
|
|
store i32 %t7, ptr %t4
|
|
br i1 %t6, label %scend4, label %sc3
|
|
sc3:
|
|
%t8 = call i32 @fn_is_op(ptr @.str46)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
%t10 = zext i1 %t9 to i32
|
|
store i32 %t10, ptr %t4
|
|
br label %scend4
|
|
scend4:
|
|
%t11 = load i32, ptr %t4
|
|
%t12 = icmp ne i32 %t11, 0
|
|
%t13 = zext i1 %t12 to i32
|
|
store i32 %t13, ptr %t3
|
|
br i1 %t12, label %scend6, label %sc5
|
|
sc5:
|
|
%t14 = call i32 @fn_is_op(ptr @.str47)
|
|
%t15 = icmp ne i32 %t14, 0
|
|
%t16 = zext i1 %t15 to i32
|
|
store i32 %t16, ptr %t3
|
|
br label %scend6
|
|
scend6:
|
|
%t17 = load i32, ptr %t3
|
|
%t18 = icmp ne i32 %t17, 0
|
|
%t19 = zext i1 %t18 to i32
|
|
store i32 %t19, ptr %t2
|
|
br i1 %t18, label %scend8, label %sc7
|
|
sc7:
|
|
%t20 = call i32 @fn_is_op(ptr @.str48)
|
|
%t21 = icmp ne i32 %t20, 0
|
|
%t22 = zext i1 %t21 to i32
|
|
store i32 %t22, ptr %t2
|
|
br label %scend8
|
|
scend8:
|
|
%t23 = load i32, ptr %t2
|
|
%t24 = icmp ne i32 %t23, 0
|
|
br i1 %t24, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t25 = load ptr, ptr @g_toks
|
|
%t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0
|
|
%t27 = load ptr, ptr %t26
|
|
%t28 = load i32, ptr @g_pi
|
|
%t29 = getelementptr inbounds ptr, ptr %t27, i32 %t28
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = getelementptr inbounds %Cmp_Tok, ptr %t30, i32 0, i32 1
|
|
%t32 = load ptr, ptr %t31
|
|
store ptr %t32, ptr %t33
|
|
%t34 = load i32, ptr @g_pi
|
|
%t35 = add i32 %t34, 1
|
|
store i32 %t35, ptr @g_pi
|
|
%t36 = load ptr, ptr %t33
|
|
%t37 = load ptr, ptr %t1
|
|
%t38 = call ptr @fn_p_mul()
|
|
%t39 = call ptr @fn_mkbin(ptr %t36, ptr %t37, ptr %t38)
|
|
store ptr %t39, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
%t40 = load ptr, ptr %t1
|
|
store ptr %t40, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t41 = load ptr, ptr %retval
|
|
ret ptr %t41
|
|
}
|
|
|
|
define ptr @fn_p_cmp() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
%t4 = alloca i32
|
|
%t5 = alloca i32
|
|
%t6 = alloca i32
|
|
%t47 = alloca ptr
|
|
%t0 = call ptr @fn_p_add()
|
|
store ptr %t0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t7 = call i32 @fn_is_op(ptr @.str49)
|
|
%t8 = icmp ne i32 %t7, 0
|
|
%t9 = zext i1 %t8 to i32
|
|
store i32 %t9, ptr %t6
|
|
br i1 %t8, label %scend4, label %sc3
|
|
sc3:
|
|
%t10 = call i32 @fn_is_op(ptr @.str50)
|
|
%t11 = icmp ne i32 %t10, 0
|
|
%t12 = zext i1 %t11 to i32
|
|
store i32 %t12, ptr %t6
|
|
br label %scend4
|
|
scend4:
|
|
%t13 = load i32, ptr %t6
|
|
%t14 = icmp ne i32 %t13, 0
|
|
%t15 = zext i1 %t14 to i32
|
|
store i32 %t15, ptr %t5
|
|
br i1 %t14, label %scend6, label %sc5
|
|
sc5:
|
|
%t16 = call i32 @fn_is_op(ptr @.str51)
|
|
%t17 = icmp ne i32 %t16, 0
|
|
%t18 = zext i1 %t17 to i32
|
|
store i32 %t18, ptr %t5
|
|
br label %scend6
|
|
scend6:
|
|
%t19 = load i32, ptr %t5
|
|
%t20 = icmp ne i32 %t19, 0
|
|
%t21 = zext i1 %t20 to i32
|
|
store i32 %t21, ptr %t4
|
|
br i1 %t20, label %scend8, label %sc7
|
|
sc7:
|
|
%t22 = call i32 @fn_is_op(ptr @.str52)
|
|
%t23 = icmp ne i32 %t22, 0
|
|
%t24 = zext i1 %t23 to i32
|
|
store i32 %t24, ptr %t4
|
|
br label %scend8
|
|
scend8:
|
|
%t25 = load i32, ptr %t4
|
|
%t26 = icmp ne i32 %t25, 0
|
|
%t27 = zext i1 %t26 to i32
|
|
store i32 %t27, ptr %t3
|
|
br i1 %t26, label %scend10, label %sc9
|
|
sc9:
|
|
%t28 = call i32 @fn_is_op(ptr @.str53)
|
|
%t29 = icmp ne i32 %t28, 0
|
|
%t30 = zext i1 %t29 to i32
|
|
store i32 %t30, ptr %t3
|
|
br label %scend10
|
|
scend10:
|
|
%t31 = load i32, ptr %t3
|
|
%t32 = icmp ne i32 %t31, 0
|
|
%t33 = zext i1 %t32 to i32
|
|
store i32 %t33, ptr %t2
|
|
br i1 %t32, label %scend12, label %sc11
|
|
sc11:
|
|
%t34 = call i32 @fn_is_op(ptr @.str54)
|
|
%t35 = icmp ne i32 %t34, 0
|
|
%t36 = zext i1 %t35 to i32
|
|
store i32 %t36, ptr %t2
|
|
br label %scend12
|
|
scend12:
|
|
%t37 = load i32, ptr %t2
|
|
%t38 = icmp ne i32 %t37, 0
|
|
br i1 %t38, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t39 = load ptr, ptr @g_toks
|
|
%t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0
|
|
%t41 = load ptr, ptr %t40
|
|
%t42 = load i32, ptr @g_pi
|
|
%t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42
|
|
%t44 = load ptr, ptr %t43
|
|
%t45 = getelementptr inbounds %Cmp_Tok, ptr %t44, i32 0, i32 1
|
|
%t46 = load ptr, ptr %t45
|
|
store ptr %t46, ptr %t47
|
|
%t48 = load i32, ptr @g_pi
|
|
%t49 = add i32 %t48, 1
|
|
store i32 %t49, ptr @g_pi
|
|
%t50 = load ptr, ptr %t47
|
|
%t51 = load ptr, ptr %t1
|
|
%t52 = call ptr @fn_p_add()
|
|
%t53 = call ptr @fn_mkbin(ptr %t50, ptr %t51, ptr %t52)
|
|
store ptr %t53, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
%t54 = load ptr, ptr %t1
|
|
store ptr %t54, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t55 = load ptr, ptr %retval
|
|
ret ptr %t55
|
|
}
|
|
|
|
define ptr @fn_p_and() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t0 = call ptr @fn_p_cmp()
|
|
store ptr %t0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = call i32 @fn_is_id(ptr @.str55)
|
|
%t3 = icmp ne i32 %t2, 0
|
|
br i1 %t3, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t4 = load i32, ptr @g_pi
|
|
%t5 = add i32 %t4, 1
|
|
store i32 %t5, ptr @g_pi
|
|
%t6 = load ptr, ptr %t1
|
|
%t7 = call ptr @fn_p_cmp()
|
|
%t8 = call ptr @fn_mkbin(ptr @.str56, ptr %t6, ptr %t7)
|
|
store ptr %t8, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
%t9 = load ptr, ptr %t1
|
|
store ptr %t9, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t10 = load ptr, ptr %retval
|
|
ret ptr %t10
|
|
}
|
|
|
|
define ptr @fn_p_or() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t0 = call ptr @fn_p_and()
|
|
store ptr %t0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = call i32 @fn_is_id(ptr @.str57)
|
|
%t3 = icmp ne i32 %t2, 0
|
|
br i1 %t3, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t4 = load i32, ptr @g_pi
|
|
%t5 = add i32 %t4, 1
|
|
store i32 %t5, ptr @g_pi
|
|
%t6 = load ptr, ptr %t1
|
|
%t7 = call ptr @fn_p_and()
|
|
%t8 = call ptr @fn_mkbin(ptr @.str58, ptr %t6, ptr %t7)
|
|
store ptr %t8, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
%t9 = load ptr, ptr %t1
|
|
store ptr %t9, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t10 = load ptr, ptr %retval
|
|
ret ptr %t10
|
|
}
|
|
|
|
define ptr @fn_record() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t6 = alloca ptr
|
|
call void @fn_eat_op(ptr @.str59)
|
|
%t0 = call ptr @fn_node(i32 41)
|
|
store ptr %t0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = icmp ne i32 1, 0
|
|
br i1 %t2, label %wbody1, label %wend2
|
|
wbody1:
|
|
call void @fn_skipnl()
|
|
%t3 = call i32 @fn_is_op(ptr @.str60)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then3, label %ifend5
|
|
then3:
|
|
br label %wend2
|
|
ifend5:
|
|
%t5 = call ptr @fn_node(i32 42)
|
|
store ptr %t5, ptr %t6
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1
|
|
%t9 = call ptr @fn_eat_id()
|
|
store ptr %t9, ptr %t8
|
|
call void @fn_eat_op(ptr @.str61)
|
|
%t10 = load ptr, ptr %t6
|
|
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 4
|
|
%t12 = call ptr @fn_expr()
|
|
store ptr %t12, ptr %t11
|
|
%t13 = load ptr, ptr %t1
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 1
|
|
%t17 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 2
|
|
%t18 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0
|
|
%t19 = load i32, ptr %t16
|
|
%t20 = load i32, ptr %t17
|
|
%t21 = icmp sge i32 %t19, %t20
|
|
br i1 %t21, label %grow6, label %put7
|
|
grow6:
|
|
%t22 = mul i32 %t20, 2
|
|
%t23 = icmp eq i32 %t20, 0
|
|
%t24 = select i1 %t23, i32 8, i32 %t22
|
|
%t25 = getelementptr ptr, ptr null, i32 1
|
|
%t26 = ptrtoint ptr %t25 to i64
|
|
%t27 = zext i32 %t24 to i64
|
|
%t28 = mul i64 %t27, %t26
|
|
%t29 = load ptr, ptr %t18
|
|
%t30 = call ptr @realloc(ptr %t29, i64 %t28)
|
|
store ptr %t30, ptr %t18
|
|
store i32 %t24, ptr %t17
|
|
br label %put7
|
|
put7:
|
|
%t31 = load ptr, ptr %t6
|
|
%t32 = load ptr, ptr %t18
|
|
%t33 = getelementptr inbounds ptr, ptr %t32, i32 %t19
|
|
store ptr %t31, ptr %t33
|
|
%t34 = add i32 %t19, 1
|
|
store i32 %t34, ptr %t16
|
|
%t35 = call i32 @fn_is_op(ptr @.str62)
|
|
%t36 = icmp ne i32 %t35, 0
|
|
br i1 %t36, label %then8, label %ifend10
|
|
then8:
|
|
%t37 = load i32, ptr @g_pi
|
|
%t38 = add i32 %t37, 1
|
|
store i32 %t38, ptr @g_pi
|
|
br label %ifend10
|
|
ifend10:
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_eat_op(ptr @.str63)
|
|
%t39 = load ptr, ptr %t1
|
|
store ptr %t39, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t40 = load ptr, ptr %retval
|
|
ret ptr %t40
|
|
}
|
|
|
|
define ptr @fn_block() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t37 = alloca i32
|
|
call void @fn_skipnl()
|
|
call void @fn_eat_op(ptr @.str64)
|
|
%t0 = call ptr @fn_node(i32 7)
|
|
store ptr %t0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = icmp ne i32 1, 0
|
|
br i1 %t2, label %wbody1, label %wend2
|
|
wbody1:
|
|
call void @fn_skipnl()
|
|
%t3 = call i32 @fn_is_op(ptr @.str65)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then3, label %ifend5
|
|
then3:
|
|
br label %wend2
|
|
ifend5:
|
|
%t5 = load ptr, ptr %t1
|
|
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 2
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
|
|
%t11 = load i32, ptr %t8
|
|
%t12 = load i32, ptr %t9
|
|
%t13 = icmp sge i32 %t11, %t12
|
|
br i1 %t13, label %grow6, label %put7
|
|
grow6:
|
|
%t14 = mul i32 %t12, 2
|
|
%t15 = icmp eq i32 %t12, 0
|
|
%t16 = select i1 %t15, i32 8, i32 %t14
|
|
%t17 = getelementptr ptr, ptr null, i32 1
|
|
%t18 = ptrtoint ptr %t17 to i64
|
|
%t19 = zext i32 %t16 to i64
|
|
%t20 = mul i64 %t19, %t18
|
|
%t21 = load ptr, ptr %t10
|
|
%t22 = call ptr @realloc(ptr %t21, i64 %t20)
|
|
store ptr %t22, ptr %t10
|
|
store i32 %t16, ptr %t9
|
|
br label %put7
|
|
put7:
|
|
%t23 = call ptr @fn_stmt()
|
|
%t24 = load ptr, ptr %t10
|
|
%t25 = getelementptr inbounds ptr, ptr %t24, i32 %t11
|
|
store ptr %t23, ptr %t25
|
|
%t26 = add i32 %t11, 1
|
|
store i32 %t26, ptr %t8
|
|
%t27 = load ptr, ptr @g_toks
|
|
%t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0
|
|
%t29 = load ptr, ptr %t28
|
|
%t30 = load i32, ptr @g_pi
|
|
%t31 = getelementptr inbounds ptr, ptr %t29, i32 %t30
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = getelementptr inbounds %Cmp_Tok, ptr %t32, i32 0, i32 0
|
|
%t34 = load i32, ptr %t33
|
|
%t35 = icmp eq i32 %t34, 4
|
|
%t36 = zext i1 %t35 to i32
|
|
store i32 %t36, ptr %t37
|
|
%t38 = call i32 @fn_is_op(ptr @.str66)
|
|
%t39 = icmp ne i32 %t38, 0
|
|
br i1 %t39, label %then8, label %ifend10
|
|
then8:
|
|
store i32 1, ptr %t37
|
|
br label %ifend10
|
|
ifend10:
|
|
%t40 = load i32, ptr %t37
|
|
%t41 = icmp eq i32 %t40, 0
|
|
%t42 = zext i1 %t41 to i32
|
|
%t43 = icmp ne i32 %t42, 0
|
|
br i1 %t43, label %then11, label %ifend13
|
|
then11:
|
|
call void @fn_perr(ptr @.str67)
|
|
br label %ifend13
|
|
ifend13:
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_eat_op(ptr @.str68)
|
|
%t44 = load ptr, ptr %t1
|
|
store ptr %t44, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t45 = load ptr, ptr %retval
|
|
ret ptr %t45
|
|
}
|
|
|
|
define ptr @fn_stmt() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t6 = alloca ptr
|
|
%t13 = alloca i32
|
|
%t28 = alloca i32
|
|
%t37 = alloca ptr
|
|
%t77 = alloca ptr
|
|
%t78 = alloca i32
|
|
%t110 = alloca ptr
|
|
%t118 = alloca i32
|
|
%t141 = alloca ptr
|
|
%t160 = alloca ptr
|
|
%t165 = alloca ptr
|
|
%t190 = alloca ptr
|
|
%t194 = alloca i32
|
|
%t199 = alloca ptr
|
|
%t201 = alloca ptr
|
|
%t213 = alloca ptr
|
|
%t248 = alloca i32
|
|
%t279 = alloca ptr
|
|
%t292 = alloca ptr
|
|
%t297 = alloca i32
|
|
%t312 = alloca i32
|
|
%t321 = alloca ptr
|
|
%t357 = alloca ptr
|
|
%t384 = alloca ptr
|
|
%t430 = alloca ptr
|
|
%t438 = alloca ptr
|
|
%t472 = alloca ptr
|
|
%t522 = alloca ptr
|
|
%t523 = alloca i32
|
|
%t524 = alloca i32
|
|
%t525 = alloca i32
|
|
%t526 = alloca i32
|
|
%t554 = alloca ptr
|
|
%t585 = alloca ptr
|
|
%t0 = load ptr, ptr @g_toks
|
|
%t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 0
|
|
%t2 = load ptr, ptr %t1
|
|
%t3 = load i32, ptr @g_pi
|
|
%t4 = getelementptr inbounds ptr, ptr %t2, i32 %t3
|
|
%t5 = load ptr, ptr %t4
|
|
store ptr %t5, ptr %t6
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = getelementptr inbounds %Cmp_Tok, ptr %t7, i32 0, i32 0
|
|
%t9 = load i32, ptr %t8
|
|
%t10 = icmp eq i32 %t9, 0
|
|
%t11 = zext i1 %t10 to i32
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then0, label %ifend2
|
|
then0:
|
|
%t14 = load ptr, ptr %t6
|
|
%t15 = getelementptr inbounds %Cmp_Tok, ptr %t14, i32 0, i32 1
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str69)
|
|
%t18 = icmp ne i32 %t17, 0
|
|
%t19 = zext i1 %t18 to i32
|
|
store i32 %t19, ptr %t13
|
|
br i1 %t18, label %scend4, label %sc3
|
|
sc3:
|
|
%t20 = load ptr, ptr %t6
|
|
%t21 = getelementptr inbounds %Cmp_Tok, ptr %t20, i32 0, i32 1
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str70)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
store i32 %t25, ptr %t13
|
|
br label %scend4
|
|
scend4:
|
|
%t26 = load i32, ptr %t13
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then5, label %ifend7
|
|
then5:
|
|
store i32 0, ptr %t28
|
|
%t29 = load ptr, ptr %t6
|
|
%t30 = getelementptr inbounds %Cmp_Tok, ptr %t29, i32 0, i32 1
|
|
%t31 = load ptr, ptr %t30
|
|
%t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str71)
|
|
%t33 = icmp ne i32 %t32, 0
|
|
br i1 %t33, label %then8, label %ifend10
|
|
then8:
|
|
store i32 1, ptr %t28
|
|
br label %ifend10
|
|
ifend10:
|
|
%t34 = load i32, ptr @g_pi
|
|
%t35 = add i32 %t34, 1
|
|
store i32 %t35, ptr @g_pi
|
|
%t36 = call ptr @fn_node(i32 10)
|
|
store ptr %t36, ptr %t37
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 2
|
|
%t40 = load i32, ptr %t28
|
|
store i32 %t40, ptr %t39
|
|
%t41 = load ptr, ptr %t37
|
|
%t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 8
|
|
%t43 = load ptr, ptr @g_toks
|
|
%t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0
|
|
%t45 = load ptr, ptr %t44
|
|
%t46 = load i32, ptr @g_pi
|
|
%t47 = getelementptr inbounds ptr, ptr %t45, i32 %t46
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = getelementptr inbounds %Cmp_Tok, ptr %t48, i32 0, i32 3
|
|
%t50 = load i32, ptr %t49
|
|
store i32 %t50, ptr %t42
|
|
%t51 = load ptr, ptr %t37
|
|
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1
|
|
%t53 = call ptr @fn_eat_id()
|
|
store ptr %t53, ptr %t52
|
|
%t54 = call i32 @fn_is_op(ptr @.str72)
|
|
%t55 = icmp ne i32 %t54, 0
|
|
br i1 %t55, label %then11, label %ifend13
|
|
then11:
|
|
%t56 = load i32, ptr @g_pi
|
|
%t57 = add i32 %t56, 1
|
|
store i32 %t57, ptr @g_pi
|
|
%t58 = load ptr, ptr %t37
|
|
%t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 3
|
|
%t60 = call ptr @fn_ptype()
|
|
store ptr %t60, ptr %t59
|
|
br label %ifend13
|
|
ifend13:
|
|
%t61 = call i32 @fn_is_op(ptr @.str73)
|
|
%t62 = icmp ne i32 %t61, 0
|
|
br i1 %t62, label %then14, label %ifend16
|
|
then14:
|
|
%t63 = load i32, ptr @g_pi
|
|
%t64 = add i32 %t63, 1
|
|
store i32 %t64, ptr @g_pi
|
|
%t65 = load ptr, ptr %t37
|
|
%t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 4
|
|
%t67 = call ptr @fn_expr()
|
|
store ptr %t67, ptr %t66
|
|
br label %ifend16
|
|
ifend16:
|
|
%t68 = load ptr, ptr %t37
|
|
store ptr %t68, ptr %retval
|
|
br label %ret
|
|
ifend7:
|
|
%t69 = load ptr, ptr %t6
|
|
%t70 = getelementptr inbounds %Cmp_Tok, ptr %t69, i32 0, i32 1
|
|
%t71 = load ptr, ptr %t70
|
|
%t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str74)
|
|
%t73 = icmp ne i32 %t72, 0
|
|
br i1 %t73, label %then17, label %ifend19
|
|
then17:
|
|
%t74 = load i32, ptr @g_pi
|
|
%t75 = add i32 %t74, 1
|
|
store i32 %t75, ptr @g_pi
|
|
%t76 = call ptr @fn_node(i32 15)
|
|
store ptr %t76, ptr %t77
|
|
%t79 = load ptr, ptr @g_toks
|
|
%t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0
|
|
%t81 = load ptr, ptr %t80
|
|
%t82 = load i32, ptr @g_pi
|
|
%t83 = getelementptr inbounds ptr, ptr %t81, i32 %t82
|
|
%t84 = load ptr, ptr %t83
|
|
%t85 = getelementptr inbounds %Cmp_Tok, ptr %t84, i32 0, i32 0
|
|
%t86 = load i32, ptr %t85
|
|
%t87 = icmp ne i32 %t86, 4
|
|
%t88 = zext i1 %t87 to i32
|
|
%t89 = icmp ne i32 %t88, 0
|
|
%t90 = zext i1 %t89 to i32
|
|
store i32 %t90, ptr %t78
|
|
br i1 %t89, label %sc20, label %scend21
|
|
sc20:
|
|
%t91 = call i32 @fn_is_op(ptr @.str75)
|
|
%t92 = icmp eq i32 %t91, 0
|
|
%t93 = zext i1 %t92 to i32
|
|
%t94 = icmp ne i32 %t93, 0
|
|
%t95 = zext i1 %t94 to i32
|
|
store i32 %t95, ptr %t78
|
|
br label %scend21
|
|
scend21:
|
|
%t96 = load i32, ptr %t78
|
|
%t97 = icmp ne i32 %t96, 0
|
|
br i1 %t97, label %then22, label %ifend24
|
|
then22:
|
|
%t98 = load ptr, ptr %t77
|
|
%t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 4
|
|
%t100 = call ptr @fn_expr()
|
|
store ptr %t100, ptr %t99
|
|
br label %ifend24
|
|
ifend24:
|
|
%t101 = load ptr, ptr %t77
|
|
store ptr %t101, ptr %retval
|
|
br label %ret
|
|
ifend19:
|
|
%t102 = load ptr, ptr %t6
|
|
%t103 = getelementptr inbounds %Cmp_Tok, ptr %t102, i32 0, i32 1
|
|
%t104 = load ptr, ptr %t103
|
|
%t105 = call i32 @fn_str_eq(ptr %t104, ptr @.str76)
|
|
%t106 = icmp ne i32 %t105, 0
|
|
br i1 %t106, label %then25, label %ifend27
|
|
then25:
|
|
%t107 = load i32, ptr @g_pi
|
|
%t108 = add i32 %t107, 1
|
|
store i32 %t108, ptr @g_pi
|
|
%t109 = call ptr @fn_node(i32 12)
|
|
store ptr %t109, ptr %t110
|
|
%t111 = load ptr, ptr %t110
|
|
%t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 4
|
|
%t113 = call ptr @fn_expr()
|
|
store ptr %t113, ptr %t112
|
|
%t114 = load ptr, ptr %t110
|
|
%t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 5
|
|
%t116 = call ptr @fn_block()
|
|
store ptr %t116, ptr %t115
|
|
%t117 = load i32, ptr @g_pi
|
|
store i32 %t117, ptr %t118
|
|
call void @fn_skipnl()
|
|
%t119 = call i32 @fn_is_id(ptr @.str77)
|
|
%t120 = icmp ne i32 %t119, 0
|
|
br i1 %t120, label %then28, label %else29
|
|
then28:
|
|
%t121 = load i32, ptr @g_pi
|
|
%t122 = add i32 %t121, 1
|
|
store i32 %t122, ptr @g_pi
|
|
call void @fn_skipnl()
|
|
%t123 = call i32 @fn_is_id(ptr @.str78)
|
|
%t124 = icmp ne i32 %t123, 0
|
|
br i1 %t124, label %then31, label %else32
|
|
then31:
|
|
%t125 = load ptr, ptr %t110
|
|
%t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 6
|
|
%t127 = call ptr @fn_stmt()
|
|
store ptr %t127, ptr %t126
|
|
br label %ifend33
|
|
else32:
|
|
%t128 = load ptr, ptr %t110
|
|
%t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 6
|
|
%t130 = call ptr @fn_block()
|
|
store ptr %t130, ptr %t129
|
|
br label %ifend33
|
|
ifend33:
|
|
br label %ifend30
|
|
else29:
|
|
%t131 = load i32, ptr %t118
|
|
store i32 %t131, ptr @g_pi
|
|
br label %ifend30
|
|
ifend30:
|
|
%t132 = load ptr, ptr %t110
|
|
store ptr %t132, ptr %retval
|
|
br label %ret
|
|
ifend27:
|
|
%t133 = load ptr, ptr %t6
|
|
%t134 = getelementptr inbounds %Cmp_Tok, ptr %t133, i32 0, i32 1
|
|
%t135 = load ptr, ptr %t134
|
|
%t136 = call i32 @fn_str_eq(ptr %t135, ptr @.str79)
|
|
%t137 = icmp ne i32 %t136, 0
|
|
br i1 %t137, label %then34, label %ifend36
|
|
then34:
|
|
%t138 = load i32, ptr @g_pi
|
|
%t139 = add i32 %t138, 1
|
|
store i32 %t139, ptr @g_pi
|
|
%t140 = call ptr @fn_node(i32 13)
|
|
store ptr %t140, ptr %t141
|
|
%t142 = load ptr, ptr %t141
|
|
%t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 4
|
|
%t144 = call ptr @fn_expr()
|
|
store ptr %t144, ptr %t143
|
|
%t145 = load ptr, ptr %t141
|
|
%t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 5
|
|
%t147 = call ptr @fn_block()
|
|
store ptr %t147, ptr %t146
|
|
%t148 = load ptr, ptr %t141
|
|
store ptr %t148, ptr %retval
|
|
br label %ret
|
|
ifend36:
|
|
%t149 = load ptr, ptr %t6
|
|
%t150 = getelementptr inbounds %Cmp_Tok, ptr %t149, i32 0, i32 1
|
|
%t151 = load ptr, ptr %t150
|
|
%t152 = call i32 @fn_str_eq(ptr %t151, ptr @.str80)
|
|
%t153 = icmp ne i32 %t152, 0
|
|
br i1 %t153, label %then37, label %ifend39
|
|
then37:
|
|
%t154 = load i32, ptr @g_pi
|
|
%t155 = add i32 %t154, 1
|
|
store i32 %t155, ptr @g_pi
|
|
%t156 = call i32 @fn_is_op(ptr @.str81)
|
|
%t157 = icmp ne i32 %t156, 0
|
|
br i1 %t157, label %then40, label %ifend42
|
|
then40:
|
|
%t158 = call ptr @fn_parse_query_for()
|
|
store ptr %t158, ptr %retval
|
|
br label %ret
|
|
ifend42:
|
|
%t159 = call ptr @fn_node(i32 14)
|
|
store ptr %t159, ptr %t160
|
|
%t161 = load ptr, ptr %t160
|
|
%t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 1
|
|
%t163 = call ptr @fn_eat_id()
|
|
store ptr %t163, ptr %t162
|
|
%t164 = call ptr @fn_eat_id()
|
|
store ptr %t164, ptr %t165
|
|
%t166 = load ptr, ptr %t160
|
|
%t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 4
|
|
%t168 = call ptr @fn_expr()
|
|
store ptr %t168, ptr %t167
|
|
call void @fn_eat_op(ptr @.str82)
|
|
%t169 = load ptr, ptr %t160
|
|
%t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 5
|
|
%t171 = call ptr @fn_expr()
|
|
store ptr %t171, ptr %t170
|
|
%t172 = load ptr, ptr %t160
|
|
%t173 = getelementptr inbounds %Cmp_Node, ptr %t172, i32 0, i32 6
|
|
%t174 = call ptr @fn_block()
|
|
store ptr %t174, ptr %t173
|
|
%t175 = load ptr, ptr %t160
|
|
store ptr %t175, ptr %retval
|
|
br label %ret
|
|
ifend39:
|
|
%t176 = load ptr, ptr %t6
|
|
%t177 = getelementptr inbounds %Cmp_Tok, ptr %t176, i32 0, i32 1
|
|
%t178 = load ptr, ptr %t177
|
|
%t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str83)
|
|
%t180 = icmp ne i32 %t179, 0
|
|
br i1 %t180, label %then43, label %ifend45
|
|
then43:
|
|
%t181 = call ptr @fn_parse_spawn()
|
|
store ptr %t181, ptr %retval
|
|
br label %ret
|
|
ifend45:
|
|
%t182 = load ptr, ptr %t6
|
|
%t183 = getelementptr inbounds %Cmp_Tok, ptr %t182, i32 0, i32 1
|
|
%t184 = load ptr, ptr %t183
|
|
%t185 = call i32 @fn_str_eq(ptr %t184, ptr @.str84)
|
|
%t186 = icmp ne i32 %t185, 0
|
|
br i1 %t186, label %then46, label %ifend48
|
|
then46:
|
|
%t187 = load i32, ptr @g_pi
|
|
%t188 = add i32 %t187, 1
|
|
store i32 %t188, ptr @g_pi
|
|
%t189 = call ptr @fn_node(i32 24)
|
|
store ptr %t189, ptr %t190
|
|
%t191 = load ptr, ptr %t190
|
|
%t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 4
|
|
%t193 = call ptr @fn_expr()
|
|
store ptr %t193, ptr %t192
|
|
call void @fn_skipnl()
|
|
call void @fn_eat_op(ptr @.str85)
|
|
store i32 0, ptr %t194
|
|
br label %wcond49
|
|
wcond49:
|
|
%t195 = icmp ne i32 1, 0
|
|
br i1 %t195, label %wbody50, label %wend51
|
|
wbody50:
|
|
call void @fn_skipnl()
|
|
%t196 = call i32 @fn_is_op(ptr @.str86)
|
|
%t197 = icmp ne i32 %t196, 0
|
|
br i1 %t197, label %then52, label %ifend54
|
|
then52:
|
|
br label %wend51
|
|
ifend54:
|
|
%t198 = call ptr @fn_eat_id()
|
|
store ptr %t198, ptr %t199
|
|
%t200 = call ptr @fn_node(i32 25)
|
|
store ptr %t200, ptr %t201
|
|
%t202 = load ptr, ptr %t201
|
|
%t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 1
|
|
%t204 = call ptr @fn_eat_id()
|
|
store ptr %t204, ptr %t203
|
|
%t205 = call i32 @fn_is_op(ptr @.str87)
|
|
%t206 = icmp ne i32 %t205, 0
|
|
br i1 %t206, label %then55, label %else56
|
|
then55:
|
|
%t207 = load i32, ptr @g_pi
|
|
%t208 = add i32 %t207, 1
|
|
store i32 %t208, ptr @g_pi
|
|
%t209 = load ptr, ptr %t201
|
|
%t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 5
|
|
%t211 = call ptr @fn_expr()
|
|
store ptr %t211, ptr %t210
|
|
br label %ifend57
|
|
else56:
|
|
%t212 = call ptr @fn_node(i32 30)
|
|
store ptr %t212, ptr %t213
|
|
%t214 = load ptr, ptr %t213
|
|
%t215 = getelementptr inbounds %Cmp_Node, ptr %t214, i32 0, i32 2
|
|
%t216 = load i32, ptr %t194
|
|
store i32 %t216, ptr %t215
|
|
%t217 = load ptr, ptr %t201
|
|
%t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 5
|
|
%t219 = load ptr, ptr %t213
|
|
store ptr %t219, ptr %t218
|
|
br label %ifend57
|
|
ifend57:
|
|
call void @fn_skipnl()
|
|
%t220 = load ptr, ptr %t201
|
|
%t221 = getelementptr inbounds %Cmp_Node, ptr %t220, i32 0, i32 4
|
|
%t222 = call ptr @fn_block()
|
|
store ptr %t222, ptr %t221
|
|
%t223 = load ptr, ptr %t190
|
|
%t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 7
|
|
%t225 = load ptr, ptr %t224
|
|
%t226 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 1
|
|
%t227 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 2
|
|
%t228 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 0
|
|
%t229 = load i32, ptr %t226
|
|
%t230 = load i32, ptr %t227
|
|
%t231 = icmp sge i32 %t229, %t230
|
|
br i1 %t231, label %grow58, label %put59
|
|
grow58:
|
|
%t232 = mul i32 %t230, 2
|
|
%t233 = icmp eq i32 %t230, 0
|
|
%t234 = select i1 %t233, i32 8, i32 %t232
|
|
%t235 = getelementptr ptr, ptr null, i32 1
|
|
%t236 = ptrtoint ptr %t235 to i64
|
|
%t237 = zext i32 %t234 to i64
|
|
%t238 = mul i64 %t237, %t236
|
|
%t239 = load ptr, ptr %t228
|
|
%t240 = call ptr @realloc(ptr %t239, i64 %t238)
|
|
store ptr %t240, ptr %t228
|
|
store i32 %t234, ptr %t227
|
|
br label %put59
|
|
put59:
|
|
%t241 = load ptr, ptr %t201
|
|
%t242 = load ptr, ptr %t228
|
|
%t243 = getelementptr inbounds ptr, ptr %t242, i32 %t229
|
|
store ptr %t241, ptr %t243
|
|
%t244 = add i32 %t229, 1
|
|
store i32 %t244, ptr %t226
|
|
%t245 = load i32, ptr %t194
|
|
%t246 = add i32 %t245, 1
|
|
store i32 %t246, ptr %t194
|
|
br label %wcond49
|
|
wend51:
|
|
call void @fn_eat_op(ptr @.str88)
|
|
%t247 = load ptr, ptr %t190
|
|
store ptr %t247, ptr %retval
|
|
br label %ret
|
|
ifend48:
|
|
%t249 = load ptr, ptr %t6
|
|
%t250 = getelementptr inbounds %Cmp_Tok, ptr %t249, i32 0, i32 1
|
|
%t251 = load ptr, ptr %t250
|
|
%t252 = call i32 @fn_str_eq(ptr %t251, ptr @.str89)
|
|
%t253 = icmp ne i32 %t252, 0
|
|
%t254 = zext i1 %t253 to i32
|
|
store i32 %t254, ptr %t248
|
|
br i1 %t253, label %sc60, label %scend61
|
|
sc60:
|
|
%t255 = load ptr, ptr @g_toks
|
|
%t256 = getelementptr inbounds %LSlice, ptr %t255, i32 0, i32 0
|
|
%t257 = load ptr, ptr %t256
|
|
%t258 = load i32, ptr @g_pi
|
|
%t259 = add i32 %t258, 1
|
|
%t260 = getelementptr inbounds ptr, ptr %t257, i32 %t259
|
|
%t261 = load ptr, ptr %t260
|
|
%t262 = getelementptr inbounds %Cmp_Tok, ptr %t261, i32 0, i32 0
|
|
%t263 = load i32, ptr %t262
|
|
%t264 = icmp eq i32 %t263, 0
|
|
%t265 = zext i1 %t264 to i32
|
|
%t266 = icmp ne i32 %t265, 0
|
|
%t267 = zext i1 %t266 to i32
|
|
store i32 %t267, ptr %t248
|
|
br label %scend61
|
|
scend61:
|
|
%t268 = load i32, ptr %t248
|
|
%t269 = icmp ne i32 %t268, 0
|
|
br i1 %t269, label %then62, label %ifend64
|
|
then62:
|
|
%t270 = call ptr @fn_parse_emit()
|
|
store ptr %t270, ptr %retval
|
|
br label %ret
|
|
ifend64:
|
|
%t271 = load ptr, ptr %t6
|
|
%t272 = getelementptr inbounds %Cmp_Tok, ptr %t271, i32 0, i32 1
|
|
%t273 = load ptr, ptr %t272
|
|
%t274 = call i32 @fn_str_eq(ptr %t273, ptr @.str90)
|
|
%t275 = icmp ne i32 %t274, 0
|
|
br i1 %t275, label %then65, label %ifend67
|
|
then65:
|
|
%t276 = load i32, ptr @g_pi
|
|
%t277 = add i32 %t276, 1
|
|
store i32 %t277, ptr @g_pi
|
|
%t278 = call ptr @fn_node(i32 26)
|
|
store ptr %t278, ptr %t279
|
|
%t280 = load ptr, ptr %t279
|
|
%t281 = getelementptr inbounds %Cmp_Node, ptr %t280, i32 0, i32 1
|
|
%t282 = call ptr @fn_eat_id()
|
|
store ptr %t282, ptr %t281
|
|
%t283 = load ptr, ptr %t279
|
|
store ptr %t283, ptr %retval
|
|
br label %ret
|
|
ifend67:
|
|
%t284 = load ptr, ptr %t6
|
|
%t285 = getelementptr inbounds %Cmp_Tok, ptr %t284, i32 0, i32 1
|
|
%t286 = load ptr, ptr %t285
|
|
%t287 = call i32 @fn_str_eq(ptr %t286, ptr @.str91)
|
|
%t288 = icmp ne i32 %t287, 0
|
|
br i1 %t288, label %then68, label %ifend70
|
|
then68:
|
|
%t289 = load i32, ptr @g_pi
|
|
%t290 = add i32 %t289, 1
|
|
store i32 %t290, ptr @g_pi
|
|
%t291 = call ptr @fn_node(i32 23)
|
|
store ptr %t291, ptr %t292
|
|
%t293 = load ptr, ptr %t292
|
|
%t294 = getelementptr inbounds %Cmp_Node, ptr %t293, i32 0, i32 4
|
|
%t295 = call ptr @fn_expr()
|
|
store ptr %t295, ptr %t294
|
|
%t296 = load ptr, ptr %t292
|
|
store ptr %t296, ptr %retval
|
|
br label %ret
|
|
ifend70:
|
|
%t298 = load ptr, ptr %t6
|
|
%t299 = getelementptr inbounds %Cmp_Tok, ptr %t298, i32 0, i32 1
|
|
%t300 = load ptr, ptr %t299
|
|
%t301 = call i32 @fn_str_eq(ptr %t300, ptr @.str92)
|
|
%t302 = icmp ne i32 %t301, 0
|
|
%t303 = zext i1 %t302 to i32
|
|
store i32 %t303, ptr %t297
|
|
br i1 %t302, label %scend72, label %sc71
|
|
sc71:
|
|
%t304 = load ptr, ptr %t6
|
|
%t305 = getelementptr inbounds %Cmp_Tok, ptr %t304, i32 0, i32 1
|
|
%t306 = load ptr, ptr %t305
|
|
%t307 = call i32 @fn_str_eq(ptr %t306, ptr @.str93)
|
|
%t308 = icmp ne i32 %t307, 0
|
|
%t309 = zext i1 %t308 to i32
|
|
store i32 %t309, ptr %t297
|
|
br label %scend72
|
|
scend72:
|
|
%t310 = load i32, ptr %t297
|
|
%t311 = icmp ne i32 %t310, 0
|
|
br i1 %t311, label %then73, label %ifend75
|
|
then73:
|
|
store i32 0, ptr %t312
|
|
%t313 = load ptr, ptr %t6
|
|
%t314 = getelementptr inbounds %Cmp_Tok, ptr %t313, i32 0, i32 1
|
|
%t315 = load ptr, ptr %t314
|
|
%t316 = call i32 @fn_str_eq(ptr %t315, ptr @.str94)
|
|
%t317 = icmp ne i32 %t316, 0
|
|
br i1 %t317, label %then76, label %ifend78
|
|
then76:
|
|
store i32 1, ptr %t312
|
|
br label %ifend78
|
|
ifend78:
|
|
%t318 = load i32, ptr @g_pi
|
|
%t319 = add i32 %t318, 1
|
|
store i32 %t319, ptr @g_pi
|
|
%t320 = call ptr @fn_node(i32 28)
|
|
store ptr %t320, ptr %t321
|
|
%t322 = load ptr, ptr %t321
|
|
%t323 = getelementptr inbounds %Cmp_Node, ptr %t322, i32 0, i32 2
|
|
%t324 = load i32, ptr %t312
|
|
store i32 %t324, ptr %t323
|
|
%t325 = call i32 @fn_is_id(ptr @.str95)
|
|
%t326 = icmp ne i32 %t325, 0
|
|
br i1 %t326, label %then79, label %ifend81
|
|
then79:
|
|
%t327 = load i32, ptr @g_pi
|
|
%t328 = add i32 %t327, 1
|
|
store i32 %t328, ptr @g_pi
|
|
%t329 = load ptr, ptr %t321
|
|
%t330 = getelementptr inbounds %Cmp_Node, ptr %t329, i32 0, i32 3
|
|
store ptr @.str96, ptr %t330
|
|
%t331 = load ptr, ptr %t321
|
|
%t332 = getelementptr inbounds %Cmp_Node, ptr %t331, i32 0, i32 1
|
|
%t333 = call ptr @fn_eat_id()
|
|
store ptr %t333, ptr %t332
|
|
%t334 = load ptr, ptr %t321
|
|
%t335 = getelementptr inbounds %Cmp_Node, ptr %t334, i32 0, i32 1
|
|
%t336 = load ptr, ptr %t335
|
|
call void @fn_note_toggled_layer(ptr %t336)
|
|
%t337 = load ptr, ptr %t321
|
|
store ptr %t337, ptr %retval
|
|
br label %ret
|
|
ifend81:
|
|
%t338 = load ptr, ptr %t321
|
|
%t339 = getelementptr inbounds %Cmp_Node, ptr %t338, i32 0, i32 1
|
|
%t340 = call ptr @fn_eat_id()
|
|
store ptr %t340, ptr %t339
|
|
%t341 = call i32 @fn_is_id(ptr @.str97)
|
|
%t342 = icmp ne i32 %t341, 0
|
|
br i1 %t342, label %then82, label %ifend84
|
|
then82:
|
|
%t343 = load i32, ptr @g_pi
|
|
%t344 = add i32 %t343, 1
|
|
store i32 %t344, ptr @g_pi
|
|
%t345 = load ptr, ptr %t321
|
|
%t346 = getelementptr inbounds %Cmp_Node, ptr %t345, i32 0, i32 4
|
|
%t347 = call ptr @fn_expr()
|
|
store ptr %t347, ptr %t346
|
|
br label %ifend84
|
|
ifend84:
|
|
%t348 = load ptr, ptr %t321
|
|
store ptr %t348, ptr %retval
|
|
br label %ret
|
|
ifend75:
|
|
%t349 = load ptr, ptr %t6
|
|
%t350 = getelementptr inbounds %Cmp_Tok, ptr %t349, i32 0, i32 1
|
|
%t351 = load ptr, ptr %t350
|
|
%t352 = call i32 @fn_str_eq(ptr %t351, ptr @.str98)
|
|
%t353 = icmp ne i32 %t352, 0
|
|
br i1 %t353, label %then85, label %ifend87
|
|
then85:
|
|
%t354 = load i32, ptr @g_pi
|
|
%t355 = add i32 %t354, 1
|
|
store i32 %t355, ptr @g_pi
|
|
%t356 = call ptr @fn_node(i32 46)
|
|
store ptr %t356, ptr %t357
|
|
%t358 = load ptr, ptr %t357
|
|
%t359 = getelementptr inbounds %Cmp_Node, ptr %t358, i32 0, i32 1
|
|
%t360 = call ptr @fn_eat_id()
|
|
store ptr %t360, ptr %t359
|
|
%t361 = call i32 @fn_is_id(ptr @.str99)
|
|
%t362 = icmp eq i32 %t361, 0
|
|
%t363 = zext i1 %t362 to i32
|
|
%t364 = icmp ne i32 %t363, 0
|
|
br i1 %t364, label %then88, label %ifend90
|
|
then88:
|
|
call void @fn_perr(ptr @.str100)
|
|
br label %ifend90
|
|
ifend90:
|
|
%t365 = load i32, ptr @g_pi
|
|
%t366 = add i32 %t365, 1
|
|
store i32 %t366, ptr @g_pi
|
|
%t367 = load ptr, ptr %t357
|
|
%t368 = getelementptr inbounds %Cmp_Node, ptr %t367, i32 0, i32 4
|
|
%t369 = call ptr @fn_expr()
|
|
store ptr %t369, ptr %t368
|
|
%t370 = call i32 @fn_is_op(ptr @.str101)
|
|
%t371 = icmp ne i32 %t370, 0
|
|
br i1 %t371, label %then91, label %ifend93
|
|
then91:
|
|
%t372 = load ptr, ptr %t357
|
|
%t373 = getelementptr inbounds %Cmp_Node, ptr %t372, i32 0, i32 5
|
|
%t374 = call ptr @fn_record()
|
|
store ptr %t374, ptr %t373
|
|
br label %ifend93
|
|
ifend93:
|
|
%t375 = load ptr, ptr %t357
|
|
store ptr %t375, ptr %retval
|
|
br label %ret
|
|
ifend87:
|
|
%t376 = load ptr, ptr %t6
|
|
%t377 = getelementptr inbounds %Cmp_Tok, ptr %t376, i32 0, i32 1
|
|
%t378 = load ptr, ptr %t377
|
|
%t379 = call i32 @fn_str_eq(ptr %t378, ptr @.str102)
|
|
%t380 = icmp ne i32 %t379, 0
|
|
br i1 %t380, label %then94, label %ifend96
|
|
then94:
|
|
%t381 = load i32, ptr @g_pi
|
|
%t382 = add i32 %t381, 1
|
|
store i32 %t382, ptr @g_pi
|
|
%t383 = call ptr @fn_node(i32 47)
|
|
store ptr %t383, ptr %t384
|
|
%t385 = load ptr, ptr %t384
|
|
%t386 = getelementptr inbounds %Cmp_Node, ptr %t385, i32 0, i32 1
|
|
%t387 = call ptr @fn_eat_id()
|
|
store ptr %t387, ptr %t386
|
|
%t388 = call i32 @fn_is_id(ptr @.str103)
|
|
%t389 = icmp eq i32 %t388, 0
|
|
%t390 = zext i1 %t389 to i32
|
|
%t391 = icmp ne i32 %t390, 0
|
|
br i1 %t391, label %then97, label %ifend99
|
|
then97:
|
|
call void @fn_perr(ptr @.str104)
|
|
br label %ifend99
|
|
ifend99:
|
|
%t392 = load i32, ptr @g_pi
|
|
%t393 = add i32 %t392, 1
|
|
store i32 %t393, ptr @g_pi
|
|
%t394 = load ptr, ptr %t384
|
|
%t395 = getelementptr inbounds %Cmp_Node, ptr %t394, i32 0, i32 4
|
|
%t396 = call ptr @fn_expr()
|
|
store ptr %t396, ptr %t395
|
|
%t397 = load ptr, ptr %t384
|
|
store ptr %t397, ptr %retval
|
|
br label %ret
|
|
ifend96:
|
|
%t398 = load ptr, ptr %t6
|
|
%t399 = getelementptr inbounds %Cmp_Tok, ptr %t398, i32 0, i32 1
|
|
%t400 = load ptr, ptr %t399
|
|
%t401 = call i32 @fn_str_eq(ptr %t400, ptr @.str105)
|
|
%t402 = icmp ne i32 %t401, 0
|
|
br i1 %t402, label %then100, label %ifend102
|
|
then100:
|
|
%t403 = load i32, ptr @g_pi
|
|
%t404 = add i32 %t403, 1
|
|
store i32 %t404, ptr @g_pi
|
|
%t405 = call ptr @fn_node(i32 17)
|
|
store ptr %t405, ptr %retval
|
|
br label %ret
|
|
ifend102:
|
|
%t406 = load ptr, ptr %t6
|
|
%t407 = getelementptr inbounds %Cmp_Tok, ptr %t406, i32 0, i32 1
|
|
%t408 = load ptr, ptr %t407
|
|
%t409 = call i32 @fn_str_eq(ptr %t408, ptr @.str106)
|
|
%t410 = icmp ne i32 %t409, 0
|
|
br i1 %t410, label %then103, label %ifend105
|
|
then103:
|
|
%t411 = load i32, ptr @g_pi
|
|
%t412 = add i32 %t411, 1
|
|
store i32 %t412, ptr @g_pi
|
|
%t413 = call ptr @fn_node(i32 18)
|
|
store ptr %t413, ptr %retval
|
|
br label %ret
|
|
ifend105:
|
|
%t414 = load ptr, ptr %t6
|
|
%t415 = getelementptr inbounds %Cmp_Tok, ptr %t414, i32 0, i32 1
|
|
%t416 = load ptr, ptr %t415
|
|
%t417 = call i32 @fn_str_eq(ptr %t416, ptr @.str107)
|
|
%t418 = icmp ne i32 %t417, 0
|
|
br i1 %t418, label %then106, label %ifend108
|
|
then106:
|
|
%t419 = load i32, ptr @g_pi
|
|
%t420 = add i32 %t419, 1
|
|
store i32 %t420, ptr @g_pi
|
|
%t421 = call ptr @fn_node(i32 50)
|
|
store ptr %t421, ptr %retval
|
|
br label %ret
|
|
ifend108:
|
|
%t422 = load ptr, ptr %t6
|
|
%t423 = getelementptr inbounds %Cmp_Tok, ptr %t422, i32 0, i32 1
|
|
%t424 = load ptr, ptr %t423
|
|
%t425 = call i32 @fn_str_eq(ptr %t424, ptr @.str108)
|
|
%t426 = icmp ne i32 %t425, 0
|
|
br i1 %t426, label %then109, label %ifend111
|
|
then109:
|
|
%t427 = load i32, ptr @g_pi
|
|
%t428 = add i32 %t427, 1
|
|
store i32 %t428, ptr @g_pi
|
|
%t429 = call ptr @fn_node(i32 19)
|
|
store ptr %t429, ptr %t430
|
|
%t431 = load ptr, ptr %t430
|
|
%t432 = getelementptr inbounds %Cmp_Node, ptr %t431, i32 0, i32 4
|
|
%t433 = call ptr @fn_expr()
|
|
store ptr %t433, ptr %t432
|
|
call void @fn_skipnl()
|
|
call void @fn_eat_op(ptr @.str109)
|
|
br label %wcond112
|
|
wcond112:
|
|
%t434 = icmp ne i32 1, 0
|
|
br i1 %t434, label %wbody113, label %wend114
|
|
wbody113:
|
|
call void @fn_skipnl()
|
|
%t435 = call i32 @fn_is_op(ptr @.str110)
|
|
%t436 = icmp ne i32 %t435, 0
|
|
br i1 %t436, label %then115, label %ifend117
|
|
then115:
|
|
br label %wend114
|
|
ifend117:
|
|
%t437 = call ptr @fn_node(i32 20)
|
|
store ptr %t437, ptr %t438
|
|
br label %wcond118
|
|
wcond118:
|
|
%t439 = icmp ne i32 1, 0
|
|
br i1 %t439, label %wbody119, label %wend120
|
|
wbody119:
|
|
%t440 = load ptr, ptr %t438
|
|
%t441 = getelementptr inbounds %Cmp_Node, ptr %t440, i32 0, i32 7
|
|
%t442 = load ptr, ptr %t441
|
|
%t443 = getelementptr inbounds %LSlice, ptr %t442, i32 0, i32 1
|
|
%t444 = getelementptr inbounds %LSlice, ptr %t442, i32 0, i32 2
|
|
%t445 = getelementptr inbounds %LSlice, ptr %t442, i32 0, i32 0
|
|
%t446 = load i32, ptr %t443
|
|
%t447 = load i32, ptr %t444
|
|
%t448 = icmp sge i32 %t446, %t447
|
|
br i1 %t448, label %grow121, label %put122
|
|
grow121:
|
|
%t449 = mul i32 %t447, 2
|
|
%t450 = icmp eq i32 %t447, 0
|
|
%t451 = select i1 %t450, i32 8, i32 %t449
|
|
%t452 = getelementptr ptr, ptr null, i32 1
|
|
%t453 = ptrtoint ptr %t452 to i64
|
|
%t454 = zext i32 %t451 to i64
|
|
%t455 = mul i64 %t454, %t453
|
|
%t456 = load ptr, ptr %t445
|
|
%t457 = call ptr @realloc(ptr %t456, i64 %t455)
|
|
store ptr %t457, ptr %t445
|
|
store i32 %t451, ptr %t444
|
|
br label %put122
|
|
put122:
|
|
%t458 = call ptr @fn_expr()
|
|
%t459 = load ptr, ptr %t445
|
|
%t460 = getelementptr inbounds ptr, ptr %t459, i32 %t446
|
|
store ptr %t458, ptr %t460
|
|
%t461 = add i32 %t446, 1
|
|
store i32 %t461, ptr %t443
|
|
%t462 = call i32 @fn_is_op(ptr @.str111)
|
|
%t463 = icmp ne i32 %t462, 0
|
|
br i1 %t463, label %then123, label %ifend125
|
|
then123:
|
|
%t464 = load i32, ptr @g_pi
|
|
%t465 = add i32 %t464, 1
|
|
store i32 %t465, ptr @g_pi
|
|
call void @fn_skipnl()
|
|
br label %wcond118
|
|
ifend125:
|
|
br label %wend120
|
|
wend120:
|
|
call void @fn_eat_op(ptr @.str112)
|
|
call void @fn_skipnl()
|
|
%t466 = call i32 @fn_is_op(ptr @.str113)
|
|
%t467 = icmp ne i32 %t466, 0
|
|
br i1 %t467, label %then126, label %else127
|
|
then126:
|
|
%t468 = load ptr, ptr %t438
|
|
%t469 = getelementptr inbounds %Cmp_Node, ptr %t468, i32 0, i32 4
|
|
%t470 = call ptr @fn_block()
|
|
store ptr %t470, ptr %t469
|
|
br label %ifend128
|
|
else127:
|
|
%t471 = call ptr @fn_node(i32 7)
|
|
store ptr %t471, ptr %t472
|
|
%t473 = load ptr, ptr %t472
|
|
%t474 = getelementptr inbounds %Cmp_Node, ptr %t473, i32 0, i32 7
|
|
%t475 = load ptr, ptr %t474
|
|
%t476 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 1
|
|
%t477 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 2
|
|
%t478 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 0
|
|
%t479 = load i32, ptr %t476
|
|
%t480 = load i32, ptr %t477
|
|
%t481 = icmp sge i32 %t479, %t480
|
|
br i1 %t481, label %grow129, label %put130
|
|
grow129:
|
|
%t482 = mul i32 %t480, 2
|
|
%t483 = icmp eq i32 %t480, 0
|
|
%t484 = select i1 %t483, i32 8, i32 %t482
|
|
%t485 = getelementptr ptr, ptr null, i32 1
|
|
%t486 = ptrtoint ptr %t485 to i64
|
|
%t487 = zext i32 %t484 to i64
|
|
%t488 = mul i64 %t487, %t486
|
|
%t489 = load ptr, ptr %t478
|
|
%t490 = call ptr @realloc(ptr %t489, i64 %t488)
|
|
store ptr %t490, ptr %t478
|
|
store i32 %t484, ptr %t477
|
|
br label %put130
|
|
put130:
|
|
%t491 = call ptr @fn_stmt()
|
|
%t492 = load ptr, ptr %t478
|
|
%t493 = getelementptr inbounds ptr, ptr %t492, i32 %t479
|
|
store ptr %t491, ptr %t493
|
|
%t494 = add i32 %t479, 1
|
|
store i32 %t494, ptr %t476
|
|
%t495 = load ptr, ptr %t438
|
|
%t496 = getelementptr inbounds %Cmp_Node, ptr %t495, i32 0, i32 4
|
|
%t497 = load ptr, ptr %t472
|
|
store ptr %t497, ptr %t496
|
|
br label %ifend128
|
|
ifend128:
|
|
%t498 = load ptr, ptr %t430
|
|
%t499 = getelementptr inbounds %Cmp_Node, ptr %t498, i32 0, i32 7
|
|
%t500 = load ptr, ptr %t499
|
|
%t501 = getelementptr inbounds %LSlice, ptr %t500, i32 0, i32 1
|
|
%t502 = getelementptr inbounds %LSlice, ptr %t500, i32 0, i32 2
|
|
%t503 = getelementptr inbounds %LSlice, ptr %t500, i32 0, i32 0
|
|
%t504 = load i32, ptr %t501
|
|
%t505 = load i32, ptr %t502
|
|
%t506 = icmp sge i32 %t504, %t505
|
|
br i1 %t506, label %grow131, label %put132
|
|
grow131:
|
|
%t507 = mul i32 %t505, 2
|
|
%t508 = icmp eq i32 %t505, 0
|
|
%t509 = select i1 %t508, i32 8, i32 %t507
|
|
%t510 = getelementptr ptr, ptr null, i32 1
|
|
%t511 = ptrtoint ptr %t510 to i64
|
|
%t512 = zext i32 %t509 to i64
|
|
%t513 = mul i64 %t512, %t511
|
|
%t514 = load ptr, ptr %t503
|
|
%t515 = call ptr @realloc(ptr %t514, i64 %t513)
|
|
store ptr %t515, ptr %t503
|
|
store i32 %t509, ptr %t502
|
|
br label %put132
|
|
put132:
|
|
%t516 = load ptr, ptr %t438
|
|
%t517 = load ptr, ptr %t503
|
|
%t518 = getelementptr inbounds ptr, ptr %t517, i32 %t504
|
|
store ptr %t516, ptr %t518
|
|
%t519 = add i32 %t504, 1
|
|
store i32 %t519, ptr %t501
|
|
br label %wcond112
|
|
wend114:
|
|
call void @fn_eat_op(ptr @.str114)
|
|
%t520 = load ptr, ptr %t430
|
|
store ptr %t520, ptr %retval
|
|
br label %ret
|
|
ifend111:
|
|
br label %ifend2
|
|
ifend2:
|
|
%t521 = call ptr @fn_expr()
|
|
store ptr %t521, ptr %t522
|
|
%t527 = call i32 @fn_is_op(ptr @.str115)
|
|
%t528 = icmp ne i32 %t527, 0
|
|
%t529 = zext i1 %t528 to i32
|
|
store i32 %t529, ptr %t526
|
|
br i1 %t528, label %scend134, label %sc133
|
|
sc133:
|
|
%t530 = call i32 @fn_is_op(ptr @.str116)
|
|
%t531 = icmp ne i32 %t530, 0
|
|
%t532 = zext i1 %t531 to i32
|
|
store i32 %t532, ptr %t526
|
|
br label %scend134
|
|
scend134:
|
|
%t533 = load i32, ptr %t526
|
|
%t534 = icmp ne i32 %t533, 0
|
|
%t535 = zext i1 %t534 to i32
|
|
store i32 %t535, ptr %t525
|
|
br i1 %t534, label %scend136, label %sc135
|
|
sc135:
|
|
%t536 = call i32 @fn_is_op(ptr @.str117)
|
|
%t537 = icmp ne i32 %t536, 0
|
|
%t538 = zext i1 %t537 to i32
|
|
store i32 %t538, ptr %t525
|
|
br label %scend136
|
|
scend136:
|
|
%t539 = load i32, ptr %t525
|
|
%t540 = icmp ne i32 %t539, 0
|
|
%t541 = zext i1 %t540 to i32
|
|
store i32 %t541, ptr %t524
|
|
br i1 %t540, label %scend138, label %sc137
|
|
sc137:
|
|
%t542 = call i32 @fn_is_op(ptr @.str118)
|
|
%t543 = icmp ne i32 %t542, 0
|
|
%t544 = zext i1 %t543 to i32
|
|
store i32 %t544, ptr %t524
|
|
br label %scend138
|
|
scend138:
|
|
%t545 = load i32, ptr %t524
|
|
%t546 = icmp ne i32 %t545, 0
|
|
%t547 = zext i1 %t546 to i32
|
|
store i32 %t547, ptr %t523
|
|
br i1 %t546, label %scend140, label %sc139
|
|
sc139:
|
|
%t548 = call i32 @fn_is_op(ptr @.str119)
|
|
%t549 = icmp ne i32 %t548, 0
|
|
%t550 = zext i1 %t549 to i32
|
|
store i32 %t550, ptr %t523
|
|
br label %scend140
|
|
scend140:
|
|
%t551 = load i32, ptr %t523
|
|
%t552 = icmp ne i32 %t551, 0
|
|
br i1 %t552, label %then141, label %ifend143
|
|
then141:
|
|
%t553 = call ptr @fn_node(i32 11)
|
|
store ptr %t553, ptr %t554
|
|
%t555 = load ptr, ptr %t554
|
|
%t556 = getelementptr inbounds %Cmp_Node, ptr %t555, i32 0, i32 8
|
|
%t557 = load ptr, ptr @g_toks
|
|
%t558 = getelementptr inbounds %LSlice, ptr %t557, i32 0, i32 0
|
|
%t559 = load ptr, ptr %t558
|
|
%t560 = load i32, ptr @g_pi
|
|
%t561 = getelementptr inbounds ptr, ptr %t559, i32 %t560
|
|
%t562 = load ptr, ptr %t561
|
|
%t563 = getelementptr inbounds %Cmp_Tok, ptr %t562, i32 0, i32 3
|
|
%t564 = load i32, ptr %t563
|
|
store i32 %t564, ptr %t556
|
|
%t565 = load ptr, ptr %t554
|
|
%t566 = getelementptr inbounds %Cmp_Node, ptr %t565, i32 0, i32 1
|
|
%t567 = load ptr, ptr @g_toks
|
|
%t568 = getelementptr inbounds %LSlice, ptr %t567, i32 0, i32 0
|
|
%t569 = load ptr, ptr %t568
|
|
%t570 = load i32, ptr @g_pi
|
|
%t571 = getelementptr inbounds ptr, ptr %t569, i32 %t570
|
|
%t572 = load ptr, ptr %t571
|
|
%t573 = getelementptr inbounds %Cmp_Tok, ptr %t572, i32 0, i32 1
|
|
%t574 = load ptr, ptr %t573
|
|
store ptr %t574, ptr %t566
|
|
%t575 = load i32, ptr @g_pi
|
|
%t576 = add i32 %t575, 1
|
|
store i32 %t576, ptr @g_pi
|
|
%t577 = load ptr, ptr %t554
|
|
%t578 = getelementptr inbounds %Cmp_Node, ptr %t577, i32 0, i32 4
|
|
%t579 = load ptr, ptr %t522
|
|
store ptr %t579, ptr %t578
|
|
%t580 = load ptr, ptr %t554
|
|
%t581 = getelementptr inbounds %Cmp_Node, ptr %t580, i32 0, i32 5
|
|
%t582 = call ptr @fn_expr()
|
|
store ptr %t582, ptr %t581
|
|
%t583 = load ptr, ptr %t554
|
|
store ptr %t583, ptr %retval
|
|
br label %ret
|
|
ifend143:
|
|
%t584 = call ptr @fn_node(i32 16)
|
|
store ptr %t584, ptr %t585
|
|
%t586 = load ptr, ptr %t585
|
|
%t587 = getelementptr inbounds %Cmp_Node, ptr %t586, i32 0, i32 4
|
|
%t588 = load ptr, ptr %t522
|
|
store ptr %t588, ptr %t587
|
|
%t589 = load ptr, ptr %t585
|
|
store ptr %t589, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t590 = load ptr, ptr %retval
|
|
ret ptr %t590
|
|
}
|
|
|
|
define ptr @fn_parse_var() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t0 = load i32, ptr @g_pi
|
|
%t1 = add i32 %t0, 1
|
|
store i32 %t1, ptr @g_pi
|
|
%t2 = call ptr @fn_node(i32 2)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
|
|
%t6 = call ptr @fn_eat_id()
|
|
store ptr %t6, ptr %t5
|
|
call void @fn_eat_op(ptr @.str120)
|
|
%t7 = load ptr, ptr %t3
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3
|
|
%t9 = call ptr @fn_ptype()
|
|
store ptr %t9, ptr %t8
|
|
%t10 = call i32 @fn_is_op(ptr @.str121)
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %then0, label %ifend2
|
|
then0:
|
|
%t12 = load i32, ptr @g_pi
|
|
%t13 = add i32 %t12, 1
|
|
store i32 %t13, ptr @g_pi
|
|
%t14 = load ptr, ptr %t3
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 4
|
|
%t16 = call ptr @fn_expr()
|
|
store ptr %t16, ptr %t15
|
|
br label %ifend2
|
|
ifend2:
|
|
%t17 = load ptr, ptr %t3
|
|
store ptr %t17, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t18 = load ptr, ptr %retval
|
|
ret ptr %t18
|
|
}
|
|
|
|
define ptr @fn_parse_const() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t0 = load i32, ptr @g_pi
|
|
%t1 = add i32 %t0, 1
|
|
store i32 %t1, ptr @g_pi
|
|
%t2 = call ptr @fn_node(i32 3)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
|
|
%t6 = call ptr @fn_eat_id()
|
|
store ptr %t6, ptr %t5
|
|
call void @fn_eat_op(ptr @.str122)
|
|
%t7 = load ptr, ptr %t3
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3
|
|
%t9 = call ptr @fn_ptype()
|
|
store ptr %t9, ptr %t8
|
|
call void @fn_eat_op(ptr @.str123)
|
|
%t10 = load ptr, ptr %t3
|
|
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 4
|
|
%t12 = call ptr @fn_expr()
|
|
store ptr %t12, ptr %t11
|
|
%t13 = load ptr, ptr %t3
|
|
store ptr %t13, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t14 = load ptr, ptr %retval
|
|
ret ptr %t14
|
|
}
|
|
|
|
define ptr @fn_parse_fn() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t12 = alloca ptr
|
|
%t0 = load i32, ptr @g_pi
|
|
%t1 = add i32 %t0, 1
|
|
store i32 %t1, ptr @g_pi
|
|
%t2 = call ptr @fn_node(i32 4)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
|
|
%t6 = call ptr @fn_eat_id()
|
|
store ptr %t6, ptr %t5
|
|
call void @fn_eat_op(ptr @.str124)
|
|
br label %wcond0
|
|
wcond0:
|
|
%t7 = call i32 @fn_is_op(ptr @.str125)
|
|
%t8 = icmp eq i32 %t7, 0
|
|
%t9 = zext i1 %t8 to i32
|
|
%t10 = icmp ne i32 %t9, 0
|
|
br i1 %t10, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t11 = call ptr @fn_node(i32 5)
|
|
store ptr %t11, ptr %t12
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1
|
|
%t15 = call ptr @fn_eat_id()
|
|
store ptr %t15, ptr %t14
|
|
call void @fn_eat_op(ptr @.str126)
|
|
%t16 = load ptr, ptr %t12
|
|
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3
|
|
%t18 = call ptr @fn_ptype()
|
|
store ptr %t18, ptr %t17
|
|
%t19 = load ptr, ptr %t3
|
|
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 7
|
|
%t21 = load ptr, ptr %t20
|
|
%t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1
|
|
%t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 2
|
|
%t24 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0
|
|
%t25 = load i32, ptr %t22
|
|
%t26 = load i32, ptr %t23
|
|
%t27 = icmp sge i32 %t25, %t26
|
|
br i1 %t27, label %grow3, label %put4
|
|
grow3:
|
|
%t28 = mul i32 %t26, 2
|
|
%t29 = icmp eq i32 %t26, 0
|
|
%t30 = select i1 %t29, i32 8, i32 %t28
|
|
%t31 = getelementptr ptr, ptr null, i32 1
|
|
%t32 = ptrtoint ptr %t31 to i64
|
|
%t33 = zext i32 %t30 to i64
|
|
%t34 = mul i64 %t33, %t32
|
|
%t35 = load ptr, ptr %t24
|
|
%t36 = call ptr @realloc(ptr %t35, i64 %t34)
|
|
store ptr %t36, ptr %t24
|
|
store i32 %t30, ptr %t23
|
|
br label %put4
|
|
put4:
|
|
%t37 = load ptr, ptr %t12
|
|
%t38 = load ptr, ptr %t24
|
|
%t39 = getelementptr inbounds ptr, ptr %t38, i32 %t25
|
|
store ptr %t37, ptr %t39
|
|
%t40 = add i32 %t25, 1
|
|
store i32 %t40, ptr %t22
|
|
%t41 = call i32 @fn_is_op(ptr @.str127)
|
|
%t42 = icmp ne i32 %t41, 0
|
|
br i1 %t42, label %then5, label %ifend7
|
|
then5:
|
|
%t43 = load i32, ptr @g_pi
|
|
%t44 = add i32 %t43, 1
|
|
store i32 %t44, ptr @g_pi
|
|
br label %ifend7
|
|
ifend7:
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_eat_op(ptr @.str128)
|
|
%t45 = load ptr, ptr %t3
|
|
%t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 3
|
|
store ptr @.str129, ptr %t46
|
|
%t47 = call i32 @fn_is_op(ptr @.str130)
|
|
%t48 = icmp ne i32 %t47, 0
|
|
br i1 %t48, label %then8, label %ifend10
|
|
then8:
|
|
%t49 = load i32, ptr @g_pi
|
|
%t50 = add i32 %t49, 1
|
|
store i32 %t50, ptr @g_pi
|
|
%t51 = load ptr, ptr %t3
|
|
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 3
|
|
%t53 = call ptr @fn_ptype()
|
|
store ptr %t53, ptr %t52
|
|
br label %ifend10
|
|
ifend10:
|
|
%t54 = load ptr, ptr %t3
|
|
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4
|
|
%t56 = call ptr @fn_block()
|
|
store ptr %t56, ptr %t55
|
|
%t57 = load ptr, ptr %t3
|
|
store ptr %t57, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t58 = load ptr, ptr %retval
|
|
ret ptr %t58
|
|
}
|
|
|
|
define ptr @fn_parse_main() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t0 = load i32, ptr @g_pi
|
|
%t1 = add i32 %t0, 1
|
|
store i32 %t1, ptr @g_pi
|
|
%t2 = call ptr @fn_node(i32 6)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 4
|
|
%t6 = call ptr @fn_block()
|
|
store ptr %t6, ptr %t5
|
|
%t7 = load ptr, ptr %t3
|
|
store ptr %t7, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t8 = load ptr, ptr %retval
|
|
ret ptr %t8
|
|
}
|
|
|
|
define ptr @fn_dir_of(ptr %arg_path) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
store ptr %arg_path, ptr %t0
|
|
%t1 = sub i32 0, 1
|
|
store i32 %t1, ptr %t2
|
|
store i32 0, ptr %t3
|
|
br label %wcond0
|
|
wcond0:
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = load i32, ptr %t3
|
|
%t6 = getelementptr inbounds i8, ptr %t4, i32 %t5
|
|
%t7 = load i8, ptr %t6
|
|
%t8 = zext i8 %t7 to i32
|
|
%t9 = icmp ne i32 %t8, 0
|
|
%t10 = zext i1 %t9 to i32
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t12 = load ptr, ptr %t0
|
|
%t13 = load i32, ptr %t3
|
|
%t14 = getelementptr inbounds i8, ptr %t12, i32 %t13
|
|
%t15 = load i8, ptr %t14
|
|
%t16 = zext i8 %t15 to i32
|
|
%t17 = icmp eq i32 %t16, 47
|
|
%t18 = zext i1 %t17 to i32
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then3, label %ifend5
|
|
then3:
|
|
%t20 = load i32, ptr %t3
|
|
store i32 %t20, ptr %t2
|
|
br label %ifend5
|
|
ifend5:
|
|
%t21 = load i32, ptr %t3
|
|
%t22 = add i32 %t21, 1
|
|
store i32 %t22, ptr %t3
|
|
br label %wcond0
|
|
wend2:
|
|
%t23 = load i32, ptr %t2
|
|
%t24 = icmp slt i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
%t26 = icmp ne i32 %t25, 0
|
|
br i1 %t26, label %then6, label %ifend8
|
|
then6:
|
|
store ptr @.str131, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t27 = load ptr, ptr %t0
|
|
%t28 = load i32, ptr %t2
|
|
%t29 = add i32 %t28, 1
|
|
%t30 = add i32 0, %t29
|
|
%t31 = call ptr @fn_str_slice(ptr %t27, i32 0, i32 %t30)
|
|
store ptr %t31, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t32 = load ptr, ptr %retval
|
|
ret ptr %t32
|
|
}
|
|
|
|
define ptr @fn_path_join(ptr %arg_dir, ptr %arg_rel) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
store ptr %arg_dir, ptr %t0
|
|
store ptr %arg_rel, ptr %t1
|
|
%t2 = load ptr, ptr %t1
|
|
%t3 = getelementptr inbounds i8, ptr %t2, i32 0
|
|
%t4 = load i8, ptr %t3
|
|
%t5 = zext i8 %t4 to i32
|
|
%t6 = icmp eq i32 %t5, 47
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %then0, label %ifend2
|
|
then0:
|
|
%t9 = load ptr, ptr %t1
|
|
store ptr %t9, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = load ptr, ptr %t1
|
|
%t12 = call ptr @fn_str_concat(ptr %t10, ptr %t11)
|
|
store ptr %t12, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t13 = load ptr, ptr %retval
|
|
ret ptr %t13
|
|
}
|
|
|
|
define i32 @fn_already_loaded(ptr %arg_full) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_full, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_loaded_paths
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_loaded_paths
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = load ptr, ptr %t0
|
|
%t16 = call i32 @fn_str_eq(ptr %t14, ptr %t15)
|
|
%t17 = icmp ne i32 %t16, 0
|
|
br i1 %t17, label %then3, label %ifend5
|
|
then3:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t18 = load i32, ptr %t1
|
|
%t19 = add i32 %t18, 1
|
|
store i32 %t19, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t20 = load i32, ptr %retval
|
|
ret i32 %t20
|
|
}
|
|
|
|
define void @fn_parse_one_decl() {
|
|
entry:
|
|
%t0 = alloca i32
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t4 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t6 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t8 = alloca ptr
|
|
%t9 = alloca ptr
|
|
%t10 = alloca i32
|
|
%t11 = alloca ptr
|
|
%t12 = alloca i32
|
|
%t13 = alloca i32
|
|
%t14 = alloca ptr
|
|
%t15 = alloca ptr
|
|
%t21 = alloca ptr
|
|
%t92 = alloca i32
|
|
%t118 = alloca ptr
|
|
%t128 = alloca ptr
|
|
%t157 = alloca ptr
|
|
%t169 = alloca ptr
|
|
%t172 = alloca i32
|
|
%t216 = alloca ptr
|
|
%t246 = alloca ptr
|
|
%t367 = alloca ptr
|
|
%t482 = alloca ptr
|
|
store i32 0, ptr %t0
|
|
store ptr null, ptr %t1
|
|
store ptr null, ptr %t2
|
|
store ptr null, ptr %t3
|
|
store ptr null, ptr %t4
|
|
store ptr null, ptr %t5
|
|
store ptr null, ptr %t6
|
|
store ptr null, ptr %t7
|
|
store ptr null, ptr %t8
|
|
store ptr null, ptr %t9
|
|
store i32 0, ptr %t10
|
|
store ptr null, ptr %t11
|
|
store i32 0, ptr %t12
|
|
store i32 0, ptr %t13
|
|
store ptr null, ptr %t14
|
|
store ptr null, ptr %t15
|
|
br label %wcond0
|
|
wcond0:
|
|
%t16 = call i32 @fn_is_op(ptr @.str132)
|
|
%t17 = icmp ne i32 %t16, 0
|
|
br i1 %t17, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t18 = load i32, ptr @g_pi
|
|
%t19 = add i32 %t18, 1
|
|
store i32 %t19, ptr @g_pi
|
|
%t20 = call ptr @fn_eat_id()
|
|
store ptr %t20, ptr %t21
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str133)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
br i1 %t24, label %then3, label %else4
|
|
then3:
|
|
store i32 1, ptr %t0
|
|
br label %ifend5
|
|
else4:
|
|
%t25 = load ptr, ptr %t21
|
|
%t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str134)
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then6, label %else7
|
|
then6:
|
|
store i32 1, ptr %t10
|
|
br label %ifend8
|
|
else7:
|
|
%t28 = load ptr, ptr %t21
|
|
%t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str135)
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then9, label %else10
|
|
then9:
|
|
call void @fn_eat_op(ptr @.str136)
|
|
%t31 = call ptr @fn_eat_id()
|
|
store ptr %t31, ptr %t9
|
|
call void @fn_eat_op(ptr @.str137)
|
|
br label %ifend11
|
|
else10:
|
|
%t32 = load ptr, ptr %t21
|
|
%t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str138)
|
|
%t34 = icmp ne i32 %t33, 0
|
|
br i1 %t34, label %then12, label %else13
|
|
then12:
|
|
%t35 = call ptr @fn_parse_queries_anno()
|
|
store ptr %t35, ptr %t1
|
|
br label %ifend14
|
|
else13:
|
|
%t36 = load ptr, ptr %t21
|
|
%t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str139)
|
|
%t38 = icmp ne i32 %t37, 0
|
|
br i1 %t38, label %then15, label %else16
|
|
then15:
|
|
call void @fn_eat_op(ptr @.str140)
|
|
%t39 = call ptr @fn_eat_id()
|
|
store ptr %t39, ptr %t2
|
|
call void @fn_eat_op(ptr @.str141)
|
|
br label %ifend17
|
|
else16:
|
|
%t40 = load ptr, ptr %t21
|
|
%t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str142)
|
|
%t42 = icmp ne i32 %t41, 0
|
|
br i1 %t42, label %then18, label %else19
|
|
then18:
|
|
call void @fn_eat_op(ptr @.str143)
|
|
%t43 = call ptr @fn_eat_id()
|
|
store ptr %t43, ptr %t3
|
|
%t44 = call i32 @fn_is_op(ptr @.str144)
|
|
%t45 = icmp ne i32 %t44, 0
|
|
br i1 %t45, label %then21, label %ifend23
|
|
then21:
|
|
%t46 = load i32, ptr @g_pi
|
|
%t47 = add i32 %t46, 1
|
|
store i32 %t47, ptr @g_pi
|
|
%t48 = call ptr @fn_eat_id()
|
|
call void @fn_eat_op(ptr @.str145)
|
|
%t49 = call ptr @fn_eat_id()
|
|
store ptr %t49, ptr %t4
|
|
br label %ifend23
|
|
ifend23:
|
|
call void @fn_eat_op(ptr @.str146)
|
|
br label %ifend20
|
|
else19:
|
|
%t50 = load ptr, ptr %t21
|
|
%t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str147)
|
|
%t52 = icmp ne i32 %t51, 0
|
|
br i1 %t52, label %then24, label %else25
|
|
then24:
|
|
call void @fn_eat_op(ptr @.str148)
|
|
%t53 = call ptr @fn_eat_id()
|
|
store ptr %t53, ptr %t5
|
|
call void @fn_eat_op(ptr @.str149)
|
|
br label %ifend26
|
|
else25:
|
|
%t54 = load ptr, ptr %t21
|
|
%t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str150)
|
|
%t56 = icmp ne i32 %t55, 0
|
|
br i1 %t56, label %then27, label %else28
|
|
then27:
|
|
call void @fn_eat_op(ptr @.str151)
|
|
%t57 = call ptr @fn_eat_id()
|
|
store ptr %t57, ptr %t6
|
|
call void @fn_eat_op(ptr @.str152)
|
|
br label %ifend29
|
|
else28:
|
|
%t58 = load ptr, ptr %t21
|
|
%t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str153)
|
|
%t60 = icmp ne i32 %t59, 0
|
|
br i1 %t60, label %then30, label %else31
|
|
then30:
|
|
call void @fn_eat_op(ptr @.str154)
|
|
%t61 = call ptr @fn_eat_id()
|
|
store ptr %t61, ptr %t7
|
|
call void @fn_eat_op(ptr @.str155)
|
|
br label %ifend32
|
|
else31:
|
|
%t62 = load ptr, ptr %t21
|
|
%t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str156)
|
|
%t64 = icmp ne i32 %t63, 0
|
|
br i1 %t64, label %then33, label %else34
|
|
then33:
|
|
call void @fn_eat_op(ptr @.str157)
|
|
%t65 = call ptr @fn_eat_id()
|
|
store ptr %t65, ptr %t8
|
|
call void @fn_eat_op(ptr @.str158)
|
|
br label %ifend35
|
|
else34:
|
|
%t66 = load ptr, ptr %t21
|
|
%t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str159)
|
|
%t68 = icmp ne i32 %t67, 0
|
|
br i1 %t68, label %then36, label %else37
|
|
then36:
|
|
store ptr @.str160, ptr %t11
|
|
br label %ifend38
|
|
else37:
|
|
%t69 = load ptr, ptr %t21
|
|
%t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str161)
|
|
%t71 = icmp ne i32 %t70, 0
|
|
br i1 %t71, label %then39, label %else40
|
|
then39:
|
|
store ptr @.str162, ptr %t11
|
|
br label %ifend41
|
|
else40:
|
|
%t72 = load ptr, ptr %t21
|
|
%t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str163)
|
|
%t74 = icmp ne i32 %t73, 0
|
|
br i1 %t74, label %then42, label %else43
|
|
then42:
|
|
store i32 1, ptr %t12
|
|
br label %ifend44
|
|
else43:
|
|
%t75 = load ptr, ptr %t21
|
|
%t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str164)
|
|
%t77 = icmp ne i32 %t76, 0
|
|
br i1 %t77, label %then45, label %else46
|
|
then45:
|
|
store i32 1, ptr %t13
|
|
br label %ifend47
|
|
else46:
|
|
%t78 = load ptr, ptr %t21
|
|
%t79 = call i32 @fn_str_eq(ptr %t78, ptr @.str165)
|
|
%t80 = icmp ne i32 %t79, 0
|
|
br i1 %t80, label %then48, label %else49
|
|
then48:
|
|
store ptr @.str166, ptr %t14
|
|
br label %ifend50
|
|
else49:
|
|
%t81 = load ptr, ptr %t21
|
|
%t82 = call i32 @fn_str_eq(ptr %t81, ptr @.str167)
|
|
%t83 = icmp ne i32 %t82, 0
|
|
br i1 %t83, label %then51, label %else52
|
|
then51:
|
|
store ptr @.str168, ptr %t14
|
|
br label %ifend53
|
|
else52:
|
|
%t84 = load ptr, ptr %t21
|
|
%t85 = call i32 @fn_str_eq(ptr %t84, ptr @.str169)
|
|
%t86 = icmp ne i32 %t85, 0
|
|
br i1 %t86, label %then54, label %else55
|
|
then54:
|
|
store ptr @.str170, ptr %t15
|
|
br label %ifend56
|
|
else55:
|
|
%t87 = load ptr, ptr %t21
|
|
%t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str171)
|
|
%t89 = icmp ne i32 %t88, 0
|
|
br i1 %t89, label %then57, label %else58
|
|
then57:
|
|
store ptr @.str172, ptr %t15
|
|
br label %ifend59
|
|
else58:
|
|
%t90 = call i32 @fn_is_op(ptr @.str173)
|
|
%t91 = icmp ne i32 %t90, 0
|
|
br i1 %t91, label %then60, label %ifend62
|
|
then60:
|
|
store i32 0, ptr %t92
|
|
br label %wcond63
|
|
wcond63:
|
|
%t93 = icmp ne i32 1, 0
|
|
br i1 %t93, label %wbody64, label %wend65
|
|
wbody64:
|
|
%t94 = call i32 @fn_is_op(ptr @.str174)
|
|
%t95 = icmp ne i32 %t94, 0
|
|
br i1 %t95, label %then66, label %ifend68
|
|
then66:
|
|
%t96 = load i32, ptr %t92
|
|
%t97 = add i32 %t96, 1
|
|
store i32 %t97, ptr %t92
|
|
br label %ifend68
|
|
ifend68:
|
|
%t98 = call i32 @fn_is_op(ptr @.str175)
|
|
%t99 = icmp ne i32 %t98, 0
|
|
br i1 %t99, label %then69, label %ifend71
|
|
then69:
|
|
%t100 = load i32, ptr %t92
|
|
%t101 = sub i32 %t100, 1
|
|
store i32 %t101, ptr %t92
|
|
br label %ifend71
|
|
ifend71:
|
|
%t102 = load i32, ptr @g_pi
|
|
%t103 = add i32 %t102, 1
|
|
store i32 %t103, ptr @g_pi
|
|
%t104 = load i32, ptr %t92
|
|
%t105 = icmp eq i32 %t104, 0
|
|
%t106 = zext i1 %t105 to i32
|
|
%t107 = icmp ne i32 %t106, 0
|
|
br i1 %t107, label %then72, label %ifend74
|
|
then72:
|
|
br label %wend65
|
|
ifend74:
|
|
br label %wcond63
|
|
wend65:
|
|
br label %ifend62
|
|
ifend62:
|
|
br label %ifend59
|
|
ifend59:
|
|
br label %ifend56
|
|
ifend56:
|
|
br label %ifend53
|
|
ifend53:
|
|
br label %ifend50
|
|
ifend50:
|
|
br label %ifend47
|
|
ifend47:
|
|
br label %ifend44
|
|
ifend44:
|
|
br label %ifend41
|
|
ifend41:
|
|
br label %ifend38
|
|
ifend38:
|
|
br label %ifend35
|
|
ifend35:
|
|
br label %ifend32
|
|
ifend32:
|
|
br label %ifend29
|
|
ifend29:
|
|
br label %ifend26
|
|
ifend26:
|
|
br label %ifend20
|
|
ifend20:
|
|
br label %ifend17
|
|
ifend17:
|
|
br label %ifend14
|
|
ifend14:
|
|
br label %ifend11
|
|
ifend11:
|
|
br label %ifend8
|
|
ifend8:
|
|
br label %ifend5
|
|
ifend5:
|
|
call void @fn_skipnl()
|
|
br label %wcond0
|
|
wend2:
|
|
%t108 = call i32 @fn_is_id(ptr @.str176)
|
|
%t109 = icmp ne i32 %t108, 0
|
|
br i1 %t109, label %then75, label %ifend77
|
|
then75:
|
|
%t110 = load i32, ptr @g_pi
|
|
%t111 = add i32 %t110, 1
|
|
store i32 %t111, ptr @g_pi
|
|
%t112 = load ptr, ptr @g_toks
|
|
%t113 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0
|
|
%t114 = load ptr, ptr %t113
|
|
%t115 = load i32, ptr @g_pi
|
|
%t116 = getelementptr inbounds ptr, ptr %t114, i32 %t115
|
|
%t117 = load ptr, ptr %t116
|
|
store ptr %t117, ptr %t118
|
|
%t119 = load ptr, ptr %t118
|
|
%t120 = getelementptr inbounds %Cmp_Tok, ptr %t119, i32 0, i32 0
|
|
%t121 = load i32, ptr %t120
|
|
%t122 = icmp ne i32 %t121, 2
|
|
%t123 = zext i1 %t122 to i32
|
|
%t124 = icmp ne i32 %t123, 0
|
|
br i1 %t124, label %then78, label %ifend80
|
|
then78:
|
|
call void @fn_perr(ptr @.str177)
|
|
br label %ifend80
|
|
ifend80:
|
|
%t125 = load ptr, ptr %t118
|
|
%t126 = getelementptr inbounds %Cmp_Tok, ptr %t125, i32 0, i32 1
|
|
%t127 = load ptr, ptr %t126
|
|
store ptr %t127, ptr %t128
|
|
%t129 = load i32, ptr @g_pi
|
|
%t130 = add i32 %t129, 1
|
|
store i32 %t130, ptr @g_pi
|
|
%t131 = load ptr, ptr %t128
|
|
call void @fn_do_import(ptr %t131)
|
|
br label %ret
|
|
ifend77:
|
|
%t132 = call i32 @fn_is_id(ptr @.str178)
|
|
%t133 = icmp ne i32 %t132, 0
|
|
br i1 %t133, label %then81, label %ifend83
|
|
then81:
|
|
%t134 = load ptr, ptr @g_prog
|
|
%t135 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 1
|
|
%t136 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 2
|
|
%t137 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 0
|
|
%t138 = load i32, ptr %t135
|
|
%t139 = load i32, ptr %t136
|
|
%t140 = icmp sge i32 %t138, %t139
|
|
br i1 %t140, label %grow84, label %put85
|
|
grow84:
|
|
%t141 = mul i32 %t139, 2
|
|
%t142 = icmp eq i32 %t139, 0
|
|
%t143 = select i1 %t142, i32 8, i32 %t141
|
|
%t144 = getelementptr ptr, ptr null, i32 1
|
|
%t145 = ptrtoint ptr %t144 to i64
|
|
%t146 = zext i32 %t143 to i64
|
|
%t147 = mul i64 %t146, %t145
|
|
%t148 = load ptr, ptr %t137
|
|
%t149 = call ptr @realloc(ptr %t148, i64 %t147)
|
|
store ptr %t149, ptr %t137
|
|
store i32 %t143, ptr %t136
|
|
br label %put85
|
|
put85:
|
|
%t150 = call ptr @fn_parse_enum()
|
|
%t151 = load ptr, ptr %t137
|
|
%t152 = getelementptr inbounds ptr, ptr %t151, i32 %t138
|
|
store ptr %t150, ptr %t152
|
|
%t153 = add i32 %t138, 1
|
|
store i32 %t153, ptr %t135
|
|
br label %ret
|
|
ifend83:
|
|
%t154 = call i32 @fn_is_id(ptr @.str179)
|
|
%t155 = icmp ne i32 %t154, 0
|
|
br i1 %t155, label %then86, label %ifend88
|
|
then86:
|
|
%t156 = call ptr @fn_parse_event()
|
|
store ptr %t156, ptr %t157
|
|
%t158 = load ptr, ptr %t15
|
|
%t159 = icmp ne ptr %t158, null
|
|
%t160 = zext i1 %t159 to i32
|
|
%t161 = icmp ne i32 %t160, 0
|
|
br i1 %t161, label %then89, label %ifend91
|
|
then89:
|
|
%t162 = load ptr, ptr %t157
|
|
%t163 = getelementptr inbounds %Cmp_Node, ptr %t162, i32 0, i32 3
|
|
%t164 = load ptr, ptr %t15
|
|
store ptr %t164, ptr %t163
|
|
br label %ifend91
|
|
ifend91:
|
|
%t165 = load ptr, ptr %t157
|
|
call void @fn_register_event(ptr %t165)
|
|
br label %ret
|
|
ifend88:
|
|
%t166 = call i32 @fn_is_id(ptr @.str180)
|
|
%t167 = icmp ne i32 %t166, 0
|
|
br i1 %t167, label %then92, label %ifend94
|
|
then92:
|
|
%t168 = call ptr @fn_parse_component()
|
|
store ptr %t168, ptr %t169
|
|
%t170 = load i32, ptr %t12
|
|
%t171 = icmp ne i32 %t170, 0
|
|
br i1 %t171, label %then95, label %ifend97
|
|
then95:
|
|
store i32 0, ptr %t172
|
|
br label %wcond98
|
|
wcond98:
|
|
%t173 = load i32, ptr %t172
|
|
%t174 = load ptr, ptr %t169
|
|
%t175 = getelementptr inbounds %Cmp_Node, ptr %t174, i32 0, i32 7
|
|
%t176 = load ptr, ptr %t175
|
|
%t177 = getelementptr inbounds %LSlice, ptr %t176, i32 0, i32 1
|
|
%t178 = load i32, ptr %t177
|
|
%t179 = icmp slt i32 %t173, %t178
|
|
%t180 = zext i1 %t179 to i32
|
|
%t181 = icmp ne i32 %t180, 0
|
|
br i1 %t181, label %wbody99, label %wend100
|
|
wbody99:
|
|
%t182 = load ptr, ptr %t169
|
|
%t183 = getelementptr inbounds %Cmp_Node, ptr %t182, i32 0, i32 7
|
|
%t184 = load ptr, ptr %t183
|
|
%t185 = getelementptr inbounds %LSlice, ptr %t184, i32 0, i32 0
|
|
%t186 = load ptr, ptr %t185
|
|
%t187 = load i32, ptr %t172
|
|
%t188 = getelementptr inbounds ptr, ptr %t186, i32 %t187
|
|
%t189 = load ptr, ptr %t188
|
|
%t190 = getelementptr inbounds %Cmp_Node, ptr %t189, i32 0, i32 2
|
|
store i32 1, ptr %t190
|
|
%t191 = load i32, ptr %t172
|
|
%t192 = add i32 %t191, 1
|
|
store i32 %t192, ptr %t172
|
|
br label %wcond98
|
|
wend100:
|
|
br label %ifend97
|
|
ifend97:
|
|
%t193 = load ptr, ptr @g_prog
|
|
%t194 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 1
|
|
%t195 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 2
|
|
%t196 = getelementptr inbounds %LSlice, ptr %t193, i32 0, i32 0
|
|
%t197 = load i32, ptr %t194
|
|
%t198 = load i32, ptr %t195
|
|
%t199 = icmp sge i32 %t197, %t198
|
|
br i1 %t199, label %grow101, label %put102
|
|
grow101:
|
|
%t200 = mul i32 %t198, 2
|
|
%t201 = icmp eq i32 %t198, 0
|
|
%t202 = select i1 %t201, i32 8, i32 %t200
|
|
%t203 = getelementptr ptr, ptr null, i32 1
|
|
%t204 = ptrtoint ptr %t203 to i64
|
|
%t205 = zext i32 %t202 to i64
|
|
%t206 = mul i64 %t205, %t204
|
|
%t207 = load ptr, ptr %t196
|
|
%t208 = call ptr @realloc(ptr %t207, i64 %t206)
|
|
store ptr %t208, ptr %t196
|
|
store i32 %t202, ptr %t195
|
|
br label %put102
|
|
put102:
|
|
%t209 = load ptr, ptr %t169
|
|
%t210 = load ptr, ptr %t196
|
|
%t211 = getelementptr inbounds ptr, ptr %t210, i32 %t197
|
|
store ptr %t209, ptr %t211
|
|
%t212 = add i32 %t197, 1
|
|
store i32 %t212, ptr %t194
|
|
br label %ret
|
|
ifend94:
|
|
%t213 = call i32 @fn_is_id(ptr @.str181)
|
|
%t214 = icmp ne i32 %t213, 0
|
|
br i1 %t214, label %then103, label %ifend105
|
|
then103:
|
|
%t215 = call ptr @fn_parse_archetype()
|
|
store ptr %t215, ptr %t216
|
|
%t217 = load i32, ptr %t13
|
|
%t218 = icmp ne i32 %t217, 0
|
|
br i1 %t218, label %then106, label %ifend108
|
|
then106:
|
|
%t219 = load ptr, ptr %t216
|
|
%t220 = getelementptr inbounds %Cmp_Node, ptr %t219, i32 0, i32 2
|
|
store i32 1, ptr %t220
|
|
br label %ifend108
|
|
ifend108:
|
|
%t221 = load ptr, ptr @g_prog
|
|
%t222 = getelementptr inbounds %LSlice, ptr %t221, i32 0, i32 1
|
|
%t223 = getelementptr inbounds %LSlice, ptr %t221, i32 0, i32 2
|
|
%t224 = getelementptr inbounds %LSlice, ptr %t221, i32 0, i32 0
|
|
%t225 = load i32, ptr %t222
|
|
%t226 = load i32, ptr %t223
|
|
%t227 = icmp sge i32 %t225, %t226
|
|
br i1 %t227, label %grow109, label %put110
|
|
grow109:
|
|
%t228 = mul i32 %t226, 2
|
|
%t229 = icmp eq i32 %t226, 0
|
|
%t230 = select i1 %t229, i32 8, i32 %t228
|
|
%t231 = getelementptr ptr, ptr null, i32 1
|
|
%t232 = ptrtoint ptr %t231 to i64
|
|
%t233 = zext i32 %t230 to i64
|
|
%t234 = mul i64 %t233, %t232
|
|
%t235 = load ptr, ptr %t224
|
|
%t236 = call ptr @realloc(ptr %t235, i64 %t234)
|
|
store ptr %t236, ptr %t224
|
|
store i32 %t230, ptr %t223
|
|
br label %put110
|
|
put110:
|
|
%t237 = load ptr, ptr %t216
|
|
%t238 = load ptr, ptr %t224
|
|
%t239 = getelementptr inbounds ptr, ptr %t238, i32 %t225
|
|
store ptr %t237, ptr %t239
|
|
%t240 = add i32 %t225, 1
|
|
store i32 %t240, ptr %t222
|
|
br label %ret
|
|
ifend105:
|
|
%t241 = call i32 @fn_is_id(ptr @.str182)
|
|
%t242 = icmp ne i32 %t241, 0
|
|
br i1 %t242, label %then111, label %ifend113
|
|
then111:
|
|
call void @fn_parse_scene()
|
|
br label %ret
|
|
ifend113:
|
|
%t243 = call i32 @fn_is_id(ptr @.str183)
|
|
%t244 = icmp ne i32 %t243, 0
|
|
br i1 %t244, label %then114, label %ifend116
|
|
then114:
|
|
%t245 = call ptr @fn_parse_system()
|
|
store ptr %t245, ptr %t246
|
|
%t247 = load ptr, ptr %t14
|
|
%t248 = icmp ne ptr %t247, null
|
|
%t249 = zext i1 %t248 to i32
|
|
%t250 = icmp ne i32 %t249, 0
|
|
br i1 %t250, label %then117, label %ifend119
|
|
then117:
|
|
%t251 = load ptr, ptr %t14
|
|
%t252 = call i32 @fn_str_eq(ptr %t251, ptr @.str184)
|
|
%t253 = icmp ne i32 %t252, 0
|
|
br i1 %t253, label %then120, label %else121
|
|
then120:
|
|
%t254 = load ptr, ptr %t246
|
|
%t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 2
|
|
store i32 1, ptr %t255
|
|
br label %ifend122
|
|
else121:
|
|
%t256 = load ptr, ptr %t246
|
|
%t257 = getelementptr inbounds %Cmp_Node, ptr %t256, i32 0, i32 2
|
|
store i32 2, ptr %t257
|
|
br label %ifend122
|
|
ifend122:
|
|
br label %ifend119
|
|
ifend119:
|
|
%t258 = load ptr, ptr %t9
|
|
%t259 = icmp ne ptr %t258, null
|
|
%t260 = zext i1 %t259 to i32
|
|
%t261 = icmp ne i32 %t260, 0
|
|
br i1 %t261, label %then123, label %ifend125
|
|
then123:
|
|
%t262 = load ptr, ptr %t9
|
|
%t263 = load ptr, ptr %t246
|
|
%t264 = getelementptr inbounds %Cmp_Node, ptr %t263, i32 0, i32 4
|
|
%t265 = load ptr, ptr %t264
|
|
call void @fn_register_onlisten(ptr %t262, ptr %t265)
|
|
br label %ret
|
|
ifend125:
|
|
%t266 = load ptr, ptr %t2
|
|
%t267 = icmp ne ptr %t266, null
|
|
%t268 = zext i1 %t267 to i32
|
|
%t269 = icmp ne i32 %t268, 0
|
|
br i1 %t269, label %then126, label %ifend128
|
|
then126:
|
|
%t270 = load ptr, ptr %t2
|
|
%t271 = load ptr, ptr %t246
|
|
%t272 = getelementptr inbounds %Cmp_Node, ptr %t271, i32 0, i32 4
|
|
%t273 = load ptr, ptr %t272
|
|
call void @fn_register_onspawn(ptr %t270, ptr %t273)
|
|
%t274 = load i32, ptr %t10
|
|
%t275 = icmp ne i32 %t274, 0
|
|
br i1 %t275, label %then129, label %ifend131
|
|
then129:
|
|
%t276 = load ptr, ptr %t2
|
|
%t277 = call ptr @fn_str_concat(ptr @.str185, ptr %t276)
|
|
%t278 = call ptr @fn_str_concat(ptr %t277, ptr @.str186)
|
|
call void @fn_ensure_event(ptr %t278, i32 0)
|
|
br label %ifend131
|
|
ifend131:
|
|
br label %ret
|
|
ifend128:
|
|
%t279 = load ptr, ptr %t3
|
|
%t280 = icmp ne ptr %t279, null
|
|
%t281 = zext i1 %t280 to i32
|
|
%t282 = icmp ne i32 %t281, 0
|
|
br i1 %t282, label %then132, label %ifend134
|
|
then132:
|
|
%t283 = load ptr, ptr %t3
|
|
%t284 = load ptr, ptr %t246
|
|
%t285 = getelementptr inbounds %Cmp_Node, ptr %t284, i32 0, i32 4
|
|
%t286 = load ptr, ptr %t285
|
|
%t287 = load ptr, ptr %t4
|
|
call void @fn_register_ondespawn(ptr %t283, ptr %t286, ptr %t287)
|
|
%t288 = load i32, ptr %t10
|
|
%t289 = icmp ne i32 %t288, 0
|
|
br i1 %t289, label %then135, label %ifend137
|
|
then135:
|
|
%t290 = load ptr, ptr %t3
|
|
%t291 = call ptr @fn_str_concat(ptr @.str187, ptr %t290)
|
|
%t292 = call ptr @fn_str_concat(ptr %t291, ptr @.str188)
|
|
call void @fn_ensure_event(ptr %t292, i32 1)
|
|
br label %ifend137
|
|
ifend137:
|
|
br label %ret
|
|
ifend134:
|
|
%t293 = load ptr, ptr %t5
|
|
%t294 = icmp ne ptr %t293, null
|
|
%t295 = zext i1 %t294 to i32
|
|
%t296 = icmp ne i32 %t295, 0
|
|
br i1 %t296, label %then138, label %ifend140
|
|
then138:
|
|
%t297 = load ptr, ptr %t5
|
|
%t298 = load ptr, ptr %t246
|
|
%t299 = getelementptr inbounds %Cmp_Node, ptr %t298, i32 0, i32 4
|
|
%t300 = load ptr, ptr %t299
|
|
call void @fn_register_onattach(ptr %t297, ptr %t300)
|
|
%t301 = load i32, ptr %t10
|
|
%t302 = icmp ne i32 %t301, 0
|
|
br i1 %t302, label %then141, label %ifend143
|
|
then141:
|
|
%t303 = load ptr, ptr %t5
|
|
%t304 = call ptr @fn_str_concat(ptr @.str189, ptr %t303)
|
|
%t305 = call ptr @fn_str_concat(ptr %t304, ptr @.str190)
|
|
call void @fn_ensure_event(ptr %t305, i32 0)
|
|
br label %ifend143
|
|
ifend143:
|
|
br label %ret
|
|
ifend140:
|
|
%t306 = load ptr, ptr %t6
|
|
%t307 = icmp ne ptr %t306, null
|
|
%t308 = zext i1 %t307 to i32
|
|
%t309 = icmp ne i32 %t308, 0
|
|
br i1 %t309, label %then144, label %ifend146
|
|
then144:
|
|
%t310 = load ptr, ptr %t6
|
|
%t311 = load ptr, ptr %t246
|
|
%t312 = getelementptr inbounds %Cmp_Node, ptr %t311, i32 0, i32 4
|
|
%t313 = load ptr, ptr %t312
|
|
call void @fn_register_ondetach(ptr %t310, ptr %t313)
|
|
%t314 = load i32, ptr %t10
|
|
%t315 = icmp ne i32 %t314, 0
|
|
br i1 %t315, label %then147, label %ifend149
|
|
then147:
|
|
%t316 = load ptr, ptr %t6
|
|
%t317 = call ptr @fn_str_concat(ptr @.str191, ptr %t316)
|
|
%t318 = call ptr @fn_str_concat(ptr %t317, ptr @.str192)
|
|
call void @fn_ensure_event(ptr %t318, i32 0)
|
|
br label %ifend149
|
|
ifend149:
|
|
br label %ret
|
|
ifend146:
|
|
%t319 = load ptr, ptr %t7
|
|
%t320 = icmp ne ptr %t319, null
|
|
%t321 = zext i1 %t320 to i32
|
|
%t322 = icmp ne i32 %t321, 0
|
|
br i1 %t322, label %then150, label %ifend152
|
|
then150:
|
|
%t323 = load ptr, ptr %t7
|
|
%t324 = load ptr, ptr %t246
|
|
%t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 4
|
|
%t326 = load ptr, ptr %t325
|
|
call void @fn_register_onenable(ptr %t323, ptr %t326)
|
|
%t327 = load i32, ptr %t10
|
|
%t328 = icmp ne i32 %t327, 0
|
|
br i1 %t328, label %then153, label %ifend155
|
|
then153:
|
|
%t329 = load ptr, ptr %t7
|
|
%t330 = call ptr @fn_str_concat(ptr @.str193, ptr %t329)
|
|
%t331 = call ptr @fn_str_concat(ptr %t330, ptr @.str194)
|
|
call void @fn_ensure_event(ptr %t331, i32 0)
|
|
br label %ifend155
|
|
ifend155:
|
|
br label %ret
|
|
ifend152:
|
|
%t332 = load ptr, ptr %t8
|
|
%t333 = icmp ne ptr %t332, null
|
|
%t334 = zext i1 %t333 to i32
|
|
%t335 = icmp ne i32 %t334, 0
|
|
br i1 %t335, label %then156, label %ifend158
|
|
then156:
|
|
%t336 = load ptr, ptr %t8
|
|
%t337 = load ptr, ptr %t246
|
|
%t338 = getelementptr inbounds %Cmp_Node, ptr %t337, i32 0, i32 4
|
|
%t339 = load ptr, ptr %t338
|
|
call void @fn_register_ondisable(ptr %t336, ptr %t339)
|
|
%t340 = load i32, ptr %t10
|
|
%t341 = icmp ne i32 %t340, 0
|
|
br i1 %t341, label %then159, label %ifend161
|
|
then159:
|
|
%t342 = load ptr, ptr %t8
|
|
%t343 = call ptr @fn_str_concat(ptr @.str195, ptr %t342)
|
|
%t344 = call ptr @fn_str_concat(ptr %t343, ptr @.str196)
|
|
call void @fn_ensure_event(ptr %t344, i32 0)
|
|
br label %ifend161
|
|
ifend161:
|
|
br label %ret
|
|
ifend158:
|
|
%t345 = load ptr, ptr %t11
|
|
%t346 = icmp ne ptr %t345, null
|
|
%t347 = zext i1 %t346 to i32
|
|
%t348 = icmp ne i32 %t347, 0
|
|
br i1 %t348, label %then162, label %ifend164
|
|
then162:
|
|
%t349 = load ptr, ptr %t246
|
|
%t350 = getelementptr inbounds %Cmp_Node, ptr %t349, i32 0, i32 3
|
|
%t351 = load ptr, ptr %t11
|
|
store ptr %t351, ptr %t350
|
|
%t352 = load i32, ptr %t10
|
|
%t353 = icmp ne i32 %t352, 0
|
|
br i1 %t353, label %then165, label %ifend167
|
|
then165:
|
|
%t354 = load ptr, ptr %t11
|
|
%t355 = call i32 @fn_str_eq(ptr %t354, ptr @.str197)
|
|
%t356 = icmp ne i32 %t355, 0
|
|
br i1 %t356, label %then168, label %else169
|
|
then168:
|
|
call void @fn_ensure_event_empty(ptr @.str198)
|
|
br label %ifend170
|
|
else169:
|
|
call void @fn_ensure_event_empty(ptr @.str199)
|
|
br label %ifend170
|
|
ifend170:
|
|
br label %ifend167
|
|
ifend167:
|
|
br label %ifend164
|
|
ifend164:
|
|
%t357 = load ptr, ptr %t1
|
|
%t358 = icmp ne ptr %t357, null
|
|
%t359 = zext i1 %t358 to i32
|
|
%t360 = icmp ne i32 %t359, 0
|
|
br i1 %t360, label %then171, label %ifend173
|
|
then171:
|
|
%t361 = load ptr, ptr %t1
|
|
%t362 = getelementptr inbounds %Cmp_Node, ptr %t361, i32 0, i32 4
|
|
%t363 = load ptr, ptr %t246
|
|
%t364 = getelementptr inbounds %Cmp_Node, ptr %t363, i32 0, i32 4
|
|
%t365 = load ptr, ptr %t364
|
|
store ptr %t365, ptr %t362
|
|
%t366 = call ptr @fn_node(i32 7)
|
|
store ptr %t366, ptr %t367
|
|
%t368 = load ptr, ptr %t367
|
|
%t369 = getelementptr inbounds %Cmp_Node, ptr %t368, i32 0, i32 7
|
|
%t370 = load ptr, ptr %t369
|
|
%t371 = getelementptr inbounds %LSlice, ptr %t370, i32 0, i32 1
|
|
%t372 = getelementptr inbounds %LSlice, ptr %t370, i32 0, i32 2
|
|
%t373 = getelementptr inbounds %LSlice, ptr %t370, i32 0, i32 0
|
|
%t374 = load i32, ptr %t371
|
|
%t375 = load i32, ptr %t372
|
|
%t376 = icmp sge i32 %t374, %t375
|
|
br i1 %t376, label %grow174, label %put175
|
|
grow174:
|
|
%t377 = mul i32 %t375, 2
|
|
%t378 = icmp eq i32 %t375, 0
|
|
%t379 = select i1 %t378, i32 8, i32 %t377
|
|
%t380 = getelementptr ptr, ptr null, i32 1
|
|
%t381 = ptrtoint ptr %t380 to i64
|
|
%t382 = zext i32 %t379 to i64
|
|
%t383 = mul i64 %t382, %t381
|
|
%t384 = load ptr, ptr %t373
|
|
%t385 = call ptr @realloc(ptr %t384, i64 %t383)
|
|
store ptr %t385, ptr %t373
|
|
store i32 %t379, ptr %t372
|
|
br label %put175
|
|
put175:
|
|
%t386 = load ptr, ptr %t1
|
|
%t387 = load ptr, ptr %t373
|
|
%t388 = getelementptr inbounds ptr, ptr %t387, i32 %t374
|
|
store ptr %t386, ptr %t388
|
|
%t389 = add i32 %t374, 1
|
|
store i32 %t389, ptr %t371
|
|
%t390 = load ptr, ptr %t246
|
|
%t391 = getelementptr inbounds %Cmp_Node, ptr %t390, i32 0, i32 4
|
|
%t392 = load ptr, ptr %t367
|
|
store ptr %t392, ptr %t391
|
|
br label %ifend173
|
|
ifend173:
|
|
%t393 = load ptr, ptr @g_prog
|
|
%t394 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 1
|
|
%t395 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 2
|
|
%t396 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 0
|
|
%t397 = load i32, ptr %t394
|
|
%t398 = load i32, ptr %t395
|
|
%t399 = icmp sge i32 %t397, %t398
|
|
br i1 %t399, label %grow176, label %put177
|
|
grow176:
|
|
%t400 = mul i32 %t398, 2
|
|
%t401 = icmp eq i32 %t398, 0
|
|
%t402 = select i1 %t401, i32 8, i32 %t400
|
|
%t403 = getelementptr ptr, ptr null, i32 1
|
|
%t404 = ptrtoint ptr %t403 to i64
|
|
%t405 = zext i32 %t402 to i64
|
|
%t406 = mul i64 %t405, %t404
|
|
%t407 = load ptr, ptr %t396
|
|
%t408 = call ptr @realloc(ptr %t407, i64 %t406)
|
|
store ptr %t408, ptr %t396
|
|
store i32 %t402, ptr %t395
|
|
br label %put177
|
|
put177:
|
|
%t409 = load ptr, ptr %t246
|
|
%t410 = load ptr, ptr %t396
|
|
%t411 = getelementptr inbounds ptr, ptr %t410, i32 %t397
|
|
store ptr %t409, ptr %t411
|
|
%t412 = add i32 %t397, 1
|
|
store i32 %t412, ptr %t394
|
|
br label %ret
|
|
ifend116:
|
|
%t413 = call i32 @fn_is_id(ptr @.str200)
|
|
%t414 = icmp ne i32 %t413, 0
|
|
br i1 %t414, label %then178, label %ifend180
|
|
then178:
|
|
%t415 = load ptr, ptr @g_prog
|
|
%t416 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 1
|
|
%t417 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 2
|
|
%t418 = getelementptr inbounds %LSlice, ptr %t415, i32 0, i32 0
|
|
%t419 = load i32, ptr %t416
|
|
%t420 = load i32, ptr %t417
|
|
%t421 = icmp sge i32 %t419, %t420
|
|
br i1 %t421, label %grow181, label %put182
|
|
grow181:
|
|
%t422 = mul i32 %t420, 2
|
|
%t423 = icmp eq i32 %t420, 0
|
|
%t424 = select i1 %t423, i32 8, i32 %t422
|
|
%t425 = getelementptr ptr, ptr null, i32 1
|
|
%t426 = ptrtoint ptr %t425 to i64
|
|
%t427 = zext i32 %t424 to i64
|
|
%t428 = mul i64 %t427, %t426
|
|
%t429 = load ptr, ptr %t418
|
|
%t430 = call ptr @realloc(ptr %t429, i64 %t428)
|
|
store ptr %t430, ptr %t418
|
|
store i32 %t424, ptr %t417
|
|
br label %put182
|
|
put182:
|
|
%t431 = call ptr @fn_parse_ui()
|
|
%t432 = load ptr, ptr %t418
|
|
%t433 = getelementptr inbounds ptr, ptr %t432, i32 %t419
|
|
store ptr %t431, ptr %t433
|
|
%t434 = add i32 %t419, 1
|
|
store i32 %t434, ptr %t416
|
|
br label %ret
|
|
ifend180:
|
|
%t435 = call i32 @fn_is_id(ptr @.str201)
|
|
%t436 = icmp ne i32 %t435, 0
|
|
br i1 %t436, label %then183, label %ifend185
|
|
then183:
|
|
%t437 = load ptr, ptr @g_prog
|
|
%t438 = getelementptr inbounds %LSlice, ptr %t437, i32 0, i32 1
|
|
%t439 = getelementptr inbounds %LSlice, ptr %t437, i32 0, i32 2
|
|
%t440 = getelementptr inbounds %LSlice, ptr %t437, i32 0, i32 0
|
|
%t441 = load i32, ptr %t438
|
|
%t442 = load i32, ptr %t439
|
|
%t443 = icmp sge i32 %t441, %t442
|
|
br i1 %t443, label %grow186, label %put187
|
|
grow186:
|
|
%t444 = mul i32 %t442, 2
|
|
%t445 = icmp eq i32 %t442, 0
|
|
%t446 = select i1 %t445, i32 8, i32 %t444
|
|
%t447 = getelementptr ptr, ptr null, i32 1
|
|
%t448 = ptrtoint ptr %t447 to i64
|
|
%t449 = zext i32 %t446 to i64
|
|
%t450 = mul i64 %t449, %t448
|
|
%t451 = load ptr, ptr %t440
|
|
%t452 = call ptr @realloc(ptr %t451, i64 %t450)
|
|
store ptr %t452, ptr %t440
|
|
store i32 %t446, ptr %t439
|
|
br label %put187
|
|
put187:
|
|
%t453 = call ptr @fn_parse_var()
|
|
%t454 = load ptr, ptr %t440
|
|
%t455 = getelementptr inbounds ptr, ptr %t454, i32 %t441
|
|
store ptr %t453, ptr %t455
|
|
%t456 = add i32 %t441, 1
|
|
store i32 %t456, ptr %t438
|
|
br label %ret
|
|
ifend185:
|
|
%t457 = call i32 @fn_is_id(ptr @.str202)
|
|
%t458 = icmp ne i32 %t457, 0
|
|
br i1 %t458, label %then188, label %ifend190
|
|
then188:
|
|
%t459 = load ptr, ptr @g_prog
|
|
%t460 = getelementptr inbounds %LSlice, ptr %t459, i32 0, i32 1
|
|
%t461 = getelementptr inbounds %LSlice, ptr %t459, i32 0, i32 2
|
|
%t462 = getelementptr inbounds %LSlice, ptr %t459, i32 0, i32 0
|
|
%t463 = load i32, ptr %t460
|
|
%t464 = load i32, ptr %t461
|
|
%t465 = icmp sge i32 %t463, %t464
|
|
br i1 %t465, label %grow191, label %put192
|
|
grow191:
|
|
%t466 = mul i32 %t464, 2
|
|
%t467 = icmp eq i32 %t464, 0
|
|
%t468 = select i1 %t467, i32 8, i32 %t466
|
|
%t469 = getelementptr ptr, ptr null, i32 1
|
|
%t470 = ptrtoint ptr %t469 to i64
|
|
%t471 = zext i32 %t468 to i64
|
|
%t472 = mul i64 %t471, %t470
|
|
%t473 = load ptr, ptr %t462
|
|
%t474 = call ptr @realloc(ptr %t473, i64 %t472)
|
|
store ptr %t474, ptr %t462
|
|
store i32 %t468, ptr %t461
|
|
br label %put192
|
|
put192:
|
|
%t475 = call ptr @fn_parse_const()
|
|
%t476 = load ptr, ptr %t462
|
|
%t477 = getelementptr inbounds ptr, ptr %t476, i32 %t463
|
|
store ptr %t475, ptr %t477
|
|
%t478 = add i32 %t463, 1
|
|
store i32 %t478, ptr %t460
|
|
br label %ret
|
|
ifend190:
|
|
%t479 = call i32 @fn_is_id(ptr @.str203)
|
|
%t480 = icmp ne i32 %t479, 0
|
|
br i1 %t480, label %then193, label %ifend195
|
|
then193:
|
|
%t481 = call ptr @fn_parse_fn()
|
|
store ptr %t481, ptr %t482
|
|
%t483 = load i32, ptr %t0
|
|
%t484 = icmp ne i32 %t483, 0
|
|
br i1 %t484, label %then196, label %ifend198
|
|
then196:
|
|
%t485 = load ptr, ptr %t482
|
|
%t486 = getelementptr inbounds %Cmp_Node, ptr %t485, i32 0, i32 2
|
|
store i32 1, ptr %t486
|
|
br label %ifend198
|
|
ifend198:
|
|
%t487 = load ptr, ptr @g_prog
|
|
%t488 = getelementptr inbounds %LSlice, ptr %t487, i32 0, i32 1
|
|
%t489 = getelementptr inbounds %LSlice, ptr %t487, i32 0, i32 2
|
|
%t490 = getelementptr inbounds %LSlice, ptr %t487, i32 0, i32 0
|
|
%t491 = load i32, ptr %t488
|
|
%t492 = load i32, ptr %t489
|
|
%t493 = icmp sge i32 %t491, %t492
|
|
br i1 %t493, label %grow199, label %put200
|
|
grow199:
|
|
%t494 = mul i32 %t492, 2
|
|
%t495 = icmp eq i32 %t492, 0
|
|
%t496 = select i1 %t495, i32 8, i32 %t494
|
|
%t497 = getelementptr ptr, ptr null, i32 1
|
|
%t498 = ptrtoint ptr %t497 to i64
|
|
%t499 = zext i32 %t496 to i64
|
|
%t500 = mul i64 %t499, %t498
|
|
%t501 = load ptr, ptr %t490
|
|
%t502 = call ptr @realloc(ptr %t501, i64 %t500)
|
|
store ptr %t502, ptr %t490
|
|
store i32 %t496, ptr %t489
|
|
br label %put200
|
|
put200:
|
|
%t503 = load ptr, ptr %t482
|
|
%t504 = load ptr, ptr %t490
|
|
%t505 = getelementptr inbounds ptr, ptr %t504, i32 %t491
|
|
store ptr %t503, ptr %t505
|
|
%t506 = add i32 %t491, 1
|
|
store i32 %t506, ptr %t488
|
|
br label %ret
|
|
ifend195:
|
|
%t507 = call i32 @fn_is_id(ptr @.str204)
|
|
%t508 = icmp ne i32 %t507, 0
|
|
br i1 %t508, label %then201, label %ifend203
|
|
then201:
|
|
%t509 = load ptr, ptr @g_prog
|
|
%t510 = getelementptr inbounds %LSlice, ptr %t509, i32 0, i32 1
|
|
%t511 = getelementptr inbounds %LSlice, ptr %t509, i32 0, i32 2
|
|
%t512 = getelementptr inbounds %LSlice, ptr %t509, i32 0, i32 0
|
|
%t513 = load i32, ptr %t510
|
|
%t514 = load i32, ptr %t511
|
|
%t515 = icmp sge i32 %t513, %t514
|
|
br i1 %t515, label %grow204, label %put205
|
|
grow204:
|
|
%t516 = mul i32 %t514, 2
|
|
%t517 = icmp eq i32 %t514, 0
|
|
%t518 = select i1 %t517, i32 8, i32 %t516
|
|
%t519 = getelementptr ptr, ptr null, i32 1
|
|
%t520 = ptrtoint ptr %t519 to i64
|
|
%t521 = zext i32 %t518 to i64
|
|
%t522 = mul i64 %t521, %t520
|
|
%t523 = load ptr, ptr %t512
|
|
%t524 = call ptr @realloc(ptr %t523, i64 %t522)
|
|
store ptr %t524, ptr %t512
|
|
store i32 %t518, ptr %t511
|
|
br label %put205
|
|
put205:
|
|
%t525 = call ptr @fn_parse_extern()
|
|
%t526 = load ptr, ptr %t512
|
|
%t527 = getelementptr inbounds ptr, ptr %t526, i32 %t513
|
|
store ptr %t525, ptr %t527
|
|
%t528 = add i32 %t513, 1
|
|
store i32 %t528, ptr %t510
|
|
br label %ret
|
|
ifend203:
|
|
%t529 = call i32 @fn_is_id(ptr @.str205)
|
|
%t530 = icmp ne i32 %t529, 0
|
|
br i1 %t530, label %then206, label %ifend208
|
|
then206:
|
|
%t531 = load ptr, ptr @g_prog
|
|
%t532 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 1
|
|
%t533 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 2
|
|
%t534 = getelementptr inbounds %LSlice, ptr %t531, i32 0, i32 0
|
|
%t535 = load i32, ptr %t532
|
|
%t536 = load i32, ptr %t533
|
|
%t537 = icmp sge i32 %t535, %t536
|
|
br i1 %t537, label %grow209, label %put210
|
|
grow209:
|
|
%t538 = mul i32 %t536, 2
|
|
%t539 = icmp eq i32 %t536, 0
|
|
%t540 = select i1 %t539, i32 8, i32 %t538
|
|
%t541 = getelementptr ptr, ptr null, i32 1
|
|
%t542 = ptrtoint ptr %t541 to i64
|
|
%t543 = zext i32 %t540 to i64
|
|
%t544 = mul i64 %t543, %t542
|
|
%t545 = load ptr, ptr %t534
|
|
%t546 = call ptr @realloc(ptr %t545, i64 %t544)
|
|
store ptr %t546, ptr %t534
|
|
store i32 %t540, ptr %t533
|
|
br label %put210
|
|
put210:
|
|
%t547 = call ptr @fn_parse_main()
|
|
%t548 = load ptr, ptr %t534
|
|
%t549 = getelementptr inbounds ptr, ptr %t548, i32 %t535
|
|
store ptr %t547, ptr %t549
|
|
%t550 = add i32 %t535, 1
|
|
store i32 %t550, ptr %t532
|
|
br label %ret
|
|
ifend208:
|
|
call void @fn_perr(ptr @.str206)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_do_import(ptr %arg_rel) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t4 = alloca ptr
|
|
%t30 = alloca ptr
|
|
%t38 = alloca ptr
|
|
%t40 = alloca i32
|
|
%t42 = alloca ptr
|
|
store ptr %arg_rel, ptr %t0
|
|
%t1 = load ptr, ptr @g_cur_dir
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call ptr @fn_path_join(ptr %t1, ptr %t2)
|
|
store ptr %t3, ptr %t4
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = call i32 @fn_already_loaded(ptr %t5)
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %then0, label %ifend2
|
|
then0:
|
|
br label %ret
|
|
ifend2:
|
|
%t8 = load ptr, ptr @g_loaded_paths
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 2
|
|
%t11 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
|
|
%t12 = load i32, ptr %t9
|
|
%t13 = load i32, ptr %t10
|
|
%t14 = icmp sge i32 %t12, %t13
|
|
br i1 %t14, label %grow3, label %put4
|
|
grow3:
|
|
%t15 = mul i32 %t13, 2
|
|
%t16 = icmp eq i32 %t13, 0
|
|
%t17 = select i1 %t16, i32 8, i32 %t15
|
|
%t18 = getelementptr ptr, ptr null, i32 1
|
|
%t19 = ptrtoint ptr %t18 to i64
|
|
%t20 = zext i32 %t17 to i64
|
|
%t21 = mul i64 %t20, %t19
|
|
%t22 = load ptr, ptr %t11
|
|
%t23 = call ptr @realloc(ptr %t22, i64 %t21)
|
|
store ptr %t23, ptr %t11
|
|
store i32 %t17, ptr %t10
|
|
br label %put4
|
|
put4:
|
|
%t24 = load ptr, ptr %t4
|
|
%t25 = load ptr, ptr %t11
|
|
%t26 = getelementptr inbounds ptr, ptr %t25, i32 %t12
|
|
store ptr %t24, ptr %t26
|
|
%t27 = add i32 %t12, 1
|
|
store i32 %t27, ptr %t9
|
|
%t28 = load ptr, ptr %t4
|
|
%t29 = call ptr @fn_read_file(ptr %t28)
|
|
store ptr %t29, ptr %t30
|
|
%t31 = load ptr, ptr %t30
|
|
%t32 = icmp eq ptr %t31, null
|
|
%t33 = zext i1 %t32 to i32
|
|
%t34 = icmp ne i32 %t33, 0
|
|
br i1 %t34, label %then5, label %ifend7
|
|
then5:
|
|
%t35 = load ptr, ptr %t4
|
|
%t36 = call ptr @fn_str_concat(ptr @.str207, ptr %t35)
|
|
call void @fn_perr(ptr %t36)
|
|
br label %ifend7
|
|
ifend7:
|
|
%t37 = load ptr, ptr @g_toks
|
|
store ptr %t37, ptr %t38
|
|
%t39 = load i32, ptr @g_pi
|
|
store i32 %t39, ptr %t40
|
|
%t41 = load ptr, ptr @g_cur_dir
|
|
store ptr %t41, ptr %t42
|
|
%t43 = load ptr, ptr %t4
|
|
%t44 = call ptr @fn_dir_of(ptr %t43)
|
|
store ptr %t44, ptr @g_cur_dir
|
|
%t45 = load ptr, ptr %t30
|
|
call void @fn_lex(ptr %t45)
|
|
store i32 0, ptr @g_pi
|
|
call void @fn_skipnl()
|
|
br label %wcond8
|
|
wcond8:
|
|
%t46 = load ptr, ptr @g_toks
|
|
%t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = load i32, ptr @g_pi
|
|
%t50 = getelementptr inbounds ptr, ptr %t48, i32 %t49
|
|
%t51 = load ptr, ptr %t50
|
|
%t52 = getelementptr inbounds %Cmp_Tok, ptr %t51, i32 0, i32 0
|
|
%t53 = load i32, ptr %t52
|
|
%t54 = icmp ne i32 %t53, 5
|
|
%t55 = zext i1 %t54 to i32
|
|
%t56 = icmp ne i32 %t55, 0
|
|
br i1 %t56, label %wbody9, label %wend10
|
|
wbody9:
|
|
call void @fn_parse_one_decl()
|
|
call void @fn_skipnl()
|
|
br label %wcond8
|
|
wend10:
|
|
%t57 = load ptr, ptr %t38
|
|
store ptr %t57, ptr @g_toks
|
|
%t58 = load i32, ptr %t40
|
|
store i32 %t58, ptr @g_pi
|
|
%t59 = load ptr, ptr %t42
|
|
store ptr %t59, ptr @g_cur_dir
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_maybe_splice_runtime() {
|
|
entry:
|
|
%t5 = alloca ptr
|
|
%t0 = call i32 @fn_has_ecs()
|
|
%t1 = icmp eq i32 %t0, 0
|
|
%t2 = zext i1 %t1 to i32
|
|
%t3 = icmp ne i32 %t2, 0
|
|
br i1 %t3, label %then0, label %ifend2
|
|
then0:
|
|
br label %ret
|
|
ifend2:
|
|
%t4 = load ptr, ptr @g_cur_dir
|
|
store ptr %t4, ptr %t5
|
|
store ptr @.str208, ptr @g_cur_dir
|
|
call void @fn_do_import(ptr @.str209)
|
|
%t6 = load ptr, ptr %t5
|
|
store ptr %t6, ptr @g_cur_dir
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_parse_program() {
|
|
entry:
|
|
%t88 = alloca ptr
|
|
%t92 = alloca ptr
|
|
%t101 = alloca ptr
|
|
%t104 = alloca i32
|
|
%t0 = getelementptr %LSlice, ptr null, i32 1
|
|
%t1 = ptrtoint ptr %t0 to i64
|
|
%t2 = call ptr @malloc(i64 %t1)
|
|
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0
|
|
store ptr null, ptr %t3
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
|
|
store i32 0, ptr %t4
|
|
%t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2
|
|
store i32 0, ptr %t5
|
|
store ptr %t2, ptr @g_prog
|
|
%t6 = getelementptr %LSlice, ptr null, i32 1
|
|
%t7 = ptrtoint ptr %t6 to i64
|
|
%t8 = call ptr @malloc(i64 %t7)
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
|
|
store ptr null, ptr %t9
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1
|
|
store i32 0, ptr %t10
|
|
%t11 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 2
|
|
store i32 0, ptr %t11
|
|
store ptr %t8, ptr @g_g_computed
|
|
%t12 = getelementptr %LSlice, ptr null, i32 1
|
|
%t13 = ptrtoint ptr %t12 to i64
|
|
%t14 = call ptr @malloc(i64 %t13)
|
|
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
|
|
store ptr null, ptr %t15
|
|
%t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1
|
|
store i32 0, ptr %t16
|
|
%t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2
|
|
store i32 0, ptr %t17
|
|
store ptr %t14, ptr @g_g_onspawn
|
|
%t18 = getelementptr %LSlice, ptr null, i32 1
|
|
%t19 = ptrtoint ptr %t18 to i64
|
|
%t20 = call ptr @malloc(i64 %t19)
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
|
|
store ptr null, ptr %t21
|
|
%t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1
|
|
store i32 0, ptr %t22
|
|
%t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2
|
|
store i32 0, ptr %t23
|
|
store ptr %t20, ptr @g_g_ondespawn
|
|
%t24 = getelementptr %LSlice, ptr null, i32 1
|
|
%t25 = ptrtoint ptr %t24 to i64
|
|
%t26 = call ptr @malloc(i64 %t25)
|
|
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
|
|
store ptr null, ptr %t27
|
|
%t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1
|
|
store i32 0, ptr %t28
|
|
%t29 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2
|
|
store i32 0, ptr %t29
|
|
store ptr %t26, ptr @g_g_onattach
|
|
%t30 = getelementptr %LSlice, ptr null, i32 1
|
|
%t31 = ptrtoint ptr %t30 to i64
|
|
%t32 = call ptr @malloc(i64 %t31)
|
|
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0
|
|
store ptr null, ptr %t33
|
|
%t34 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1
|
|
store i32 0, ptr %t34
|
|
%t35 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 2
|
|
store i32 0, ptr %t35
|
|
store ptr %t32, ptr @g_g_ondetach
|
|
%t36 = getelementptr %LSlice, ptr null, i32 1
|
|
%t37 = ptrtoint ptr %t36 to i64
|
|
%t38 = call ptr @malloc(i64 %t37)
|
|
%t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0
|
|
store ptr null, ptr %t39
|
|
%t40 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1
|
|
store i32 0, ptr %t40
|
|
%t41 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 2
|
|
store i32 0, ptr %t41
|
|
store ptr %t38, ptr @g_g_onenable
|
|
%t42 = getelementptr %LSlice, ptr null, i32 1
|
|
%t43 = ptrtoint ptr %t42 to i64
|
|
%t44 = call ptr @malloc(i64 %t43)
|
|
%t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0
|
|
store ptr null, ptr %t45
|
|
%t46 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 1
|
|
store i32 0, ptr %t46
|
|
%t47 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 2
|
|
store i32 0, ptr %t47
|
|
store ptr %t44, ptr @g_g_ondisable
|
|
%t48 = getelementptr %LSlice, ptr null, i32 1
|
|
%t49 = ptrtoint ptr %t48 to i64
|
|
%t50 = call ptr @malloc(i64 %t49)
|
|
%t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0
|
|
store ptr null, ptr %t51
|
|
%t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1
|
|
store i32 0, ptr %t52
|
|
%t53 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 2
|
|
store i32 0, ptr %t53
|
|
store ptr %t50, ptr @g_g_scenes
|
|
store i32 0, ptr @g_g_scene_count
|
|
store i32 0, ptr @g_g_start_scene
|
|
%t54 = getelementptr %LSlice, ptr null, i32 1
|
|
%t55 = ptrtoint ptr %t54 to i64
|
|
%t56 = call ptr @malloc(i64 %t55)
|
|
%t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0
|
|
store ptr null, ptr %t57
|
|
%t58 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 1
|
|
store i32 0, ptr %t58
|
|
%t59 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 2
|
|
store i32 0, ptr %t59
|
|
store ptr %t56, ptr @g_g_events
|
|
%t60 = getelementptr %LSlice, ptr null, i32 1
|
|
%t61 = ptrtoint ptr %t60 to i64
|
|
%t62 = call ptr @malloc(i64 %t61)
|
|
%t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0
|
|
store ptr null, ptr %t63
|
|
%t64 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 1
|
|
store i32 0, ptr %t64
|
|
%t65 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 2
|
|
store i32 0, ptr %t65
|
|
store ptr %t62, ptr @g_g_onlisten
|
|
%t66 = getelementptr %LSlice, ptr null, i32 1
|
|
%t67 = ptrtoint ptr %t66 to i64
|
|
%t68 = call ptr @malloc(i64 %t67)
|
|
%t69 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 0
|
|
store ptr null, ptr %t69
|
|
%t70 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 1
|
|
store i32 0, ptr %t70
|
|
%t71 = getelementptr inbounds %LSlice, ptr %t68, i32 0, i32 2
|
|
store i32 0, ptr %t71
|
|
store ptr %t68, ptr @g_g_toggled_layers
|
|
%t72 = getelementptr %LSlice, ptr null, i32 1
|
|
%t73 = ptrtoint ptr %t72 to i64
|
|
%t74 = call ptr @malloc(i64 %t73)
|
|
%t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0
|
|
store ptr null, ptr %t75
|
|
%t76 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 1
|
|
store i32 0, ptr %t76
|
|
%t77 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 2
|
|
store i32 0, ptr %t77
|
|
store ptr %t74, ptr @g_loaded_paths
|
|
call void @fn_skipnl()
|
|
store ptr @.str210, ptr @g_g_game_name
|
|
br label %wcond0
|
|
wcond0:
|
|
%t78 = call i32 @fn_is_id(ptr @.str211)
|
|
%t79 = icmp ne i32 %t78, 0
|
|
br i1 %t79, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t80 = load i32, ptr @g_pi
|
|
%t81 = add i32 %t80, 1
|
|
store i32 %t81, ptr @g_pi
|
|
%t82 = load ptr, ptr @g_toks
|
|
%t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0
|
|
%t84 = load ptr, ptr %t83
|
|
%t85 = load i32, ptr @g_pi
|
|
%t86 = getelementptr inbounds ptr, ptr %t84, i32 %t85
|
|
%t87 = load ptr, ptr %t86
|
|
store ptr %t87, ptr %t88
|
|
%t89 = load ptr, ptr %t88
|
|
%t90 = getelementptr inbounds %Cmp_Tok, ptr %t89, i32 0, i32 1
|
|
%t91 = load ptr, ptr %t90
|
|
store ptr %t91, ptr %t92
|
|
%t93 = load i32, ptr @g_pi
|
|
%t94 = add i32 %t93, 1
|
|
store i32 %t94, ptr @g_pi
|
|
%t95 = load ptr, ptr %t92
|
|
call void @fn_do_import(ptr %t95)
|
|
call void @fn_skipnl()
|
|
br label %wcond0
|
|
wend2:
|
|
br label %wcond3
|
|
wcond3:
|
|
%t96 = call i32 @fn_is_op(ptr @.str212)
|
|
%t97 = icmp ne i32 %t96, 0
|
|
br i1 %t97, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t98 = load i32, ptr @g_pi
|
|
%t99 = add i32 %t98, 1
|
|
store i32 %t99, ptr @g_pi
|
|
%t100 = call ptr @fn_eat_id()
|
|
store ptr %t100, ptr %t101
|
|
%t102 = call i32 @fn_is_op(ptr @.str213)
|
|
%t103 = icmp ne i32 %t102, 0
|
|
br i1 %t103, label %then6, label %ifend8
|
|
then6:
|
|
store i32 0, ptr %t104
|
|
br label %wcond9
|
|
wcond9:
|
|
%t105 = icmp ne i32 1, 0
|
|
br i1 %t105, label %wbody10, label %wend11
|
|
wbody10:
|
|
%t106 = call i32 @fn_is_op(ptr @.str214)
|
|
%t107 = icmp ne i32 %t106, 0
|
|
br i1 %t107, label %then12, label %ifend14
|
|
then12:
|
|
%t108 = load i32, ptr %t104
|
|
%t109 = add i32 %t108, 1
|
|
store i32 %t109, ptr %t104
|
|
br label %ifend14
|
|
ifend14:
|
|
%t110 = call i32 @fn_is_op(ptr @.str215)
|
|
%t111 = icmp ne i32 %t110, 0
|
|
br i1 %t111, label %then15, label %ifend17
|
|
then15:
|
|
%t112 = load i32, ptr %t104
|
|
%t113 = sub i32 %t112, 1
|
|
store i32 %t113, ptr %t104
|
|
br label %ifend17
|
|
ifend17:
|
|
%t114 = load i32, ptr @g_pi
|
|
%t115 = add i32 %t114, 1
|
|
store i32 %t115, ptr @g_pi
|
|
%t116 = load i32, ptr %t104
|
|
%t117 = icmp eq i32 %t116, 0
|
|
%t118 = zext i1 %t117 to i32
|
|
%t119 = icmp ne i32 %t118, 0
|
|
br i1 %t119, label %then18, label %ifend20
|
|
then18:
|
|
br label %wend11
|
|
ifend20:
|
|
br label %wcond9
|
|
wend11:
|
|
br label %ifend8
|
|
ifend8:
|
|
call void @fn_skipnl()
|
|
br label %wcond3
|
|
wend5:
|
|
%t120 = call i32 @fn_is_id(ptr @.str216)
|
|
%t121 = icmp ne i32 %t120, 0
|
|
br i1 %t121, label %then21, label %ifend23
|
|
then21:
|
|
%t122 = load i32, ptr @g_pi
|
|
%t123 = add i32 %t122, 1
|
|
store i32 %t123, ptr @g_pi
|
|
%t124 = call ptr @fn_eat_id()
|
|
store ptr %t124, ptr @g_g_game_name
|
|
call void @fn_skipnl()
|
|
call void @fn_eat_op(ptr @.str217)
|
|
br label %ifend23
|
|
ifend23:
|
|
br label %wcond24
|
|
wcond24:
|
|
%t125 = icmp ne i32 1, 0
|
|
br i1 %t125, label %wbody25, label %wend26
|
|
wbody25:
|
|
call void @fn_skipnl()
|
|
%t126 = load ptr, ptr @g_toks
|
|
%t127 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0
|
|
%t128 = load ptr, ptr %t127
|
|
%t129 = load i32, ptr @g_pi
|
|
%t130 = getelementptr inbounds ptr, ptr %t128, i32 %t129
|
|
%t131 = load ptr, ptr %t130
|
|
%t132 = getelementptr inbounds %Cmp_Tok, ptr %t131, i32 0, i32 0
|
|
%t133 = load i32, ptr %t132
|
|
%t134 = icmp eq i32 %t133, 5
|
|
%t135 = zext i1 %t134 to i32
|
|
%t136 = icmp ne i32 %t135, 0
|
|
br i1 %t136, label %then27, label %ifend29
|
|
then27:
|
|
br label %wend26
|
|
ifend29:
|
|
%t137 = call i32 @fn_is_op(ptr @.str218)
|
|
%t138 = icmp ne i32 %t137, 0
|
|
br i1 %t138, label %then30, label %ifend32
|
|
then30:
|
|
br label %wend26
|
|
ifend32:
|
|
call void @fn_parse_one_decl()
|
|
br label %wcond24
|
|
wend26:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_parse_component() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t10 = alloca i32
|
|
%t11 = alloca i32
|
|
%t17 = alloca ptr
|
|
%t25 = alloca ptr
|
|
%t0 = load i32, ptr @g_pi
|
|
%t1 = add i32 %t0, 1
|
|
store i32 %t1, ptr @g_pi
|
|
%t2 = call ptr @fn_node(i32 8)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
|
|
%t6 = call ptr @fn_eat_id()
|
|
store ptr %t6, ptr %t5
|
|
call void @fn_skipnl()
|
|
call void @fn_eat_op(ptr @.str219)
|
|
br label %wcond0
|
|
wcond0:
|
|
%t7 = icmp ne i32 1, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
call void @fn_skipnl()
|
|
%t8 = call i32 @fn_is_op(ptr @.str220)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then3, label %ifend5
|
|
then3:
|
|
br label %wend2
|
|
ifend5:
|
|
store i32 0, ptr %t10
|
|
store i32 0, ptr %t11
|
|
%t12 = call i32 @fn_is_op(ptr @.str221)
|
|
%t13 = icmp ne i32 %t12, 0
|
|
br i1 %t13, label %then6, label %ifend8
|
|
then6:
|
|
%t14 = load i32, ptr @g_pi
|
|
%t15 = add i32 %t14, 1
|
|
store i32 %t15, ptr @g_pi
|
|
%t16 = call ptr @fn_eat_id()
|
|
store ptr %t16, ptr %t17
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str222)
|
|
%t20 = icmp ne i32 %t19, 0
|
|
br i1 %t20, label %then9, label %else10
|
|
then9:
|
|
store i32 1, ptr %t10
|
|
br label %ifend11
|
|
else10:
|
|
%t21 = load ptr, ptr %t17
|
|
%t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str223)
|
|
%t23 = icmp ne i32 %t22, 0
|
|
br i1 %t23, label %then12, label %ifend14
|
|
then12:
|
|
store i32 1, ptr %t11
|
|
br label %ifend14
|
|
ifend14:
|
|
br label %ifend11
|
|
ifend11:
|
|
call void @fn_skipnl()
|
|
br label %ifend8
|
|
ifend8:
|
|
%t24 = call ptr @fn_node(i32 1)
|
|
store ptr %t24, ptr %t25
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1
|
|
%t28 = call ptr @fn_eat_id()
|
|
store ptr %t28, ptr %t27
|
|
call void @fn_eat_op(ptr @.str224)
|
|
%t29 = load ptr, ptr %t25
|
|
%t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 3
|
|
%t31 = call ptr @fn_ptype()
|
|
store ptr %t31, ptr %t30
|
|
%t32 = call i32 @fn_is_op(ptr @.str225)
|
|
%t33 = icmp ne i32 %t32, 0
|
|
br i1 %t33, label %then15, label %ifend17
|
|
then15:
|
|
%t34 = load i32, ptr @g_pi
|
|
%t35 = add i32 %t34, 1
|
|
store i32 %t35, ptr @g_pi
|
|
%t36 = load ptr, ptr %t25
|
|
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 4
|
|
%t38 = call ptr @fn_expr()
|
|
store ptr %t38, ptr %t37
|
|
br label %ifend17
|
|
ifend17:
|
|
%t39 = load i32, ptr %t11
|
|
%t40 = icmp ne i32 %t39, 0
|
|
br i1 %t40, label %then18, label %ifend20
|
|
then18:
|
|
%t41 = load ptr, ptr %t25
|
|
%t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 2
|
|
store i32 1, ptr %t42
|
|
br label %ifend20
|
|
ifend20:
|
|
%t43 = load i32, ptr %t10
|
|
%t44 = icmp ne i32 %t43, 0
|
|
br i1 %t44, label %then21, label %else22
|
|
then21:
|
|
%t45 = load ptr, ptr %t3
|
|
%t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1
|
|
%t47 = load ptr, ptr %t46
|
|
%t48 = load ptr, ptr %t25
|
|
%t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 1
|
|
%t50 = load ptr, ptr %t49
|
|
%t51 = load ptr, ptr %t25
|
|
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 3
|
|
%t53 = load ptr, ptr %t52
|
|
%t54 = load ptr, ptr %t25
|
|
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4
|
|
%t56 = load ptr, ptr %t55
|
|
call void @fn_register_computed(ptr %t47, ptr %t50, ptr %t53, ptr %t56)
|
|
br label %ifend23
|
|
else22:
|
|
%t57 = load ptr, ptr %t3
|
|
%t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 7
|
|
%t59 = load ptr, ptr %t58
|
|
%t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 1
|
|
%t61 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 2
|
|
%t62 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0
|
|
%t63 = load i32, ptr %t60
|
|
%t64 = load i32, ptr %t61
|
|
%t65 = icmp sge i32 %t63, %t64
|
|
br i1 %t65, label %grow24, label %put25
|
|
grow24:
|
|
%t66 = mul i32 %t64, 2
|
|
%t67 = icmp eq i32 %t64, 0
|
|
%t68 = select i1 %t67, i32 8, i32 %t66
|
|
%t69 = getelementptr ptr, ptr null, i32 1
|
|
%t70 = ptrtoint ptr %t69 to i64
|
|
%t71 = zext i32 %t68 to i64
|
|
%t72 = mul i64 %t71, %t70
|
|
%t73 = load ptr, ptr %t62
|
|
%t74 = call ptr @realloc(ptr %t73, i64 %t72)
|
|
store ptr %t74, ptr %t62
|
|
store i32 %t68, ptr %t61
|
|
br label %put25
|
|
put25:
|
|
%t75 = load ptr, ptr %t25
|
|
%t76 = load ptr, ptr %t62
|
|
%t77 = getelementptr inbounds ptr, ptr %t76, i32 %t63
|
|
store ptr %t75, ptr %t77
|
|
%t78 = add i32 %t63, 1
|
|
store i32 %t78, ptr %t60
|
|
br label %ifend23
|
|
ifend23:
|
|
%t79 = call i32 @fn_is_op(ptr @.str226)
|
|
%t80 = icmp ne i32 %t79, 0
|
|
br i1 %t80, label %then26, label %ifend28
|
|
then26:
|
|
%t81 = load i32, ptr @g_pi
|
|
%t82 = add i32 %t81, 1
|
|
store i32 %t82, ptr @g_pi
|
|
br label %ifend28
|
|
ifend28:
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_eat_op(ptr @.str227)
|
|
%t83 = load ptr, ptr %t3
|
|
store ptr %t83, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t84 = load ptr, ptr %retval
|
|
ret ptr %t84
|
|
}
|
|
|
|
define ptr @fn_parse_event() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t17 = alloca ptr
|
|
%t0 = load i32, ptr @g_pi
|
|
%t1 = add i32 %t0, 1
|
|
store i32 %t1, ptr @g_pi
|
|
%t2 = call ptr @fn_node(i32 48)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = call i32 @fn_is_id(ptr @.str228)
|
|
%t5 = icmp ne i32 %t4, 0
|
|
br i1 %t5, label %then0, label %ifend2
|
|
then0:
|
|
%t6 = load i32, ptr @g_pi
|
|
%t7 = add i32 %t6, 1
|
|
store i32 %t7, ptr @g_pi
|
|
%t8 = load ptr, ptr %t3
|
|
%t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 2
|
|
store i32 1, ptr %t9
|
|
br label %ifend2
|
|
ifend2:
|
|
%t10 = load ptr, ptr %t3
|
|
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 1
|
|
%t12 = call ptr @fn_eat_id()
|
|
store ptr %t12, ptr %t11
|
|
call void @fn_skipnl()
|
|
call void @fn_eat_op(ptr @.str229)
|
|
br label %wcond3
|
|
wcond3:
|
|
%t13 = icmp ne i32 1, 0
|
|
br i1 %t13, label %wbody4, label %wend5
|
|
wbody4:
|
|
call void @fn_skipnl()
|
|
%t14 = call i32 @fn_is_op(ptr @.str230)
|
|
%t15 = icmp ne i32 %t14, 0
|
|
br i1 %t15, label %then6, label %ifend8
|
|
then6:
|
|
br label %wend5
|
|
ifend8:
|
|
%t16 = call ptr @fn_node(i32 1)
|
|
store ptr %t16, ptr %t17
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1
|
|
%t20 = call ptr @fn_eat_id()
|
|
store ptr %t20, ptr %t19
|
|
call void @fn_eat_op(ptr @.str231)
|
|
%t21 = load ptr, ptr %t17
|
|
%t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 3
|
|
%t23 = call ptr @fn_ptype()
|
|
store ptr %t23, ptr %t22
|
|
%t24 = call i32 @fn_is_op(ptr @.str232)
|
|
%t25 = icmp ne i32 %t24, 0
|
|
br i1 %t25, label %then9, label %ifend11
|
|
then9:
|
|
%t26 = load i32, ptr @g_pi
|
|
%t27 = add i32 %t26, 1
|
|
store i32 %t27, ptr @g_pi
|
|
%t28 = load ptr, ptr %t17
|
|
%t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 4
|
|
%t30 = call ptr @fn_expr()
|
|
store ptr %t30, ptr %t29
|
|
br label %ifend11
|
|
ifend11:
|
|
%t31 = load ptr, ptr %t3
|
|
%t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7
|
|
%t33 = load ptr, ptr %t32
|
|
%t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1
|
|
%t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 2
|
|
%t36 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0
|
|
%t37 = load i32, ptr %t34
|
|
%t38 = load i32, ptr %t35
|
|
%t39 = icmp sge i32 %t37, %t38
|
|
br i1 %t39, label %grow12, label %put13
|
|
grow12:
|
|
%t40 = mul i32 %t38, 2
|
|
%t41 = icmp eq i32 %t38, 0
|
|
%t42 = select i1 %t41, i32 8, i32 %t40
|
|
%t43 = getelementptr ptr, ptr null, i32 1
|
|
%t44 = ptrtoint ptr %t43 to i64
|
|
%t45 = zext i32 %t42 to i64
|
|
%t46 = mul i64 %t45, %t44
|
|
%t47 = load ptr, ptr %t36
|
|
%t48 = call ptr @realloc(ptr %t47, i64 %t46)
|
|
store ptr %t48, ptr %t36
|
|
store i32 %t42, ptr %t35
|
|
br label %put13
|
|
put13:
|
|
%t49 = load ptr, ptr %t17
|
|
%t50 = load ptr, ptr %t36
|
|
%t51 = getelementptr inbounds ptr, ptr %t50, i32 %t37
|
|
store ptr %t49, ptr %t51
|
|
%t52 = add i32 %t37, 1
|
|
store i32 %t52, ptr %t34
|
|
%t53 = call i32 @fn_is_op(ptr @.str233)
|
|
%t54 = icmp ne i32 %t53, 0
|
|
br i1 %t54, label %then14, label %ifend16
|
|
then14:
|
|
%t55 = load i32, ptr @g_pi
|
|
%t56 = add i32 %t55, 1
|
|
store i32 %t56, ptr @g_pi
|
|
br label %ifend16
|
|
ifend16:
|
|
br label %wcond3
|
|
wend5:
|
|
call void @fn_eat_op(ptr @.str234)
|
|
%t57 = load ptr, ptr %t3
|
|
store ptr %t57, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t58 = load ptr, ptr %retval
|
|
ret ptr %t58
|
|
}
|
|
|
|
define ptr @fn_parse_system() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t15 = alloca ptr
|
|
%t18 = alloca i32
|
|
%t0 = load i32, ptr @g_pi
|
|
%t1 = add i32 %t0, 1
|
|
store i32 %t1, ptr @g_pi
|
|
%t2 = call ptr @fn_node(i32 9)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
|
|
%t6 = call ptr @fn_eat_id()
|
|
store ptr %t6, ptr %t5
|
|
%t7 = load ptr, ptr %t3
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3
|
|
store ptr @.str235, ptr %t8
|
|
br label %wcond0
|
|
wcond0:
|
|
%t9 = icmp ne i32 1, 0
|
|
br i1 %t9, label %wbody1, label %wend2
|
|
wbody1:
|
|
call void @fn_skipnl()
|
|
%t10 = call i32 @fn_is_op(ptr @.str236)
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %then3, label %ifend5
|
|
then3:
|
|
%t12 = load i32, ptr @g_pi
|
|
%t13 = add i32 %t12, 1
|
|
store i32 %t13, ptr @g_pi
|
|
%t14 = call ptr @fn_eat_id()
|
|
store ptr %t14, ptr %t15
|
|
%t16 = call i32 @fn_is_op(ptr @.str237)
|
|
%t17 = icmp ne i32 %t16, 0
|
|
br i1 %t17, label %then6, label %ifend8
|
|
then6:
|
|
store i32 0, ptr %t18
|
|
br label %wcond9
|
|
wcond9:
|
|
%t19 = icmp ne i32 1, 0
|
|
br i1 %t19, label %wbody10, label %wend11
|
|
wbody10:
|
|
%t20 = call i32 @fn_is_op(ptr @.str238)
|
|
%t21 = icmp ne i32 %t20, 0
|
|
br i1 %t21, label %then12, label %ifend14
|
|
then12:
|
|
%t22 = load i32, ptr %t18
|
|
%t23 = add i32 %t22, 1
|
|
store i32 %t23, ptr %t18
|
|
br label %ifend14
|
|
ifend14:
|
|
%t24 = call i32 @fn_is_op(ptr @.str239)
|
|
%t25 = icmp ne i32 %t24, 0
|
|
br i1 %t25, label %then15, label %ifend17
|
|
then15:
|
|
%t26 = load i32, ptr %t18
|
|
%t27 = sub i32 %t26, 1
|
|
store i32 %t27, ptr %t18
|
|
br label %ifend17
|
|
ifend17:
|
|
%t28 = load i32, ptr @g_pi
|
|
%t29 = add i32 %t28, 1
|
|
store i32 %t29, ptr @g_pi
|
|
%t30 = load i32, ptr %t18
|
|
%t31 = icmp eq i32 %t30, 0
|
|
%t32 = zext i1 %t31 to i32
|
|
%t33 = icmp ne i32 %t32, 0
|
|
br i1 %t33, label %then18, label %ifend20
|
|
then18:
|
|
br label %wend11
|
|
ifend20:
|
|
br label %wcond9
|
|
wend11:
|
|
br label %ifend8
|
|
ifend8:
|
|
br label %wcond0
|
|
ifend5:
|
|
%t34 = call i32 @fn_is_id(ptr @.str240)
|
|
%t35 = icmp ne i32 %t34, 0
|
|
br i1 %t35, label %then21, label %ifend23
|
|
then21:
|
|
%t36 = load i32, ptr @g_pi
|
|
%t37 = add i32 %t36, 1
|
|
store i32 %t37, ptr @g_pi
|
|
%t38 = load ptr, ptr %t3
|
|
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 3
|
|
%t40 = call ptr @fn_eat_id()
|
|
store ptr %t40, ptr %t39
|
|
br label %wcond0
|
|
ifend23:
|
|
br label %wend2
|
|
wend2:
|
|
call void @fn_skipnl()
|
|
%t41 = load ptr, ptr %t3
|
|
%t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 4
|
|
%t43 = call ptr @fn_block()
|
|
store ptr %t43, ptr %t42
|
|
%t44 = load ptr, ptr %t3
|
|
store ptr %t44, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t45 = load ptr, ptr %retval
|
|
ret ptr %t45
|
|
}
|
|
|
|
define ptr @fn_parse_query_tail() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t11 = alloca ptr
|
|
%t40 = alloca ptr
|
|
call void @fn_eat_op(ptr @.str241)
|
|
%t0 = call ptr @fn_node(i32 7)
|
|
store ptr %t0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = call i32 @fn_is_op(ptr @.str242)
|
|
%t3 = icmp eq i32 %t2, 0
|
|
%t4 = zext i1 %t3 to i32
|
|
%t5 = icmp ne i32 %t4, 0
|
|
br i1 %t5, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t6 = call i32 @fn_is_op(ptr @.str243)
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %then3, label %else4
|
|
then3:
|
|
%t8 = load i32, ptr @g_pi
|
|
%t9 = add i32 %t8, 1
|
|
store i32 %t9, ptr @g_pi
|
|
%t10 = call ptr @fn_node(i32 33)
|
|
store ptr %t10, ptr %t11
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1
|
|
%t14 = call ptr @fn_eat_id()
|
|
store ptr %t14, ptr %t13
|
|
%t15 = load ptr, ptr %t11
|
|
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 2
|
|
store i32 1, ptr %t16
|
|
%t17 = load ptr, ptr %t1
|
|
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7
|
|
%t19 = load ptr, ptr %t18
|
|
%t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 2
|
|
%t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
|
|
%t23 = load i32, ptr %t20
|
|
%t24 = load i32, ptr %t21
|
|
%t25 = icmp sge i32 %t23, %t24
|
|
br i1 %t25, label %grow6, label %put7
|
|
grow6:
|
|
%t26 = mul i32 %t24, 2
|
|
%t27 = icmp eq i32 %t24, 0
|
|
%t28 = select i1 %t27, i32 8, i32 %t26
|
|
%t29 = getelementptr ptr, ptr null, i32 1
|
|
%t30 = ptrtoint ptr %t29 to i64
|
|
%t31 = zext i32 %t28 to i64
|
|
%t32 = mul i64 %t31, %t30
|
|
%t33 = load ptr, ptr %t22
|
|
%t34 = call ptr @realloc(ptr %t33, i64 %t32)
|
|
store ptr %t34, ptr %t22
|
|
store i32 %t28, ptr %t21
|
|
br label %put7
|
|
put7:
|
|
%t35 = load ptr, ptr %t11
|
|
%t36 = load ptr, ptr %t22
|
|
%t37 = getelementptr inbounds ptr, ptr %t36, i32 %t23
|
|
store ptr %t35, ptr %t37
|
|
%t38 = add i32 %t23, 1
|
|
store i32 %t38, ptr %t20
|
|
call void @fn_eat_op(ptr @.str244)
|
|
br label %ifend5
|
|
else4:
|
|
%t39 = call ptr @fn_node(i32 33)
|
|
store ptr %t39, ptr %t40
|
|
%t41 = load ptr, ptr %t40
|
|
%t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1
|
|
%t43 = call ptr @fn_eat_id()
|
|
store ptr %t43, ptr %t42
|
|
%t44 = load ptr, ptr %t40
|
|
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 2
|
|
store i32 0, ptr %t45
|
|
%t46 = load ptr, ptr %t1
|
|
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 7
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1
|
|
%t50 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 2
|
|
%t51 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0
|
|
%t52 = load i32, ptr %t49
|
|
%t53 = load i32, ptr %t50
|
|
%t54 = icmp sge i32 %t52, %t53
|
|
br i1 %t54, label %grow8, label %put9
|
|
grow8:
|
|
%t55 = mul i32 %t53, 2
|
|
%t56 = icmp eq i32 %t53, 0
|
|
%t57 = select i1 %t56, i32 8, i32 %t55
|
|
%t58 = getelementptr ptr, ptr null, i32 1
|
|
%t59 = ptrtoint ptr %t58 to i64
|
|
%t60 = zext i32 %t57 to i64
|
|
%t61 = mul i64 %t60, %t59
|
|
%t62 = load ptr, ptr %t51
|
|
%t63 = call ptr @realloc(ptr %t62, i64 %t61)
|
|
store ptr %t63, ptr %t51
|
|
store i32 %t57, ptr %t50
|
|
br label %put9
|
|
put9:
|
|
%t64 = load ptr, ptr %t40
|
|
%t65 = load ptr, ptr %t51
|
|
%t66 = getelementptr inbounds ptr, ptr %t65, i32 %t52
|
|
store ptr %t64, ptr %t66
|
|
%t67 = add i32 %t52, 1
|
|
store i32 %t67, ptr %t49
|
|
br label %ifend5
|
|
ifend5:
|
|
%t68 = call i32 @fn_is_op(ptr @.str245)
|
|
%t69 = icmp ne i32 %t68, 0
|
|
br i1 %t69, label %then10, label %ifend12
|
|
then10:
|
|
%t70 = load i32, ptr @g_pi
|
|
%t71 = add i32 %t70, 1
|
|
store i32 %t71, ptr @g_pi
|
|
br label %ifend12
|
|
ifend12:
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_eat_op(ptr @.str246)
|
|
%t72 = call i32 @fn_is_id(ptr @.str247)
|
|
%t73 = icmp ne i32 %t72, 0
|
|
br i1 %t73, label %then13, label %ifend15
|
|
then13:
|
|
%t74 = load i32, ptr @g_pi
|
|
%t75 = add i32 %t74, 1
|
|
store i32 %t75, ptr @g_pi
|
|
%t76 = load ptr, ptr %t1
|
|
%t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 4
|
|
%t78 = call ptr @fn_expr()
|
|
store ptr %t78, ptr %t77
|
|
br label %ifend15
|
|
ifend15:
|
|
%t79 = load ptr, ptr %t1
|
|
store ptr %t79, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t80 = load ptr, ptr %retval
|
|
ret ptr %t80
|
|
}
|
|
|
|
define ptr @fn_parse_query_for() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t38 = alloca ptr
|
|
%t0 = call ptr @fn_node(i32 21)
|
|
store ptr %t0, ptr %t1
|
|
call void @fn_eat_op(ptr @.str248)
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = call i32 @fn_is_op(ptr @.str249)
|
|
%t3 = icmp eq i32 %t2, 0
|
|
%t4 = zext i1 %t3 to i32
|
|
%t5 = icmp ne i32 %t4, 0
|
|
br i1 %t5, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t6 = call ptr @fn_node(i32 33)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1
|
|
%t10 = call ptr @fn_eat_id()
|
|
store ptr %t10, ptr %t9
|
|
%t11 = load ptr, ptr %t1
|
|
%t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 7
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1
|
|
%t15 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 2
|
|
%t16 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0
|
|
%t17 = load i32, ptr %t14
|
|
%t18 = load i32, ptr %t15
|
|
%t19 = icmp sge i32 %t17, %t18
|
|
br i1 %t19, label %grow3, label %put4
|
|
grow3:
|
|
%t20 = mul i32 %t18, 2
|
|
%t21 = icmp eq i32 %t18, 0
|
|
%t22 = select i1 %t21, i32 8, i32 %t20
|
|
%t23 = getelementptr ptr, ptr null, i32 1
|
|
%t24 = ptrtoint ptr %t23 to i64
|
|
%t25 = zext i32 %t22 to i64
|
|
%t26 = mul i64 %t25, %t24
|
|
%t27 = load ptr, ptr %t16
|
|
%t28 = call ptr @realloc(ptr %t27, i64 %t26)
|
|
store ptr %t28, ptr %t16
|
|
store i32 %t22, ptr %t15
|
|
br label %put4
|
|
put4:
|
|
%t29 = load ptr, ptr %t7
|
|
%t30 = load ptr, ptr %t16
|
|
%t31 = getelementptr inbounds ptr, ptr %t30, i32 %t17
|
|
store ptr %t29, ptr %t31
|
|
%t32 = add i32 %t17, 1
|
|
store i32 %t32, ptr %t14
|
|
%t33 = call i32 @fn_is_op(ptr @.str250)
|
|
%t34 = icmp ne i32 %t33, 0
|
|
br i1 %t34, label %then5, label %ifend7
|
|
then5:
|
|
%t35 = load i32, ptr @g_pi
|
|
%t36 = add i32 %t35, 1
|
|
store i32 %t36, ptr @g_pi
|
|
br label %ifend7
|
|
ifend7:
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_eat_op(ptr @.str251)
|
|
%t37 = call ptr @fn_eat_id()
|
|
store ptr %t37, ptr %t38
|
|
%t39 = call i32 @fn_is_id(ptr @.str252)
|
|
%t40 = icmp eq i32 %t39, 0
|
|
%t41 = zext i1 %t40 to i32
|
|
%t42 = icmp ne i32 %t41, 0
|
|
br i1 %t42, label %then8, label %ifend10
|
|
then8:
|
|
call void @fn_perr(ptr @.str253)
|
|
br label %ifend10
|
|
ifend10:
|
|
%t43 = load i32, ptr @g_pi
|
|
%t44 = add i32 %t43, 1
|
|
store i32 %t44, ptr @g_pi
|
|
%t45 = load ptr, ptr %t1
|
|
%t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 6
|
|
%t47 = call ptr @fn_parse_query_tail()
|
|
store ptr %t47, ptr %t46
|
|
%t48 = load ptr, ptr %t1
|
|
%t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 5
|
|
%t50 = load ptr, ptr %t1
|
|
%t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 6
|
|
%t52 = load ptr, ptr %t51
|
|
%t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4
|
|
%t54 = load ptr, ptr %t53
|
|
store ptr %t54, ptr %t49
|
|
%t55 = load ptr, ptr %t1
|
|
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 4
|
|
%t57 = call ptr @fn_block()
|
|
store ptr %t57, ptr %t56
|
|
%t58 = load ptr, ptr %t1
|
|
store ptr %t58, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t59 = load ptr, ptr %retval
|
|
ret ptr %t59
|
|
}
|
|
|
|
define ptr @fn_mk_and(ptr %arg_a, ptr %arg_b) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t8 = alloca ptr
|
|
store ptr %arg_a, ptr %t0
|
|
store ptr %arg_b, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = icmp eq ptr %t2, null
|
|
%t4 = zext i1 %t3 to i32
|
|
%t5 = icmp ne i32 %t4, 0
|
|
br i1 %t5, label %then0, label %ifend2
|
|
then0:
|
|
%t6 = load ptr, ptr %t1
|
|
store ptr %t6, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t7 = call ptr @fn_node(i32 37)
|
|
store ptr %t7, ptr %t8
|
|
%t9 = load ptr, ptr %t8
|
|
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 1
|
|
store ptr @.str254, ptr %t10
|
|
%t11 = load ptr, ptr %t8
|
|
%t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 4
|
|
%t13 = load ptr, ptr %t0
|
|
store ptr %t13, ptr %t12
|
|
%t14 = load ptr, ptr %t8
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 5
|
|
%t16 = load ptr, ptr %t1
|
|
store ptr %t16, ptr %t15
|
|
%t17 = load ptr, ptr %t8
|
|
store ptr %t17, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t18 = load ptr, ptr %retval
|
|
ret ptr %t18
|
|
}
|
|
|
|
define ptr @fn_qualify_fields(ptr %arg_e, ptr %arg_base) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t14 = alloca ptr
|
|
%t31 = alloca ptr
|
|
%t59 = alloca ptr
|
|
store ptr %arg_e, ptr %t0
|
|
store ptr %arg_base, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = icmp eq ptr %t2, null
|
|
%t4 = zext i1 %t3 to i32
|
|
%t5 = icmp ne i32 %t4, 0
|
|
br i1 %t5, label %then0, label %ifend2
|
|
then0:
|
|
%t6 = load ptr, ptr %t0
|
|
store ptr %t6, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0
|
|
%t9 = load i32, ptr %t8
|
|
%t10 = icmp eq i32 %t9, 33
|
|
%t11 = zext i1 %t10 to i32
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then3, label %ifend5
|
|
then3:
|
|
%t13 = call ptr @fn_node(i32 35)
|
|
store ptr %t13, ptr %t14
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 4
|
|
%t17 = load ptr, ptr %t1
|
|
store ptr %t17, ptr %t16
|
|
%t18 = load ptr, ptr %t14
|
|
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1
|
|
%t20 = load ptr, ptr %t0
|
|
%t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 1
|
|
%t22 = load ptr, ptr %t21
|
|
store ptr %t22, ptr %t19
|
|
%t23 = load ptr, ptr %t14
|
|
store ptr %t23, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t24 = load ptr, ptr %t0
|
|
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0
|
|
%t26 = load i32, ptr %t25
|
|
%t27 = icmp eq i32 %t26, 37
|
|
%t28 = zext i1 %t27 to i32
|
|
%t29 = icmp ne i32 %t28, 0
|
|
br i1 %t29, label %then6, label %ifend8
|
|
then6:
|
|
%t30 = call ptr @fn_node(i32 37)
|
|
store ptr %t30, ptr %t31
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1
|
|
%t34 = load ptr, ptr %t0
|
|
%t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1
|
|
%t36 = load ptr, ptr %t35
|
|
store ptr %t36, ptr %t33
|
|
%t37 = load ptr, ptr %t31
|
|
%t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 4
|
|
%t39 = load ptr, ptr %t0
|
|
%t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 4
|
|
%t41 = load ptr, ptr %t40
|
|
%t42 = load ptr, ptr %t1
|
|
%t43 = call ptr @fn_qualify_fields(ptr %t41, ptr %t42)
|
|
store ptr %t43, ptr %t38
|
|
%t44 = load ptr, ptr %t31
|
|
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 5
|
|
%t46 = load ptr, ptr %t0
|
|
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 5
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = load ptr, ptr %t1
|
|
%t50 = call ptr @fn_qualify_fields(ptr %t48, ptr %t49)
|
|
store ptr %t50, ptr %t45
|
|
%t51 = load ptr, ptr %t31
|
|
store ptr %t51, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t52 = load ptr, ptr %t0
|
|
%t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 0
|
|
%t54 = load i32, ptr %t53
|
|
%t55 = icmp eq i32 %t54, 38
|
|
%t56 = zext i1 %t55 to i32
|
|
%t57 = icmp ne i32 %t56, 0
|
|
br i1 %t57, label %then9, label %ifend11
|
|
then9:
|
|
%t58 = call ptr @fn_node(i32 38)
|
|
store ptr %t58, ptr %t59
|
|
%t60 = load ptr, ptr %t59
|
|
%t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 1
|
|
%t62 = load ptr, ptr %t0
|
|
%t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1
|
|
%t64 = load ptr, ptr %t63
|
|
store ptr %t64, ptr %t61
|
|
%t65 = load ptr, ptr %t59
|
|
%t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 4
|
|
%t67 = load ptr, ptr %t0
|
|
%t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4
|
|
%t69 = load ptr, ptr %t68
|
|
%t70 = load ptr, ptr %t1
|
|
%t71 = call ptr @fn_qualify_fields(ptr %t69, ptr %t70)
|
|
store ptr %t71, ptr %t66
|
|
%t72 = load ptr, ptr %t59
|
|
store ptr %t72, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t73 = load ptr, ptr %t0
|
|
store ptr %t73, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t74 = load ptr, ptr %retval
|
|
ret ptr %t74
|
|
}
|
|
|
|
define ptr @fn_parse_queries_anno() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t4 = alloca ptr
|
|
%t12 = alloca ptr
|
|
%t21 = alloca ptr
|
|
%t23 = alloca ptr
|
|
%t50 = alloca ptr
|
|
%t83 = alloca ptr
|
|
%t85 = alloca ptr
|
|
%t102 = alloca ptr
|
|
%t104 = alloca ptr
|
|
call void @fn_eat_op(ptr @.str255)
|
|
%t0 = call ptr @fn_node(i32 21)
|
|
store ptr %t0, ptr %t1
|
|
%t2 = call ptr @fn_node(i32 7)
|
|
store ptr %t2, ptr %t3
|
|
store ptr null, ptr %t4
|
|
br label %wcond0
|
|
wcond0:
|
|
%t5 = call i32 @fn_is_op(ptr @.str256)
|
|
%t6 = icmp eq i32 %t5, 0
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
call void @fn_skipnl()
|
|
%t9 = call i32 @fn_is_op(ptr @.str257)
|
|
%t10 = icmp ne i32 %t9, 0
|
|
br i1 %t10, label %then3, label %ifend5
|
|
then3:
|
|
br label %wend2
|
|
ifend5:
|
|
%t11 = call ptr @fn_eat_id()
|
|
store ptr %t11, ptr %t12
|
|
call void @fn_eat_op(ptr @.str258)
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str259)
|
|
%t15 = icmp ne i32 %t14, 0
|
|
br i1 %t15, label %then6, label %else7
|
|
then6:
|
|
call void @fn_eat_op(ptr @.str260)
|
|
call void @fn_skipnl()
|
|
br label %wcond9
|
|
wcond9:
|
|
%t16 = call i32 @fn_is_op(ptr @.str261)
|
|
%t17 = icmp eq i32 %t16, 0
|
|
%t18 = zext i1 %t17 to i32
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %wbody10, label %wend11
|
|
wbody10:
|
|
%t20 = call ptr @fn_eat_id()
|
|
store ptr %t20, ptr %t21
|
|
%t22 = call ptr @fn_node(i32 33)
|
|
store ptr %t22, ptr %t23
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
|
|
%t26 = load ptr, ptr %t21
|
|
store ptr %t26, ptr %t25
|
|
%t27 = load ptr, ptr %t1
|
|
%t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 7
|
|
%t29 = load ptr, ptr %t28
|
|
%t30 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 1
|
|
%t31 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 2
|
|
%t32 = getelementptr inbounds %LSlice, ptr %t29, i32 0, i32 0
|
|
%t33 = load i32, ptr %t30
|
|
%t34 = load i32, ptr %t31
|
|
%t35 = icmp sge i32 %t33, %t34
|
|
br i1 %t35, label %grow12, label %put13
|
|
grow12:
|
|
%t36 = mul i32 %t34, 2
|
|
%t37 = icmp eq i32 %t34, 0
|
|
%t38 = select i1 %t37, i32 8, i32 %t36
|
|
%t39 = getelementptr ptr, ptr null, i32 1
|
|
%t40 = ptrtoint ptr %t39 to i64
|
|
%t41 = zext i32 %t38 to i64
|
|
%t42 = mul i64 %t41, %t40
|
|
%t43 = load ptr, ptr %t32
|
|
%t44 = call ptr @realloc(ptr %t43, i64 %t42)
|
|
store ptr %t44, ptr %t32
|
|
store i32 %t38, ptr %t31
|
|
br label %put13
|
|
put13:
|
|
%t45 = load ptr, ptr %t23
|
|
%t46 = load ptr, ptr %t32
|
|
%t47 = getelementptr inbounds ptr, ptr %t46, i32 %t33
|
|
store ptr %t45, ptr %t47
|
|
%t48 = add i32 %t33, 1
|
|
store i32 %t48, ptr %t30
|
|
%t49 = call ptr @fn_node(i32 33)
|
|
store ptr %t49, ptr %t50
|
|
%t51 = load ptr, ptr %t50
|
|
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1
|
|
%t53 = load ptr, ptr %t21
|
|
store ptr %t53, ptr %t52
|
|
%t54 = load ptr, ptr %t50
|
|
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 2
|
|
store i32 0, ptr %t55
|
|
%t56 = load ptr, ptr %t3
|
|
%t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7
|
|
%t58 = load ptr, ptr %t57
|
|
%t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1
|
|
%t60 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 2
|
|
%t61 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0
|
|
%t62 = load i32, ptr %t59
|
|
%t63 = load i32, ptr %t60
|
|
%t64 = icmp sge i32 %t62, %t63
|
|
br i1 %t64, label %grow14, label %put15
|
|
grow14:
|
|
%t65 = mul i32 %t63, 2
|
|
%t66 = icmp eq i32 %t63, 0
|
|
%t67 = select i1 %t66, i32 8, i32 %t65
|
|
%t68 = getelementptr ptr, ptr null, i32 1
|
|
%t69 = ptrtoint ptr %t68 to i64
|
|
%t70 = zext i32 %t67 to i64
|
|
%t71 = mul i64 %t70, %t69
|
|
%t72 = load ptr, ptr %t61
|
|
%t73 = call ptr @realloc(ptr %t72, i64 %t71)
|
|
store ptr %t73, ptr %t61
|
|
store i32 %t67, ptr %t60
|
|
br label %put15
|
|
put15:
|
|
%t74 = load ptr, ptr %t50
|
|
%t75 = load ptr, ptr %t61
|
|
%t76 = getelementptr inbounds ptr, ptr %t75, i32 %t62
|
|
store ptr %t74, ptr %t76
|
|
%t77 = add i32 %t62, 1
|
|
store i32 %t77, ptr %t59
|
|
%t78 = call i32 @fn_is_op(ptr @.str262)
|
|
%t79 = icmp ne i32 %t78, 0
|
|
br i1 %t79, label %then16, label %ifend18
|
|
then16:
|
|
%t80 = load i32, ptr @g_pi
|
|
%t81 = add i32 %t80, 1
|
|
store i32 %t81, ptr @g_pi
|
|
%t82 = call ptr @fn_expr()
|
|
store ptr %t82, ptr %t83
|
|
call void @fn_eat_op(ptr @.str263)
|
|
%t84 = call ptr @fn_node(i32 33)
|
|
store ptr %t84, ptr %t85
|
|
%t86 = load ptr, ptr %t85
|
|
%t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1
|
|
%t88 = load ptr, ptr %t21
|
|
store ptr %t88, ptr %t87
|
|
%t89 = load ptr, ptr %t4
|
|
%t90 = load ptr, ptr %t83
|
|
%t91 = load ptr, ptr %t85
|
|
%t92 = call ptr @fn_qualify_fields(ptr %t90, ptr %t91)
|
|
%t93 = call ptr @fn_mk_and(ptr %t89, ptr %t92)
|
|
store ptr %t93, ptr %t4
|
|
br label %ifend18
|
|
ifend18:
|
|
%t94 = call i32 @fn_is_op(ptr @.str264)
|
|
%t95 = icmp ne i32 %t94, 0
|
|
br i1 %t95, label %then19, label %ifend21
|
|
then19:
|
|
%t96 = load i32, ptr @g_pi
|
|
%t97 = add i32 %t96, 1
|
|
store i32 %t97, ptr @g_pi
|
|
br label %ifend21
|
|
ifend21:
|
|
call void @fn_skipnl()
|
|
br label %wcond9
|
|
wend11:
|
|
call void @fn_eat_op(ptr @.str265)
|
|
br label %ifend8
|
|
else7:
|
|
%t98 = load ptr, ptr %t12
|
|
%t99 = call i32 @fn_str_eq(ptr %t98, ptr @.str266)
|
|
%t100 = icmp ne i32 %t99, 0
|
|
br i1 %t100, label %then22, label %else23
|
|
then22:
|
|
%t101 = call ptr @fn_eat_id()
|
|
store ptr %t101, ptr %t102
|
|
%t103 = call ptr @fn_node(i32 33)
|
|
store ptr %t103, ptr %t104
|
|
%t105 = load ptr, ptr %t104
|
|
%t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 1
|
|
%t107 = load ptr, ptr %t102
|
|
store ptr %t107, ptr %t106
|
|
%t108 = load ptr, ptr %t104
|
|
%t109 = getelementptr inbounds %Cmp_Node, ptr %t108, i32 0, i32 2
|
|
store i32 1, ptr %t109
|
|
%t110 = load ptr, ptr %t3
|
|
%t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 7
|
|
%t112 = load ptr, ptr %t111
|
|
%t113 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 1
|
|
%t114 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 2
|
|
%t115 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0
|
|
%t116 = load i32, ptr %t113
|
|
%t117 = load i32, ptr %t114
|
|
%t118 = icmp sge i32 %t116, %t117
|
|
br i1 %t118, label %grow25, label %put26
|
|
grow25:
|
|
%t119 = mul i32 %t117, 2
|
|
%t120 = icmp eq i32 %t117, 0
|
|
%t121 = select i1 %t120, i32 8, i32 %t119
|
|
%t122 = getelementptr ptr, ptr null, i32 1
|
|
%t123 = ptrtoint ptr %t122 to i64
|
|
%t124 = zext i32 %t121 to i64
|
|
%t125 = mul i64 %t124, %t123
|
|
%t126 = load ptr, ptr %t115
|
|
%t127 = call ptr @realloc(ptr %t126, i64 %t125)
|
|
store ptr %t127, ptr %t115
|
|
store i32 %t121, ptr %t114
|
|
br label %put26
|
|
put26:
|
|
%t128 = load ptr, ptr %t104
|
|
%t129 = load ptr, ptr %t115
|
|
%t130 = getelementptr inbounds ptr, ptr %t129, i32 %t116
|
|
store ptr %t128, ptr %t130
|
|
%t131 = add i32 %t116, 1
|
|
store i32 %t131, ptr %t113
|
|
br label %ifend24
|
|
else23:
|
|
%t132 = call ptr @fn_expr()
|
|
br label %ifend24
|
|
ifend24:
|
|
br label %ifend8
|
|
ifend8:
|
|
%t133 = call i32 @fn_is_op(ptr @.str267)
|
|
%t134 = icmp ne i32 %t133, 0
|
|
br i1 %t134, label %then27, label %ifend29
|
|
then27:
|
|
%t135 = load i32, ptr @g_pi
|
|
%t136 = add i32 %t135, 1
|
|
store i32 %t136, ptr @g_pi
|
|
br label %ifend29
|
|
ifend29:
|
|
call void @fn_skipnl()
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_eat_op(ptr @.str268)
|
|
%t137 = load ptr, ptr %t1
|
|
%t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 6
|
|
%t139 = load ptr, ptr %t3
|
|
store ptr %t139, ptr %t138
|
|
%t140 = load ptr, ptr %t1
|
|
%t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 5
|
|
%t142 = load ptr, ptr %t4
|
|
store ptr %t142, ptr %t141
|
|
%t143 = load ptr, ptr %t1
|
|
store ptr %t143, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t144 = load ptr, ptr %retval
|
|
ret ptr %t144
|
|
}
|
|
|
|
define ptr @fn_parse_spawn() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t11 = alloca ptr
|
|
%t0 = load i32, ptr @g_pi
|
|
%t1 = add i32 %t0, 1
|
|
store i32 %t1, ptr @g_pi
|
|
%t2 = call ptr @fn_node(i32 22)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
|
|
%t6 = call ptr @fn_eat_id()
|
|
store ptr %t6, ptr %t5
|
|
call void @fn_skipnl()
|
|
call void @fn_eat_op(ptr @.str269)
|
|
br label %wcond0
|
|
wcond0:
|
|
%t7 = icmp ne i32 1, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
call void @fn_skipnl()
|
|
%t8 = call i32 @fn_is_op(ptr @.str270)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then3, label %ifend5
|
|
then3:
|
|
br label %wend2
|
|
ifend5:
|
|
%t10 = call ptr @fn_node(i32 42)
|
|
store ptr %t10, ptr %t11
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1
|
|
%t14 = call ptr @fn_eat_id()
|
|
store ptr %t14, ptr %t13
|
|
%t15 = load ptr, ptr %t11
|
|
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 4
|
|
%t17 = call ptr @fn_record()
|
|
store ptr %t17, ptr %t16
|
|
%t18 = load ptr, ptr %t3
|
|
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1
|
|
%t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2
|
|
%t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
|
|
%t24 = load i32, ptr %t21
|
|
%t25 = load i32, ptr %t22
|
|
%t26 = icmp sge i32 %t24, %t25
|
|
br i1 %t26, label %grow6, label %put7
|
|
grow6:
|
|
%t27 = mul i32 %t25, 2
|
|
%t28 = icmp eq i32 %t25, 0
|
|
%t29 = select i1 %t28, i32 8, i32 %t27
|
|
%t30 = getelementptr ptr, ptr null, i32 1
|
|
%t31 = ptrtoint ptr %t30 to i64
|
|
%t32 = zext i32 %t29 to i64
|
|
%t33 = mul i64 %t32, %t31
|
|
%t34 = load ptr, ptr %t23
|
|
%t35 = call ptr @realloc(ptr %t34, i64 %t33)
|
|
store ptr %t35, ptr %t23
|
|
store i32 %t29, ptr %t22
|
|
br label %put7
|
|
put7:
|
|
%t36 = load ptr, ptr %t11
|
|
%t37 = load ptr, ptr %t23
|
|
%t38 = getelementptr inbounds ptr, ptr %t37, i32 %t24
|
|
store ptr %t36, ptr %t38
|
|
%t39 = add i32 %t24, 1
|
|
store i32 %t39, ptr %t21
|
|
%t40 = call i32 @fn_is_op(ptr @.str271)
|
|
%t41 = icmp ne i32 %t40, 0
|
|
br i1 %t41, label %then8, label %ifend10
|
|
then8:
|
|
%t42 = load i32, ptr @g_pi
|
|
%t43 = add i32 %t42, 1
|
|
store i32 %t43, ptr @g_pi
|
|
br label %ifend10
|
|
ifend10:
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_eat_op(ptr @.str272)
|
|
%t44 = load ptr, ptr %t3
|
|
store ptr %t44, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t45 = load ptr, ptr %retval
|
|
ret ptr %t45
|
|
}
|
|
|
|
define void @fn_parse_scene() {
|
|
entry:
|
|
%t3 = alloca ptr
|
|
%t10 = alloca i32
|
|
%t11 = alloca i32
|
|
%t49 = alloca ptr
|
|
%t67 = alloca ptr
|
|
%t79 = alloca ptr
|
|
%t91 = alloca ptr
|
|
%t0 = load i32, ptr @g_pi
|
|
%t1 = add i32 %t0, 1
|
|
store i32 %t1, ptr @g_pi
|
|
%t2 = call ptr @fn_node(i32 45)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
|
|
%t6 = call ptr @fn_eat_id()
|
|
store ptr %t6, ptr %t5
|
|
%t7 = load ptr, ptr %t3
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 2
|
|
%t9 = load i32, ptr @g_g_scene_count
|
|
store i32 %t9, ptr %t8
|
|
store i32 0, ptr %t10
|
|
br label %wcond0
|
|
wcond0:
|
|
%t12 = call i32 @fn_is_id(ptr @.str273)
|
|
%t13 = icmp ne i32 %t12, 0
|
|
%t14 = zext i1 %t13 to i32
|
|
store i32 %t14, ptr %t11
|
|
br i1 %t13, label %scend4, label %sc3
|
|
sc3:
|
|
%t15 = call i32 @fn_is_id(ptr @.str274)
|
|
%t16 = icmp ne i32 %t15, 0
|
|
%t17 = zext i1 %t16 to i32
|
|
store i32 %t17, ptr %t11
|
|
br label %scend4
|
|
scend4:
|
|
%t18 = load i32, ptr %t11
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t20 = call i32 @fn_is_id(ptr @.str275)
|
|
%t21 = icmp ne i32 %t20, 0
|
|
br i1 %t21, label %then5, label %else6
|
|
then5:
|
|
%t22 = load i32, ptr @g_pi
|
|
%t23 = add i32 %t22, 1
|
|
store i32 %t23, ptr @g_pi
|
|
%t24 = load i32, ptr @g_g_scene_count
|
|
store i32 %t24, ptr @g_g_start_scene
|
|
br label %ifend7
|
|
else6:
|
|
%t25 = load i32, ptr @g_pi
|
|
%t26 = add i32 %t25, 1
|
|
store i32 %t26, ptr @g_pi
|
|
store i32 1, ptr %t10
|
|
br label %ifend7
|
|
ifend7:
|
|
br label %wcond0
|
|
wend2:
|
|
%t27 = load i32, ptr @g_g_scene_count
|
|
%t28 = add i32 %t27, 1
|
|
store i32 %t28, ptr @g_g_scene_count
|
|
%t29 = load i32, ptr %t10
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then8, label %ifend10
|
|
then8:
|
|
%t31 = load ptr, ptr %t3
|
|
%t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1
|
|
%t33 = load ptr, ptr %t32
|
|
%t34 = call ptr @fn_str_concat(ptr @.str276, ptr %t33)
|
|
%t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str277)
|
|
call void @fn_ensure_event_empty(ptr %t35)
|
|
%t36 = load ptr, ptr %t3
|
|
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = call ptr @fn_str_concat(ptr @.str278, ptr %t38)
|
|
%t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str279)
|
|
call void @fn_ensure_event_empty(ptr %t40)
|
|
br label %ifend10
|
|
ifend10:
|
|
call void @fn_skipnl()
|
|
call void @fn_eat_op(ptr @.str280)
|
|
br label %wcond11
|
|
wcond11:
|
|
%t41 = icmp ne i32 1, 0
|
|
br i1 %t41, label %wbody12, label %wend13
|
|
wbody12:
|
|
call void @fn_skipnl()
|
|
%t42 = call i32 @fn_is_op(ptr @.str281)
|
|
%t43 = icmp ne i32 %t42, 0
|
|
br i1 %t43, label %then14, label %ifend16
|
|
then14:
|
|
br label %wend13
|
|
ifend16:
|
|
%t44 = call i32 @fn_is_id(ptr @.str282)
|
|
%t45 = icmp ne i32 %t44, 0
|
|
br i1 %t45, label %then17, label %ifend19
|
|
then17:
|
|
%t46 = load i32, ptr @g_pi
|
|
%t47 = add i32 %t46, 1
|
|
store i32 %t47, ptr @g_pi
|
|
%t48 = call ptr @fn_eat_id()
|
|
store ptr %t48, ptr %t49
|
|
call void @fn_skipnl()
|
|
%t50 = load ptr, ptr %t49
|
|
%t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str283)
|
|
%t52 = icmp ne i32 %t51, 0
|
|
br i1 %t52, label %then20, label %else21
|
|
then20:
|
|
%t53 = load ptr, ptr %t3
|
|
%t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 4
|
|
%t55 = call ptr @fn_block()
|
|
store ptr %t55, ptr %t54
|
|
br label %ifend22
|
|
else21:
|
|
%t56 = load ptr, ptr %t49
|
|
%t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str284)
|
|
%t58 = icmp ne i32 %t57, 0
|
|
br i1 %t58, label %then23, label %else24
|
|
then23:
|
|
%t59 = load ptr, ptr %t3
|
|
%t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 5
|
|
%t61 = call ptr @fn_block()
|
|
store ptr %t61, ptr %t60
|
|
br label %ifend25
|
|
else24:
|
|
call void @fn_perr(ptr @.str285)
|
|
br label %ifend25
|
|
ifend25:
|
|
br label %ifend22
|
|
ifend22:
|
|
br label %wcond11
|
|
ifend19:
|
|
%t62 = call i32 @fn_is_id(ptr @.str286)
|
|
%t63 = icmp ne i32 %t62, 0
|
|
br i1 %t63, label %then26, label %ifend28
|
|
then26:
|
|
%t64 = load i32, ptr @g_pi
|
|
%t65 = add i32 %t64, 1
|
|
store i32 %t65, ptr @g_pi
|
|
%t66 = call ptr @fn_eat_id()
|
|
store ptr %t66, ptr %t67
|
|
%t68 = call i32 @fn_is_id(ptr @.str287)
|
|
%t69 = icmp ne i32 %t68, 0
|
|
br i1 %t69, label %then29, label %ifend31
|
|
then29:
|
|
%t70 = load i32, ptr @g_pi
|
|
%t71 = add i32 %t70, 1
|
|
store i32 %t71, ptr @g_pi
|
|
%t72 = load ptr, ptr %t67
|
|
%t73 = call ptr @fn_str_concat(ptr @.str288, ptr %t72)
|
|
%t74 = call ptr @fn_str_concat(ptr %t73, ptr @.str289)
|
|
call void @fn_ensure_event_empty(ptr %t74)
|
|
%t75 = load ptr, ptr %t67
|
|
%t76 = call ptr @fn_str_concat(ptr @.str290, ptr %t75)
|
|
%t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str291)
|
|
call void @fn_ensure_event_empty(ptr %t77)
|
|
br label %ifend31
|
|
ifend31:
|
|
call void @fn_skipnl()
|
|
call void @fn_eat_op(ptr @.str292)
|
|
%t78 = call ptr @fn_node(i32 33)
|
|
store ptr %t78, ptr %t79
|
|
%t80 = load ptr, ptr %t79
|
|
%t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 1
|
|
%t82 = load ptr, ptr %t67
|
|
store ptr %t82, ptr %t81
|
|
br label %wcond32
|
|
wcond32:
|
|
%t83 = icmp ne i32 1, 0
|
|
br i1 %t83, label %wbody33, label %wend34
|
|
wbody33:
|
|
call void @fn_skipnl()
|
|
%t84 = call i32 @fn_is_op(ptr @.str293)
|
|
%t85 = icmp ne i32 %t84, 0
|
|
br i1 %t85, label %then35, label %ifend37
|
|
then35:
|
|
br label %wend34
|
|
ifend37:
|
|
%t86 = call i32 @fn_is_id(ptr @.str294)
|
|
%t87 = icmp eq i32 %t86, 0
|
|
%t88 = zext i1 %t87 to i32
|
|
%t89 = icmp ne i32 %t88, 0
|
|
br i1 %t89, label %then38, label %ifend40
|
|
then38:
|
|
call void @fn_perr(ptr @.str295)
|
|
br label %ifend40
|
|
ifend40:
|
|
%t90 = call ptr @fn_parse_system()
|
|
store ptr %t90, ptr %t91
|
|
%t92 = load ptr, ptr %t91
|
|
%t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 6
|
|
%t94 = load ptr, ptr %t3
|
|
store ptr %t94, ptr %t93
|
|
%t95 = load ptr, ptr %t91
|
|
%t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 5
|
|
%t97 = load ptr, ptr %t79
|
|
store ptr %t97, ptr %t96
|
|
%t98 = load ptr, ptr @g_prog
|
|
%t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 1
|
|
%t100 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 2
|
|
%t101 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0
|
|
%t102 = load i32, ptr %t99
|
|
%t103 = load i32, ptr %t100
|
|
%t104 = icmp sge i32 %t102, %t103
|
|
br i1 %t104, label %grow41, label %put42
|
|
grow41:
|
|
%t105 = mul i32 %t103, 2
|
|
%t106 = icmp eq i32 %t103, 0
|
|
%t107 = select i1 %t106, i32 8, i32 %t105
|
|
%t108 = getelementptr ptr, ptr null, i32 1
|
|
%t109 = ptrtoint ptr %t108 to i64
|
|
%t110 = zext i32 %t107 to i64
|
|
%t111 = mul i64 %t110, %t109
|
|
%t112 = load ptr, ptr %t101
|
|
%t113 = call ptr @realloc(ptr %t112, i64 %t111)
|
|
store ptr %t113, ptr %t101
|
|
store i32 %t107, ptr %t100
|
|
br label %put42
|
|
put42:
|
|
%t114 = load ptr, ptr %t91
|
|
%t115 = load ptr, ptr %t101
|
|
%t116 = getelementptr inbounds ptr, ptr %t115, i32 %t102
|
|
store ptr %t114, ptr %t116
|
|
%t117 = add i32 %t102, 1
|
|
store i32 %t117, ptr %t99
|
|
call void @fn_skipnl()
|
|
br label %wcond32
|
|
wend34:
|
|
call void @fn_eat_op(ptr @.str296)
|
|
br label %wcond11
|
|
ifend28:
|
|
call void @fn_perr(ptr @.str297)
|
|
br label %wcond11
|
|
wend13:
|
|
call void @fn_eat_op(ptr @.str298)
|
|
%t118 = load ptr, ptr @g_g_scenes
|
|
%t119 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 1
|
|
%t120 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 2
|
|
%t121 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0
|
|
%t122 = load i32, ptr %t119
|
|
%t123 = load i32, ptr %t120
|
|
%t124 = icmp sge i32 %t122, %t123
|
|
br i1 %t124, label %grow43, label %put44
|
|
grow43:
|
|
%t125 = mul i32 %t123, 2
|
|
%t126 = icmp eq i32 %t123, 0
|
|
%t127 = select i1 %t126, i32 8, i32 %t125
|
|
%t128 = getelementptr ptr, ptr null, i32 1
|
|
%t129 = ptrtoint ptr %t128 to i64
|
|
%t130 = zext i32 %t127 to i64
|
|
%t131 = mul i64 %t130, %t129
|
|
%t132 = load ptr, ptr %t121
|
|
%t133 = call ptr @realloc(ptr %t132, i64 %t131)
|
|
store ptr %t133, ptr %t121
|
|
store i32 %t127, ptr %t120
|
|
br label %put44
|
|
put44:
|
|
%t134 = load ptr, ptr %t3
|
|
%t135 = load ptr, ptr %t121
|
|
%t136 = getelementptr inbounds ptr, ptr %t135, i32 %t122
|
|
store ptr %t134, ptr %t136
|
|
%t137 = add i32 %t122, 1
|
|
store i32 %t137, ptr %t119
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_parse_enum() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t11 = alloca ptr
|
|
%t0 = load i32, ptr @g_pi
|
|
%t1 = add i32 %t0, 1
|
|
store i32 %t1, ptr @g_pi
|
|
%t2 = call ptr @fn_node(i32 27)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
|
|
%t6 = call ptr @fn_eat_id()
|
|
store ptr %t6, ptr %t5
|
|
call void @fn_skipnl()
|
|
call void @fn_eat_op(ptr @.str299)
|
|
br label %wcond0
|
|
wcond0:
|
|
%t7 = icmp ne i32 1, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
call void @fn_skipnl()
|
|
%t8 = call i32 @fn_is_op(ptr @.str300)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then3, label %ifend5
|
|
then3:
|
|
br label %wend2
|
|
ifend5:
|
|
%t10 = call ptr @fn_node(i32 33)
|
|
store ptr %t10, ptr %t11
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1
|
|
%t14 = call ptr @fn_eat_id()
|
|
store ptr %t14, ptr %t13
|
|
%t15 = load ptr, ptr %t3
|
|
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 7
|
|
%t17 = load ptr, ptr %t16
|
|
%t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 1
|
|
%t19 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 2
|
|
%t20 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0
|
|
%t21 = load i32, ptr %t18
|
|
%t22 = load i32, ptr %t19
|
|
%t23 = icmp sge i32 %t21, %t22
|
|
br i1 %t23, label %grow6, label %put7
|
|
grow6:
|
|
%t24 = mul i32 %t22, 2
|
|
%t25 = icmp eq i32 %t22, 0
|
|
%t26 = select i1 %t25, i32 8, i32 %t24
|
|
%t27 = getelementptr ptr, ptr null, i32 1
|
|
%t28 = ptrtoint ptr %t27 to i64
|
|
%t29 = zext i32 %t26 to i64
|
|
%t30 = mul i64 %t29, %t28
|
|
%t31 = load ptr, ptr %t20
|
|
%t32 = call ptr @realloc(ptr %t31, i64 %t30)
|
|
store ptr %t32, ptr %t20
|
|
store i32 %t26, ptr %t19
|
|
br label %put7
|
|
put7:
|
|
%t33 = load ptr, ptr %t11
|
|
%t34 = load ptr, ptr %t20
|
|
%t35 = getelementptr inbounds ptr, ptr %t34, i32 %t21
|
|
store ptr %t33, ptr %t35
|
|
%t36 = add i32 %t21, 1
|
|
store i32 %t36, ptr %t18
|
|
%t37 = call i32 @fn_is_op(ptr @.str301)
|
|
%t38 = icmp ne i32 %t37, 0
|
|
br i1 %t38, label %then8, label %ifend10
|
|
then8:
|
|
%t39 = load i32, ptr @g_pi
|
|
%t40 = add i32 %t39, 1
|
|
store i32 %t40, ptr @g_pi
|
|
br label %ifend10
|
|
ifend10:
|
|
call void @fn_skipnl()
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_eat_op(ptr @.str302)
|
|
%t41 = load ptr, ptr %t3
|
|
store ptr %t41, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t42 = load ptr, ptr %retval
|
|
ret ptr %t42
|
|
}
|
|
|
|
define ptr @fn_parse_archetype() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t11 = alloca ptr
|
|
%t17 = alloca ptr
|
|
%t0 = load i32, ptr @g_pi
|
|
%t1 = add i32 %t0, 1
|
|
store i32 %t1, ptr @g_pi
|
|
%t2 = call ptr @fn_node(i32 10)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
|
|
%t6 = call ptr @fn_eat_id()
|
|
store ptr %t6, ptr %t5
|
|
call void @fn_skipnl()
|
|
call void @fn_eat_op(ptr @.str303)
|
|
br label %wcond0
|
|
wcond0:
|
|
%t7 = icmp ne i32 1, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
call void @fn_skipnl()
|
|
%t8 = call i32 @fn_is_op(ptr @.str304)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then3, label %ifend5
|
|
then3:
|
|
br label %wend2
|
|
ifend5:
|
|
%t10 = call ptr @fn_node(i32 33)
|
|
store ptr %t10, ptr %t11
|
|
%t12 = call i32 @fn_is_op(ptr @.str305)
|
|
%t13 = icmp ne i32 %t12, 0
|
|
br i1 %t13, label %then6, label %ifend8
|
|
then6:
|
|
%t14 = load i32, ptr @g_pi
|
|
%t15 = add i32 %t14, 1
|
|
store i32 %t15, ptr @g_pi
|
|
%t16 = call ptr @fn_eat_id()
|
|
store ptr %t16, ptr %t17
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str306)
|
|
%t20 = icmp ne i32 %t19, 0
|
|
br i1 %t20, label %then9, label %ifend11
|
|
then9:
|
|
%t21 = load ptr, ptr %t11
|
|
%t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 2
|
|
store i32 1, ptr %t22
|
|
br label %ifend11
|
|
ifend11:
|
|
call void @fn_skipnl()
|
|
br label %ifend8
|
|
ifend8:
|
|
%t23 = load ptr, ptr %t11
|
|
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1
|
|
%t25 = call ptr @fn_eat_id()
|
|
store ptr %t25, ptr %t24
|
|
%t26 = load ptr, ptr %t3
|
|
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1
|
|
%t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 2
|
|
%t31 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0
|
|
%t32 = load i32, ptr %t29
|
|
%t33 = load i32, ptr %t30
|
|
%t34 = icmp sge i32 %t32, %t33
|
|
br i1 %t34, label %grow12, label %put13
|
|
grow12:
|
|
%t35 = mul i32 %t33, 2
|
|
%t36 = icmp eq i32 %t33, 0
|
|
%t37 = select i1 %t36, i32 8, i32 %t35
|
|
%t38 = getelementptr ptr, ptr null, i32 1
|
|
%t39 = ptrtoint ptr %t38 to i64
|
|
%t40 = zext i32 %t37 to i64
|
|
%t41 = mul i64 %t40, %t39
|
|
%t42 = load ptr, ptr %t31
|
|
%t43 = call ptr @realloc(ptr %t42, i64 %t41)
|
|
store ptr %t43, ptr %t31
|
|
store i32 %t37, ptr %t30
|
|
br label %put13
|
|
put13:
|
|
%t44 = load ptr, ptr %t11
|
|
%t45 = load ptr, ptr %t31
|
|
%t46 = getelementptr inbounds ptr, ptr %t45, i32 %t32
|
|
store ptr %t44, ptr %t46
|
|
%t47 = add i32 %t32, 1
|
|
store i32 %t47, ptr %t29
|
|
%t48 = call i32 @fn_is_op(ptr @.str307)
|
|
%t49 = icmp ne i32 %t48, 0
|
|
br i1 %t49, label %then14, label %ifend16
|
|
then14:
|
|
%t50 = load i32, ptr @g_pi
|
|
%t51 = add i32 %t50, 1
|
|
store i32 %t51, ptr @g_pi
|
|
br label %ifend16
|
|
ifend16:
|
|
call void @fn_skipnl()
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_eat_op(ptr @.str308)
|
|
%t52 = load ptr, ptr %t3
|
|
store ptr %t52, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t53 = load ptr, ptr %retval
|
|
ret ptr %t53
|
|
}
|
|
|
|
define ptr @fn_parse_extern() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t14 = alloca ptr
|
|
%t62 = alloca ptr
|
|
%t0 = load i32, ptr @g_pi
|
|
%t1 = add i32 %t0, 1
|
|
store i32 %t1, ptr @g_pi
|
|
%t2 = call ptr @fn_eat_id()
|
|
store ptr %t2, ptr %t3
|
|
%t4 = call ptr @fn_node(i32 11)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1
|
|
%t8 = call ptr @fn_eat_id()
|
|
store ptr %t8, ptr %t7
|
|
call void @fn_eat_op(ptr @.str309)
|
|
br label %wcond0
|
|
wcond0:
|
|
%t9 = call i32 @fn_is_op(ptr @.str310)
|
|
%t10 = icmp eq i32 %t9, 0
|
|
%t11 = zext i1 %t10 to i32
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t13 = call ptr @fn_node(i32 5)
|
|
store ptr %t13, ptr %t14
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1
|
|
%t17 = call ptr @fn_eat_id()
|
|
store ptr %t17, ptr %t16
|
|
call void @fn_eat_op(ptr @.str311)
|
|
%t18 = load ptr, ptr %t14
|
|
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 3
|
|
%t20 = call ptr @fn_ptype()
|
|
store ptr %t20, ptr %t19
|
|
%t21 = load ptr, ptr %t5
|
|
%t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 7
|
|
%t23 = load ptr, ptr %t22
|
|
%t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1
|
|
%t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 2
|
|
%t26 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0
|
|
%t27 = load i32, ptr %t24
|
|
%t28 = load i32, ptr %t25
|
|
%t29 = icmp sge i32 %t27, %t28
|
|
br i1 %t29, label %grow3, label %put4
|
|
grow3:
|
|
%t30 = mul i32 %t28, 2
|
|
%t31 = icmp eq i32 %t28, 0
|
|
%t32 = select i1 %t31, i32 8, i32 %t30
|
|
%t33 = getelementptr ptr, ptr null, i32 1
|
|
%t34 = ptrtoint ptr %t33 to i64
|
|
%t35 = zext i32 %t32 to i64
|
|
%t36 = mul i64 %t35, %t34
|
|
%t37 = load ptr, ptr %t26
|
|
%t38 = call ptr @realloc(ptr %t37, i64 %t36)
|
|
store ptr %t38, ptr %t26
|
|
store i32 %t32, ptr %t25
|
|
br label %put4
|
|
put4:
|
|
%t39 = load ptr, ptr %t14
|
|
%t40 = load ptr, ptr %t26
|
|
%t41 = getelementptr inbounds ptr, ptr %t40, i32 %t27
|
|
store ptr %t39, ptr %t41
|
|
%t42 = add i32 %t27, 1
|
|
store i32 %t42, ptr %t24
|
|
%t43 = call i32 @fn_is_op(ptr @.str312)
|
|
%t44 = icmp ne i32 %t43, 0
|
|
br i1 %t44, label %then5, label %ifend7
|
|
then5:
|
|
%t45 = load i32, ptr @g_pi
|
|
%t46 = add i32 %t45, 1
|
|
store i32 %t46, ptr @g_pi
|
|
br label %ifend7
|
|
ifend7:
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_eat_op(ptr @.str313)
|
|
%t47 = load ptr, ptr %t5
|
|
%t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3
|
|
store ptr @.str314, ptr %t48
|
|
%t49 = call i32 @fn_is_op(ptr @.str315)
|
|
%t50 = icmp ne i32 %t49, 0
|
|
br i1 %t50, label %then8, label %ifend10
|
|
then8:
|
|
%t51 = load i32, ptr @g_pi
|
|
%t52 = add i32 %t51, 1
|
|
store i32 %t52, ptr @g_pi
|
|
%t53 = load ptr, ptr %t5
|
|
%t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 3
|
|
%t55 = call ptr @fn_ptype()
|
|
store ptr %t55, ptr %t54
|
|
br label %ifend10
|
|
ifend10:
|
|
call void @fn_eat_op(ptr @.str316)
|
|
%t56 = load ptr, ptr @g_toks
|
|
%t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0
|
|
%t58 = load ptr, ptr %t57
|
|
%t59 = load i32, ptr @g_pi
|
|
%t60 = getelementptr inbounds ptr, ptr %t58, i32 %t59
|
|
%t61 = load ptr, ptr %t60
|
|
store ptr %t61, ptr %t62
|
|
%t63 = load ptr, ptr %t5
|
|
%t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 4
|
|
%t65 = call ptr @fn_node(i32 31)
|
|
store ptr %t65, ptr %t64
|
|
%t66 = load ptr, ptr %t5
|
|
%t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 4
|
|
%t68 = load ptr, ptr %t67
|
|
%t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1
|
|
%t70 = load ptr, ptr %t62
|
|
%t71 = getelementptr inbounds %Cmp_Tok, ptr %t70, i32 0, i32 1
|
|
%t72 = load ptr, ptr %t71
|
|
store ptr %t72, ptr %t69
|
|
%t73 = load i32, ptr @g_pi
|
|
%t74 = add i32 %t73, 1
|
|
store i32 %t74, ptr @g_pi
|
|
%t75 = load ptr, ptr %t5
|
|
store ptr %t75, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t76 = load ptr, ptr %retval
|
|
ret ptr %t76
|
|
}
|
|
|
|
define ptr @fn_parse_widget() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t8 = alloca i32
|
|
%t9 = alloca i32
|
|
%t53 = alloca ptr
|
|
%t0 = call ptr @fn_node(i32 12)
|
|
store ptr %t0, ptr %t1
|
|
%t2 = load ptr, ptr %t1
|
|
%t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 1
|
|
%t4 = call ptr @fn_eat_id()
|
|
store ptr %t4, ptr %t3
|
|
%t5 = load ptr, ptr %t1
|
|
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 5
|
|
%t7 = call ptr @fn_node(i32 7)
|
|
store ptr %t7, ptr %t6
|
|
br label %wcond0
|
|
wcond0:
|
|
%t10 = load ptr, ptr @g_toks
|
|
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = load i32, ptr @g_pi
|
|
%t14 = getelementptr inbounds ptr, ptr %t12, i32 %t13
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = getelementptr inbounds %Cmp_Tok, ptr %t15, i32 0, i32 0
|
|
%t17 = load i32, ptr %t16
|
|
%t18 = icmp eq i32 %t17, 0
|
|
%t19 = zext i1 %t18 to i32
|
|
%t20 = icmp ne i32 %t19, 0
|
|
%t21 = zext i1 %t20 to i32
|
|
store i32 %t21, ptr %t9
|
|
br i1 %t20, label %sc3, label %scend4
|
|
sc3:
|
|
%t22 = load ptr, ptr @g_toks
|
|
%t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = load i32, ptr @g_pi
|
|
%t26 = add i32 %t25, 1
|
|
%t27 = getelementptr inbounds ptr, ptr %t24, i32 %t26
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = getelementptr inbounds %Cmp_Tok, ptr %t28, i32 0, i32 0
|
|
%t30 = load i32, ptr %t29
|
|
%t31 = icmp eq i32 %t30, 3
|
|
%t32 = zext i1 %t31 to i32
|
|
%t33 = icmp ne i32 %t32, 0
|
|
%t34 = zext i1 %t33 to i32
|
|
store i32 %t34, ptr %t9
|
|
br label %scend4
|
|
scend4:
|
|
%t35 = load i32, ptr %t9
|
|
%t36 = icmp ne i32 %t35, 0
|
|
%t37 = zext i1 %t36 to i32
|
|
store i32 %t37, ptr %t8
|
|
br i1 %t36, label %sc5, label %scend6
|
|
sc5:
|
|
%t38 = load ptr, ptr @g_toks
|
|
%t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = load i32, ptr @g_pi
|
|
%t42 = add i32 %t41, 1
|
|
%t43 = getelementptr inbounds ptr, ptr %t40, i32 %t42
|
|
%t44 = load ptr, ptr %t43
|
|
%t45 = getelementptr inbounds %Cmp_Tok, ptr %t44, i32 0, i32 1
|
|
%t46 = load ptr, ptr %t45
|
|
%t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str317)
|
|
%t48 = icmp ne i32 %t47, 0
|
|
%t49 = zext i1 %t48 to i32
|
|
store i32 %t49, ptr %t8
|
|
br label %scend6
|
|
scend6:
|
|
%t50 = load i32, ptr %t8
|
|
%t51 = icmp ne i32 %t50, 0
|
|
br i1 %t51, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t52 = call ptr @fn_node(i32 42)
|
|
store ptr %t52, ptr %t53
|
|
%t54 = load ptr, ptr %t53
|
|
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1
|
|
%t56 = call ptr @fn_eat_id()
|
|
store ptr %t56, ptr %t55
|
|
call void @fn_eat_op(ptr @.str318)
|
|
%t57 = load ptr, ptr %t53
|
|
%t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 4
|
|
%t59 = call ptr @fn_expr()
|
|
store ptr %t59, ptr %t58
|
|
%t60 = load ptr, ptr %t1
|
|
%t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 5
|
|
%t62 = load ptr, ptr %t61
|
|
%t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 7
|
|
%t64 = load ptr, ptr %t63
|
|
%t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 1
|
|
%t66 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 2
|
|
%t67 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0
|
|
%t68 = load i32, ptr %t65
|
|
%t69 = load i32, ptr %t66
|
|
%t70 = icmp sge i32 %t68, %t69
|
|
br i1 %t70, label %grow7, label %put8
|
|
grow7:
|
|
%t71 = mul i32 %t69, 2
|
|
%t72 = icmp eq i32 %t69, 0
|
|
%t73 = select i1 %t72, i32 8, i32 %t71
|
|
%t74 = getelementptr ptr, ptr null, i32 1
|
|
%t75 = ptrtoint ptr %t74 to i64
|
|
%t76 = zext i32 %t73 to i64
|
|
%t77 = mul i64 %t76, %t75
|
|
%t78 = load ptr, ptr %t67
|
|
%t79 = call ptr @realloc(ptr %t78, i64 %t77)
|
|
store ptr %t79, ptr %t67
|
|
store i32 %t73, ptr %t66
|
|
br label %put8
|
|
put8:
|
|
%t80 = load ptr, ptr %t53
|
|
%t81 = load ptr, ptr %t67
|
|
%t82 = getelementptr inbounds ptr, ptr %t81, i32 %t68
|
|
store ptr %t80, ptr %t82
|
|
%t83 = add i32 %t68, 1
|
|
store i32 %t83, ptr %t65
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_skipnl()
|
|
%t84 = call i32 @fn_is_op(ptr @.str319)
|
|
%t85 = icmp ne i32 %t84, 0
|
|
br i1 %t85, label %then9, label %ifend11
|
|
then9:
|
|
%t86 = load i32, ptr @g_pi
|
|
%t87 = add i32 %t86, 1
|
|
store i32 %t87, ptr @g_pi
|
|
br label %wcond12
|
|
wcond12:
|
|
%t88 = icmp ne i32 1, 0
|
|
br i1 %t88, label %wbody13, label %wend14
|
|
wbody13:
|
|
call void @fn_skipnl()
|
|
%t89 = call i32 @fn_is_op(ptr @.str320)
|
|
%t90 = icmp ne i32 %t89, 0
|
|
br i1 %t90, label %then15, label %ifend17
|
|
then15:
|
|
br label %wend14
|
|
ifend17:
|
|
%t91 = load ptr, ptr %t1
|
|
%t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 7
|
|
%t93 = load ptr, ptr %t92
|
|
%t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1
|
|
%t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 2
|
|
%t96 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0
|
|
%t97 = load i32, ptr %t94
|
|
%t98 = load i32, ptr %t95
|
|
%t99 = icmp sge i32 %t97, %t98
|
|
br i1 %t99, label %grow18, label %put19
|
|
grow18:
|
|
%t100 = mul i32 %t98, 2
|
|
%t101 = icmp eq i32 %t98, 0
|
|
%t102 = select i1 %t101, i32 8, i32 %t100
|
|
%t103 = getelementptr ptr, ptr null, i32 1
|
|
%t104 = ptrtoint ptr %t103 to i64
|
|
%t105 = zext i32 %t102 to i64
|
|
%t106 = mul i64 %t105, %t104
|
|
%t107 = load ptr, ptr %t96
|
|
%t108 = call ptr @realloc(ptr %t107, i64 %t106)
|
|
store ptr %t108, ptr %t96
|
|
store i32 %t102, ptr %t95
|
|
br label %put19
|
|
put19:
|
|
%t109 = call ptr @fn_parse_widget()
|
|
%t110 = load ptr, ptr %t96
|
|
%t111 = getelementptr inbounds ptr, ptr %t110, i32 %t97
|
|
store ptr %t109, ptr %t111
|
|
%t112 = add i32 %t97, 1
|
|
store i32 %t112, ptr %t94
|
|
br label %wcond12
|
|
wend14:
|
|
call void @fn_eat_op(ptr @.str321)
|
|
br label %ifend11
|
|
ifend11:
|
|
%t113 = load ptr, ptr %t1
|
|
store ptr %t113, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t114 = load ptr, ptr %retval
|
|
ret ptr %t114
|
|
}
|
|
|
|
define ptr @fn_parse_ui() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t0 = load i32, ptr @g_pi
|
|
%t1 = add i32 %t0, 1
|
|
store i32 %t1, ptr @g_pi
|
|
%t2 = call ptr @fn_node(i32 12)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
|
|
%t6 = call ptr @fn_eat_id()
|
|
store ptr %t6, ptr %t5
|
|
%t7 = load ptr, ptr %t3
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 2
|
|
store i32 1, ptr %t8
|
|
call void @fn_skipnl()
|
|
call void @fn_eat_op(ptr @.str322)
|
|
call void @fn_skipnl()
|
|
%t9 = load ptr, ptr %t3
|
|
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4
|
|
%t11 = call ptr @fn_parse_widget()
|
|
store ptr %t11, ptr %t10
|
|
call void @fn_skipnl()
|
|
call void @fn_eat_op(ptr @.str323)
|
|
%t12 = load ptr, ptr %t3
|
|
store ptr %t12, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t13 = load ptr, ptr %retval
|
|
ret ptr %t13
|
|
}
|
|
|
|
define ptr @fn_val(ptr %arg_code, ptr %arg_ty) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t7 = alloca ptr
|
|
store ptr %arg_code, ptr %t0
|
|
store ptr %arg_ty, ptr %t1
|
|
%t2 = getelementptr %Cmp_Val, ptr null, i32 1
|
|
%t3 = ptrtoint ptr %t2 to i64
|
|
%t4 = call ptr @malloc(i64 %t3)
|
|
%t5 = getelementptr inbounds %Cmp_Val, ptr %t4, i32 0, i32 0
|
|
store ptr null, ptr %t5
|
|
%t6 = getelementptr inbounds %Cmp_Val, ptr %t4, i32 0, i32 1
|
|
store ptr null, ptr %t6
|
|
store ptr %t4, ptr %t7
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = getelementptr inbounds %Cmp_Val, ptr %t8, i32 0, i32 0
|
|
%t10 = load ptr, ptr %t0
|
|
store ptr %t10, ptr %t9
|
|
%t11 = load ptr, ptr %t7
|
|
%t12 = getelementptr inbounds %Cmp_Val, ptr %t11, i32 0, i32 1
|
|
%t13 = load ptr, ptr %t1
|
|
store ptr %t13, ptr %t12
|
|
%t14 = load ptr, ptr %t7
|
|
store ptr %t14, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t15 = load ptr, ptr %retval
|
|
ret ptr %t15
|
|
}
|
|
|
|
define ptr @fn_find_scene(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_name, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_g_scenes
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_g_scenes
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then3, label %ifend5
|
|
then3:
|
|
%t20 = load ptr, ptr @g_g_scenes
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = load i32, ptr %t1
|
|
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
|
|
%t25 = load ptr, ptr %t24
|
|
store ptr %t25, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t26 = load i32, ptr %t1
|
|
%t27 = add i32 %t26, 1
|
|
store i32 %t27, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t28 = load ptr, ptr %retval
|
|
ret ptr %t28
|
|
}
|
|
|
|
define void @fn_emit(ptr %arg_s) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
store ptr %arg_s, ptr %t0
|
|
%t1 = load ptr, ptr @g_code
|
|
%t2 = load ptr, ptr %t0
|
|
call void @fn_buf_puts(ptr %t1, ptr %t2)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emith(ptr %arg_s) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
store ptr %arg_s, ptr %t0
|
|
%t1 = load ptr, ptr @g_head
|
|
%t2 = load ptr, ptr %t0
|
|
call void @fn_buf_puts(ptr %t1, ptr %t2)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_emit_alloca(ptr %arg_llt) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t4 = alloca ptr
|
|
store ptr %arg_llt, ptr %t0
|
|
%t1 = load i32, ptr @g_ll_t
|
|
%t2 = call ptr @fn_itoa(i32 %t1)
|
|
%t3 = call ptr @fn_str_concat(ptr @.str324, ptr %t2)
|
|
store ptr %t3, ptr %t4
|
|
%t5 = load i32, ptr @g_ll_t
|
|
%t6 = add i32 %t5, 1
|
|
store i32 %t6, ptr @g_ll_t
|
|
%t7 = load ptr, ptr @g_falloc
|
|
call void @fn_buf_puts(ptr %t7, ptr @.str325)
|
|
%t8 = load ptr, ptr @g_falloc
|
|
%t9 = load ptr, ptr %t4
|
|
call void @fn_buf_puts(ptr %t8, ptr %t9)
|
|
%t10 = load ptr, ptr @g_falloc
|
|
call void @fn_buf_puts(ptr %t10, ptr @.str326)
|
|
%t11 = load ptr, ptr @g_falloc
|
|
%t12 = load ptr, ptr %t0
|
|
call void @fn_buf_puts(ptr %t11, ptr %t12)
|
|
%t13 = load ptr, ptr @g_falloc
|
|
call void @fn_buf_puts(ptr %t13, ptr @.str327)
|
|
%t14 = load ptr, ptr %t4
|
|
store ptr %t14, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t15 = load ptr, ptr %retval
|
|
ret ptr %t15
|
|
}
|
|
|
|
define ptr @fn_nreg() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t0 = load i32, ptr @g_ll_t
|
|
%t1 = call ptr @fn_itoa(i32 %t0)
|
|
%t2 = call ptr @fn_str_concat(ptr @.str328, ptr %t1)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load i32, ptr @g_ll_t
|
|
%t5 = add i32 %t4, 1
|
|
store i32 %t5, ptr @g_ll_t
|
|
%t6 = load ptr, ptr %t3
|
|
store ptr %t6, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t7 = load ptr, ptr %retval
|
|
ret ptr %t7
|
|
}
|
|
|
|
define ptr @fn_lbl(ptr %arg_pfx) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
store ptr %arg_pfx, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = load i32, ptr @g_ll_lbl
|
|
%t3 = call ptr @fn_itoa(i32 %t2)
|
|
%t4 = call ptr @fn_str_concat(ptr %t1, ptr %t3)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = load i32, ptr @g_ll_lbl
|
|
%t7 = add i32 %t6, 1
|
|
store i32 %t7, ptr @g_ll_lbl
|
|
%t8 = load ptr, ptr %t5
|
|
store ptr %t8, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t9 = load ptr, ptr %retval
|
|
ret ptr %t9
|
|
}
|
|
|
|
define ptr @fn_llty(ptr %arg_t) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
%t37 = alloca i32
|
|
%t38 = alloca i32
|
|
store ptr %arg_t, ptr %t0
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str329)
|
|
%t6 = icmp ne i32 %t5, 0
|
|
%t7 = zext i1 %t6 to i32
|
|
store i32 %t7, ptr %t3
|
|
br i1 %t6, label %scend1, label %sc0
|
|
sc0:
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str330)
|
|
%t10 = icmp ne i32 %t9, 0
|
|
%t11 = zext i1 %t10 to i32
|
|
store i32 %t11, ptr %t3
|
|
br label %scend1
|
|
scend1:
|
|
%t12 = load i32, ptr %t3
|
|
%t13 = icmp ne i32 %t12, 0
|
|
%t14 = zext i1 %t13 to i32
|
|
store i32 %t14, ptr %t2
|
|
br i1 %t13, label %scend3, label %sc2
|
|
sc2:
|
|
%t15 = load ptr, ptr %t0
|
|
%t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str331)
|
|
%t17 = icmp ne i32 %t16, 0
|
|
%t18 = zext i1 %t17 to i32
|
|
store i32 %t18, ptr %t2
|
|
br label %scend3
|
|
scend3:
|
|
%t19 = load i32, ptr %t2
|
|
%t20 = icmp ne i32 %t19, 0
|
|
%t21 = zext i1 %t20 to i32
|
|
store i32 %t21, ptr %t1
|
|
br i1 %t20, label %scend5, label %sc4
|
|
sc4:
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str332)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
store i32 %t25, ptr %t1
|
|
br label %scend5
|
|
scend5:
|
|
%t26 = load i32, ptr %t1
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then6, label %ifend8
|
|
then6:
|
|
store ptr @.str333, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t28 = load ptr, ptr %t0
|
|
%t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str334)
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then9, label %ifend11
|
|
then9:
|
|
store ptr @.str335, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t31 = load ptr, ptr %t0
|
|
%t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str336)
|
|
%t33 = icmp ne i32 %t32, 0
|
|
br i1 %t33, label %then12, label %ifend14
|
|
then12:
|
|
store ptr @.str337, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t34 = load ptr, ptr %t0
|
|
%t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str338)
|
|
%t36 = icmp ne i32 %t35, 0
|
|
br i1 %t36, label %then15, label %ifend17
|
|
then15:
|
|
store ptr @.str339, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t39 = load ptr, ptr %t0
|
|
%t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str340)
|
|
%t41 = icmp ne i32 %t40, 0
|
|
%t42 = zext i1 %t41 to i32
|
|
store i32 %t42, ptr %t38
|
|
br i1 %t41, label %scend19, label %sc18
|
|
sc18:
|
|
%t43 = load ptr, ptr %t0
|
|
%t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str341)
|
|
%t45 = icmp ne i32 %t44, 0
|
|
%t46 = zext i1 %t45 to i32
|
|
store i32 %t46, ptr %t38
|
|
br label %scend19
|
|
scend19:
|
|
%t47 = load i32, ptr %t38
|
|
%t48 = icmp ne i32 %t47, 0
|
|
%t49 = zext i1 %t48 to i32
|
|
store i32 %t49, ptr %t37
|
|
br i1 %t48, label %scend21, label %sc20
|
|
sc20:
|
|
%t50 = load ptr, ptr %t0
|
|
%t51 = call i32 @fn_str_eq(ptr %t50, ptr @.str342)
|
|
%t52 = icmp ne i32 %t51, 0
|
|
%t53 = zext i1 %t52 to i32
|
|
store i32 %t53, ptr %t37
|
|
br label %scend21
|
|
scend21:
|
|
%t54 = load i32, ptr %t37
|
|
%t55 = icmp ne i32 %t54, 0
|
|
br i1 %t55, label %then22, label %ifend24
|
|
then22:
|
|
store ptr @.str343, ptr %retval
|
|
br label %ret
|
|
ifend24:
|
|
%t56 = load ptr, ptr %t0
|
|
%t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str344)
|
|
%t58 = icmp ne i32 %t57, 0
|
|
br i1 %t58, label %then25, label %ifend27
|
|
then25:
|
|
store ptr @.str345, ptr %retval
|
|
br label %ret
|
|
ifend27:
|
|
store ptr @.str346, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t59 = load ptr, ptr %retval
|
|
ret ptr %t59
|
|
}
|
|
|
|
define i32 @fn_is_slice_ty(ptr %arg_t) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_t, ptr %t0
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = getelementptr inbounds i8, ptr %t2, i32 0
|
|
%t4 = load i8, ptr %t3
|
|
%t5 = zext i8 %t4 to i32
|
|
%t6 = icmp eq i32 %t5, 91
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
%t9 = zext i1 %t8 to i32
|
|
store i32 %t9, ptr %t1
|
|
br i1 %t8, label %sc0, label %scend1
|
|
sc0:
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = getelementptr inbounds i8, ptr %t10, i32 1
|
|
%t12 = load i8, ptr %t11
|
|
%t13 = zext i8 %t12 to i32
|
|
%t14 = icmp eq i32 %t13, 93
|
|
%t15 = zext i1 %t14 to i32
|
|
%t16 = icmp ne i32 %t15, 0
|
|
%t17 = zext i1 %t16 to i32
|
|
store i32 %t17, ptr %t1
|
|
br label %scend1
|
|
scend1:
|
|
%t18 = load i32, ptr %t1
|
|
store i32 %t18, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t19 = load i32, ptr %retval
|
|
ret i32 %t19
|
|
}
|
|
|
|
define ptr @fn_slice_elem(ptr %arg_t) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
store ptr %arg_t, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i64 @strlen(ptr %t2)
|
|
%t4 = trunc i64 %t3 to i32
|
|
%t5 = call ptr @fn_str_slice(ptr %t1, i32 2, i32 %t4)
|
|
store ptr %t5, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t6 = load ptr, ptr %retval
|
|
ret ptr %t6
|
|
}
|
|
|
|
define ptr @fn_find_arch(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t15 = alloca ptr
|
|
%t16 = alloca i32
|
|
store ptr %arg_name, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_prog
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_prog
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
store ptr %t14, ptr %t15
|
|
%t17 = load ptr, ptr %t15
|
|
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0
|
|
%t19 = load i32, ptr %t18
|
|
%t20 = icmp eq i32 %t19, 10
|
|
%t21 = zext i1 %t20 to i32
|
|
%t22 = icmp ne i32 %t21, 0
|
|
%t23 = zext i1 %t22 to i32
|
|
store i32 %t23, ptr %t16
|
|
br i1 %t22, label %sc3, label %scend4
|
|
sc3:
|
|
%t24 = load ptr, ptr %t15
|
|
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = load ptr, ptr %t0
|
|
%t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
|
|
%t29 = icmp ne i32 %t28, 0
|
|
%t30 = zext i1 %t29 to i32
|
|
store i32 %t30, ptr %t16
|
|
br label %scend4
|
|
scend4:
|
|
%t31 = load i32, ptr %t16
|
|
%t32 = icmp ne i32 %t31, 0
|
|
br i1 %t32, label %then5, label %ifend7
|
|
then5:
|
|
%t33 = load ptr, ptr %t15
|
|
store ptr %t33, ptr %retval
|
|
br label %ret
|
|
ifend7:
|
|
%t34 = load i32, ptr %t1
|
|
%t35 = add i32 %t34, 1
|
|
store i32 %t35, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t36 = load ptr, ptr %retval
|
|
ret ptr %t36
|
|
}
|
|
|
|
define ptr @fn_find_comp(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t15 = alloca ptr
|
|
%t16 = alloca i32
|
|
store ptr %arg_name, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_prog
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_prog
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
store ptr %t14, ptr %t15
|
|
%t17 = load ptr, ptr %t15
|
|
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0
|
|
%t19 = load i32, ptr %t18
|
|
%t20 = icmp eq i32 %t19, 8
|
|
%t21 = zext i1 %t20 to i32
|
|
%t22 = icmp ne i32 %t21, 0
|
|
%t23 = zext i1 %t22 to i32
|
|
store i32 %t23, ptr %t16
|
|
br i1 %t22, label %sc3, label %scend4
|
|
sc3:
|
|
%t24 = load ptr, ptr %t15
|
|
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = load ptr, ptr %t0
|
|
%t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
|
|
%t29 = icmp ne i32 %t28, 0
|
|
%t30 = zext i1 %t29 to i32
|
|
store i32 %t30, ptr %t16
|
|
br label %scend4
|
|
scend4:
|
|
%t31 = load i32, ptr %t16
|
|
%t32 = icmp ne i32 %t31, 0
|
|
br i1 %t32, label %then5, label %ifend7
|
|
then5:
|
|
%t33 = load ptr, ptr %t15
|
|
store ptr %t33, ptr %retval
|
|
br label %ret
|
|
ifend7:
|
|
%t34 = load i32, ptr %t1
|
|
%t35 = add i32 %t34, 1
|
|
store i32 %t35, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t36 = load ptr, ptr %retval
|
|
ret ptr %t36
|
|
}
|
|
|
|
define ptr @fn_layout_node(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
store ptr %arg_name, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call ptr @fn_find_comp(ptr %t1)
|
|
store ptr %t2, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t3 = load ptr, ptr %retval
|
|
ret ptr %t3
|
|
}
|
|
|
|
define ptr @fn_layout_ty(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
store ptr %arg_name, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call ptr @fn_str_concat(ptr @.str347, ptr %t1)
|
|
store ptr %t2, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t3 = load ptr, ptr %retval
|
|
ret ptr %t3
|
|
}
|
|
|
|
define i32 @fn_field_index(ptr %arg_s, ptr %arg_fname) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca i32
|
|
store ptr %arg_s, ptr %t0
|
|
store ptr %arg_fname, ptr %t1
|
|
store i32 0, ptr %t2
|
|
br label %wcond0
|
|
wcond0:
|
|
%t3 = load i32, ptr %t2
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1
|
|
%t8 = load i32, ptr %t7
|
|
%t9 = icmp slt i32 %t3, %t8
|
|
%t10 = zext i1 %t9 to i32
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t12 = load ptr, ptr %t0
|
|
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = load i32, ptr %t2
|
|
%t18 = getelementptr inbounds ptr, ptr %t16, i32 %t17
|
|
%t19 = load ptr, ptr %t18
|
|
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1
|
|
%t21 = load ptr, ptr %t20
|
|
%t22 = load ptr, ptr %t1
|
|
%t23 = call i32 @fn_str_eq(ptr %t21, ptr %t22)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
br i1 %t24, label %then3, label %ifend5
|
|
then3:
|
|
%t25 = load i32, ptr %t2
|
|
store i32 %t25, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t26 = load i32, ptr %t2
|
|
%t27 = add i32 %t26, 1
|
|
store i32 %t27, ptr %t2
|
|
br label %wcond0
|
|
wend2:
|
|
%t28 = sub i32 0, 1
|
|
store i32 %t28, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t29 = load i32, ptr %retval
|
|
ret i32 %t29
|
|
}
|
|
|
|
define ptr @fn_field_type(ptr %arg_s, ptr %arg_fname) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca i32
|
|
store ptr %arg_s, ptr %t0
|
|
store ptr %arg_fname, ptr %t1
|
|
store i32 0, ptr %t2
|
|
br label %wcond0
|
|
wcond0:
|
|
%t3 = load i32, ptr %t2
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1
|
|
%t8 = load i32, ptr %t7
|
|
%t9 = icmp slt i32 %t3, %t8
|
|
%t10 = zext i1 %t9 to i32
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t12 = load ptr, ptr %t0
|
|
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = load i32, ptr %t2
|
|
%t18 = getelementptr inbounds ptr, ptr %t16, i32 %t17
|
|
%t19 = load ptr, ptr %t18
|
|
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 1
|
|
%t21 = load ptr, ptr %t20
|
|
%t22 = load ptr, ptr %t1
|
|
%t23 = call i32 @fn_str_eq(ptr %t21, ptr %t22)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
br i1 %t24, label %then3, label %ifend5
|
|
then3:
|
|
%t25 = load ptr, ptr %t0
|
|
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 7
|
|
%t27 = load ptr, ptr %t26
|
|
%t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0
|
|
%t29 = load ptr, ptr %t28
|
|
%t30 = load i32, ptr %t2
|
|
%t31 = getelementptr inbounds ptr, ptr %t29, i32 %t30
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 3
|
|
%t34 = load ptr, ptr %t33
|
|
store ptr %t34, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t35 = load i32, ptr %t2
|
|
%t36 = add i32 %t35, 1
|
|
store i32 %t36, ptr %t2
|
|
br label %wcond0
|
|
wend2:
|
|
store ptr @.str348, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t37 = load ptr, ptr %retval
|
|
ret ptr %t37
|
|
}
|
|
|
|
define ptr @fn_find_global(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t15 = alloca ptr
|
|
%t16 = alloca i32
|
|
%t34 = alloca i32
|
|
store ptr %arg_name, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_prog
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_prog
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
store ptr %t14, ptr %t15
|
|
%t17 = load ptr, ptr %t15
|
|
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0
|
|
%t19 = load i32, ptr %t18
|
|
%t20 = icmp eq i32 %t19, 2
|
|
%t21 = zext i1 %t20 to i32
|
|
%t22 = icmp ne i32 %t21, 0
|
|
%t23 = zext i1 %t22 to i32
|
|
store i32 %t23, ptr %t16
|
|
br i1 %t22, label %sc3, label %scend4
|
|
sc3:
|
|
%t24 = load ptr, ptr %t15
|
|
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = load ptr, ptr %t0
|
|
%t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
|
|
%t29 = icmp ne i32 %t28, 0
|
|
%t30 = zext i1 %t29 to i32
|
|
store i32 %t30, ptr %t16
|
|
br label %scend4
|
|
scend4:
|
|
%t31 = load i32, ptr %t16
|
|
%t32 = icmp ne i32 %t31, 0
|
|
br i1 %t32, label %then5, label %ifend7
|
|
then5:
|
|
%t33 = load ptr, ptr %t15
|
|
store ptr %t33, ptr %retval
|
|
br label %ret
|
|
ifend7:
|
|
%t35 = load ptr, ptr %t15
|
|
%t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 0
|
|
%t37 = load i32, ptr %t36
|
|
%t38 = icmp eq i32 %t37, 3
|
|
%t39 = zext i1 %t38 to i32
|
|
%t40 = icmp ne i32 %t39, 0
|
|
%t41 = zext i1 %t40 to i32
|
|
store i32 %t41, ptr %t34
|
|
br i1 %t40, label %sc8, label %scend9
|
|
sc8:
|
|
%t42 = load ptr, ptr %t15
|
|
%t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 1
|
|
%t44 = load ptr, ptr %t43
|
|
%t45 = load ptr, ptr %t0
|
|
%t46 = call i32 @fn_str_eq(ptr %t44, ptr %t45)
|
|
%t47 = icmp ne i32 %t46, 0
|
|
%t48 = zext i1 %t47 to i32
|
|
store i32 %t48, ptr %t34
|
|
br label %scend9
|
|
scend9:
|
|
%t49 = load i32, ptr %t34
|
|
%t50 = icmp ne i32 %t49, 0
|
|
br i1 %t50, label %then10, label %ifend12
|
|
then10:
|
|
%t51 = load ptr, ptr %t15
|
|
store ptr %t51, ptr %retval
|
|
br label %ret
|
|
ifend12:
|
|
%t52 = load i32, ptr %t1
|
|
%t53 = add i32 %t52, 1
|
|
store i32 %t53, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t54 = load ptr, ptr %retval
|
|
ret ptr %t54
|
|
}
|
|
|
|
define i32 @fn_enum_ordinal(ptr %arg_ename, ptr %arg_vname) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca i32
|
|
%t16 = alloca ptr
|
|
%t17 = alloca i32
|
|
%t34 = alloca i32
|
|
store ptr %arg_ename, ptr %t0
|
|
store ptr %arg_vname, ptr %t1
|
|
store i32 0, ptr %t2
|
|
br label %wcond0
|
|
wcond0:
|
|
%t3 = load i32, ptr %t2
|
|
%t4 = load ptr, ptr @g_prog
|
|
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
|
|
%t6 = load i32, ptr %t5
|
|
%t7 = icmp slt i32 %t3, %t6
|
|
%t8 = zext i1 %t7 to i32
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t10 = load ptr, ptr @g_prog
|
|
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = load i32, ptr %t2
|
|
%t14 = getelementptr inbounds ptr, ptr %t12, i32 %t13
|
|
%t15 = load ptr, ptr %t14
|
|
store ptr %t15, ptr %t16
|
|
%t18 = load ptr, ptr %t16
|
|
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0
|
|
%t20 = load i32, ptr %t19
|
|
%t21 = icmp eq i32 %t20, 27
|
|
%t22 = zext i1 %t21 to i32
|
|
%t23 = icmp ne i32 %t22, 0
|
|
%t24 = zext i1 %t23 to i32
|
|
store i32 %t24, ptr %t17
|
|
br i1 %t23, label %sc3, label %scend4
|
|
sc3:
|
|
%t25 = load ptr, ptr %t16
|
|
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1
|
|
%t27 = load ptr, ptr %t26
|
|
%t28 = load ptr, ptr %t0
|
|
%t29 = call i32 @fn_str_eq(ptr %t27, ptr %t28)
|
|
%t30 = icmp ne i32 %t29, 0
|
|
%t31 = zext i1 %t30 to i32
|
|
store i32 %t31, ptr %t17
|
|
br label %scend4
|
|
scend4:
|
|
%t32 = load i32, ptr %t17
|
|
%t33 = icmp ne i32 %t32, 0
|
|
br i1 %t33, label %then5, label %ifend7
|
|
then5:
|
|
store i32 0, ptr %t34
|
|
br label %wcond8
|
|
wcond8:
|
|
%t35 = load i32, ptr %t34
|
|
%t36 = load ptr, ptr %t16
|
|
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1
|
|
%t40 = load i32, ptr %t39
|
|
%t41 = icmp slt i32 %t35, %t40
|
|
%t42 = zext i1 %t41 to i32
|
|
%t43 = icmp ne i32 %t42, 0
|
|
br i1 %t43, label %wbody9, label %wend10
|
|
wbody9:
|
|
%t44 = load ptr, ptr %t16
|
|
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7
|
|
%t46 = load ptr, ptr %t45
|
|
%t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = load i32, ptr %t34
|
|
%t50 = getelementptr inbounds ptr, ptr %t48, i32 %t49
|
|
%t51 = load ptr, ptr %t50
|
|
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1
|
|
%t53 = load ptr, ptr %t52
|
|
%t54 = load ptr, ptr %t1
|
|
%t55 = call i32 @fn_str_eq(ptr %t53, ptr %t54)
|
|
%t56 = icmp ne i32 %t55, 0
|
|
br i1 %t56, label %then11, label %ifend13
|
|
then11:
|
|
%t57 = load i32, ptr %t34
|
|
store i32 %t57, ptr %retval
|
|
br label %ret
|
|
ifend13:
|
|
%t58 = load i32, ptr %t34
|
|
%t59 = add i32 %t58, 1
|
|
store i32 %t59, ptr %t34
|
|
br label %wcond8
|
|
wend10:
|
|
br label %ifend7
|
|
ifend7:
|
|
%t60 = load i32, ptr %t2
|
|
%t61 = add i32 %t60, 1
|
|
store i32 %t61, ptr %t2
|
|
br label %wcond0
|
|
wend2:
|
|
%t62 = load ptr, ptr %t0
|
|
%t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str349)
|
|
%t64 = icmp ne i32 %t63, 0
|
|
br i1 %t64, label %then14, label %ifend16
|
|
then14:
|
|
%t65 = load ptr, ptr %t1
|
|
%t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str350)
|
|
%t67 = icmp ne i32 %t66, 0
|
|
br i1 %t67, label %then17, label %ifend19
|
|
then17:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ifend19:
|
|
%t68 = load ptr, ptr %t1
|
|
%t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str351)
|
|
%t70 = icmp ne i32 %t69, 0
|
|
br i1 %t70, label %then20, label %ifend22
|
|
then20:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend22:
|
|
%t71 = load ptr, ptr %t1
|
|
%t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str352)
|
|
%t73 = icmp ne i32 %t72, 0
|
|
br i1 %t73, label %then23, label %ifend25
|
|
then23:
|
|
store i32 2, ptr %retval
|
|
br label %ret
|
|
ifend25:
|
|
br label %ifend16
|
|
ifend16:
|
|
%t74 = sub i32 0, 1
|
|
store i32 %t74, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t75 = load i32, ptr %retval
|
|
ret i32 %t75
|
|
}
|
|
|
|
define ptr @fn_find_fn(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t15 = alloca ptr
|
|
%t16 = alloca i32
|
|
store ptr %arg_name, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_prog
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_prog
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
store ptr %t14, ptr %t15
|
|
%t17 = load ptr, ptr %t15
|
|
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0
|
|
%t19 = load i32, ptr %t18
|
|
%t20 = icmp eq i32 %t19, 4
|
|
%t21 = zext i1 %t20 to i32
|
|
%t22 = icmp ne i32 %t21, 0
|
|
%t23 = zext i1 %t22 to i32
|
|
store i32 %t23, ptr %t16
|
|
br i1 %t22, label %sc3, label %scend4
|
|
sc3:
|
|
%t24 = load ptr, ptr %t15
|
|
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = load ptr, ptr %t0
|
|
%t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
|
|
%t29 = icmp ne i32 %t28, 0
|
|
%t30 = zext i1 %t29 to i32
|
|
store i32 %t30, ptr %t16
|
|
br label %scend4
|
|
scend4:
|
|
%t31 = load i32, ptr %t16
|
|
%t32 = icmp ne i32 %t31, 0
|
|
br i1 %t32, label %then5, label %ifend7
|
|
then5:
|
|
%t33 = load ptr, ptr %t15
|
|
store ptr %t33, ptr %retval
|
|
br label %ret
|
|
ifend7:
|
|
%t34 = load i32, ptr %t1
|
|
%t35 = add i32 %t34, 1
|
|
store i32 %t35, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t36 = load ptr, ptr %retval
|
|
ret ptr %t36
|
|
}
|
|
|
|
define ptr @fn_find_extern(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t15 = alloca ptr
|
|
%t16 = alloca i32
|
|
store ptr %arg_name, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_prog
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_prog
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
store ptr %t14, ptr %t15
|
|
%t17 = load ptr, ptr %t15
|
|
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0
|
|
%t19 = load i32, ptr %t18
|
|
%t20 = icmp eq i32 %t19, 11
|
|
%t21 = zext i1 %t20 to i32
|
|
%t22 = icmp ne i32 %t21, 0
|
|
%t23 = zext i1 %t22 to i32
|
|
store i32 %t23, ptr %t16
|
|
br i1 %t22, label %sc3, label %scend4
|
|
sc3:
|
|
%t24 = load ptr, ptr %t15
|
|
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = load ptr, ptr %t0
|
|
%t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
|
|
%t29 = icmp ne i32 %t28, 0
|
|
%t30 = zext i1 %t29 to i32
|
|
store i32 %t30, ptr %t16
|
|
br label %scend4
|
|
scend4:
|
|
%t31 = load i32, ptr %t16
|
|
%t32 = icmp ne i32 %t31, 0
|
|
br i1 %t32, label %then5, label %ifend7
|
|
then5:
|
|
%t33 = load ptr, ptr %t15
|
|
store ptr %t33, ptr %retval
|
|
br label %ret
|
|
ifend7:
|
|
%t34 = load i32, ptr %t1
|
|
%t35 = add i32 %t34, 1
|
|
store i32 %t35, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t36 = load ptr, ptr %retval
|
|
ret ptr %t36
|
|
}
|
|
|
|
define void @fn_register_computed(ptr %arg_prop, ptr %arg_field, ptr %arg_ty, ptr %arg_e) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t5 = alloca ptr
|
|
store ptr %arg_prop, ptr %t0
|
|
store ptr %arg_field, ptr %t1
|
|
store ptr %arg_ty, ptr %t2
|
|
store ptr %arg_e, ptr %t3
|
|
%t4 = call ptr @fn_node(i32 1)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 1
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str353)
|
|
%t10 = load ptr, ptr %t1
|
|
%t11 = call ptr @fn_str_concat(ptr %t9, ptr %t10)
|
|
store ptr %t11, ptr %t7
|
|
%t12 = load ptr, ptr %t5
|
|
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 3
|
|
%t14 = load ptr, ptr %t2
|
|
store ptr %t14, ptr %t13
|
|
%t15 = load ptr, ptr %t5
|
|
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 4
|
|
%t17 = load ptr, ptr %t3
|
|
store ptr %t17, ptr %t16
|
|
%t18 = load ptr, ptr @g_g_computed
|
|
%t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1
|
|
%t20 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 2
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0
|
|
%t22 = load i32, ptr %t19
|
|
%t23 = load i32, ptr %t20
|
|
%t24 = icmp sge i32 %t22, %t23
|
|
br i1 %t24, label %grow0, label %put1
|
|
grow0:
|
|
%t25 = mul i32 %t23, 2
|
|
%t26 = icmp eq i32 %t23, 0
|
|
%t27 = select i1 %t26, i32 8, i32 %t25
|
|
%t28 = getelementptr ptr, ptr null, i32 1
|
|
%t29 = ptrtoint ptr %t28 to i64
|
|
%t30 = zext i32 %t27 to i64
|
|
%t31 = mul i64 %t30, %t29
|
|
%t32 = load ptr, ptr %t21
|
|
%t33 = call ptr @realloc(ptr %t32, i64 %t31)
|
|
store ptr %t33, ptr %t21
|
|
store i32 %t27, ptr %t20
|
|
br label %put1
|
|
put1:
|
|
%t34 = load ptr, ptr %t5
|
|
%t35 = load ptr, ptr %t21
|
|
%t36 = getelementptr inbounds ptr, ptr %t35, i32 %t22
|
|
store ptr %t34, ptr %t36
|
|
%t37 = add i32 %t22, 1
|
|
store i32 %t37, ptr %t19
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_computed_expr(ptr %arg_prop, ptr %arg_field) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t10 = alloca ptr
|
|
%t11 = alloca i32
|
|
store ptr %arg_prop, ptr %t0
|
|
store ptr %arg_field, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = icmp eq ptr %t2, null
|
|
%t4 = zext i1 %t3 to i32
|
|
%t5 = icmp ne i32 %t4, 0
|
|
br i1 %t5, label %then0, label %ifend2
|
|
then0:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = call ptr @fn_str_concat(ptr %t6, ptr @.str354)
|
|
%t8 = load ptr, ptr %t1
|
|
%t9 = call ptr @fn_str_concat(ptr %t7, ptr %t8)
|
|
store ptr %t9, ptr %t10
|
|
store i32 0, ptr %t11
|
|
br label %wcond3
|
|
wcond3:
|
|
%t12 = load i32, ptr %t11
|
|
%t13 = load ptr, ptr @g_g_computed
|
|
%t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1
|
|
%t15 = load i32, ptr %t14
|
|
%t16 = icmp slt i32 %t12, %t15
|
|
%t17 = zext i1 %t16 to i32
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t19 = load ptr, ptr @g_g_computed
|
|
%t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
|
|
%t21 = load ptr, ptr %t20
|
|
%t22 = load i32, ptr %t11
|
|
%t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 1
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = load ptr, ptr %t10
|
|
%t28 = call i32 @fn_str_eq(ptr %t26, ptr %t27)
|
|
%t29 = icmp ne i32 %t28, 0
|
|
br i1 %t29, label %then6, label %ifend8
|
|
then6:
|
|
%t30 = load ptr, ptr @g_g_computed
|
|
%t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = load i32, ptr %t11
|
|
%t34 = getelementptr inbounds ptr, ptr %t32, i32 %t33
|
|
%t35 = load ptr, ptr %t34
|
|
%t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 4
|
|
%t37 = load ptr, ptr %t36
|
|
store ptr %t37, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t38 = load i32, ptr %t11
|
|
%t39 = add i32 %t38, 1
|
|
store i32 %t39, ptr %t11
|
|
br label %wcond3
|
|
wend5:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t40 = load ptr, ptr %retval
|
|
ret ptr %t40
|
|
}
|
|
|
|
define ptr @fn_static_type(ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t11 = alloca i32
|
|
store ptr %arg_e, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 0
|
|
%t3 = load i32, ptr %t2
|
|
%t4 = icmp eq i32 %t3, 33
|
|
%t5 = zext i1 %t4 to i32
|
|
%t6 = icmp ne i32 %t5, 0
|
|
br i1 %t6, label %then0, label %ifend2
|
|
then0:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1
|
|
%t9 = load ptr, ptr %t8
|
|
%t10 = call i32 @fn_loc_find(ptr %t9)
|
|
store i32 %t10, ptr %t11
|
|
%t12 = load i32, ptr %t11
|
|
%t13 = icmp sge i32 %t12, 0
|
|
%t14 = zext i1 %t13 to i32
|
|
%t15 = icmp ne i32 %t14, 0
|
|
br i1 %t15, label %then3, label %ifend5
|
|
then3:
|
|
%t16 = load ptr, ptr @g_loc_ty
|
|
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = load i32, ptr %t11
|
|
%t20 = getelementptr inbounds ptr, ptr %t18, i32 %t19
|
|
%t21 = load ptr, ptr %t20
|
|
store ptr %t21, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
br label %ifend2
|
|
ifend2:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t22 = load ptr, ptr %retval
|
|
ret ptr %t22
|
|
}
|
|
|
|
define void @fn_register_onspawn(ptr %arg_model, ptr %arg_body) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t3 = alloca ptr
|
|
store ptr %arg_model, ptr %t0
|
|
store ptr %arg_body, ptr %t1
|
|
%t2 = call ptr @fn_node(i32 7)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
|
|
%t6 = load ptr, ptr %t0
|
|
store ptr %t6, ptr %t5
|
|
%t7 = load ptr, ptr %t3
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4
|
|
%t9 = load ptr, ptr %t1
|
|
store ptr %t9, ptr %t8
|
|
%t10 = load ptr, ptr @g_g_onspawn
|
|
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
|
|
%t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
|
|
%t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
|
|
%t14 = load i32, ptr %t11
|
|
%t15 = load i32, ptr %t12
|
|
%t16 = icmp sge i32 %t14, %t15
|
|
br i1 %t16, label %grow0, label %put1
|
|
grow0:
|
|
%t17 = mul i32 %t15, 2
|
|
%t18 = icmp eq i32 %t15, 0
|
|
%t19 = select i1 %t18, i32 8, i32 %t17
|
|
%t20 = getelementptr ptr, ptr null, i32 1
|
|
%t21 = ptrtoint ptr %t20 to i64
|
|
%t22 = zext i32 %t19 to i64
|
|
%t23 = mul i64 %t22, %t21
|
|
%t24 = load ptr, ptr %t13
|
|
%t25 = call ptr @realloc(ptr %t24, i64 %t23)
|
|
store ptr %t25, ptr %t13
|
|
store i32 %t19, ptr %t12
|
|
br label %put1
|
|
put1:
|
|
%t26 = load ptr, ptr %t3
|
|
%t27 = load ptr, ptr %t13
|
|
%t28 = getelementptr inbounds ptr, ptr %t27, i32 %t14
|
|
store ptr %t26, ptr %t28
|
|
%t29 = add i32 %t14, 1
|
|
store i32 %t29, ptr %t11
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_onspawn_body(ptr %arg_model) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_model, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_g_onspawn
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_g_onspawn
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then3, label %ifend5
|
|
then3:
|
|
%t20 = load ptr, ptr @g_g_onspawn
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = load i32, ptr %t1
|
|
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4
|
|
%t27 = load ptr, ptr %t26
|
|
store ptr %t27, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t28 = load i32, ptr %t1
|
|
%t29 = add i32 %t28, 1
|
|
store i32 %t29, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t30 = load ptr, ptr %retval
|
|
ret ptr %t30
|
|
}
|
|
|
|
define void @fn_register_ondespawn(ptr %arg_model, ptr %arg_body, ptr %arg_reason) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t4 = alloca ptr
|
|
store ptr %arg_model, ptr %t0
|
|
store ptr %arg_body, ptr %t1
|
|
store ptr %arg_reason, ptr %t2
|
|
%t3 = call ptr @fn_node(i32 7)
|
|
store ptr %t3, ptr %t4
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 1
|
|
%t7 = load ptr, ptr %t0
|
|
store ptr %t7, ptr %t6
|
|
%t8 = load ptr, ptr %t4
|
|
%t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4
|
|
%t10 = load ptr, ptr %t1
|
|
store ptr %t10, ptr %t9
|
|
%t11 = load ptr, ptr %t4
|
|
%t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 3
|
|
%t13 = load ptr, ptr %t2
|
|
store ptr %t13, ptr %t12
|
|
%t14 = load ptr, ptr @g_g_ondespawn
|
|
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1
|
|
%t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2
|
|
%t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
|
|
%t18 = load i32, ptr %t15
|
|
%t19 = load i32, ptr %t16
|
|
%t20 = icmp sge i32 %t18, %t19
|
|
br i1 %t20, label %grow0, label %put1
|
|
grow0:
|
|
%t21 = mul i32 %t19, 2
|
|
%t22 = icmp eq i32 %t19, 0
|
|
%t23 = select i1 %t22, i32 8, i32 %t21
|
|
%t24 = getelementptr ptr, ptr null, i32 1
|
|
%t25 = ptrtoint ptr %t24 to i64
|
|
%t26 = zext i32 %t23 to i64
|
|
%t27 = mul i64 %t26, %t25
|
|
%t28 = load ptr, ptr %t17
|
|
%t29 = call ptr @realloc(ptr %t28, i64 %t27)
|
|
store ptr %t29, ptr %t17
|
|
store i32 %t23, ptr %t16
|
|
br label %put1
|
|
put1:
|
|
%t30 = load ptr, ptr %t4
|
|
%t31 = load ptr, ptr %t17
|
|
%t32 = getelementptr inbounds ptr, ptr %t31, i32 %t18
|
|
store ptr %t30, ptr %t32
|
|
%t33 = add i32 %t18, 1
|
|
store i32 %t33, ptr %t15
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_ondespawn_body(ptr %arg_model) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_model, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_g_ondespawn
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_g_ondespawn
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then3, label %ifend5
|
|
then3:
|
|
%t20 = load ptr, ptr @g_g_ondespawn
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = load i32, ptr %t1
|
|
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4
|
|
%t27 = load ptr, ptr %t26
|
|
store ptr %t27, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t28 = load i32, ptr %t1
|
|
%t29 = add i32 %t28, 1
|
|
store i32 %t29, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t30 = load ptr, ptr %retval
|
|
ret ptr %t30
|
|
}
|
|
|
|
define void @fn_register_onattach(ptr %arg_prop, ptr %arg_body) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t3 = alloca ptr
|
|
store ptr %arg_prop, ptr %t0
|
|
store ptr %arg_body, ptr %t1
|
|
%t2 = call ptr @fn_node(i32 7)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
|
|
%t6 = load ptr, ptr %t0
|
|
store ptr %t6, ptr %t5
|
|
%t7 = load ptr, ptr %t3
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4
|
|
%t9 = load ptr, ptr %t1
|
|
store ptr %t9, ptr %t8
|
|
%t10 = load ptr, ptr @g_g_onattach
|
|
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
|
|
%t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
|
|
%t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
|
|
%t14 = load i32, ptr %t11
|
|
%t15 = load i32, ptr %t12
|
|
%t16 = icmp sge i32 %t14, %t15
|
|
br i1 %t16, label %grow0, label %put1
|
|
grow0:
|
|
%t17 = mul i32 %t15, 2
|
|
%t18 = icmp eq i32 %t15, 0
|
|
%t19 = select i1 %t18, i32 8, i32 %t17
|
|
%t20 = getelementptr ptr, ptr null, i32 1
|
|
%t21 = ptrtoint ptr %t20 to i64
|
|
%t22 = zext i32 %t19 to i64
|
|
%t23 = mul i64 %t22, %t21
|
|
%t24 = load ptr, ptr %t13
|
|
%t25 = call ptr @realloc(ptr %t24, i64 %t23)
|
|
store ptr %t25, ptr %t13
|
|
store i32 %t19, ptr %t12
|
|
br label %put1
|
|
put1:
|
|
%t26 = load ptr, ptr %t3
|
|
%t27 = load ptr, ptr %t13
|
|
%t28 = getelementptr inbounds ptr, ptr %t27, i32 %t14
|
|
store ptr %t26, ptr %t28
|
|
%t29 = add i32 %t14, 1
|
|
store i32 %t29, ptr %t11
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_onattach_body(ptr %arg_prop) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_prop, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_g_onattach
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_g_onattach
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then3, label %ifend5
|
|
then3:
|
|
%t20 = load ptr, ptr @g_g_onattach
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = load i32, ptr %t1
|
|
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4
|
|
%t27 = load ptr, ptr %t26
|
|
store ptr %t27, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t28 = load i32, ptr %t1
|
|
%t29 = add i32 %t28, 1
|
|
store i32 %t29, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t30 = load ptr, ptr %retval
|
|
ret ptr %t30
|
|
}
|
|
|
|
define void @fn_register_ondetach(ptr %arg_prop, ptr %arg_body) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t3 = alloca ptr
|
|
store ptr %arg_prop, ptr %t0
|
|
store ptr %arg_body, ptr %t1
|
|
%t2 = call ptr @fn_node(i32 7)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
|
|
%t6 = load ptr, ptr %t0
|
|
store ptr %t6, ptr %t5
|
|
%t7 = load ptr, ptr %t3
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4
|
|
%t9 = load ptr, ptr %t1
|
|
store ptr %t9, ptr %t8
|
|
%t10 = load ptr, ptr @g_g_ondetach
|
|
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
|
|
%t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
|
|
%t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
|
|
%t14 = load i32, ptr %t11
|
|
%t15 = load i32, ptr %t12
|
|
%t16 = icmp sge i32 %t14, %t15
|
|
br i1 %t16, label %grow0, label %put1
|
|
grow0:
|
|
%t17 = mul i32 %t15, 2
|
|
%t18 = icmp eq i32 %t15, 0
|
|
%t19 = select i1 %t18, i32 8, i32 %t17
|
|
%t20 = getelementptr ptr, ptr null, i32 1
|
|
%t21 = ptrtoint ptr %t20 to i64
|
|
%t22 = zext i32 %t19 to i64
|
|
%t23 = mul i64 %t22, %t21
|
|
%t24 = load ptr, ptr %t13
|
|
%t25 = call ptr @realloc(ptr %t24, i64 %t23)
|
|
store ptr %t25, ptr %t13
|
|
store i32 %t19, ptr %t12
|
|
br label %put1
|
|
put1:
|
|
%t26 = load ptr, ptr %t3
|
|
%t27 = load ptr, ptr %t13
|
|
%t28 = getelementptr inbounds ptr, ptr %t27, i32 %t14
|
|
store ptr %t26, ptr %t28
|
|
%t29 = add i32 %t14, 1
|
|
store i32 %t29, ptr %t11
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_ondetach_body(ptr %arg_prop) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_prop, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_g_ondetach
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_g_ondetach
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then3, label %ifend5
|
|
then3:
|
|
%t20 = load ptr, ptr @g_g_ondetach
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = load i32, ptr %t1
|
|
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4
|
|
%t27 = load ptr, ptr %t26
|
|
store ptr %t27, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t28 = load i32, ptr %t1
|
|
%t29 = add i32 %t28, 1
|
|
store i32 %t29, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t30 = load ptr, ptr %retval
|
|
ret ptr %t30
|
|
}
|
|
|
|
define void @fn_register_onenable(ptr %arg_prop, ptr %arg_body) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t3 = alloca ptr
|
|
store ptr %arg_prop, ptr %t0
|
|
store ptr %arg_body, ptr %t1
|
|
%t2 = call ptr @fn_node(i32 7)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
|
|
%t6 = load ptr, ptr %t0
|
|
store ptr %t6, ptr %t5
|
|
%t7 = load ptr, ptr %t3
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4
|
|
%t9 = load ptr, ptr %t1
|
|
store ptr %t9, ptr %t8
|
|
%t10 = load ptr, ptr @g_g_onenable
|
|
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
|
|
%t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
|
|
%t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
|
|
%t14 = load i32, ptr %t11
|
|
%t15 = load i32, ptr %t12
|
|
%t16 = icmp sge i32 %t14, %t15
|
|
br i1 %t16, label %grow0, label %put1
|
|
grow0:
|
|
%t17 = mul i32 %t15, 2
|
|
%t18 = icmp eq i32 %t15, 0
|
|
%t19 = select i1 %t18, i32 8, i32 %t17
|
|
%t20 = getelementptr ptr, ptr null, i32 1
|
|
%t21 = ptrtoint ptr %t20 to i64
|
|
%t22 = zext i32 %t19 to i64
|
|
%t23 = mul i64 %t22, %t21
|
|
%t24 = load ptr, ptr %t13
|
|
%t25 = call ptr @realloc(ptr %t24, i64 %t23)
|
|
store ptr %t25, ptr %t13
|
|
store i32 %t19, ptr %t12
|
|
br label %put1
|
|
put1:
|
|
%t26 = load ptr, ptr %t3
|
|
%t27 = load ptr, ptr %t13
|
|
%t28 = getelementptr inbounds ptr, ptr %t27, i32 %t14
|
|
store ptr %t26, ptr %t28
|
|
%t29 = add i32 %t14, 1
|
|
store i32 %t29, ptr %t11
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_register_ondisable(ptr %arg_prop, ptr %arg_body) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t3 = alloca ptr
|
|
store ptr %arg_prop, ptr %t0
|
|
store ptr %arg_body, ptr %t1
|
|
%t2 = call ptr @fn_node(i32 7)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
|
|
%t6 = load ptr, ptr %t0
|
|
store ptr %t6, ptr %t5
|
|
%t7 = load ptr, ptr %t3
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4
|
|
%t9 = load ptr, ptr %t1
|
|
store ptr %t9, ptr %t8
|
|
%t10 = load ptr, ptr @g_g_ondisable
|
|
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
|
|
%t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
|
|
%t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
|
|
%t14 = load i32, ptr %t11
|
|
%t15 = load i32, ptr %t12
|
|
%t16 = icmp sge i32 %t14, %t15
|
|
br i1 %t16, label %grow0, label %put1
|
|
grow0:
|
|
%t17 = mul i32 %t15, 2
|
|
%t18 = icmp eq i32 %t15, 0
|
|
%t19 = select i1 %t18, i32 8, i32 %t17
|
|
%t20 = getelementptr ptr, ptr null, i32 1
|
|
%t21 = ptrtoint ptr %t20 to i64
|
|
%t22 = zext i32 %t19 to i64
|
|
%t23 = mul i64 %t22, %t21
|
|
%t24 = load ptr, ptr %t13
|
|
%t25 = call ptr @realloc(ptr %t24, i64 %t23)
|
|
store ptr %t25, ptr %t13
|
|
store i32 %t19, ptr %t12
|
|
br label %put1
|
|
put1:
|
|
%t26 = load ptr, ptr %t3
|
|
%t27 = load ptr, ptr %t13
|
|
%t28 = getelementptr inbounds ptr, ptr %t27, i32 %t14
|
|
store ptr %t26, ptr %t28
|
|
%t29 = add i32 %t14, 1
|
|
store i32 %t29, ptr %t11
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_onenable_body(ptr %arg_prop) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_prop, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_g_onenable
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_g_onenable
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then3, label %ifend5
|
|
then3:
|
|
%t20 = load ptr, ptr @g_g_onenable
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = load i32, ptr %t1
|
|
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4
|
|
%t27 = load ptr, ptr %t26
|
|
store ptr %t27, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t28 = load i32, ptr %t1
|
|
%t29 = add i32 %t28, 1
|
|
store i32 %t29, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t30 = load ptr, ptr %retval
|
|
ret ptr %t30
|
|
}
|
|
|
|
define ptr @fn_ondisable_body(ptr %arg_prop) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_prop, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_g_ondisable
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_g_ondisable
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then3, label %ifend5
|
|
then3:
|
|
%t20 = load ptr, ptr @g_g_ondisable
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = load i32, ptr %t1
|
|
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4
|
|
%t27 = load ptr, ptr %t26
|
|
store ptr %t27, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t28 = load i32, ptr %t1
|
|
%t29 = add i32 %t28, 1
|
|
store i32 %t29, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t30 = load ptr, ptr %retval
|
|
ret ptr %t30
|
|
}
|
|
|
|
define void @fn_register_event(ptr %arg_n) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
store ptr %arg_n, ptr %t0
|
|
%t1 = load ptr, ptr @g_g_events
|
|
%t2 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 1
|
|
%t3 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 2
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t1, i32 0, i32 0
|
|
%t5 = load i32, ptr %t2
|
|
%t6 = load i32, ptr %t3
|
|
%t7 = icmp sge i32 %t5, %t6
|
|
br i1 %t7, label %grow0, label %put1
|
|
grow0:
|
|
%t8 = mul i32 %t6, 2
|
|
%t9 = icmp eq i32 %t6, 0
|
|
%t10 = select i1 %t9, i32 8, i32 %t8
|
|
%t11 = getelementptr ptr, ptr null, i32 1
|
|
%t12 = ptrtoint ptr %t11 to i64
|
|
%t13 = zext i32 %t10 to i64
|
|
%t14 = mul i64 %t13, %t12
|
|
%t15 = load ptr, ptr %t4
|
|
%t16 = call ptr @realloc(ptr %t15, i64 %t14)
|
|
store ptr %t16, ptr %t4
|
|
store i32 %t10, ptr %t3
|
|
br label %put1
|
|
put1:
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = load ptr, ptr %t4
|
|
%t19 = getelementptr inbounds ptr, ptr %t18, i32 %t5
|
|
store ptr %t17, ptr %t19
|
|
%t20 = add i32 %t5, 1
|
|
store i32 %t20, ptr %t2
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_find_event(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_name, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_g_events
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_g_events
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then3, label %ifend5
|
|
then3:
|
|
%t20 = load ptr, ptr @g_g_events
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = load i32, ptr %t1
|
|
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
|
|
%t25 = load ptr, ptr %t24
|
|
store ptr %t25, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t26 = load i32, ptr %t1
|
|
%t27 = add i32 %t26, 1
|
|
store i32 %t27, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t28 = load ptr, ptr %retval
|
|
ret ptr %t28
|
|
}
|
|
|
|
define void @fn_register_onlisten(ptr %arg_evt, ptr %arg_body) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t3 = alloca ptr
|
|
store ptr %arg_evt, ptr %t0
|
|
store ptr %arg_body, ptr %t1
|
|
%t2 = call ptr @fn_node(i32 7)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 1
|
|
%t6 = load ptr, ptr %t0
|
|
store ptr %t6, ptr %t5
|
|
%t7 = load ptr, ptr %t3
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4
|
|
%t9 = load ptr, ptr %t1
|
|
store ptr %t9, ptr %t8
|
|
%t10 = load ptr, ptr @g_g_onlisten
|
|
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
|
|
%t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
|
|
%t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
|
|
%t14 = load i32, ptr %t11
|
|
%t15 = load i32, ptr %t12
|
|
%t16 = icmp sge i32 %t14, %t15
|
|
br i1 %t16, label %grow0, label %put1
|
|
grow0:
|
|
%t17 = mul i32 %t15, 2
|
|
%t18 = icmp eq i32 %t15, 0
|
|
%t19 = select i1 %t18, i32 8, i32 %t17
|
|
%t20 = getelementptr ptr, ptr null, i32 1
|
|
%t21 = ptrtoint ptr %t20 to i64
|
|
%t22 = zext i32 %t19 to i64
|
|
%t23 = mul i64 %t22, %t21
|
|
%t24 = load ptr, ptr %t13
|
|
%t25 = call ptr @realloc(ptr %t24, i64 %t23)
|
|
store ptr %t25, ptr %t13
|
|
store i32 %t19, ptr %t12
|
|
br label %put1
|
|
put1:
|
|
%t26 = load ptr, ptr %t3
|
|
%t27 = load ptr, ptr %t13
|
|
%t28 = getelementptr inbounds ptr, ptr %t27, i32 %t14
|
|
store ptr %t26, ptr %t28
|
|
%t29 = add i32 %t14, 1
|
|
store i32 %t29, ptr %t11
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_ensure_event(ptr %arg_name, i32 %arg_with_reason) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t8 = alloca ptr
|
|
%t13 = alloca ptr
|
|
%t43 = alloca ptr
|
|
store ptr %arg_name, ptr %t0
|
|
store i32 %arg_with_reason, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call ptr @fn_find_event(ptr %t2)
|
|
%t4 = icmp ne ptr %t3, null
|
|
%t5 = zext i1 %t4 to i32
|
|
%t6 = icmp ne i32 %t5, 0
|
|
br i1 %t6, label %then0, label %ifend2
|
|
then0:
|
|
br label %ret
|
|
ifend2:
|
|
%t7 = call ptr @fn_node(i32 48)
|
|
store ptr %t7, ptr %t8
|
|
%t9 = load ptr, ptr %t8
|
|
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 1
|
|
%t11 = load ptr, ptr %t0
|
|
store ptr %t11, ptr %t10
|
|
%t12 = call ptr @fn_node(i32 1)
|
|
store ptr %t12, ptr %t13
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
|
|
store ptr @.str355, ptr %t15
|
|
%t16 = load ptr, ptr %t13
|
|
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3
|
|
store ptr @.str356, ptr %t17
|
|
%t18 = load ptr, ptr %t8
|
|
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1
|
|
%t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2
|
|
%t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
|
|
%t24 = load i32, ptr %t21
|
|
%t25 = load i32, ptr %t22
|
|
%t26 = icmp sge i32 %t24, %t25
|
|
br i1 %t26, label %grow3, label %put4
|
|
grow3:
|
|
%t27 = mul i32 %t25, 2
|
|
%t28 = icmp eq i32 %t25, 0
|
|
%t29 = select i1 %t28, i32 8, i32 %t27
|
|
%t30 = getelementptr ptr, ptr null, i32 1
|
|
%t31 = ptrtoint ptr %t30 to i64
|
|
%t32 = zext i32 %t29 to i64
|
|
%t33 = mul i64 %t32, %t31
|
|
%t34 = load ptr, ptr %t23
|
|
%t35 = call ptr @realloc(ptr %t34, i64 %t33)
|
|
store ptr %t35, ptr %t23
|
|
store i32 %t29, ptr %t22
|
|
br label %put4
|
|
put4:
|
|
%t36 = load ptr, ptr %t13
|
|
%t37 = load ptr, ptr %t23
|
|
%t38 = getelementptr inbounds ptr, ptr %t37, i32 %t24
|
|
store ptr %t36, ptr %t38
|
|
%t39 = add i32 %t24, 1
|
|
store i32 %t39, ptr %t21
|
|
%t40 = load i32, ptr %t1
|
|
%t41 = icmp ne i32 %t40, 0
|
|
br i1 %t41, label %then5, label %ifend7
|
|
then5:
|
|
%t42 = call ptr @fn_node(i32 1)
|
|
store ptr %t42, ptr %t43
|
|
%t44 = load ptr, ptr %t43
|
|
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1
|
|
store ptr @.str357, ptr %t45
|
|
%t46 = load ptr, ptr %t43
|
|
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 3
|
|
store ptr @.str358, ptr %t47
|
|
%t48 = load ptr, ptr %t8
|
|
%t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7
|
|
%t50 = load ptr, ptr %t49
|
|
%t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1
|
|
%t52 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 2
|
|
%t53 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 0
|
|
%t54 = load i32, ptr %t51
|
|
%t55 = load i32, ptr %t52
|
|
%t56 = icmp sge i32 %t54, %t55
|
|
br i1 %t56, label %grow8, label %put9
|
|
grow8:
|
|
%t57 = mul i32 %t55, 2
|
|
%t58 = icmp eq i32 %t55, 0
|
|
%t59 = select i1 %t58, i32 8, i32 %t57
|
|
%t60 = getelementptr ptr, ptr null, i32 1
|
|
%t61 = ptrtoint ptr %t60 to i64
|
|
%t62 = zext i32 %t59 to i64
|
|
%t63 = mul i64 %t62, %t61
|
|
%t64 = load ptr, ptr %t53
|
|
%t65 = call ptr @realloc(ptr %t64, i64 %t63)
|
|
store ptr %t65, ptr %t53
|
|
store i32 %t59, ptr %t52
|
|
br label %put9
|
|
put9:
|
|
%t66 = load ptr, ptr %t43
|
|
%t67 = load ptr, ptr %t53
|
|
%t68 = getelementptr inbounds ptr, ptr %t67, i32 %t54
|
|
store ptr %t66, ptr %t68
|
|
%t69 = add i32 %t54, 1
|
|
store i32 %t69, ptr %t51
|
|
br label %ifend7
|
|
ifend7:
|
|
%t70 = load ptr, ptr %t8
|
|
call void @fn_register_event(ptr %t70)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_ensure_event_empty(ptr %arg_name) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t7 = alloca ptr
|
|
store ptr %arg_name, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call ptr @fn_find_event(ptr %t1)
|
|
%t3 = icmp ne ptr %t2, null
|
|
%t4 = zext i1 %t3 to i32
|
|
%t5 = icmp ne i32 %t4, 0
|
|
br i1 %t5, label %then0, label %ifend2
|
|
then0:
|
|
br label %ret
|
|
ifend2:
|
|
%t6 = call ptr @fn_node(i32 48)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1
|
|
%t10 = load ptr, ptr %t0
|
|
store ptr %t10, ptr %t9
|
|
%t11 = load ptr, ptr %t7
|
|
call void @fn_register_event(ptr %t11)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_note_toggled_layer(ptr %arg_name) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_name, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_g_toggled_layers
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_g_toggled_layers
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = load ptr, ptr %t0
|
|
%t16 = call i32 @fn_str_eq(ptr %t14, ptr %t15)
|
|
%t17 = icmp ne i32 %t16, 0
|
|
br i1 %t17, label %then3, label %ifend5
|
|
then3:
|
|
br label %ret
|
|
ifend5:
|
|
%t18 = load i32, ptr %t1
|
|
%t19 = add i32 %t18, 1
|
|
store i32 %t19, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
%t20 = load ptr, ptr @g_g_toggled_layers
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1
|
|
%t22 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 2
|
|
%t23 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
|
|
%t24 = load i32, ptr %t21
|
|
%t25 = load i32, ptr %t22
|
|
%t26 = icmp sge i32 %t24, %t25
|
|
br i1 %t26, label %grow6, label %put7
|
|
grow6:
|
|
%t27 = mul i32 %t25, 2
|
|
%t28 = icmp eq i32 %t25, 0
|
|
%t29 = select i1 %t28, i32 8, i32 %t27
|
|
%t30 = getelementptr ptr, ptr null, i32 1
|
|
%t31 = ptrtoint ptr %t30 to i64
|
|
%t32 = zext i32 %t29 to i64
|
|
%t33 = mul i64 %t32, %t31
|
|
%t34 = load ptr, ptr %t23
|
|
%t35 = call ptr @realloc(ptr %t34, i64 %t33)
|
|
store ptr %t35, ptr %t23
|
|
store i32 %t29, ptr %t22
|
|
br label %put7
|
|
put7:
|
|
%t36 = load ptr, ptr %t0
|
|
%t37 = load ptr, ptr %t23
|
|
%t38 = getelementptr inbounds ptr, ptr %t37, i32 %t24
|
|
store ptr %t36, ptr %t38
|
|
%t39 = add i32 %t24, 1
|
|
store i32 %t39, ptr %t21
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_is_toggled_layer(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_name, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_g_toggled_layers
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_g_toggled_layers
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = load ptr, ptr %t0
|
|
%t16 = call i32 @fn_str_eq(ptr %t14, ptr %t15)
|
|
%t17 = icmp ne i32 %t16, 0
|
|
br i1 %t17, label %then3, label %ifend5
|
|
then3:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t18 = load i32, ptr %t1
|
|
%t19 = add i32 %t18, 1
|
|
store i32 %t19, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t20 = load i32, ptr %retval
|
|
ret i32 %t20
|
|
}
|
|
|
|
define i32 @fn_is_model(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
store ptr %arg_name, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call i32 @fn_find_arch_id(ptr %t1)
|
|
%t3 = icmp sgt i32 %t2, 0
|
|
%t4 = zext i1 %t3 to i32
|
|
store i32 %t4, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t5 = load i32, ptr %retval
|
|
ret i32 %t5
|
|
}
|
|
|
|
define void @fn_loc_reset() {
|
|
entry:
|
|
store i32 0, ptr @g_nloc
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_loc_push(ptr %arg_name, ptr %arg_r, ptr %arg_ty) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
store ptr %arg_name, ptr %t0
|
|
store ptr %arg_r, ptr %t1
|
|
store ptr %arg_ty, ptr %t2
|
|
%t3 = load i32, ptr @g_nloc
|
|
%t4 = load ptr, ptr @g_loc_name
|
|
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
|
|
%t6 = load i32, ptr %t5
|
|
%t7 = icmp slt i32 %t3, %t6
|
|
%t8 = zext i1 %t7 to i32
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then0, label %else1
|
|
then0:
|
|
%t10 = load ptr, ptr @g_loc_name
|
|
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = load i32, ptr @g_nloc
|
|
%t14 = getelementptr inbounds ptr, ptr %t12, i32 %t13
|
|
%t15 = load ptr, ptr %t0
|
|
store ptr %t15, ptr %t14
|
|
%t16 = load ptr, ptr @g_loc_reg
|
|
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = load i32, ptr @g_nloc
|
|
%t20 = getelementptr inbounds ptr, ptr %t18, i32 %t19
|
|
%t21 = load ptr, ptr %t1
|
|
store ptr %t21, ptr %t20
|
|
%t22 = load ptr, ptr @g_loc_ty
|
|
%t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = load i32, ptr @g_nloc
|
|
%t26 = getelementptr inbounds ptr, ptr %t24, i32 %t25
|
|
%t27 = load ptr, ptr %t2
|
|
store ptr %t27, ptr %t26
|
|
%t28 = load ptr, ptr @g_loc_mut
|
|
%t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = load i32, ptr @g_nloc
|
|
%t32 = getelementptr inbounds i32, ptr %t30, i32 %t31
|
|
store i32 1, ptr %t32
|
|
br label %ifend2
|
|
else1:
|
|
%t33 = load ptr, ptr @g_loc_name
|
|
%t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1
|
|
%t35 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 2
|
|
%t36 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0
|
|
%t37 = load i32, ptr %t34
|
|
%t38 = load i32, ptr %t35
|
|
%t39 = icmp sge i32 %t37, %t38
|
|
br i1 %t39, label %grow3, label %put4
|
|
grow3:
|
|
%t40 = mul i32 %t38, 2
|
|
%t41 = icmp eq i32 %t38, 0
|
|
%t42 = select i1 %t41, i32 8, i32 %t40
|
|
%t43 = getelementptr ptr, ptr null, i32 1
|
|
%t44 = ptrtoint ptr %t43 to i64
|
|
%t45 = zext i32 %t42 to i64
|
|
%t46 = mul i64 %t45, %t44
|
|
%t47 = load ptr, ptr %t36
|
|
%t48 = call ptr @realloc(ptr %t47, i64 %t46)
|
|
store ptr %t48, ptr %t36
|
|
store i32 %t42, ptr %t35
|
|
br label %put4
|
|
put4:
|
|
%t49 = load ptr, ptr %t0
|
|
%t50 = load ptr, ptr %t36
|
|
%t51 = getelementptr inbounds ptr, ptr %t50, i32 %t37
|
|
store ptr %t49, ptr %t51
|
|
%t52 = add i32 %t37, 1
|
|
store i32 %t52, ptr %t34
|
|
%t53 = load ptr, ptr @g_loc_reg
|
|
%t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1
|
|
%t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 2
|
|
%t56 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0
|
|
%t57 = load i32, ptr %t54
|
|
%t58 = load i32, ptr %t55
|
|
%t59 = icmp sge i32 %t57, %t58
|
|
br i1 %t59, label %grow5, label %put6
|
|
grow5:
|
|
%t60 = mul i32 %t58, 2
|
|
%t61 = icmp eq i32 %t58, 0
|
|
%t62 = select i1 %t61, i32 8, i32 %t60
|
|
%t63 = getelementptr ptr, ptr null, i32 1
|
|
%t64 = ptrtoint ptr %t63 to i64
|
|
%t65 = zext i32 %t62 to i64
|
|
%t66 = mul i64 %t65, %t64
|
|
%t67 = load ptr, ptr %t56
|
|
%t68 = call ptr @realloc(ptr %t67, i64 %t66)
|
|
store ptr %t68, ptr %t56
|
|
store i32 %t62, ptr %t55
|
|
br label %put6
|
|
put6:
|
|
%t69 = load ptr, ptr %t1
|
|
%t70 = load ptr, ptr %t56
|
|
%t71 = getelementptr inbounds ptr, ptr %t70, i32 %t57
|
|
store ptr %t69, ptr %t71
|
|
%t72 = add i32 %t57, 1
|
|
store i32 %t72, ptr %t54
|
|
%t73 = load ptr, ptr @g_loc_ty
|
|
%t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 1
|
|
%t75 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 2
|
|
%t76 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0
|
|
%t77 = load i32, ptr %t74
|
|
%t78 = load i32, ptr %t75
|
|
%t79 = icmp sge i32 %t77, %t78
|
|
br i1 %t79, label %grow7, label %put8
|
|
grow7:
|
|
%t80 = mul i32 %t78, 2
|
|
%t81 = icmp eq i32 %t78, 0
|
|
%t82 = select i1 %t81, i32 8, i32 %t80
|
|
%t83 = getelementptr ptr, ptr null, i32 1
|
|
%t84 = ptrtoint ptr %t83 to i64
|
|
%t85 = zext i32 %t82 to i64
|
|
%t86 = mul i64 %t85, %t84
|
|
%t87 = load ptr, ptr %t76
|
|
%t88 = call ptr @realloc(ptr %t87, i64 %t86)
|
|
store ptr %t88, ptr %t76
|
|
store i32 %t82, ptr %t75
|
|
br label %put8
|
|
put8:
|
|
%t89 = load ptr, ptr %t2
|
|
%t90 = load ptr, ptr %t76
|
|
%t91 = getelementptr inbounds ptr, ptr %t90, i32 %t77
|
|
store ptr %t89, ptr %t91
|
|
%t92 = add i32 %t77, 1
|
|
store i32 %t92, ptr %t74
|
|
%t93 = load ptr, ptr @g_loc_mut
|
|
%t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 1
|
|
%t95 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 2
|
|
%t96 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0
|
|
%t97 = load i32, ptr %t94
|
|
%t98 = load i32, ptr %t95
|
|
%t99 = icmp sge i32 %t97, %t98
|
|
br i1 %t99, label %grow9, label %put10
|
|
grow9:
|
|
%t100 = mul i32 %t98, 2
|
|
%t101 = icmp eq i32 %t98, 0
|
|
%t102 = select i1 %t101, i32 8, i32 %t100
|
|
%t103 = getelementptr i32, ptr null, i32 1
|
|
%t104 = ptrtoint ptr %t103 to i64
|
|
%t105 = zext i32 %t102 to i64
|
|
%t106 = mul i64 %t105, %t104
|
|
%t107 = load ptr, ptr %t96
|
|
%t108 = call ptr @realloc(ptr %t107, i64 %t106)
|
|
store ptr %t108, ptr %t96
|
|
store i32 %t102, ptr %t95
|
|
br label %put10
|
|
put10:
|
|
%t109 = load ptr, ptr %t96
|
|
%t110 = getelementptr inbounds i32, ptr %t109, i32 %t97
|
|
store i32 1, ptr %t110
|
|
%t111 = add i32 %t97, 1
|
|
store i32 %t111, ptr %t94
|
|
br label %ifend2
|
|
ifend2:
|
|
%t112 = load i32, ptr @g_nloc
|
|
%t113 = add i32 %t112, 1
|
|
store i32 %t113, ptr @g_nloc
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_loc_set_mut(i32 %arg_m) {
|
|
entry:
|
|
%t0 = alloca i32
|
|
store i32 %arg_m, ptr %t0
|
|
%t1 = load i32, ptr @g_nloc
|
|
%t2 = icmp sgt i32 %t1, 0
|
|
%t3 = zext i1 %t2 to i32
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = load ptr, ptr @g_loc_mut
|
|
%t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = load i32, ptr @g_nloc
|
|
%t9 = sub i32 %t8, 1
|
|
%t10 = getelementptr inbounds i32, ptr %t7, i32 %t9
|
|
%t11 = load i32, ptr %t0
|
|
store i32 %t11, ptr %t10
|
|
br label %ifend2
|
|
ifend2:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_loc_find(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t3 = alloca i32
|
|
store ptr %arg_name, ptr %t0
|
|
%t1 = load i32, ptr @g_nloc
|
|
%t2 = sub i32 %t1, 1
|
|
store i32 %t2, ptr %t3
|
|
br label %wcond0
|
|
wcond0:
|
|
%t4 = load i32, ptr %t3
|
|
%t5 = icmp sge i32 %t4, 0
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t8 = load ptr, ptr @g_loc_name
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = load i32, ptr %t3
|
|
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = load ptr, ptr %t0
|
|
%t15 = call i32 @fn_str_eq(ptr %t13, ptr %t14)
|
|
%t16 = icmp ne i32 %t15, 0
|
|
br i1 %t16, label %then3, label %ifend5
|
|
then3:
|
|
%t17 = load i32, ptr %t3
|
|
store i32 %t17, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t18 = load i32, ptr %t3
|
|
%t19 = sub i32 %t18, 1
|
|
store i32 %t19, ptr %t3
|
|
br label %wcond0
|
|
wend2:
|
|
%t20 = sub i32 0, 1
|
|
store i32 %t20, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t21 = load i32, ptr %retval
|
|
ret i32 %t21
|
|
}
|
|
|
|
define i32 @fn_hexdig(i32 %arg_n) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca i32
|
|
store i32 %arg_n, ptr %t0
|
|
%t1 = load i32, ptr %t0
|
|
%t2 = icmp slt i32 %t1, 10
|
|
%t3 = zext i1 %t2 to i32
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = load i32, ptr %t0
|
|
%t6 = add i32 48, %t5
|
|
store i32 %t6, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t7 = load i32, ptr %t0
|
|
%t8 = add i32 55, %t7
|
|
store i32 %t8, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t9 = load i32, ptr %retval
|
|
ret i32 %t9
|
|
}
|
|
|
|
define ptr @fn_emit_str_const(ptr %arg_s) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t4 = alloca ptr
|
|
%t10 = alloca i32
|
|
%t15 = alloca i32
|
|
%t26 = alloca i32
|
|
%t27 = alloca i32
|
|
%t28 = alloca i32
|
|
%t29 = alloca i32
|
|
store ptr %arg_s, ptr %t0
|
|
%t1 = load i32, ptr @g_ll_str
|
|
%t2 = call ptr @fn_itoa(i32 %t1)
|
|
%t3 = call ptr @fn_str_concat(ptr @.str359, ptr %t2)
|
|
store ptr %t3, ptr %t4
|
|
%t5 = load i32, ptr @g_ll_str
|
|
%t6 = add i32 %t5, 1
|
|
store i32 %t6, ptr @g_ll_str
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i64 @strlen(ptr %t7)
|
|
%t9 = trunc i64 %t8 to i32
|
|
store i32 %t9, ptr %t10
|
|
%t11 = load ptr, ptr %t4
|
|
call void @fn_emith(ptr %t11)
|
|
call void @fn_emith(ptr @.str360)
|
|
%t12 = load i32, ptr %t10
|
|
%t13 = add i32 %t12, 1
|
|
%t14 = call ptr @fn_itoa(i32 %t13)
|
|
call void @fn_emith(ptr %t14)
|
|
call void @fn_emith(ptr @.str361)
|
|
store i32 0, ptr %t15
|
|
br label %wcond0
|
|
wcond0:
|
|
%t16 = load i32, ptr %t15
|
|
%t17 = load i32, ptr %t10
|
|
%t18 = icmp slt i32 %t16, %t17
|
|
%t19 = zext i1 %t18 to i32
|
|
%t20 = icmp ne i32 %t19, 0
|
|
br i1 %t20, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t21 = load ptr, ptr %t0
|
|
%t22 = load i32, ptr %t15
|
|
%t23 = getelementptr inbounds i8, ptr %t21, i32 %t22
|
|
%t24 = load i8, ptr %t23
|
|
%t25 = zext i8 %t24 to i32
|
|
store i32 %t25, ptr %t26
|
|
%t30 = load i32, ptr %t26
|
|
%t31 = icmp eq i32 %t30, 34
|
|
%t32 = zext i1 %t31 to i32
|
|
%t33 = icmp ne i32 %t32, 0
|
|
%t34 = zext i1 %t33 to i32
|
|
store i32 %t34, ptr %t29
|
|
br i1 %t33, label %scend4, label %sc3
|
|
sc3:
|
|
%t35 = load i32, ptr %t26
|
|
%t36 = icmp eq i32 %t35, 92
|
|
%t37 = zext i1 %t36 to i32
|
|
%t38 = icmp ne i32 %t37, 0
|
|
%t39 = zext i1 %t38 to i32
|
|
store i32 %t39, ptr %t29
|
|
br label %scend4
|
|
scend4:
|
|
%t40 = load i32, ptr %t29
|
|
%t41 = icmp ne i32 %t40, 0
|
|
%t42 = zext i1 %t41 to i32
|
|
store i32 %t42, ptr %t28
|
|
br i1 %t41, label %scend6, label %sc5
|
|
sc5:
|
|
%t43 = load i32, ptr %t26
|
|
%t44 = icmp slt i32 %t43, 32
|
|
%t45 = zext i1 %t44 to i32
|
|
%t46 = icmp ne i32 %t45, 0
|
|
%t47 = zext i1 %t46 to i32
|
|
store i32 %t47, ptr %t28
|
|
br label %scend6
|
|
scend6:
|
|
%t48 = load i32, ptr %t28
|
|
%t49 = icmp ne i32 %t48, 0
|
|
%t50 = zext i1 %t49 to i32
|
|
store i32 %t50, ptr %t27
|
|
br i1 %t49, label %scend8, label %sc7
|
|
sc7:
|
|
%t51 = load i32, ptr %t26
|
|
%t52 = icmp sgt i32 %t51, 126
|
|
%t53 = zext i1 %t52 to i32
|
|
%t54 = icmp ne i32 %t53, 0
|
|
%t55 = zext i1 %t54 to i32
|
|
store i32 %t55, ptr %t27
|
|
br label %scend8
|
|
scend8:
|
|
%t56 = load i32, ptr %t27
|
|
%t57 = icmp ne i32 %t56, 0
|
|
br i1 %t57, label %then9, label %else10
|
|
then9:
|
|
%t58 = load ptr, ptr @g_head
|
|
call void @fn_buf_putc(ptr %t58, i32 92)
|
|
%t59 = load ptr, ptr @g_head
|
|
%t60 = load i32, ptr %t26
|
|
%t61 = sdiv i32 %t60, 16
|
|
%t62 = call i32 @fn_hexdig(i32 %t61)
|
|
call void @fn_buf_putc(ptr %t59, i32 %t62)
|
|
%t63 = load ptr, ptr @g_head
|
|
%t64 = load i32, ptr %t26
|
|
%t65 = srem i32 %t64, 16
|
|
%t66 = call i32 @fn_hexdig(i32 %t65)
|
|
call void @fn_buf_putc(ptr %t63, i32 %t66)
|
|
br label %ifend11
|
|
else10:
|
|
%t67 = load ptr, ptr @g_head
|
|
%t68 = load i32, ptr %t26
|
|
call void @fn_buf_putc(ptr %t67, i32 %t68)
|
|
br label %ifend11
|
|
ifend11:
|
|
%t69 = load i32, ptr %t15
|
|
%t70 = add i32 %t69, 1
|
|
store i32 %t70, ptr %t15
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_emith(ptr @.str362)
|
|
%t71 = load ptr, ptr %t4
|
|
store ptr %t71, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t72 = load ptr, ptr %retval
|
|
ret ptr %t72
|
|
}
|
|
|
|
define ptr @fn_global_init(ptr %arg_d) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t16 = alloca ptr
|
|
%t17 = alloca i32
|
|
%t18 = alloca i32
|
|
%t49 = alloca i32
|
|
%t50 = alloca i32
|
|
store ptr %arg_d, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = icmp eq ptr %t3, null
|
|
%t5 = zext i1 %t4 to i32
|
|
%t6 = icmp ne i32 %t5, 0
|
|
br i1 %t6, label %then0, label %ifend2
|
|
then0:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3
|
|
%t9 = load ptr, ptr %t8
|
|
%t10 = call ptr @fn_llty(ptr %t9)
|
|
%t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str363)
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then3, label %ifend5
|
|
then3:
|
|
store ptr @.str364, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
store ptr @.str365, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 4
|
|
%t15 = load ptr, ptr %t14
|
|
store ptr %t15, ptr %t16
|
|
%t19 = load ptr, ptr %t16
|
|
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0
|
|
%t21 = load i32, ptr %t20
|
|
%t22 = icmp eq i32 %t21, 30
|
|
%t23 = zext i1 %t22 to i32
|
|
%t24 = icmp ne i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
store i32 %t25, ptr %t18
|
|
br i1 %t24, label %scend7, label %sc6
|
|
sc6:
|
|
%t26 = load ptr, ptr %t16
|
|
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 0
|
|
%t28 = load i32, ptr %t27
|
|
%t29 = icmp eq i32 %t28, 40
|
|
%t30 = zext i1 %t29 to i32
|
|
%t31 = icmp ne i32 %t30, 0
|
|
%t32 = zext i1 %t31 to i32
|
|
store i32 %t32, ptr %t18
|
|
br label %scend7
|
|
scend7:
|
|
%t33 = load i32, ptr %t18
|
|
%t34 = icmp ne i32 %t33, 0
|
|
%t35 = zext i1 %t34 to i32
|
|
store i32 %t35, ptr %t17
|
|
br i1 %t34, label %scend9, label %sc8
|
|
sc8:
|
|
%t36 = load ptr, ptr %t16
|
|
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 0
|
|
%t38 = load i32, ptr %t37
|
|
%t39 = icmp eq i32 %t38, 32
|
|
%t40 = zext i1 %t39 to i32
|
|
%t41 = icmp ne i32 %t40, 0
|
|
%t42 = zext i1 %t41 to i32
|
|
store i32 %t42, ptr %t17
|
|
br label %scend9
|
|
scend9:
|
|
%t43 = load i32, ptr %t17
|
|
%t44 = icmp ne i32 %t43, 0
|
|
br i1 %t44, label %then10, label %ifend12
|
|
then10:
|
|
%t45 = load ptr, ptr %t16
|
|
%t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 2
|
|
%t47 = load i32, ptr %t46
|
|
%t48 = call ptr @fn_itoa(i32 %t47)
|
|
store ptr %t48, ptr %retval
|
|
br label %ret
|
|
ifend12:
|
|
%t51 = load ptr, ptr %t16
|
|
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 0
|
|
%t53 = load i32, ptr %t52
|
|
%t54 = icmp eq i32 %t53, 38
|
|
%t55 = zext i1 %t54 to i32
|
|
%t56 = icmp ne i32 %t55, 0
|
|
%t57 = zext i1 %t56 to i32
|
|
store i32 %t57, ptr %t50
|
|
br i1 %t56, label %sc13, label %scend14
|
|
sc13:
|
|
%t58 = load ptr, ptr %t16
|
|
%t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1
|
|
%t60 = load ptr, ptr %t59
|
|
%t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str366)
|
|
%t62 = icmp ne i32 %t61, 0
|
|
%t63 = zext i1 %t62 to i32
|
|
store i32 %t63, ptr %t50
|
|
br label %scend14
|
|
scend14:
|
|
%t64 = load i32, ptr %t50
|
|
%t65 = icmp ne i32 %t64, 0
|
|
%t66 = zext i1 %t65 to i32
|
|
store i32 %t66, ptr %t49
|
|
br i1 %t65, label %sc15, label %scend16
|
|
sc15:
|
|
%t67 = load ptr, ptr %t16
|
|
%t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 4
|
|
%t69 = load ptr, ptr %t68
|
|
%t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 0
|
|
%t71 = load i32, ptr %t70
|
|
%t72 = icmp eq i32 %t71, 30
|
|
%t73 = zext i1 %t72 to i32
|
|
%t74 = icmp ne i32 %t73, 0
|
|
%t75 = zext i1 %t74 to i32
|
|
store i32 %t75, ptr %t49
|
|
br label %scend16
|
|
scend16:
|
|
%t76 = load i32, ptr %t49
|
|
%t77 = icmp ne i32 %t76, 0
|
|
br i1 %t77, label %then17, label %ifend19
|
|
then17:
|
|
%t78 = load ptr, ptr %t16
|
|
%t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 4
|
|
%t80 = load ptr, ptr %t79
|
|
%t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 2
|
|
%t82 = load i32, ptr %t81
|
|
%t83 = call ptr @fn_itoa(i32 %t82)
|
|
%t84 = call ptr @fn_str_concat(ptr @.str367, ptr %t83)
|
|
store ptr %t84, ptr %retval
|
|
br label %ret
|
|
ifend19:
|
|
%t85 = load ptr, ptr %t0
|
|
%t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 3
|
|
%t87 = load ptr, ptr %t86
|
|
%t88 = call ptr @fn_llty(ptr %t87)
|
|
%t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str368)
|
|
%t90 = icmp ne i32 %t89, 0
|
|
br i1 %t90, label %then20, label %ifend22
|
|
then20:
|
|
store ptr @.str369, ptr %retval
|
|
br label %ret
|
|
ifend22:
|
|
store ptr @.str370, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t91 = load ptr, ptr %retval
|
|
ret ptr %t91
|
|
}
|
|
|
|
define void @fn_emit_header() {
|
|
entry:
|
|
%t6 = alloca i32
|
|
%t20 = alloca ptr
|
|
%t39 = alloca i32
|
|
%t81 = alloca ptr
|
|
call void @fn_emith(ptr @.str371)
|
|
call void @fn_emith(ptr @.str372)
|
|
call void @fn_emith(ptr @.str373)
|
|
call void @fn_emith(ptr @.str374)
|
|
call void @fn_emith(ptr @.str375)
|
|
call void @fn_emith(ptr @.str376)
|
|
call void @fn_emith(ptr @.str377)
|
|
call void @fn_emith(ptr @.str378)
|
|
call void @fn_emith(ptr @.str379)
|
|
call void @fn_emith(ptr @.str380)
|
|
call void @fn_emith(ptr @.str381)
|
|
call void @fn_emith(ptr @.str382)
|
|
call void @fn_emith(ptr @.str383)
|
|
call void @fn_emith(ptr @.str384)
|
|
call void @fn_emith(ptr @.str385)
|
|
call void @fn_emith(ptr @.str386)
|
|
call void @fn_emith(ptr @.str387)
|
|
call void @fn_emith(ptr @.str388)
|
|
call void @fn_emith(ptr @.str389)
|
|
call void @fn_emith(ptr @.str390)
|
|
call void @fn_emith(ptr @.str391)
|
|
call void @fn_emith(ptr @.str392)
|
|
call void @fn_emith(ptr @.str393)
|
|
call void @fn_emith(ptr @.str394)
|
|
call void @fn_emith(ptr @.str395)
|
|
call void @fn_emith(ptr @.str396)
|
|
call void @fn_emith(ptr @.str397)
|
|
call void @fn_emith(ptr @.str398)
|
|
call void @fn_emith(ptr @.str399)
|
|
call void @fn_emith(ptr @.str400)
|
|
call void @fn_emith(ptr @.str401)
|
|
call void @fn_emith(ptr @.str402)
|
|
call void @fn_emith(ptr @.str403)
|
|
call void @fn_emith(ptr @.str404)
|
|
call void @fn_emith(ptr @.str405)
|
|
call void @fn_emith(ptr @.str406)
|
|
call void @fn_emith(ptr @.str407)
|
|
%t0 = load ptr, ptr @g_g_game_name
|
|
%t1 = call i64 @strlen(ptr %t0)
|
|
%t2 = trunc i64 %t1 to i32
|
|
%t3 = add i32 %t2, 1
|
|
%t4 = call ptr @fn_itoa(i32 %t3)
|
|
call void @fn_emith(ptr %t4)
|
|
call void @fn_emith(ptr @.str408)
|
|
%t5 = load ptr, ptr @g_g_game_name
|
|
call void @fn_emith(ptr %t5)
|
|
call void @fn_emith(ptr @.str409)
|
|
call void @fn_emith(ptr @.str410)
|
|
store i32 0, ptr %t6
|
|
br label %wcond0
|
|
wcond0:
|
|
%t7 = load i32, ptr %t6
|
|
%t8 = load ptr, ptr @g_prog
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1
|
|
%t10 = load i32, ptr %t9
|
|
%t11 = icmp slt i32 %t7, %t10
|
|
%t12 = zext i1 %t11 to i32
|
|
%t13 = icmp ne i32 %t12, 0
|
|
br i1 %t13, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t14 = load ptr, ptr @g_prog
|
|
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = load i32, ptr %t6
|
|
%t18 = getelementptr inbounds ptr, ptr %t16, i32 %t17
|
|
%t19 = load ptr, ptr %t18
|
|
store ptr %t19, ptr %t20
|
|
%t21 = load ptr, ptr %t20
|
|
%t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 0
|
|
%t23 = load i32, ptr %t22
|
|
%t24 = icmp eq i32 %t23, 8
|
|
%t25 = zext i1 %t24 to i32
|
|
%t26 = icmp ne i32 %t25, 0
|
|
br i1 %t26, label %then3, label %ifend5
|
|
then3:
|
|
%t27 = load ptr, ptr %t20
|
|
%t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1
|
|
%t29 = load ptr, ptr %t28
|
|
%t30 = call ptr @fn_layout_ty(ptr %t29)
|
|
call void @fn_emith(ptr %t30)
|
|
call void @fn_emith(ptr @.str411)
|
|
%t31 = load ptr, ptr %t20
|
|
%t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7
|
|
%t33 = load ptr, ptr %t32
|
|
%t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 1
|
|
%t35 = load i32, ptr %t34
|
|
%t36 = icmp eq i32 %t35, 0
|
|
%t37 = zext i1 %t36 to i32
|
|
%t38 = icmp ne i32 %t37, 0
|
|
br i1 %t38, label %then6, label %ifend8
|
|
then6:
|
|
call void @fn_emith(ptr @.str412)
|
|
br label %ifend8
|
|
ifend8:
|
|
store i32 0, ptr %t39
|
|
br label %wcond9
|
|
wcond9:
|
|
%t40 = load i32, ptr %t39
|
|
%t41 = load ptr, ptr %t20
|
|
%t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 7
|
|
%t43 = load ptr, ptr %t42
|
|
%t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 1
|
|
%t45 = load i32, ptr %t44
|
|
%t46 = icmp slt i32 %t40, %t45
|
|
%t47 = zext i1 %t46 to i32
|
|
%t48 = icmp ne i32 %t47, 0
|
|
br i1 %t48, label %wbody10, label %wend11
|
|
wbody10:
|
|
%t49 = load i32, ptr %t39
|
|
%t50 = icmp sgt i32 %t49, 0
|
|
%t51 = zext i1 %t50 to i32
|
|
%t52 = icmp ne i32 %t51, 0
|
|
br i1 %t52, label %then12, label %ifend14
|
|
then12:
|
|
call void @fn_emith(ptr @.str413)
|
|
br label %ifend14
|
|
ifend14:
|
|
%t53 = load ptr, ptr %t20
|
|
%t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 7
|
|
%t55 = load ptr, ptr %t54
|
|
%t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0
|
|
%t57 = load ptr, ptr %t56
|
|
%t58 = load i32, ptr %t39
|
|
%t59 = getelementptr inbounds ptr, ptr %t57, i32 %t58
|
|
%t60 = load ptr, ptr %t59
|
|
%t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 3
|
|
%t62 = load ptr, ptr %t61
|
|
%t63 = call ptr @fn_llty(ptr %t62)
|
|
call void @fn_emith(ptr %t63)
|
|
%t64 = load i32, ptr %t39
|
|
%t65 = add i32 %t64, 1
|
|
store i32 %t65, ptr %t39
|
|
br label %wcond9
|
|
wend11:
|
|
call void @fn_emith(ptr @.str414)
|
|
br label %ifend5
|
|
ifend5:
|
|
%t66 = load i32, ptr %t6
|
|
%t67 = add i32 %t66, 1
|
|
store i32 %t67, ptr %t6
|
|
br label %wcond0
|
|
wend2:
|
|
store i32 0, ptr %t6
|
|
br label %wcond15
|
|
wcond15:
|
|
%t68 = load i32, ptr %t6
|
|
%t69 = load ptr, ptr @g_prog
|
|
%t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1
|
|
%t71 = load i32, ptr %t70
|
|
%t72 = icmp slt i32 %t68, %t71
|
|
%t73 = zext i1 %t72 to i32
|
|
%t74 = icmp ne i32 %t73, 0
|
|
br i1 %t74, label %wbody16, label %wend17
|
|
wbody16:
|
|
%t75 = load ptr, ptr @g_prog
|
|
%t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0
|
|
%t77 = load ptr, ptr %t76
|
|
%t78 = load i32, ptr %t6
|
|
%t79 = getelementptr inbounds ptr, ptr %t77, i32 %t78
|
|
%t80 = load ptr, ptr %t79
|
|
store ptr %t80, ptr %t81
|
|
%t82 = load ptr, ptr %t81
|
|
%t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 0
|
|
%t84 = load i32, ptr %t83
|
|
%t85 = icmp eq i32 %t84, 2
|
|
%t86 = zext i1 %t85 to i32
|
|
%t87 = icmp ne i32 %t86, 0
|
|
br i1 %t87, label %then18, label %ifend20
|
|
then18:
|
|
call void @fn_emith(ptr @.str415)
|
|
%t88 = load ptr, ptr %t81
|
|
%t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 1
|
|
%t90 = load ptr, ptr %t89
|
|
call void @fn_emith(ptr %t90)
|
|
call void @fn_emith(ptr @.str416)
|
|
%t91 = load ptr, ptr %t81
|
|
%t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 3
|
|
%t93 = load ptr, ptr %t92
|
|
%t94 = call ptr @fn_llty(ptr %t93)
|
|
call void @fn_emith(ptr %t94)
|
|
call void @fn_emith(ptr @.str417)
|
|
%t95 = load ptr, ptr %t81
|
|
%t96 = call ptr @fn_global_init(ptr %t95)
|
|
call void @fn_emith(ptr %t96)
|
|
call void @fn_emith(ptr @.str418)
|
|
br label %ifend20
|
|
ifend20:
|
|
%t97 = load i32, ptr %t6
|
|
%t98 = add i32 %t97, 1
|
|
store i32 %t98, ptr %t6
|
|
br label %wcond15
|
|
wend17:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_extern_decls() {
|
|
entry:
|
|
%t0 = alloca i32
|
|
%t14 = alloca ptr
|
|
%t30 = alloca i32
|
|
store i32 0, ptr %t0
|
|
br label %wcond0
|
|
wcond0:
|
|
%t1 = load i32, ptr %t0
|
|
%t2 = load ptr, ptr @g_prog
|
|
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
|
|
%t4 = load i32, ptr %t3
|
|
%t5 = icmp slt i32 %t1, %t4
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t8 = load ptr, ptr @g_prog
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = load i32, ptr %t0
|
|
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
|
|
%t13 = load ptr, ptr %t12
|
|
store ptr %t13, ptr %t14
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0
|
|
%t17 = load i32, ptr %t16
|
|
%t18 = icmp eq i32 %t17, 11
|
|
%t19 = zext i1 %t18 to i32
|
|
%t20 = icmp ne i32 %t19, 0
|
|
br i1 %t20, label %then3, label %ifend5
|
|
then3:
|
|
call void @fn_emith(ptr @.str419)
|
|
%t21 = load ptr, ptr %t14
|
|
%t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 3
|
|
%t23 = load ptr, ptr %t22
|
|
%t24 = call ptr @fn_llty(ptr %t23)
|
|
call void @fn_emith(ptr %t24)
|
|
call void @fn_emith(ptr @.str420)
|
|
%t25 = load ptr, ptr %t14
|
|
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 4
|
|
%t27 = load ptr, ptr %t26
|
|
%t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 1
|
|
%t29 = load ptr, ptr %t28
|
|
call void @fn_emith(ptr %t29)
|
|
call void @fn_emith(ptr @.str421)
|
|
store i32 0, ptr %t30
|
|
br label %wcond6
|
|
wcond6:
|
|
%t31 = load i32, ptr %t30
|
|
%t32 = load ptr, ptr %t14
|
|
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7
|
|
%t34 = load ptr, ptr %t33
|
|
%t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1
|
|
%t36 = load i32, ptr %t35
|
|
%t37 = icmp slt i32 %t31, %t36
|
|
%t38 = zext i1 %t37 to i32
|
|
%t39 = icmp ne i32 %t38, 0
|
|
br i1 %t39, label %wbody7, label %wend8
|
|
wbody7:
|
|
%t40 = load i32, ptr %t30
|
|
%t41 = icmp sgt i32 %t40, 0
|
|
%t42 = zext i1 %t41 to i32
|
|
%t43 = icmp ne i32 %t42, 0
|
|
br i1 %t43, label %then9, label %ifend11
|
|
then9:
|
|
call void @fn_emith(ptr @.str422)
|
|
br label %ifend11
|
|
ifend11:
|
|
%t44 = load ptr, ptr %t14
|
|
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7
|
|
%t46 = load ptr, ptr %t45
|
|
%t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = load i32, ptr %t30
|
|
%t50 = getelementptr inbounds ptr, ptr %t48, i32 %t49
|
|
%t51 = load ptr, ptr %t50
|
|
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 3
|
|
%t53 = load ptr, ptr %t52
|
|
%t54 = call ptr @fn_llty(ptr %t53)
|
|
call void @fn_emith(ptr %t54)
|
|
%t55 = load i32, ptr %t30
|
|
%t56 = add i32 %t55, 1
|
|
store i32 %t56, ptr %t30
|
|
br label %wcond6
|
|
wend8:
|
|
call void @fn_emith(ptr @.str423)
|
|
br label %ifend5
|
|
ifend5:
|
|
%t57 = load i32, ptr %t0
|
|
%t58 = add i32 %t57, 1
|
|
store i32 %t58, ptr %t0
|
|
br label %wcond0
|
|
wend2:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_str_prelude() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str424)
|
|
call void @fn_emith(ptr @.str425)
|
|
call void @fn_emith(ptr @.str426)
|
|
call void @fn_emith(ptr @.str427)
|
|
call void @fn_emith(ptr @.str428)
|
|
call void @fn_emith(ptr @.str429)
|
|
call void @fn_emith(ptr @.str430)
|
|
call void @fn_emith(ptr @.str431)
|
|
call void @fn_emith(ptr @.str432)
|
|
call void @fn_emith(ptr @.str433)
|
|
call void @fn_emith(ptr @.str434)
|
|
call void @fn_emith(ptr @.str435)
|
|
call void @fn_emith(ptr @.str436)
|
|
call void @fn_emith(ptr @.str437)
|
|
call void @fn_emith(ptr @.str438)
|
|
call void @fn_emith(ptr @.str439)
|
|
call void @fn_emith(ptr @.str440)
|
|
call void @fn_emith(ptr @.str441)
|
|
call void @fn_emith(ptr @.str442)
|
|
call void @fn_emith(ptr @.str443)
|
|
call void @fn_emith(ptr @.str444)
|
|
call void @fn_emith(ptr @.str445)
|
|
call void @fn_emith(ptr @.str446)
|
|
call void @fn_emith(ptr @.str447)
|
|
call void @fn_emith(ptr @.str448)
|
|
call void @fn_emith(ptr @.str449)
|
|
call void @fn_emith(ptr @.str450)
|
|
call void @fn_emith(ptr @.str451)
|
|
call void @fn_emith(ptr @.str452)
|
|
call void @fn_emith(ptr @.str453)
|
|
call void @fn_emith(ptr @.str454)
|
|
call void @fn_emith(ptr @.str455)
|
|
call void @fn_emith(ptr @.str456)
|
|
call void @fn_emith(ptr @.str457)
|
|
call void @fn_emith(ptr @.str458)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_int_str() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str459)
|
|
call void @fn_emith(ptr @.str460)
|
|
call void @fn_emith(ptr @.str461)
|
|
call void @fn_emith(ptr @.str462)
|
|
call void @fn_emith(ptr @.str463)
|
|
call void @fn_emith(ptr @.str464)
|
|
call void @fn_emith(ptr @.str465)
|
|
call void @fn_emith(ptr @.str466)
|
|
call void @fn_emith(ptr @.str467)
|
|
call void @fn_emith(ptr @.str468)
|
|
call void @fn_emith(ptr @.str469)
|
|
call void @fn_emith(ptr @.str470)
|
|
call void @fn_emith(ptr @.str471)
|
|
call void @fn_emith(ptr @.str472)
|
|
call void @fn_emith(ptr @.str473)
|
|
call void @fn_emith(ptr @.str474)
|
|
call void @fn_emith(ptr @.str475)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_long_str() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str476)
|
|
call void @fn_emith(ptr @.str477)
|
|
call void @fn_emith(ptr @.str478)
|
|
call void @fn_emith(ptr @.str479)
|
|
call void @fn_emith(ptr @.str480)
|
|
call void @fn_emith(ptr @.str481)
|
|
call void @fn_emith(ptr @.str482)
|
|
call void @fn_emith(ptr @.str483)
|
|
call void @fn_emith(ptr @.str484)
|
|
call void @fn_emith(ptr @.str485)
|
|
call void @fn_emith(ptr @.str486)
|
|
call void @fn_emith(ptr @.str487)
|
|
call void @fn_emith(ptr @.str488)
|
|
call void @fn_emith(ptr @.str489)
|
|
call void @fn_emith(ptr @.str490)
|
|
call void @fn_emith(ptr @.str491)
|
|
call void @fn_emith(ptr @.str492)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_str_slice() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str493)
|
|
call void @fn_emith(ptr @.str494)
|
|
call void @fn_emith(ptr @.str495)
|
|
call void @fn_emith(ptr @.str496)
|
|
call void @fn_emith(ptr @.str497)
|
|
call void @fn_emith(ptr @.str498)
|
|
call void @fn_emith(ptr @.str499)
|
|
call void @fn_emith(ptr @.str500)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_emit_member_addr(ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t10 = alloca ptr
|
|
%t24 = alloca i32
|
|
%t39 = alloca ptr
|
|
store ptr %arg_e, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = call ptr @fn_emit_expr(ptr %t3)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 1
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = call ptr @fn_layout_node(ptr %t8)
|
|
store ptr %t9, ptr %t10
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = icmp eq ptr %t11, null
|
|
%t13 = zext i1 %t12 to i32
|
|
%t14 = icmp ne i32 %t13, 0
|
|
br i1 %t14, label %then0, label %ifend2
|
|
then0:
|
|
%t15 = load ptr, ptr %t5
|
|
%t16 = getelementptr inbounds %Cmp_Val, ptr %t15, i32 0, i32 1
|
|
%t17 = load ptr, ptr %t16
|
|
%t18 = call ptr @fn_str_concat(ptr @.str501, ptr %t17)
|
|
call void @fn_perr(ptr %t18)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t19 = load ptr, ptr %t10
|
|
%t20 = load ptr, ptr %t0
|
|
%t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 1
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = call i32 @fn_field_index(ptr %t19, ptr %t22)
|
|
store i32 %t23, ptr %t24
|
|
%t25 = load i32, ptr %t24
|
|
%t26 = icmp slt i32 %t25, 0
|
|
%t27 = zext i1 %t26 to i32
|
|
%t28 = icmp ne i32 %t27, 0
|
|
br i1 %t28, label %then3, label %ifend5
|
|
then3:
|
|
%t29 = load ptr, ptr %t0
|
|
%t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 1
|
|
%t31 = load ptr, ptr %t30
|
|
%t32 = call ptr @fn_str_concat(ptr @.str502, ptr %t31)
|
|
call void @fn_perr(ptr %t32)
|
|
br label %ifend5
|
|
ifend5:
|
|
%t33 = load ptr, ptr %t10
|
|
%t34 = load ptr, ptr %t0
|
|
%t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1
|
|
%t36 = load ptr, ptr %t35
|
|
%t37 = call ptr @fn_field_type(ptr %t33, ptr %t36)
|
|
store ptr %t37, ptr @g_g_addr_ty
|
|
%t38 = call ptr @fn_nreg()
|
|
store ptr %t38, ptr %t39
|
|
call void @fn_emit(ptr @.str503)
|
|
%t40 = load ptr, ptr %t39
|
|
call void @fn_emit(ptr %t40)
|
|
call void @fn_emit(ptr @.str504)
|
|
%t41 = load ptr, ptr %t5
|
|
%t42 = getelementptr inbounds %Cmp_Val, ptr %t41, i32 0, i32 1
|
|
%t43 = load ptr, ptr %t42
|
|
%t44 = call ptr @fn_layout_ty(ptr %t43)
|
|
call void @fn_emit(ptr %t44)
|
|
call void @fn_emit(ptr @.str505)
|
|
%t45 = load ptr, ptr %t5
|
|
%t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0
|
|
%t47 = load ptr, ptr %t46
|
|
call void @fn_emit(ptr %t47)
|
|
call void @fn_emit(ptr @.str506)
|
|
%t48 = load i32, ptr %t24
|
|
%t49 = call ptr @fn_itoa(i32 %t48)
|
|
call void @fn_emit(ptr %t49)
|
|
call void @fn_emit(ptr @.str507)
|
|
%t50 = load ptr, ptr %t39
|
|
store ptr %t50, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t51 = load ptr, ptr %retval
|
|
ret ptr %t51
|
|
}
|
|
|
|
define ptr @fn_emit_index_addr(ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t17 = alloca ptr
|
|
%t33 = alloca ptr
|
|
%t50 = alloca ptr
|
|
%t67 = alloca ptr
|
|
%t79 = alloca ptr
|
|
%t85 = alloca ptr
|
|
%t88 = alloca ptr
|
|
%t94 = alloca ptr
|
|
%t101 = alloca ptr
|
|
%t103 = alloca ptr
|
|
store ptr %arg_e, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = call ptr @fn_emit_expr(ptr %t3)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 1
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = call i32 @fn_is_slice_ty(ptr %t8)
|
|
%t10 = icmp eq i32 %t9, 0
|
|
%t11 = zext i1 %t10 to i32
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then0, label %ifend2
|
|
then0:
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 5
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = call ptr @fn_emit_expr(ptr %t15)
|
|
store ptr %t16, ptr %t17
|
|
%t18 = load ptr, ptr %t5
|
|
%t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 1
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str508)
|
|
%t22 = icmp ne i32 %t21, 0
|
|
br i1 %t22, label %then3, label %ifend5
|
|
then3:
|
|
%t23 = load ptr, ptr %t5
|
|
%t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = call ptr @fn_str_concat(ptr @.str509, ptr %t25)
|
|
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str510)
|
|
%t28 = load ptr, ptr %t17
|
|
%t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = call ptr @fn_str_concat(ptr %t27, ptr %t30)
|
|
%t32 = call ptr @fn_emit_bind(ptr %t31)
|
|
store ptr %t32, ptr %t33
|
|
store ptr @.str511, ptr @g_g_addr_ty
|
|
%t34 = load ptr, ptr %t33
|
|
store ptr %t34, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t35 = load ptr, ptr %t5
|
|
%t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 1
|
|
%t37 = load ptr, ptr %t36
|
|
%t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str512)
|
|
%t39 = icmp ne i32 %t38, 0
|
|
br i1 %t39, label %then6, label %ifend8
|
|
then6:
|
|
%t40 = load ptr, ptr %t5
|
|
%t41 = getelementptr inbounds %Cmp_Val, ptr %t40, i32 0, i32 0
|
|
%t42 = load ptr, ptr %t41
|
|
%t43 = call ptr @fn_str_concat(ptr @.str513, ptr %t42)
|
|
%t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str514)
|
|
%t45 = load ptr, ptr %t17
|
|
%t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0
|
|
%t47 = load ptr, ptr %t46
|
|
%t48 = call ptr @fn_str_concat(ptr %t44, ptr %t47)
|
|
%t49 = call ptr @fn_emit_bind(ptr %t48)
|
|
store ptr %t49, ptr %t50
|
|
store ptr @.str515, ptr @g_g_addr_ty
|
|
%t51 = load ptr, ptr %t50
|
|
store ptr %t51, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t52 = load ptr, ptr %t5
|
|
%t53 = getelementptr inbounds %Cmp_Val, ptr %t52, i32 0, i32 1
|
|
%t54 = load ptr, ptr %t53
|
|
%t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str516)
|
|
%t56 = icmp ne i32 %t55, 0
|
|
br i1 %t56, label %then9, label %ifend11
|
|
then9:
|
|
%t57 = load ptr, ptr %t5
|
|
%t58 = getelementptr inbounds %Cmp_Val, ptr %t57, i32 0, i32 0
|
|
%t59 = load ptr, ptr %t58
|
|
%t60 = call ptr @fn_str_concat(ptr @.str517, ptr %t59)
|
|
%t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str518)
|
|
%t62 = load ptr, ptr %t17
|
|
%t63 = getelementptr inbounds %Cmp_Val, ptr %t62, i32 0, i32 0
|
|
%t64 = load ptr, ptr %t63
|
|
%t65 = call ptr @fn_str_concat(ptr %t61, ptr %t64)
|
|
%t66 = call ptr @fn_emit_bind(ptr %t65)
|
|
store ptr %t66, ptr %t67
|
|
store ptr @.str519, ptr @g_g_addr_ty
|
|
%t68 = load ptr, ptr %t67
|
|
store ptr %t68, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t69 = load ptr, ptr %t5
|
|
%t70 = getelementptr inbounds %Cmp_Val, ptr %t69, i32 0, i32 0
|
|
%t71 = load ptr, ptr %t70
|
|
%t72 = call ptr @fn_str_concat(ptr @.str520, ptr %t71)
|
|
%t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str521)
|
|
%t74 = load ptr, ptr %t17
|
|
%t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0
|
|
%t76 = load ptr, ptr %t75
|
|
%t77 = call ptr @fn_str_concat(ptr %t73, ptr %t76)
|
|
%t78 = call ptr @fn_emit_bind(ptr %t77)
|
|
store ptr %t78, ptr %t79
|
|
store ptr @.str522, ptr @g_g_addr_ty
|
|
%t80 = load ptr, ptr %t79
|
|
store ptr %t80, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t81 = load ptr, ptr %t5
|
|
%t82 = getelementptr inbounds %Cmp_Val, ptr %t81, i32 0, i32 1
|
|
%t83 = load ptr, ptr %t82
|
|
%t84 = call ptr @fn_slice_elem(ptr %t83)
|
|
store ptr %t84, ptr %t85
|
|
%t86 = load ptr, ptr %t85
|
|
store ptr %t86, ptr @g_g_addr_ty
|
|
%t87 = call ptr @fn_nreg()
|
|
store ptr %t87, ptr %t88
|
|
call void @fn_emit(ptr @.str523)
|
|
%t89 = load ptr, ptr %t88
|
|
call void @fn_emit(ptr %t89)
|
|
call void @fn_emit(ptr @.str524)
|
|
%t90 = load ptr, ptr %t5
|
|
%t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0
|
|
%t92 = load ptr, ptr %t91
|
|
call void @fn_emit(ptr %t92)
|
|
call void @fn_emit(ptr @.str525)
|
|
%t93 = call ptr @fn_nreg()
|
|
store ptr %t93, ptr %t94
|
|
call void @fn_emit(ptr @.str526)
|
|
%t95 = load ptr, ptr %t94
|
|
call void @fn_emit(ptr %t95)
|
|
call void @fn_emit(ptr @.str527)
|
|
%t96 = load ptr, ptr %t88
|
|
call void @fn_emit(ptr %t96)
|
|
call void @fn_emit(ptr @.str528)
|
|
%t97 = load ptr, ptr %t0
|
|
%t98 = getelementptr inbounds %Cmp_Node, ptr %t97, i32 0, i32 5
|
|
%t99 = load ptr, ptr %t98
|
|
%t100 = call ptr @fn_emit_expr(ptr %t99)
|
|
store ptr %t100, ptr %t101
|
|
%t102 = call ptr @fn_nreg()
|
|
store ptr %t102, ptr %t103
|
|
call void @fn_emit(ptr @.str529)
|
|
%t104 = load ptr, ptr %t103
|
|
call void @fn_emit(ptr %t104)
|
|
call void @fn_emit(ptr @.str530)
|
|
%t105 = load ptr, ptr %t85
|
|
%t106 = call ptr @fn_llty(ptr %t105)
|
|
call void @fn_emit(ptr %t106)
|
|
call void @fn_emit(ptr @.str531)
|
|
%t107 = load ptr, ptr %t94
|
|
call void @fn_emit(ptr %t107)
|
|
call void @fn_emit(ptr @.str532)
|
|
%t108 = load ptr, ptr %t101
|
|
%t109 = getelementptr inbounds %Cmp_Val, ptr %t108, i32 0, i32 0
|
|
%t110 = load ptr, ptr %t109
|
|
call void @fn_emit(ptr %t110)
|
|
call void @fn_emit(ptr @.str533)
|
|
%t111 = load ptr, ptr %t103
|
|
store ptr %t111, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t112 = load ptr, ptr %retval
|
|
ret ptr %t112
|
|
}
|
|
|
|
define i32 @fn_is_intrinsic(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t4 = alloca i32
|
|
%t5 = alloca i32
|
|
%t23 = alloca i32
|
|
%t24 = alloca i32
|
|
%t42 = alloca i32
|
|
%t43 = alloca i32
|
|
%t61 = alloca i32
|
|
%t72 = alloca i32
|
|
store ptr %arg_name, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str534)
|
|
%t3 = icmp ne i32 %t2, 0
|
|
br i1 %t3, label %then0, label %ifend2
|
|
then0:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str535)
|
|
%t8 = icmp ne i32 %t7, 0
|
|
%t9 = zext i1 %t8 to i32
|
|
store i32 %t9, ptr %t5
|
|
br i1 %t8, label %scend4, label %sc3
|
|
sc3:
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str536)
|
|
%t12 = icmp ne i32 %t11, 0
|
|
%t13 = zext i1 %t12 to i32
|
|
store i32 %t13, ptr %t5
|
|
br label %scend4
|
|
scend4:
|
|
%t14 = load i32, ptr %t5
|
|
%t15 = icmp ne i32 %t14, 0
|
|
%t16 = zext i1 %t15 to i32
|
|
store i32 %t16, ptr %t4
|
|
br i1 %t15, label %scend6, label %sc5
|
|
sc5:
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str537)
|
|
%t19 = icmp ne i32 %t18, 0
|
|
%t20 = zext i1 %t19 to i32
|
|
store i32 %t20, ptr %t4
|
|
br label %scend6
|
|
scend6:
|
|
%t21 = load i32, ptr %t4
|
|
%t22 = icmp ne i32 %t21, 0
|
|
br i1 %t22, label %then7, label %ifend9
|
|
then7:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend9:
|
|
%t25 = load ptr, ptr %t0
|
|
%t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str538)
|
|
%t27 = icmp ne i32 %t26, 0
|
|
%t28 = zext i1 %t27 to i32
|
|
store i32 %t28, ptr %t24
|
|
br i1 %t27, label %scend11, label %sc10
|
|
sc10:
|
|
%t29 = load ptr, ptr %t0
|
|
%t30 = call i32 @fn_str_eq(ptr %t29, ptr @.str539)
|
|
%t31 = icmp ne i32 %t30, 0
|
|
%t32 = zext i1 %t31 to i32
|
|
store i32 %t32, ptr %t24
|
|
br label %scend11
|
|
scend11:
|
|
%t33 = load i32, ptr %t24
|
|
%t34 = icmp ne i32 %t33, 0
|
|
%t35 = zext i1 %t34 to i32
|
|
store i32 %t35, ptr %t23
|
|
br i1 %t34, label %scend13, label %sc12
|
|
sc12:
|
|
%t36 = load ptr, ptr %t0
|
|
%t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str540)
|
|
%t38 = icmp ne i32 %t37, 0
|
|
%t39 = zext i1 %t38 to i32
|
|
store i32 %t39, ptr %t23
|
|
br label %scend13
|
|
scend13:
|
|
%t40 = load i32, ptr %t23
|
|
%t41 = icmp ne i32 %t40, 0
|
|
br i1 %t41, label %then14, label %ifend16
|
|
then14:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend16:
|
|
%t44 = load ptr, ptr %t0
|
|
%t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str541)
|
|
%t46 = icmp ne i32 %t45, 0
|
|
%t47 = zext i1 %t46 to i32
|
|
store i32 %t47, ptr %t43
|
|
br i1 %t46, label %scend18, label %sc17
|
|
sc17:
|
|
%t48 = load ptr, ptr %t0
|
|
%t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str542)
|
|
%t50 = icmp ne i32 %t49, 0
|
|
%t51 = zext i1 %t50 to i32
|
|
store i32 %t51, ptr %t43
|
|
br label %scend18
|
|
scend18:
|
|
%t52 = load i32, ptr %t43
|
|
%t53 = icmp ne i32 %t52, 0
|
|
%t54 = zext i1 %t53 to i32
|
|
store i32 %t54, ptr %t42
|
|
br i1 %t53, label %scend20, label %sc19
|
|
sc19:
|
|
%t55 = load ptr, ptr %t0
|
|
%t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str543)
|
|
%t57 = icmp ne i32 %t56, 0
|
|
%t58 = zext i1 %t57 to i32
|
|
store i32 %t58, ptr %t42
|
|
br label %scend20
|
|
scend20:
|
|
%t59 = load i32, ptr %t42
|
|
%t60 = icmp ne i32 %t59, 0
|
|
br i1 %t60, label %then21, label %ifend23
|
|
then21:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t62 = load ptr, ptr %t0
|
|
%t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str544)
|
|
%t64 = icmp ne i32 %t63, 0
|
|
%t65 = zext i1 %t64 to i32
|
|
store i32 %t65, ptr %t61
|
|
br i1 %t64, label %scend25, label %sc24
|
|
sc24:
|
|
%t66 = load ptr, ptr %t0
|
|
%t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str545)
|
|
%t68 = icmp ne i32 %t67, 0
|
|
%t69 = zext i1 %t68 to i32
|
|
store i32 %t69, ptr %t61
|
|
br label %scend25
|
|
scend25:
|
|
%t70 = load i32, ptr %t61
|
|
%t71 = icmp ne i32 %t70, 0
|
|
br i1 %t71, label %then26, label %ifend28
|
|
then26:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend28:
|
|
%t73 = load ptr, ptr %t0
|
|
%t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str546)
|
|
%t75 = icmp ne i32 %t74, 0
|
|
%t76 = zext i1 %t75 to i32
|
|
store i32 %t76, ptr %t72
|
|
br i1 %t75, label %scend30, label %sc29
|
|
sc29:
|
|
%t77 = load ptr, ptr %t0
|
|
%t78 = call i32 @fn_str_eq(ptr %t77, ptr @.str547)
|
|
%t79 = icmp ne i32 %t78, 0
|
|
%t80 = zext i1 %t79 to i32
|
|
store i32 %t80, ptr %t72
|
|
br label %scend30
|
|
scend30:
|
|
%t81 = load i32, ptr %t72
|
|
%t82 = icmp ne i32 %t81, 0
|
|
br i1 %t82, label %then31, label %ifend33
|
|
then31:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend33:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t83 = load i32, ptr %retval
|
|
ret i32 %t83
|
|
}
|
|
|
|
define ptr @fn_emit_bind(ptr %arg_rest) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t2 = alloca ptr
|
|
store ptr %arg_rest, ptr %t0
|
|
%t1 = call ptr @fn_nreg()
|
|
store ptr %t1, ptr %t2
|
|
call void @fn_emit(ptr @.str548)
|
|
%t3 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t3)
|
|
call void @fn_emit(ptr @.str549)
|
|
%t4 = load ptr, ptr %t0
|
|
call void @fn_emit(ptr %t4)
|
|
call void @fn_emit(ptr @.str550)
|
|
%t5 = load ptr, ptr %t2
|
|
store ptr %t5, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t6 = load ptr, ptr %retval
|
|
ret ptr %t6
|
|
}
|
|
|
|
define ptr @fn_arg_code(ptr %arg_e, i32 %arg_i) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t11 = alloca ptr
|
|
store ptr %arg_e, ptr %t0
|
|
store i32 %arg_i, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = load i32, ptr %t1
|
|
%t8 = getelementptr inbounds ptr, ptr %t6, i32 %t7
|
|
%t9 = load ptr, ptr %t8
|
|
%t10 = call ptr @fn_emit_expr(ptr %t9)
|
|
store ptr %t10, ptr %t11
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = getelementptr inbounds %Cmp_Val, ptr %t12, i32 0, i32 0
|
|
%t14 = load ptr, ptr %t13
|
|
store ptr %t14, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t15 = load ptr, ptr %retval
|
|
ret ptr %t15
|
|
}
|
|
|
|
define ptr @fn_emit_intrinsic(ptr %arg_name, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t10 = alloca ptr
|
|
%t15 = alloca ptr
|
|
%t29 = alloca ptr
|
|
%t32 = alloca ptr
|
|
%t41 = alloca i32
|
|
%t54 = alloca ptr
|
|
%t57 = alloca ptr
|
|
%t60 = alloca ptr
|
|
%t65 = alloca ptr
|
|
%t66 = alloca ptr
|
|
%t83 = alloca ptr
|
|
%t94 = alloca ptr
|
|
%t97 = alloca ptr
|
|
%t100 = alloca ptr
|
|
%t105 = alloca ptr
|
|
%t122 = alloca ptr
|
|
%t127 = alloca ptr
|
|
%t138 = alloca ptr
|
|
%t151 = alloca ptr
|
|
%t153 = alloca ptr
|
|
%t160 = alloca ptr
|
|
%t170 = alloca ptr
|
|
%t188 = alloca ptr
|
|
%t199 = alloca ptr
|
|
store ptr %arg_name, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
store i32 1, ptr @g_g_intrin_ok
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str551)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = load ptr, ptr %t1
|
|
%t6 = call ptr @fn_arg_code(ptr %t5, i32 0)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = load ptr, ptr %t1
|
|
%t9 = call ptr @fn_arg_code(ptr %t8, i32 1)
|
|
store ptr %t9, ptr %t10
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = call ptr @fn_str_concat(ptr @.str552, ptr %t11)
|
|
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str553)
|
|
%t14 = call ptr @fn_emit_bind(ptr %t13)
|
|
store ptr %t14, ptr %t15
|
|
%t16 = load ptr, ptr %t7
|
|
%t17 = call ptr @fn_str_concat(ptr @.str554, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str555)
|
|
%t19 = load ptr, ptr %t15
|
|
%t20 = call ptr @fn_str_concat(ptr %t18, ptr %t19)
|
|
%t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str556)
|
|
%t22 = call ptr @fn_emit_bind(ptr %t21)
|
|
%t23 = call ptr @fn_val(ptr %t22, ptr @.str557)
|
|
store ptr %t23, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t24 = load ptr, ptr %t0
|
|
%t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str558)
|
|
%t26 = icmp ne i32 %t25, 0
|
|
br i1 %t26, label %then3, label %ifend5
|
|
then3:
|
|
%t27 = load ptr, ptr %t1
|
|
%t28 = call ptr @fn_arg_code(ptr %t27, i32 0)
|
|
store ptr %t28, ptr %t29
|
|
%t30 = load ptr, ptr %t1
|
|
%t31 = call ptr @fn_arg_code(ptr %t30, i32 1)
|
|
store ptr %t31, ptr %t32
|
|
%t33 = load ptr, ptr %t29
|
|
%t34 = call ptr @fn_str_concat(ptr @.str559, ptr %t33)
|
|
%t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str560)
|
|
%t36 = load ptr, ptr %t32
|
|
%t37 = call ptr @fn_str_concat(ptr %t35, ptr %t36)
|
|
%t38 = call ptr @fn_str_concat(ptr %t37, ptr @.str561)
|
|
%t39 = call ptr @fn_emit_bind(ptr %t38)
|
|
%t40 = call ptr @fn_val(ptr %t39, ptr @.str562)
|
|
store ptr %t40, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t42 = load ptr, ptr %t0
|
|
%t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str563)
|
|
%t44 = icmp ne i32 %t43, 0
|
|
%t45 = zext i1 %t44 to i32
|
|
store i32 %t45, ptr %t41
|
|
br i1 %t44, label %scend7, label %sc6
|
|
sc6:
|
|
%t46 = load ptr, ptr %t0
|
|
%t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str564)
|
|
%t48 = icmp ne i32 %t47, 0
|
|
%t49 = zext i1 %t48 to i32
|
|
store i32 %t49, ptr %t41
|
|
br label %scend7
|
|
scend7:
|
|
%t50 = load i32, ptr %t41
|
|
%t51 = icmp ne i32 %t50, 0
|
|
br i1 %t51, label %then8, label %ifend10
|
|
then8:
|
|
%t52 = load ptr, ptr %t1
|
|
%t53 = call ptr @fn_arg_code(ptr %t52, i32 0)
|
|
store ptr %t53, ptr %t54
|
|
%t55 = load ptr, ptr %t1
|
|
%t56 = call ptr @fn_arg_code(ptr %t55, i32 1)
|
|
store ptr %t56, ptr %t57
|
|
%t58 = load ptr, ptr %t1
|
|
%t59 = call ptr @fn_arg_code(ptr %t58, i32 2)
|
|
store ptr %t59, ptr %t60
|
|
%t61 = load ptr, ptr %t60
|
|
%t62 = call ptr @fn_str_concat(ptr @.str565, ptr %t61)
|
|
%t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str566)
|
|
%t64 = call ptr @fn_emit_bind(ptr %t63)
|
|
store ptr %t64, ptr %t65
|
|
store ptr @.str567, ptr %t66
|
|
%t67 = load ptr, ptr %t0
|
|
%t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str568)
|
|
%t69 = icmp ne i32 %t68, 0
|
|
br i1 %t69, label %then11, label %ifend13
|
|
then11:
|
|
store ptr @.str569, ptr %t66
|
|
br label %ifend13
|
|
ifend13:
|
|
%t70 = load ptr, ptr %t66
|
|
%t71 = call ptr @fn_str_concat(ptr @.str570, ptr %t70)
|
|
%t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str571)
|
|
%t73 = load ptr, ptr %t57
|
|
%t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73)
|
|
%t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str572)
|
|
%t76 = load ptr, ptr %t65
|
|
%t77 = call ptr @fn_str_concat(ptr %t75, ptr %t76)
|
|
%t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str573)
|
|
%t79 = load ptr, ptr %t54
|
|
%t80 = call ptr @fn_str_concat(ptr %t78, ptr %t79)
|
|
%t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str574)
|
|
%t82 = call ptr @fn_emit_bind(ptr %t81)
|
|
store ptr %t82, ptr %t83
|
|
%t84 = load ptr, ptr %t83
|
|
%t85 = call ptr @fn_str_concat(ptr @.str575, ptr %t84)
|
|
%t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str576)
|
|
%t87 = call ptr @fn_emit_bind(ptr %t86)
|
|
%t88 = call ptr @fn_val(ptr %t87, ptr @.str577)
|
|
store ptr %t88, ptr %retval
|
|
br label %ret
|
|
ifend10:
|
|
%t89 = load ptr, ptr %t0
|
|
%t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str578)
|
|
%t91 = icmp ne i32 %t90, 0
|
|
br i1 %t91, label %then14, label %ifend16
|
|
then14:
|
|
%t92 = load ptr, ptr %t1
|
|
%t93 = call ptr @fn_arg_code(ptr %t92, i32 0)
|
|
store ptr %t93, ptr %t94
|
|
%t95 = load ptr, ptr %t1
|
|
%t96 = call ptr @fn_arg_code(ptr %t95, i32 1)
|
|
store ptr %t96, ptr %t97
|
|
%t98 = load ptr, ptr %t1
|
|
%t99 = call ptr @fn_arg_code(ptr %t98, i32 2)
|
|
store ptr %t99, ptr %t100
|
|
%t101 = load ptr, ptr %t97
|
|
%t102 = call ptr @fn_str_concat(ptr @.str579, ptr %t101)
|
|
%t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str580)
|
|
%t104 = call ptr @fn_emit_bind(ptr %t103)
|
|
store ptr %t104, ptr %t105
|
|
%t106 = load ptr, ptr %t94
|
|
%t107 = call ptr @fn_str_concat(ptr @.str581, ptr %t106)
|
|
%t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str582)
|
|
%t109 = load ptr, ptr %t105
|
|
%t110 = call ptr @fn_str_concat(ptr %t108, ptr %t109)
|
|
%t111 = call ptr @fn_str_concat(ptr %t110, ptr @.str583)
|
|
%t112 = load ptr, ptr %t100
|
|
%t113 = call ptr @fn_str_concat(ptr %t111, ptr %t112)
|
|
%t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str584)
|
|
%t115 = call ptr @fn_emit_bind(ptr %t114)
|
|
%t116 = call ptr @fn_val(ptr %t115, ptr @.str585)
|
|
store ptr %t116, ptr %retval
|
|
br label %ret
|
|
ifend16:
|
|
%t117 = load ptr, ptr %t0
|
|
%t118 = call i32 @fn_str_eq(ptr %t117, ptr @.str586)
|
|
%t119 = icmp ne i32 %t118, 0
|
|
br i1 %t119, label %then17, label %ifend19
|
|
then17:
|
|
%t120 = load ptr, ptr %t1
|
|
%t121 = call ptr @fn_arg_code(ptr %t120, i32 0)
|
|
store ptr %t121, ptr %t122
|
|
%t123 = load ptr, ptr %t122
|
|
%t124 = call ptr @fn_str_concat(ptr @.str587, ptr %t123)
|
|
%t125 = call ptr @fn_str_concat(ptr %t124, ptr @.str588)
|
|
%t126 = call ptr @fn_emit_bind(ptr %t125)
|
|
store ptr %t126, ptr %t127
|
|
%t128 = load ptr, ptr %t127
|
|
%t129 = call ptr @fn_str_concat(ptr @.str589, ptr %t128)
|
|
%t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str590)
|
|
%t131 = call ptr @fn_emit_bind(ptr %t130)
|
|
%t132 = call ptr @fn_val(ptr %t131, ptr @.str591)
|
|
store ptr %t132, ptr %retval
|
|
br label %ret
|
|
ifend19:
|
|
%t133 = load ptr, ptr %t0
|
|
%t134 = call i32 @fn_str_eq(ptr %t133, ptr @.str592)
|
|
%t135 = icmp ne i32 %t134, 0
|
|
br i1 %t135, label %then20, label %ifend22
|
|
then20:
|
|
%t136 = load ptr, ptr %t1
|
|
%t137 = call ptr @fn_arg_code(ptr %t136, i32 0)
|
|
store ptr %t137, ptr %t138
|
|
call void @fn_emit(ptr @.str593)
|
|
%t139 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t139)
|
|
call void @fn_emit(ptr @.str594)
|
|
%t140 = call ptr @fn_val(ptr @.str595, ptr @.str596)
|
|
store ptr %t140, ptr %retval
|
|
br label %ret
|
|
ifend22:
|
|
%t141 = load ptr, ptr %t0
|
|
%t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str597)
|
|
%t143 = icmp ne i32 %t142, 0
|
|
br i1 %t143, label %then23, label %ifend25
|
|
then23:
|
|
%t144 = call ptr @fn_emit_bind(ptr @.str598)
|
|
%t145 = call ptr @fn_val(ptr %t144, ptr @.str599)
|
|
store ptr %t145, ptr %retval
|
|
br label %ret
|
|
ifend25:
|
|
%t146 = load ptr, ptr %t0
|
|
%t147 = call i32 @fn_str_eq(ptr %t146, ptr @.str600)
|
|
%t148 = icmp ne i32 %t147, 0
|
|
br i1 %t148, label %then26, label %ifend28
|
|
then26:
|
|
%t149 = load ptr, ptr %t1
|
|
%t150 = call ptr @fn_arg_code(ptr %t149, i32 0)
|
|
store ptr %t150, ptr %t151
|
|
%t152 = call ptr @fn_emit_bind(ptr @.str601)
|
|
store ptr %t152, ptr %t153
|
|
%t154 = load ptr, ptr %t153
|
|
%t155 = call ptr @fn_str_concat(ptr @.str602, ptr %t154)
|
|
%t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str603)
|
|
%t157 = load ptr, ptr %t151
|
|
%t158 = call ptr @fn_str_concat(ptr %t156, ptr %t157)
|
|
%t159 = call ptr @fn_emit_bind(ptr %t158)
|
|
store ptr %t159, ptr %t160
|
|
%t161 = load ptr, ptr %t160
|
|
%t162 = call ptr @fn_str_concat(ptr @.str604, ptr %t161)
|
|
%t163 = call ptr @fn_emit_bind(ptr %t162)
|
|
%t164 = call ptr @fn_val(ptr %t163, ptr @.str605)
|
|
store ptr %t164, ptr %retval
|
|
br label %ret
|
|
ifend28:
|
|
%t165 = load ptr, ptr %t0
|
|
%t166 = call i32 @fn_str_eq(ptr %t165, ptr @.str606)
|
|
%t167 = icmp ne i32 %t166, 0
|
|
br i1 %t167, label %then29, label %ifend31
|
|
then29:
|
|
%t168 = load ptr, ptr %t1
|
|
%t169 = call ptr @fn_arg_code(ptr %t168, i32 0)
|
|
store ptr %t169, ptr %t170
|
|
call void @fn_emit(ptr @.str607)
|
|
%t171 = load ptr, ptr %t170
|
|
call void @fn_emit(ptr %t171)
|
|
call void @fn_emit(ptr @.str608)
|
|
call void @fn_emit(ptr @.str609)
|
|
store i32 1, ptr @g_g_term
|
|
%t172 = call ptr @fn_val(ptr @.str610, ptr @.str611)
|
|
store ptr %t172, ptr %retval
|
|
br label %ret
|
|
ifend31:
|
|
%t173 = load ptr, ptr %t0
|
|
%t174 = call i32 @fn_str_eq(ptr %t173, ptr @.str612)
|
|
%t175 = icmp ne i32 %t174, 0
|
|
br i1 %t175, label %then32, label %ifend34
|
|
then32:
|
|
%t176 = call ptr @fn_emit_bind(ptr @.str613)
|
|
%t177 = call ptr @fn_val(ptr %t176, ptr @.str614)
|
|
store ptr %t177, ptr %retval
|
|
br label %ret
|
|
ifend34:
|
|
%t178 = load ptr, ptr %t0
|
|
%t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str615)
|
|
%t180 = icmp ne i32 %t179, 0
|
|
br i1 %t180, label %then35, label %ifend37
|
|
then35:
|
|
%t181 = call ptr @fn_emit_bind(ptr @.str616)
|
|
%t182 = call ptr @fn_val(ptr %t181, ptr @.str617)
|
|
store ptr %t182, ptr %retval
|
|
br label %ret
|
|
ifend37:
|
|
%t183 = load ptr, ptr %t0
|
|
%t184 = call i32 @fn_str_eq(ptr %t183, ptr @.str618)
|
|
%t185 = icmp ne i32 %t184, 0
|
|
br i1 %t185, label %then38, label %ifend40
|
|
then38:
|
|
%t186 = load ptr, ptr %t1
|
|
%t187 = call ptr @fn_arg_code(ptr %t186, i32 0)
|
|
store ptr %t187, ptr %t188
|
|
%t189 = load ptr, ptr %t188
|
|
%t190 = call ptr @fn_str_concat(ptr @.str619, ptr %t189)
|
|
%t191 = call ptr @fn_str_concat(ptr %t190, ptr @.str620)
|
|
%t192 = call ptr @fn_emit_bind(ptr %t191)
|
|
%t193 = call ptr @fn_val(ptr %t192, ptr @.str621)
|
|
store ptr %t193, ptr %retval
|
|
br label %ret
|
|
ifend40:
|
|
%t194 = load ptr, ptr %t0
|
|
%t195 = call i32 @fn_str_eq(ptr %t194, ptr @.str622)
|
|
%t196 = icmp ne i32 %t195, 0
|
|
br i1 %t196, label %then41, label %ifend43
|
|
then41:
|
|
%t197 = load ptr, ptr %t1
|
|
%t198 = call ptr @fn_arg_code(ptr %t197, i32 0)
|
|
store ptr %t198, ptr %t199
|
|
%t200 = load ptr, ptr %t199
|
|
%t201 = call ptr @fn_str_concat(ptr @.str623, ptr %t200)
|
|
%t202 = call ptr @fn_str_concat(ptr %t201, ptr @.str624)
|
|
%t203 = call ptr @fn_emit_bind(ptr %t202)
|
|
%t204 = call ptr @fn_val(ptr %t203, ptr @.str625)
|
|
store ptr %t204, ptr %retval
|
|
br label %ret
|
|
ifend43:
|
|
store i32 0, ptr @g_g_intrin_ok
|
|
%t205 = call ptr @fn_val(ptr @.str626, ptr @.str627)
|
|
store ptr %t205, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t206 = load ptr, ptr %retval
|
|
ret ptr %t206
|
|
}
|
|
|
|
define i32 @fn_is_intrinsic2(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t12 = alloca i32
|
|
%t23 = alloca i32
|
|
%t34 = alloca i32
|
|
%t45 = alloca i32
|
|
%t46 = alloca i32
|
|
%t64 = alloca i32
|
|
store ptr %arg_name, ptr %t0
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str628)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
%t5 = zext i1 %t4 to i32
|
|
store i32 %t5, ptr %t1
|
|
br i1 %t4, label %scend1, label %sc0
|
|
sc0:
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str629)
|
|
%t8 = icmp ne i32 %t7, 0
|
|
%t9 = zext i1 %t8 to i32
|
|
store i32 %t9, ptr %t1
|
|
br label %scend1
|
|
scend1:
|
|
%t10 = load i32, ptr %t1
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %then2, label %ifend4
|
|
then2:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend4:
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str630)
|
|
%t15 = icmp ne i32 %t14, 0
|
|
%t16 = zext i1 %t15 to i32
|
|
store i32 %t16, ptr %t12
|
|
br i1 %t15, label %scend6, label %sc5
|
|
sc5:
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str631)
|
|
%t19 = icmp ne i32 %t18, 0
|
|
%t20 = zext i1 %t19 to i32
|
|
store i32 %t20, ptr %t12
|
|
br label %scend6
|
|
scend6:
|
|
%t21 = load i32, ptr %t12
|
|
%t22 = icmp ne i32 %t21, 0
|
|
br i1 %t22, label %then7, label %ifend9
|
|
then7:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend9:
|
|
%t24 = load ptr, ptr %t0
|
|
%t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str632)
|
|
%t26 = icmp ne i32 %t25, 0
|
|
%t27 = zext i1 %t26 to i32
|
|
store i32 %t27, ptr %t23
|
|
br i1 %t26, label %scend11, label %sc10
|
|
sc10:
|
|
%t28 = load ptr, ptr %t0
|
|
%t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str633)
|
|
%t30 = icmp ne i32 %t29, 0
|
|
%t31 = zext i1 %t30 to i32
|
|
store i32 %t31, ptr %t23
|
|
br label %scend11
|
|
scend11:
|
|
%t32 = load i32, ptr %t23
|
|
%t33 = icmp ne i32 %t32, 0
|
|
br i1 %t33, label %then12, label %ifend14
|
|
then12:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t35 = load ptr, ptr %t0
|
|
%t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str634)
|
|
%t37 = icmp ne i32 %t36, 0
|
|
%t38 = zext i1 %t37 to i32
|
|
store i32 %t38, ptr %t34
|
|
br i1 %t37, label %scend16, label %sc15
|
|
sc15:
|
|
%t39 = load ptr, ptr %t0
|
|
%t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str635)
|
|
%t41 = icmp ne i32 %t40, 0
|
|
%t42 = zext i1 %t41 to i32
|
|
store i32 %t42, ptr %t34
|
|
br label %scend16
|
|
scend16:
|
|
%t43 = load i32, ptr %t34
|
|
%t44 = icmp ne i32 %t43, 0
|
|
br i1 %t44, label %then17, label %ifend19
|
|
then17:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend19:
|
|
%t47 = load ptr, ptr %t0
|
|
%t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str636)
|
|
%t49 = icmp ne i32 %t48, 0
|
|
%t50 = zext i1 %t49 to i32
|
|
store i32 %t50, ptr %t46
|
|
br i1 %t49, label %scend21, label %sc20
|
|
sc20:
|
|
%t51 = load ptr, ptr %t0
|
|
%t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str637)
|
|
%t53 = icmp ne i32 %t52, 0
|
|
%t54 = zext i1 %t53 to i32
|
|
store i32 %t54, ptr %t46
|
|
br label %scend21
|
|
scend21:
|
|
%t55 = load i32, ptr %t46
|
|
%t56 = icmp ne i32 %t55, 0
|
|
%t57 = zext i1 %t56 to i32
|
|
store i32 %t57, ptr %t45
|
|
br i1 %t56, label %scend23, label %sc22
|
|
sc22:
|
|
%t58 = load ptr, ptr %t0
|
|
%t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str638)
|
|
%t60 = icmp ne i32 %t59, 0
|
|
%t61 = zext i1 %t60 to i32
|
|
store i32 %t61, ptr %t45
|
|
br label %scend23
|
|
scend23:
|
|
%t62 = load i32, ptr %t45
|
|
%t63 = icmp ne i32 %t62, 0
|
|
br i1 %t63, label %then24, label %ifend26
|
|
then24:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t65 = load ptr, ptr %t0
|
|
%t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str639)
|
|
%t67 = icmp ne i32 %t66, 0
|
|
%t68 = zext i1 %t67 to i32
|
|
store i32 %t68, ptr %t64
|
|
br i1 %t67, label %scend28, label %sc27
|
|
sc27:
|
|
%t69 = load ptr, ptr %t0
|
|
%t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str640)
|
|
%t71 = icmp ne i32 %t70, 0
|
|
%t72 = zext i1 %t71 to i32
|
|
store i32 %t72, ptr %t64
|
|
br label %scend28
|
|
scend28:
|
|
%t73 = load i32, ptr %t64
|
|
%t74 = icmp ne i32 %t73, 0
|
|
br i1 %t74, label %then29, label %ifend31
|
|
then29:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend31:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t75 = load i32, ptr %retval
|
|
ret i32 %t75
|
|
}
|
|
|
|
define ptr @fn_emit_intrinsic2(ptr %arg_name, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t15 = alloca ptr
|
|
%t18 = alloca ptr
|
|
%t21 = alloca ptr
|
|
%t26 = alloca ptr
|
|
%t36 = alloca ptr
|
|
%t39 = alloca ptr
|
|
%t41 = alloca ptr
|
|
%t63 = alloca ptr
|
|
%t79 = alloca ptr
|
|
%t110 = alloca ptr
|
|
%t113 = alloca ptr
|
|
%t116 = alloca ptr
|
|
%t119 = alloca ptr
|
|
%t130 = alloca ptr
|
|
%t133 = alloca ptr
|
|
%t136 = alloca ptr
|
|
store ptr %arg_name, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str641)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = load ptr, ptr %t1
|
|
%t6 = call ptr @fn_arg_code(ptr %t5, i32 0)
|
|
store ptr %t6, ptr %t7
|
|
call void @fn_emit(ptr @.str642)
|
|
%t8 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t8)
|
|
call void @fn_emit(ptr @.str643)
|
|
%t9 = call ptr @fn_val(ptr @.str644, ptr @.str645)
|
|
store ptr %t9, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str646)
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then3, label %ifend5
|
|
then3:
|
|
%t13 = load ptr, ptr %t1
|
|
%t14 = call ptr @fn_arg_code(ptr %t13, i32 0)
|
|
store ptr %t14, ptr %t15
|
|
%t16 = load ptr, ptr %t1
|
|
%t17 = call ptr @fn_arg_code(ptr %t16, i32 1)
|
|
store ptr %t17, ptr %t18
|
|
%t19 = load ptr, ptr %t1
|
|
%t20 = call ptr @fn_arg_code(ptr %t19, i32 2)
|
|
store ptr %t20, ptr %t21
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = call ptr @fn_str_concat(ptr @.str647, ptr %t22)
|
|
%t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str648)
|
|
%t25 = call ptr @fn_emit_bind(ptr %t24)
|
|
store ptr %t25, ptr %t26
|
|
call void @fn_emit(ptr @.str649)
|
|
%t27 = load ptr, ptr %t15
|
|
call void @fn_emit(ptr %t27)
|
|
call void @fn_emit(ptr @.str650)
|
|
%t28 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t28)
|
|
call void @fn_emit(ptr @.str651)
|
|
%t29 = load ptr, ptr %t26
|
|
call void @fn_emit(ptr %t29)
|
|
call void @fn_emit(ptr @.str652)
|
|
%t30 = call ptr @fn_val(ptr @.str653, ptr @.str654)
|
|
store ptr %t30, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t31 = load ptr, ptr %t0
|
|
%t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str655)
|
|
%t33 = icmp ne i32 %t32, 0
|
|
br i1 %t33, label %then6, label %ifend8
|
|
then6:
|
|
%t34 = load ptr, ptr %t1
|
|
%t35 = call ptr @fn_arg_code(ptr %t34, i32 0)
|
|
store ptr %t35, ptr %t36
|
|
%t37 = load ptr, ptr %t1
|
|
%t38 = call ptr @fn_arg_code(ptr %t37, i32 1)
|
|
store ptr %t38, ptr %t39
|
|
%t40 = call ptr @fn_nreg()
|
|
store ptr %t40, ptr %t41
|
|
call void @fn_emit(ptr @.str656)
|
|
%t42 = load ptr, ptr %t41
|
|
call void @fn_emit(ptr %t42)
|
|
call void @fn_emit(ptr @.str657)
|
|
%t43 = load ptr, ptr %t36
|
|
call void @fn_emit(ptr %t43)
|
|
call void @fn_emit(ptr @.str658)
|
|
%t44 = load ptr, ptr %t39
|
|
call void @fn_emit(ptr %t44)
|
|
call void @fn_emit(ptr @.str659)
|
|
%t45 = load ptr, ptr %t41
|
|
%t46 = call ptr @fn_val(ptr %t45, ptr @.str660)
|
|
store ptr %t46, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t47 = load ptr, ptr %t0
|
|
%t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str661)
|
|
%t49 = icmp ne i32 %t48, 0
|
|
br i1 %t49, label %then9, label %ifend11
|
|
then9:
|
|
%t50 = call ptr @fn_emit_bind(ptr @.str662)
|
|
%t51 = call ptr @fn_val(ptr %t50, ptr @.str663)
|
|
store ptr %t51, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t52 = load ptr, ptr %t0
|
|
%t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str664)
|
|
%t54 = icmp ne i32 %t53, 0
|
|
br i1 %t54, label %then12, label %ifend14
|
|
then12:
|
|
%t55 = load ptr, ptr %t1
|
|
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7
|
|
%t57 = load ptr, ptr %t56
|
|
%t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0
|
|
%t59 = load ptr, ptr %t58
|
|
%t60 = getelementptr inbounds ptr, ptr %t59, i32 0
|
|
%t61 = load ptr, ptr %t60
|
|
%t62 = call ptr @fn_emit_expr(ptr %t61)
|
|
store ptr %t62, ptr %t63
|
|
%t64 = load ptr, ptr %t63
|
|
%t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 0
|
|
%t66 = load ptr, ptr %t65
|
|
%t67 = call ptr @fn_val(ptr %t66, ptr @.str665)
|
|
store ptr %t67, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t68 = load ptr, ptr %t0
|
|
%t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str666)
|
|
%t70 = icmp ne i32 %t69, 0
|
|
br i1 %t70, label %then15, label %ifend17
|
|
then15:
|
|
%t71 = load ptr, ptr %t1
|
|
%t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 7
|
|
%t73 = load ptr, ptr %t72
|
|
%t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0
|
|
%t75 = load ptr, ptr %t74
|
|
%t76 = getelementptr inbounds ptr, ptr %t75, i32 0
|
|
%t77 = load ptr, ptr %t76
|
|
%t78 = call ptr @fn_emit_expr(ptr %t77)
|
|
store ptr %t78, ptr %t79
|
|
%t80 = load ptr, ptr %t79
|
|
%t81 = getelementptr inbounds %Cmp_Val, ptr %t80, i32 0, i32 0
|
|
%t82 = load ptr, ptr %t81
|
|
%t83 = call ptr @fn_val(ptr %t82, ptr @.str667)
|
|
store ptr %t83, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t84 = load ptr, ptr %t0
|
|
%t85 = call i32 @fn_str_eq(ptr %t84, ptr @.str668)
|
|
%t86 = icmp ne i32 %t85, 0
|
|
br i1 %t86, label %then18, label %ifend20
|
|
then18:
|
|
%t87 = load i32, ptr @g_g_windowed
|
|
%t88 = icmp ne i32 %t87, 0
|
|
br i1 %t88, label %then21, label %ifend23
|
|
then21:
|
|
%t89 = call ptr @fn_val(ptr @.str669, ptr @.str670)
|
|
store ptr %t89, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t90 = call ptr @fn_val(ptr @.str671, ptr @.str672)
|
|
store ptr %t90, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t91 = load ptr, ptr %t0
|
|
%t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str673)
|
|
%t93 = icmp ne i32 %t92, 0
|
|
br i1 %t93, label %then24, label %ifend26
|
|
then24:
|
|
%t94 = call ptr @fn_val(ptr @.str674, ptr @.str675)
|
|
store ptr %t94, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t95 = load ptr, ptr %t0
|
|
%t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str676)
|
|
%t97 = icmp ne i32 %t96, 0
|
|
br i1 %t97, label %then27, label %ifend29
|
|
then27:
|
|
%t98 = call ptr @fn_emit_bind(ptr @.str677)
|
|
%t99 = call ptr @fn_val(ptr %t98, ptr @.str678)
|
|
store ptr %t99, ptr %retval
|
|
br label %ret
|
|
ifend29:
|
|
%t100 = load ptr, ptr %t0
|
|
%t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str679)
|
|
%t102 = icmp ne i32 %t101, 0
|
|
br i1 %t102, label %then30, label %ifend32
|
|
then30:
|
|
%t103 = call ptr @fn_emit_bind(ptr @.str680)
|
|
%t104 = call ptr @fn_val(ptr %t103, ptr @.str681)
|
|
store ptr %t104, ptr %retval
|
|
br label %ret
|
|
ifend32:
|
|
%t105 = load ptr, ptr %t0
|
|
%t106 = call i32 @fn_str_eq(ptr %t105, ptr @.str682)
|
|
%t107 = icmp ne i32 %t106, 0
|
|
br i1 %t107, label %then33, label %ifend35
|
|
then33:
|
|
%t108 = load ptr, ptr %t1
|
|
%t109 = call ptr @fn_arg_code(ptr %t108, i32 0)
|
|
store ptr %t109, ptr %t110
|
|
%t111 = load ptr, ptr %t1
|
|
%t112 = call ptr @fn_arg_code(ptr %t111, i32 1)
|
|
store ptr %t112, ptr %t113
|
|
%t114 = load ptr, ptr %t1
|
|
%t115 = call ptr @fn_arg_code(ptr %t114, i32 2)
|
|
store ptr %t115, ptr %t116
|
|
%t117 = load ptr, ptr %t1
|
|
%t118 = call ptr @fn_arg_code(ptr %t117, i32 3)
|
|
store ptr %t118, ptr %t119
|
|
call void @fn_emit(ptr @.str683)
|
|
%t120 = load ptr, ptr %t110
|
|
call void @fn_emit(ptr %t120)
|
|
call void @fn_emit(ptr @.str684)
|
|
%t121 = load ptr, ptr %t113
|
|
call void @fn_emit(ptr %t121)
|
|
call void @fn_emit(ptr @.str685)
|
|
%t122 = load ptr, ptr %t116
|
|
call void @fn_emit(ptr %t122)
|
|
call void @fn_emit(ptr @.str686)
|
|
%t123 = load ptr, ptr %t119
|
|
call void @fn_emit(ptr %t123)
|
|
call void @fn_emit(ptr @.str687)
|
|
%t124 = call ptr @fn_val(ptr @.str688, ptr @.str689)
|
|
store ptr %t124, ptr %retval
|
|
br label %ret
|
|
ifend35:
|
|
%t125 = load ptr, ptr %t0
|
|
%t126 = call i32 @fn_str_eq(ptr %t125, ptr @.str690)
|
|
%t127 = icmp ne i32 %t126, 0
|
|
br i1 %t127, label %then36, label %ifend38
|
|
then36:
|
|
%t128 = load ptr, ptr %t1
|
|
%t129 = call ptr @fn_arg_code(ptr %t128, i32 0)
|
|
store ptr %t129, ptr %t130
|
|
%t131 = load ptr, ptr %t1
|
|
%t132 = call ptr @fn_arg_code(ptr %t131, i32 1)
|
|
store ptr %t132, ptr %t133
|
|
%t134 = load ptr, ptr %t1
|
|
%t135 = call ptr @fn_arg_code(ptr %t134, i32 2)
|
|
store ptr %t135, ptr %t136
|
|
call void @fn_emit(ptr @.str691)
|
|
%t137 = load ptr, ptr %t130
|
|
call void @fn_emit(ptr %t137)
|
|
call void @fn_emit(ptr @.str692)
|
|
%t138 = load ptr, ptr %t133
|
|
call void @fn_emit(ptr %t138)
|
|
call void @fn_emit(ptr @.str693)
|
|
%t139 = load ptr, ptr %t136
|
|
call void @fn_emit(ptr %t139)
|
|
call void @fn_emit(ptr @.str694)
|
|
%t140 = call ptr @fn_val(ptr @.str695, ptr @.str696)
|
|
store ptr %t140, ptr %retval
|
|
br label %ret
|
|
ifend38:
|
|
%t141 = load ptr, ptr %t0
|
|
%t142 = call i32 @fn_str_eq(ptr %t141, ptr @.str697)
|
|
%t143 = icmp ne i32 %t142, 0
|
|
br i1 %t143, label %then39, label %ifend41
|
|
then39:
|
|
call void @fn_emit(ptr @.str698)
|
|
%t144 = call ptr @fn_val(ptr @.str699, ptr @.str700)
|
|
store ptr %t144, ptr %retval
|
|
br label %ret
|
|
ifend41:
|
|
%t145 = call ptr @fn_val(ptr @.str701, ptr @.str702)
|
|
store ptr %t145, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t146 = load ptr, ptr %retval
|
|
ret ptr %t146
|
|
}
|
|
|
|
define i32 @fn_is_math_builtin(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
store ptr %arg_name, ptr %t0
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str703)
|
|
%t6 = icmp ne i32 %t5, 0
|
|
%t7 = zext i1 %t6 to i32
|
|
store i32 %t7, ptr %t3
|
|
br i1 %t6, label %scend1, label %sc0
|
|
sc0:
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str704)
|
|
%t10 = icmp ne i32 %t9, 0
|
|
%t11 = zext i1 %t10 to i32
|
|
store i32 %t11, ptr %t3
|
|
br label %scend1
|
|
scend1:
|
|
%t12 = load i32, ptr %t3
|
|
%t13 = icmp ne i32 %t12, 0
|
|
%t14 = zext i1 %t13 to i32
|
|
store i32 %t14, ptr %t2
|
|
br i1 %t13, label %scend3, label %sc2
|
|
sc2:
|
|
%t15 = load ptr, ptr %t0
|
|
%t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str705)
|
|
%t17 = icmp ne i32 %t16, 0
|
|
%t18 = zext i1 %t17 to i32
|
|
store i32 %t18, ptr %t2
|
|
br label %scend3
|
|
scend3:
|
|
%t19 = load i32, ptr %t2
|
|
%t20 = icmp ne i32 %t19, 0
|
|
%t21 = zext i1 %t20 to i32
|
|
store i32 %t21, ptr %t1
|
|
br i1 %t20, label %scend5, label %sc4
|
|
sc4:
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str706)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
store i32 %t25, ptr %t1
|
|
br label %scend5
|
|
scend5:
|
|
%t26 = load i32, ptr %t1
|
|
store i32 %t26, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t27 = load i32, ptr %retval
|
|
ret i32 %t27
|
|
}
|
|
|
|
define ptr @fn_emit_math_builtin(ptr %arg_name, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t13 = alloca ptr
|
|
%t20 = alloca ptr
|
|
%t26 = alloca ptr
|
|
%t42 = alloca i32
|
|
%t61 = alloca ptr
|
|
%t70 = alloca ptr
|
|
%t71 = alloca ptr
|
|
%t88 = alloca ptr
|
|
%t114 = alloca ptr
|
|
%t123 = alloca ptr
|
|
%t132 = alloca ptr
|
|
%t143 = alloca ptr
|
|
%t157 = alloca ptr
|
|
%t166 = alloca ptr
|
|
store ptr %arg_name, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str707)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = load ptr, ptr %t1
|
|
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
|
|
%t9 = load ptr, ptr %t8
|
|
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = call ptr @fn_emit_expr(ptr %t11)
|
|
store ptr %t12, ptr %t13
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = call ptr @fn_str_concat(ptr @.str708, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str709)
|
|
%t19 = call ptr @fn_emit_bind(ptr %t18)
|
|
store ptr %t19, ptr %t20
|
|
%t21 = load ptr, ptr %t13
|
|
%t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0
|
|
%t23 = load ptr, ptr %t22
|
|
%t24 = call ptr @fn_str_concat(ptr @.str710, ptr %t23)
|
|
%t25 = call ptr @fn_emit_bind(ptr %t24)
|
|
store ptr %t25, ptr %t26
|
|
%t27 = load ptr, ptr %t20
|
|
%t28 = call ptr @fn_str_concat(ptr @.str711, ptr %t27)
|
|
%t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str712)
|
|
%t30 = load ptr, ptr %t26
|
|
%t31 = call ptr @fn_str_concat(ptr %t29, ptr %t30)
|
|
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str713)
|
|
%t33 = load ptr, ptr %t13
|
|
%t34 = getelementptr inbounds %Cmp_Val, ptr %t33, i32 0, i32 0
|
|
%t35 = load ptr, ptr %t34
|
|
%t36 = call ptr @fn_str_concat(ptr %t32, ptr %t35)
|
|
%t37 = call ptr @fn_emit_bind(ptr %t36)
|
|
%t38 = load ptr, ptr %t13
|
|
%t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 1
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = call ptr @fn_val(ptr %t37, ptr %t40)
|
|
store ptr %t41, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t43 = load ptr, ptr %t0
|
|
%t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str714)
|
|
%t45 = icmp ne i32 %t44, 0
|
|
%t46 = zext i1 %t45 to i32
|
|
store i32 %t46, ptr %t42
|
|
br i1 %t45, label %scend4, label %sc3
|
|
sc3:
|
|
%t47 = load ptr, ptr %t0
|
|
%t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str715)
|
|
%t49 = icmp ne i32 %t48, 0
|
|
%t50 = zext i1 %t49 to i32
|
|
store i32 %t50, ptr %t42
|
|
br label %scend4
|
|
scend4:
|
|
%t51 = load i32, ptr %t42
|
|
%t52 = icmp ne i32 %t51, 0
|
|
br i1 %t52, label %then5, label %ifend7
|
|
then5:
|
|
%t53 = load ptr, ptr %t1
|
|
%t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 7
|
|
%t55 = load ptr, ptr %t54
|
|
%t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0
|
|
%t57 = load ptr, ptr %t56
|
|
%t58 = getelementptr inbounds ptr, ptr %t57, i32 0
|
|
%t59 = load ptr, ptr %t58
|
|
%t60 = call ptr @fn_emit_expr(ptr %t59)
|
|
store ptr %t60, ptr %t61
|
|
%t62 = load ptr, ptr %t1
|
|
%t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 7
|
|
%t64 = load ptr, ptr %t63
|
|
%t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0
|
|
%t66 = load ptr, ptr %t65
|
|
%t67 = getelementptr inbounds ptr, ptr %t66, i32 1
|
|
%t68 = load ptr, ptr %t67
|
|
%t69 = call ptr @fn_emit_expr(ptr %t68)
|
|
store ptr %t69, ptr %t70
|
|
store ptr @.str716, ptr %t71
|
|
%t72 = load ptr, ptr %t0
|
|
%t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str717)
|
|
%t74 = icmp ne i32 %t73, 0
|
|
br i1 %t74, label %then8, label %ifend10
|
|
then8:
|
|
store ptr @.str718, ptr %t71
|
|
br label %ifend10
|
|
ifend10:
|
|
%t75 = load ptr, ptr %t71
|
|
%t76 = call ptr @fn_str_concat(ptr @.str719, ptr %t75)
|
|
%t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str720)
|
|
%t78 = load ptr, ptr %t61
|
|
%t79 = getelementptr inbounds %Cmp_Val, ptr %t78, i32 0, i32 0
|
|
%t80 = load ptr, ptr %t79
|
|
%t81 = call ptr @fn_str_concat(ptr %t77, ptr %t80)
|
|
%t82 = call ptr @fn_str_concat(ptr %t81, ptr @.str721)
|
|
%t83 = load ptr, ptr %t70
|
|
%t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0
|
|
%t85 = load ptr, ptr %t84
|
|
%t86 = call ptr @fn_str_concat(ptr %t82, ptr %t85)
|
|
%t87 = call ptr @fn_emit_bind(ptr %t86)
|
|
store ptr %t87, ptr %t88
|
|
%t89 = load ptr, ptr %t88
|
|
%t90 = call ptr @fn_str_concat(ptr @.str722, ptr %t89)
|
|
%t91 = call ptr @fn_str_concat(ptr %t90, ptr @.str723)
|
|
%t92 = load ptr, ptr %t61
|
|
%t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0
|
|
%t94 = load ptr, ptr %t93
|
|
%t95 = call ptr @fn_str_concat(ptr %t91, ptr %t94)
|
|
%t96 = call ptr @fn_str_concat(ptr %t95, ptr @.str724)
|
|
%t97 = load ptr, ptr %t70
|
|
%t98 = getelementptr inbounds %Cmp_Val, ptr %t97, i32 0, i32 0
|
|
%t99 = load ptr, ptr %t98
|
|
%t100 = call ptr @fn_str_concat(ptr %t96, ptr %t99)
|
|
%t101 = call ptr @fn_emit_bind(ptr %t100)
|
|
%t102 = load ptr, ptr %t61
|
|
%t103 = getelementptr inbounds %Cmp_Val, ptr %t102, i32 0, i32 1
|
|
%t104 = load ptr, ptr %t103
|
|
%t105 = call ptr @fn_val(ptr %t101, ptr %t104)
|
|
store ptr %t105, ptr %retval
|
|
br label %ret
|
|
ifend7:
|
|
%t106 = load ptr, ptr %t1
|
|
%t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 7
|
|
%t108 = load ptr, ptr %t107
|
|
%t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0
|
|
%t110 = load ptr, ptr %t109
|
|
%t111 = getelementptr inbounds ptr, ptr %t110, i32 0
|
|
%t112 = load ptr, ptr %t111
|
|
%t113 = call ptr @fn_emit_expr(ptr %t112)
|
|
store ptr %t113, ptr %t114
|
|
%t115 = load ptr, ptr %t1
|
|
%t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 7
|
|
%t117 = load ptr, ptr %t116
|
|
%t118 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 0
|
|
%t119 = load ptr, ptr %t118
|
|
%t120 = getelementptr inbounds ptr, ptr %t119, i32 1
|
|
%t121 = load ptr, ptr %t120
|
|
%t122 = call ptr @fn_emit_expr(ptr %t121)
|
|
store ptr %t122, ptr %t123
|
|
%t124 = load ptr, ptr %t1
|
|
%t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 7
|
|
%t126 = load ptr, ptr %t125
|
|
%t127 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0
|
|
%t128 = load ptr, ptr %t127
|
|
%t129 = getelementptr inbounds ptr, ptr %t128, i32 2
|
|
%t130 = load ptr, ptr %t129
|
|
%t131 = call ptr @fn_emit_expr(ptr %t130)
|
|
store ptr %t131, ptr %t132
|
|
%t133 = load ptr, ptr %t114
|
|
%t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 0
|
|
%t135 = load ptr, ptr %t134
|
|
%t136 = call ptr @fn_str_concat(ptr @.str725, ptr %t135)
|
|
%t137 = call ptr @fn_str_concat(ptr %t136, ptr @.str726)
|
|
%t138 = load ptr, ptr %t132
|
|
%t139 = getelementptr inbounds %Cmp_Val, ptr %t138, i32 0, i32 0
|
|
%t140 = load ptr, ptr %t139
|
|
%t141 = call ptr @fn_str_concat(ptr %t137, ptr %t140)
|
|
%t142 = call ptr @fn_emit_bind(ptr %t141)
|
|
store ptr %t142, ptr %t143
|
|
%t144 = load ptr, ptr %t143
|
|
%t145 = call ptr @fn_str_concat(ptr @.str727, ptr %t144)
|
|
%t146 = call ptr @fn_str_concat(ptr %t145, ptr @.str728)
|
|
%t147 = load ptr, ptr %t114
|
|
%t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0
|
|
%t149 = load ptr, ptr %t148
|
|
%t150 = call ptr @fn_str_concat(ptr %t146, ptr %t149)
|
|
%t151 = call ptr @fn_str_concat(ptr %t150, ptr @.str729)
|
|
%t152 = load ptr, ptr %t132
|
|
%t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0
|
|
%t154 = load ptr, ptr %t153
|
|
%t155 = call ptr @fn_str_concat(ptr %t151, ptr %t154)
|
|
%t156 = call ptr @fn_emit_bind(ptr %t155)
|
|
store ptr %t156, ptr %t157
|
|
%t158 = load ptr, ptr %t123
|
|
%t159 = getelementptr inbounds %Cmp_Val, ptr %t158, i32 0, i32 0
|
|
%t160 = load ptr, ptr %t159
|
|
%t161 = call ptr @fn_str_concat(ptr @.str730, ptr %t160)
|
|
%t162 = call ptr @fn_str_concat(ptr %t161, ptr @.str731)
|
|
%t163 = load ptr, ptr %t157
|
|
%t164 = call ptr @fn_str_concat(ptr %t162, ptr %t163)
|
|
%t165 = call ptr @fn_emit_bind(ptr %t164)
|
|
store ptr %t165, ptr %t166
|
|
%t167 = load ptr, ptr %t166
|
|
%t168 = call ptr @fn_str_concat(ptr @.str732, ptr %t167)
|
|
%t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str733)
|
|
%t170 = load ptr, ptr %t123
|
|
%t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0
|
|
%t172 = load ptr, ptr %t171
|
|
%t173 = call ptr @fn_str_concat(ptr %t169, ptr %t172)
|
|
%t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str734)
|
|
%t175 = load ptr, ptr %t157
|
|
%t176 = call ptr @fn_str_concat(ptr %t174, ptr %t175)
|
|
%t177 = call ptr @fn_emit_bind(ptr %t176)
|
|
%t178 = load ptr, ptr %t114
|
|
%t179 = getelementptr inbounds %Cmp_Val, ptr %t178, i32 0, i32 1
|
|
%t180 = load ptr, ptr %t179
|
|
%t181 = call ptr @fn_val(ptr %t177, ptr %t180)
|
|
store ptr %t181, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t182 = load ptr, ptr %retval
|
|
ret ptr %t182
|
|
}
|
|
|
|
define ptr @fn_fx_mul_code(ptr %arg_a, ptr %arg_b) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t6 = alloca ptr
|
|
%t11 = alloca ptr
|
|
%t18 = alloca ptr
|
|
%t23 = alloca ptr
|
|
store ptr %arg_a, ptr %t0
|
|
store ptr %arg_b, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call ptr @fn_str_concat(ptr @.str735, ptr %t2)
|
|
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str736)
|
|
%t5 = call ptr @fn_emit_bind(ptr %t4)
|
|
store ptr %t5, ptr %t6
|
|
%t7 = load ptr, ptr %t1
|
|
%t8 = call ptr @fn_str_concat(ptr @.str737, ptr %t7)
|
|
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str738)
|
|
%t10 = call ptr @fn_emit_bind(ptr %t9)
|
|
store ptr %t10, ptr %t11
|
|
%t12 = load ptr, ptr %t6
|
|
%t13 = call ptr @fn_str_concat(ptr @.str739, ptr %t12)
|
|
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str740)
|
|
%t15 = load ptr, ptr %t11
|
|
%t16 = call ptr @fn_str_concat(ptr %t14, ptr %t15)
|
|
%t17 = call ptr @fn_emit_bind(ptr %t16)
|
|
store ptr %t17, ptr %t18
|
|
%t19 = load ptr, ptr %t18
|
|
%t20 = call ptr @fn_str_concat(ptr @.str741, ptr %t19)
|
|
%t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str742)
|
|
%t22 = call ptr @fn_emit_bind(ptr %t21)
|
|
store ptr %t22, ptr %t23
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = call ptr @fn_str_concat(ptr @.str743, ptr %t24)
|
|
%t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str744)
|
|
%t27 = call ptr @fn_emit_bind(ptr %t26)
|
|
store ptr %t27, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t28 = load ptr, ptr %retval
|
|
ret ptr %t28
|
|
}
|
|
|
|
define ptr @fn_fx_div_code(ptr %arg_a, ptr %arg_b) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t6 = alloca ptr
|
|
%t11 = alloca ptr
|
|
%t16 = alloca ptr
|
|
%t23 = alloca ptr
|
|
store ptr %arg_a, ptr %t0
|
|
store ptr %arg_b, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call ptr @fn_str_concat(ptr @.str745, ptr %t2)
|
|
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str746)
|
|
%t5 = call ptr @fn_emit_bind(ptr %t4)
|
|
store ptr %t5, ptr %t6
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = call ptr @fn_str_concat(ptr @.str747, ptr %t7)
|
|
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str748)
|
|
%t10 = call ptr @fn_emit_bind(ptr %t9)
|
|
store ptr %t10, ptr %t11
|
|
%t12 = load ptr, ptr %t1
|
|
%t13 = call ptr @fn_str_concat(ptr @.str749, ptr %t12)
|
|
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str750)
|
|
%t15 = call ptr @fn_emit_bind(ptr %t14)
|
|
store ptr %t15, ptr %t16
|
|
%t17 = load ptr, ptr %t11
|
|
%t18 = call ptr @fn_str_concat(ptr @.str751, ptr %t17)
|
|
%t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str752)
|
|
%t20 = load ptr, ptr %t16
|
|
%t21 = call ptr @fn_str_concat(ptr %t19, ptr %t20)
|
|
%t22 = call ptr @fn_emit_bind(ptr %t21)
|
|
store ptr %t22, ptr %t23
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = call ptr @fn_str_concat(ptr @.str753, ptr %t24)
|
|
%t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str754)
|
|
%t27 = call ptr @fn_emit_bind(ptr %t26)
|
|
store ptr %t27, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t28 = load ptr, ptr %retval
|
|
ret ptr %t28
|
|
}
|
|
|
|
define ptr @fn_fx_lerp_code(ptr %arg_a, ptr %arg_b, ptr %arg_t) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t9 = alloca ptr
|
|
%t13 = alloca ptr
|
|
store ptr %arg_a, ptr %t0
|
|
store ptr %arg_b, ptr %t1
|
|
store ptr %arg_t, ptr %t2
|
|
%t3 = load ptr, ptr %t1
|
|
%t4 = call ptr @fn_str_concat(ptr @.str755, ptr %t3)
|
|
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str756)
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
|
|
%t8 = call ptr @fn_emit_bind(ptr %t7)
|
|
store ptr %t8, ptr %t9
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = load ptr, ptr %t2
|
|
%t12 = call ptr @fn_fx_mul_code(ptr %t10, ptr %t11)
|
|
store ptr %t12, ptr %t13
|
|
%t14 = load ptr, ptr %t0
|
|
%t15 = call ptr @fn_str_concat(ptr @.str757, ptr %t14)
|
|
%t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str758)
|
|
%t17 = load ptr, ptr %t13
|
|
%t18 = call ptr @fn_str_concat(ptr %t16, ptr %t17)
|
|
%t19 = call ptr @fn_emit_bind(ptr %t18)
|
|
store ptr %t19, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t20 = load ptr, ptr %retval
|
|
ret ptr %t20
|
|
}
|
|
|
|
define ptr @fn_fx_inv_lerp_code(ptr %arg_a, ptr %arg_b, ptr %arg_v) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t9 = alloca ptr
|
|
%t16 = alloca ptr
|
|
store ptr %arg_a, ptr %t0
|
|
store ptr %arg_b, ptr %t1
|
|
store ptr %arg_v, ptr %t2
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = call ptr @fn_str_concat(ptr @.str759, ptr %t3)
|
|
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str760)
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
|
|
%t8 = call ptr @fn_emit_bind(ptr %t7)
|
|
store ptr %t8, ptr %t9
|
|
%t10 = load ptr, ptr %t1
|
|
%t11 = call ptr @fn_str_concat(ptr @.str761, ptr %t10)
|
|
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str762)
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
|
|
%t15 = call ptr @fn_emit_bind(ptr %t14)
|
|
store ptr %t15, ptr %t16
|
|
%t17 = load ptr, ptr %t9
|
|
%t18 = load ptr, ptr %t16
|
|
%t19 = call ptr @fn_fx_div_code(ptr %t17, ptr %t18)
|
|
store ptr %t19, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t20 = load ptr, ptr %retval
|
|
ret ptr %t20
|
|
}
|
|
|
|
define i32 @fn_is_math_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
%t28 = alloca i32
|
|
%t29 = alloca i32
|
|
%t30 = alloca i32
|
|
%t55 = alloca i32
|
|
%t56 = alloca i32
|
|
%t74 = alloca i32
|
|
%t75 = alloca i32
|
|
%t76 = alloca i32
|
|
%t77 = alloca i32
|
|
%t109 = alloca i32
|
|
%t110 = alloca i32
|
|
%t128 = alloca i32
|
|
%t129 = alloca i32
|
|
%t130 = alloca i32
|
|
%t155 = alloca i32
|
|
%t156 = alloca i32
|
|
%t157 = alloca i32
|
|
%t182 = alloca i32
|
|
%t193 = alloca i32
|
|
%t194 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str763)
|
|
%t6 = icmp ne i32 %t5, 0
|
|
%t7 = zext i1 %t6 to i32
|
|
store i32 %t7, ptr %t3
|
|
br i1 %t6, label %scend1, label %sc0
|
|
sc0:
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str764)
|
|
%t10 = icmp ne i32 %t9, 0
|
|
%t11 = zext i1 %t10 to i32
|
|
store i32 %t11, ptr %t3
|
|
br label %scend1
|
|
scend1:
|
|
%t12 = load i32, ptr %t3
|
|
%t13 = icmp ne i32 %t12, 0
|
|
%t14 = zext i1 %t13 to i32
|
|
store i32 %t14, ptr %t2
|
|
br i1 %t13, label %scend3, label %sc2
|
|
sc2:
|
|
%t15 = load ptr, ptr %t0
|
|
%t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str765)
|
|
%t17 = icmp ne i32 %t16, 0
|
|
%t18 = zext i1 %t17 to i32
|
|
store i32 %t18, ptr %t2
|
|
br label %scend3
|
|
scend3:
|
|
%t19 = load i32, ptr %t2
|
|
%t20 = icmp ne i32 %t19, 0
|
|
%t21 = zext i1 %t20 to i32
|
|
store i32 %t21, ptr %t1
|
|
br i1 %t20, label %scend5, label %sc4
|
|
sc4:
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str766)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
store i32 %t25, ptr %t1
|
|
br label %scend5
|
|
scend5:
|
|
%t26 = load i32, ptr %t1
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then6, label %ifend8
|
|
then6:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t31 = load ptr, ptr %t0
|
|
%t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str767)
|
|
%t33 = icmp ne i32 %t32, 0
|
|
%t34 = zext i1 %t33 to i32
|
|
store i32 %t34, ptr %t30
|
|
br i1 %t33, label %scend10, label %sc9
|
|
sc9:
|
|
%t35 = load ptr, ptr %t0
|
|
%t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str768)
|
|
%t37 = icmp ne i32 %t36, 0
|
|
%t38 = zext i1 %t37 to i32
|
|
store i32 %t38, ptr %t30
|
|
br label %scend10
|
|
scend10:
|
|
%t39 = load i32, ptr %t30
|
|
%t40 = icmp ne i32 %t39, 0
|
|
%t41 = zext i1 %t40 to i32
|
|
store i32 %t41, ptr %t29
|
|
br i1 %t40, label %scend12, label %sc11
|
|
sc11:
|
|
%t42 = load ptr, ptr %t0
|
|
%t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str769)
|
|
%t44 = icmp ne i32 %t43, 0
|
|
%t45 = zext i1 %t44 to i32
|
|
store i32 %t45, ptr %t29
|
|
br label %scend12
|
|
scend12:
|
|
%t46 = load i32, ptr %t29
|
|
%t47 = icmp ne i32 %t46, 0
|
|
%t48 = zext i1 %t47 to i32
|
|
store i32 %t48, ptr %t28
|
|
br i1 %t47, label %scend14, label %sc13
|
|
sc13:
|
|
%t49 = load ptr, ptr %t0
|
|
%t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str770)
|
|
%t51 = icmp ne i32 %t50, 0
|
|
%t52 = zext i1 %t51 to i32
|
|
store i32 %t52, ptr %t28
|
|
br label %scend14
|
|
scend14:
|
|
%t53 = load i32, ptr %t28
|
|
%t54 = icmp ne i32 %t53, 0
|
|
br i1 %t54, label %then15, label %ifend17
|
|
then15:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t57 = load ptr, ptr %t0
|
|
%t58 = call i32 @fn_str_eq(ptr %t57, ptr @.str771)
|
|
%t59 = icmp ne i32 %t58, 0
|
|
%t60 = zext i1 %t59 to i32
|
|
store i32 %t60, ptr %t56
|
|
br i1 %t59, label %scend19, label %sc18
|
|
sc18:
|
|
%t61 = load ptr, ptr %t0
|
|
%t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str772)
|
|
%t63 = icmp ne i32 %t62, 0
|
|
%t64 = zext i1 %t63 to i32
|
|
store i32 %t64, ptr %t56
|
|
br label %scend19
|
|
scend19:
|
|
%t65 = load i32, ptr %t56
|
|
%t66 = icmp ne i32 %t65, 0
|
|
%t67 = zext i1 %t66 to i32
|
|
store i32 %t67, ptr %t55
|
|
br i1 %t66, label %scend21, label %sc20
|
|
sc20:
|
|
%t68 = load ptr, ptr %t0
|
|
%t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str773)
|
|
%t70 = icmp ne i32 %t69, 0
|
|
%t71 = zext i1 %t70 to i32
|
|
store i32 %t71, ptr %t55
|
|
br label %scend21
|
|
scend21:
|
|
%t72 = load i32, ptr %t55
|
|
%t73 = icmp ne i32 %t72, 0
|
|
br i1 %t73, label %then22, label %ifend24
|
|
then22:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend24:
|
|
%t78 = load ptr, ptr %t0
|
|
%t79 = call i32 @fn_str_eq(ptr %t78, ptr @.str774)
|
|
%t80 = icmp ne i32 %t79, 0
|
|
%t81 = zext i1 %t80 to i32
|
|
store i32 %t81, ptr %t77
|
|
br i1 %t80, label %scend26, label %sc25
|
|
sc25:
|
|
%t82 = load ptr, ptr %t0
|
|
%t83 = call i32 @fn_str_eq(ptr %t82, ptr @.str775)
|
|
%t84 = icmp ne i32 %t83, 0
|
|
%t85 = zext i1 %t84 to i32
|
|
store i32 %t85, ptr %t77
|
|
br label %scend26
|
|
scend26:
|
|
%t86 = load i32, ptr %t77
|
|
%t87 = icmp ne i32 %t86, 0
|
|
%t88 = zext i1 %t87 to i32
|
|
store i32 %t88, ptr %t76
|
|
br i1 %t87, label %scend28, label %sc27
|
|
sc27:
|
|
%t89 = load ptr, ptr %t0
|
|
%t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str776)
|
|
%t91 = icmp ne i32 %t90, 0
|
|
%t92 = zext i1 %t91 to i32
|
|
store i32 %t92, ptr %t76
|
|
br label %scend28
|
|
scend28:
|
|
%t93 = load i32, ptr %t76
|
|
%t94 = icmp ne i32 %t93, 0
|
|
%t95 = zext i1 %t94 to i32
|
|
store i32 %t95, ptr %t75
|
|
br i1 %t94, label %scend30, label %sc29
|
|
sc29:
|
|
%t96 = load ptr, ptr %t0
|
|
%t97 = call i32 @fn_str_eq(ptr %t96, ptr @.str777)
|
|
%t98 = icmp ne i32 %t97, 0
|
|
%t99 = zext i1 %t98 to i32
|
|
store i32 %t99, ptr %t75
|
|
br label %scend30
|
|
scend30:
|
|
%t100 = load i32, ptr %t75
|
|
%t101 = icmp ne i32 %t100, 0
|
|
%t102 = zext i1 %t101 to i32
|
|
store i32 %t102, ptr %t74
|
|
br i1 %t101, label %scend32, label %sc31
|
|
sc31:
|
|
%t103 = load ptr, ptr %t0
|
|
%t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str778)
|
|
%t105 = icmp ne i32 %t104, 0
|
|
%t106 = zext i1 %t105 to i32
|
|
store i32 %t106, ptr %t74
|
|
br label %scend32
|
|
scend32:
|
|
%t107 = load i32, ptr %t74
|
|
%t108 = icmp ne i32 %t107, 0
|
|
br i1 %t108, label %then33, label %ifend35
|
|
then33:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend35:
|
|
%t111 = load ptr, ptr %t0
|
|
%t112 = call i32 @fn_str_eq(ptr %t111, ptr @.str779)
|
|
%t113 = icmp ne i32 %t112, 0
|
|
%t114 = zext i1 %t113 to i32
|
|
store i32 %t114, ptr %t110
|
|
br i1 %t113, label %scend37, label %sc36
|
|
sc36:
|
|
%t115 = load ptr, ptr %t0
|
|
%t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str780)
|
|
%t117 = icmp ne i32 %t116, 0
|
|
%t118 = zext i1 %t117 to i32
|
|
store i32 %t118, ptr %t110
|
|
br label %scend37
|
|
scend37:
|
|
%t119 = load i32, ptr %t110
|
|
%t120 = icmp ne i32 %t119, 0
|
|
%t121 = zext i1 %t120 to i32
|
|
store i32 %t121, ptr %t109
|
|
br i1 %t120, label %scend39, label %sc38
|
|
sc38:
|
|
%t122 = load ptr, ptr %t0
|
|
%t123 = call i32 @fn_str_eq(ptr %t122, ptr @.str781)
|
|
%t124 = icmp ne i32 %t123, 0
|
|
%t125 = zext i1 %t124 to i32
|
|
store i32 %t125, ptr %t109
|
|
br label %scend39
|
|
scend39:
|
|
%t126 = load i32, ptr %t109
|
|
%t127 = icmp ne i32 %t126, 0
|
|
br i1 %t127, label %then40, label %ifend42
|
|
then40:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend42:
|
|
%t131 = load ptr, ptr %t0
|
|
%t132 = call i32 @fn_str_eq(ptr %t131, ptr @.str782)
|
|
%t133 = icmp ne i32 %t132, 0
|
|
%t134 = zext i1 %t133 to i32
|
|
store i32 %t134, ptr %t130
|
|
br i1 %t133, label %scend44, label %sc43
|
|
sc43:
|
|
%t135 = load ptr, ptr %t0
|
|
%t136 = call i32 @fn_str_eq(ptr %t135, ptr @.str783)
|
|
%t137 = icmp ne i32 %t136, 0
|
|
%t138 = zext i1 %t137 to i32
|
|
store i32 %t138, ptr %t130
|
|
br label %scend44
|
|
scend44:
|
|
%t139 = load i32, ptr %t130
|
|
%t140 = icmp ne i32 %t139, 0
|
|
%t141 = zext i1 %t140 to i32
|
|
store i32 %t141, ptr %t129
|
|
br i1 %t140, label %scend46, label %sc45
|
|
sc45:
|
|
%t142 = load ptr, ptr %t0
|
|
%t143 = call i32 @fn_str_eq(ptr %t142, ptr @.str784)
|
|
%t144 = icmp ne i32 %t143, 0
|
|
%t145 = zext i1 %t144 to i32
|
|
store i32 %t145, ptr %t129
|
|
br label %scend46
|
|
scend46:
|
|
%t146 = load i32, ptr %t129
|
|
%t147 = icmp ne i32 %t146, 0
|
|
%t148 = zext i1 %t147 to i32
|
|
store i32 %t148, ptr %t128
|
|
br i1 %t147, label %scend48, label %sc47
|
|
sc47:
|
|
%t149 = load ptr, ptr %t0
|
|
%t150 = call i32 @fn_str_eq(ptr %t149, ptr @.str785)
|
|
%t151 = icmp ne i32 %t150, 0
|
|
%t152 = zext i1 %t151 to i32
|
|
store i32 %t152, ptr %t128
|
|
br label %scend48
|
|
scend48:
|
|
%t153 = load i32, ptr %t128
|
|
%t154 = icmp ne i32 %t153, 0
|
|
br i1 %t154, label %then49, label %ifend51
|
|
then49:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend51:
|
|
%t158 = load ptr, ptr %t0
|
|
%t159 = call i32 @fn_str_eq(ptr %t158, ptr @.str786)
|
|
%t160 = icmp ne i32 %t159, 0
|
|
%t161 = zext i1 %t160 to i32
|
|
store i32 %t161, ptr %t157
|
|
br i1 %t160, label %scend53, label %sc52
|
|
sc52:
|
|
%t162 = load ptr, ptr %t0
|
|
%t163 = call i32 @fn_str_eq(ptr %t162, ptr @.str787)
|
|
%t164 = icmp ne i32 %t163, 0
|
|
%t165 = zext i1 %t164 to i32
|
|
store i32 %t165, ptr %t157
|
|
br label %scend53
|
|
scend53:
|
|
%t166 = load i32, ptr %t157
|
|
%t167 = icmp ne i32 %t166, 0
|
|
%t168 = zext i1 %t167 to i32
|
|
store i32 %t168, ptr %t156
|
|
br i1 %t167, label %scend55, label %sc54
|
|
sc54:
|
|
%t169 = load ptr, ptr %t0
|
|
%t170 = call i32 @fn_str_eq(ptr %t169, ptr @.str788)
|
|
%t171 = icmp ne i32 %t170, 0
|
|
%t172 = zext i1 %t171 to i32
|
|
store i32 %t172, ptr %t156
|
|
br label %scend55
|
|
scend55:
|
|
%t173 = load i32, ptr %t156
|
|
%t174 = icmp ne i32 %t173, 0
|
|
%t175 = zext i1 %t174 to i32
|
|
store i32 %t175, ptr %t155
|
|
br i1 %t174, label %scend57, label %sc56
|
|
sc56:
|
|
%t176 = load ptr, ptr %t0
|
|
%t177 = call i32 @fn_str_eq(ptr %t176, ptr @.str789)
|
|
%t178 = icmp ne i32 %t177, 0
|
|
%t179 = zext i1 %t178 to i32
|
|
store i32 %t179, ptr %t155
|
|
br label %scend57
|
|
scend57:
|
|
%t180 = load i32, ptr %t155
|
|
%t181 = icmp ne i32 %t180, 0
|
|
br i1 %t181, label %then58, label %ifend60
|
|
then58:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend60:
|
|
%t183 = load ptr, ptr %t0
|
|
%t184 = call i32 @fn_str_eq(ptr %t183, ptr @.str790)
|
|
%t185 = icmp ne i32 %t184, 0
|
|
%t186 = zext i1 %t185 to i32
|
|
store i32 %t186, ptr %t182
|
|
br i1 %t185, label %scend62, label %sc61
|
|
sc61:
|
|
%t187 = load ptr, ptr %t0
|
|
%t188 = call i32 @fn_str_eq(ptr %t187, ptr @.str791)
|
|
%t189 = icmp ne i32 %t188, 0
|
|
%t190 = zext i1 %t189 to i32
|
|
store i32 %t190, ptr %t182
|
|
br label %scend62
|
|
scend62:
|
|
%t191 = load i32, ptr %t182
|
|
%t192 = icmp ne i32 %t191, 0
|
|
br i1 %t192, label %then63, label %ifend65
|
|
then63:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend65:
|
|
%t195 = load ptr, ptr %t0
|
|
%t196 = call i32 @fn_str_eq(ptr %t195, ptr @.str792)
|
|
%t197 = icmp ne i32 %t196, 0
|
|
%t198 = zext i1 %t197 to i32
|
|
store i32 %t198, ptr %t194
|
|
br i1 %t197, label %scend67, label %sc66
|
|
sc66:
|
|
%t199 = load ptr, ptr %t0
|
|
%t200 = call i32 @fn_str_eq(ptr %t199, ptr @.str793)
|
|
%t201 = icmp ne i32 %t200, 0
|
|
%t202 = zext i1 %t201 to i32
|
|
store i32 %t202, ptr %t194
|
|
br label %scend67
|
|
scend67:
|
|
%t203 = load i32, ptr %t194
|
|
%t204 = icmp ne i32 %t203, 0
|
|
%t205 = zext i1 %t204 to i32
|
|
store i32 %t205, ptr %t193
|
|
br i1 %t204, label %scend69, label %sc68
|
|
sc68:
|
|
%t206 = load ptr, ptr %t0
|
|
%t207 = call i32 @fn_str_eq(ptr %t206, ptr @.str794)
|
|
%t208 = icmp ne i32 %t207, 0
|
|
%t209 = zext i1 %t208 to i32
|
|
store i32 %t209, ptr %t193
|
|
br label %scend69
|
|
scend69:
|
|
%t210 = load i32, ptr %t193
|
|
%t211 = icmp ne i32 %t210, 0
|
|
br i1 %t211, label %then70, label %ifend72
|
|
then70:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend72:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t212 = load i32, ptr %retval
|
|
ret i32 %t212
|
|
}
|
|
|
|
define ptr @fn_emit_math_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
%t4 = alloca i32
|
|
%t43 = alloca ptr
|
|
%t50 = alloca ptr
|
|
%t57 = alloca ptr
|
|
%t62 = alloca ptr
|
|
%t81 = alloca ptr
|
|
%t100 = alloca ptr
|
|
%t107 = alloca ptr
|
|
%t124 = alloca ptr
|
|
%t131 = alloca ptr
|
|
%t148 = alloca ptr
|
|
%t157 = alloca ptr
|
|
%t166 = alloca ptr
|
|
%t189 = alloca ptr
|
|
%t198 = alloca ptr
|
|
%t207 = alloca ptr
|
|
%t230 = alloca ptr
|
|
%t249 = alloca ptr
|
|
%t268 = alloca ptr
|
|
%t275 = alloca ptr
|
|
%t292 = alloca ptr
|
|
%t299 = alloca ptr
|
|
%t306 = alloca ptr
|
|
%t311 = alloca ptr
|
|
%t327 = alloca ptr
|
|
%t336 = alloca ptr
|
|
%t360 = alloca ptr
|
|
%t368 = alloca ptr
|
|
%t372 = alloca ptr
|
|
%t377 = alloca ptr
|
|
%t399 = alloca ptr
|
|
%t407 = alloca ptr
|
|
%t411 = alloca ptr
|
|
%t416 = alloca ptr
|
|
%t438 = alloca ptr
|
|
%t447 = alloca ptr
|
|
%t455 = alloca ptr
|
|
%t463 = alloca ptr
|
|
%t470 = alloca ptr
|
|
%t487 = alloca ptr
|
|
%t496 = alloca ptr
|
|
%t505 = alloca ptr
|
|
%t514 = alloca ptr
|
|
%t525 = alloca ptr
|
|
%t536 = alloca ptr
|
|
%t540 = alloca ptr
|
|
%t544 = alloca ptr
|
|
%t563 = alloca ptr
|
|
%t572 = alloca ptr
|
|
%t581 = alloca ptr
|
|
%t590 = alloca ptr
|
|
%t601 = alloca ptr
|
|
%t612 = alloca ptr
|
|
%t616 = alloca ptr
|
|
%t620 = alloca ptr
|
|
%t627 = alloca ptr
|
|
%t644 = alloca ptr
|
|
%t649 = alloca ptr
|
|
%t666 = alloca ptr
|
|
%t673 = alloca ptr
|
|
%t688 = alloca ptr
|
|
%t697 = alloca ptr
|
|
%t704 = alloca ptr
|
|
%t710 = alloca ptr
|
|
%t727 = alloca ptr
|
|
%t744 = alloca ptr
|
|
%t761 = alloca ptr
|
|
%t770 = alloca ptr
|
|
%t781 = alloca ptr
|
|
%t790 = alloca ptr
|
|
%t811 = alloca ptr
|
|
%t820 = alloca ptr
|
|
%t829 = alloca ptr
|
|
%t840 = alloca ptr
|
|
%t851 = alloca ptr
|
|
%t858 = alloca ptr
|
|
%t865 = alloca ptr
|
|
%t872 = alloca ptr
|
|
%t893 = alloca ptr
|
|
%t902 = alloca ptr
|
|
%t909 = alloca ptr
|
|
%t918 = alloca ptr
|
|
%t925 = alloca ptr
|
|
%t932 = alloca ptr
|
|
%t941 = alloca ptr
|
|
%t945 = alloca ptr
|
|
%t950 = alloca ptr
|
|
%t960 = alloca ptr
|
|
%t981 = alloca ptr
|
|
%t990 = alloca ptr
|
|
%t998 = alloca ptr
|
|
%t1003 = alloca ptr
|
|
%t1008 = alloca ptr
|
|
%t1029 = alloca ptr
|
|
%t1038 = alloca ptr
|
|
%t1047 = alloca ptr
|
|
%t1058 = alloca ptr
|
|
%t1062 = alloca ptr
|
|
%t1067 = alloca ptr
|
|
%t1077 = alloca ptr
|
|
%t1082 = alloca ptr
|
|
%t1087 = alloca ptr
|
|
%t1092 = alloca ptr
|
|
%t1099 = alloca ptr
|
|
%t1108 = alloca ptr
|
|
%t1117 = alloca ptr
|
|
%t1126 = alloca ptr
|
|
%t1150 = alloca ptr
|
|
%t1159 = alloca ptr
|
|
%t1168 = alloca ptr
|
|
%t1179 = alloca ptr
|
|
%t1184 = alloca ptr
|
|
%t1191 = alloca ptr
|
|
%t1196 = alloca ptr
|
|
%t1203 = alloca ptr
|
|
%t1208 = alloca ptr
|
|
%t1212 = alloca ptr
|
|
%t1216 = alloca ptr
|
|
%t1229 = alloca ptr
|
|
%t1238 = alloca ptr
|
|
%t1247 = alloca ptr
|
|
%t1256 = alloca ptr
|
|
%t1265 = alloca ptr
|
|
%t1276 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
%t5 = load ptr, ptr %t0
|
|
%t6 = call i32 @fn_str_eq(ptr %t5, ptr @.str795)
|
|
%t7 = icmp ne i32 %t6, 0
|
|
%t8 = zext i1 %t7 to i32
|
|
store i32 %t8, ptr %t4
|
|
br i1 %t7, label %scend1, label %sc0
|
|
sc0:
|
|
%t9 = load ptr, ptr %t0
|
|
%t10 = call i32 @fn_str_eq(ptr %t9, ptr @.str796)
|
|
%t11 = icmp ne i32 %t10, 0
|
|
%t12 = zext i1 %t11 to i32
|
|
store i32 %t12, ptr %t4
|
|
br label %scend1
|
|
scend1:
|
|
%t13 = load i32, ptr %t4
|
|
%t14 = icmp ne i32 %t13, 0
|
|
%t15 = zext i1 %t14 to i32
|
|
store i32 %t15, ptr %t3
|
|
br i1 %t14, label %scend3, label %sc2
|
|
sc2:
|
|
%t16 = load ptr, ptr %t0
|
|
%t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str797)
|
|
%t18 = icmp ne i32 %t17, 0
|
|
%t19 = zext i1 %t18 to i32
|
|
store i32 %t19, ptr %t3
|
|
br label %scend3
|
|
scend3:
|
|
%t20 = load i32, ptr %t3
|
|
%t21 = icmp ne i32 %t20, 0
|
|
%t22 = zext i1 %t21 to i32
|
|
store i32 %t22, ptr %t2
|
|
br i1 %t21, label %scend5, label %sc4
|
|
sc4:
|
|
%t23 = load ptr, ptr %t0
|
|
%t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str798)
|
|
%t25 = icmp ne i32 %t24, 0
|
|
%t26 = zext i1 %t25 to i32
|
|
store i32 %t26, ptr %t2
|
|
br label %scend5
|
|
scend5:
|
|
%t27 = load i32, ptr %t2
|
|
%t28 = icmp ne i32 %t27, 0
|
|
br i1 %t28, label %then6, label %ifend8
|
|
then6:
|
|
%t29 = load ptr, ptr %t0
|
|
%t30 = load ptr, ptr %t1
|
|
%t31 = call ptr @fn_emit_math_builtin(ptr %t29, ptr %t30)
|
|
store ptr %t31, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t32 = load ptr, ptr %t0
|
|
%t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str799)
|
|
%t34 = icmp ne i32 %t33, 0
|
|
br i1 %t34, label %then9, label %ifend11
|
|
then9:
|
|
%t35 = load ptr, ptr %t1
|
|
%t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 7
|
|
%t37 = load ptr, ptr %t36
|
|
%t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 0
|
|
%t39 = load ptr, ptr %t38
|
|
%t40 = getelementptr inbounds ptr, ptr %t39, i32 0
|
|
%t41 = load ptr, ptr %t40
|
|
%t42 = call ptr @fn_emit_expr(ptr %t41)
|
|
store ptr %t42, ptr %t43
|
|
%t44 = load ptr, ptr %t43
|
|
%t45 = getelementptr inbounds %Cmp_Val, ptr %t44, i32 0, i32 0
|
|
%t46 = load ptr, ptr %t45
|
|
%t47 = call ptr @fn_str_concat(ptr @.str800, ptr %t46)
|
|
%t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str801)
|
|
%t49 = call ptr @fn_emit_bind(ptr %t48)
|
|
store ptr %t49, ptr %t50
|
|
%t51 = load ptr, ptr %t43
|
|
%t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0
|
|
%t53 = load ptr, ptr %t52
|
|
%t54 = call ptr @fn_str_concat(ptr @.str802, ptr %t53)
|
|
%t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str803)
|
|
%t56 = call ptr @fn_emit_bind(ptr %t55)
|
|
store ptr %t56, ptr %t57
|
|
%t58 = load ptr, ptr %t57
|
|
%t59 = call ptr @fn_str_concat(ptr @.str804, ptr %t58)
|
|
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str805)
|
|
%t61 = call ptr @fn_emit_bind(ptr %t60)
|
|
store ptr %t61, ptr %t62
|
|
%t63 = load ptr, ptr %t50
|
|
%t64 = call ptr @fn_str_concat(ptr @.str806, ptr %t63)
|
|
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str807)
|
|
%t66 = load ptr, ptr %t62
|
|
%t67 = call ptr @fn_str_concat(ptr %t65, ptr %t66)
|
|
%t68 = call ptr @fn_emit_bind(ptr %t67)
|
|
%t69 = call ptr @fn_val(ptr %t68, ptr @.str808)
|
|
store ptr %t69, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t70 = load ptr, ptr %t0
|
|
%t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str809)
|
|
%t72 = icmp ne i32 %t71, 0
|
|
br i1 %t72, label %then12, label %ifend14
|
|
then12:
|
|
%t73 = load ptr, ptr %t1
|
|
%t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 7
|
|
%t75 = load ptr, ptr %t74
|
|
%t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0
|
|
%t77 = load ptr, ptr %t76
|
|
%t78 = getelementptr inbounds ptr, ptr %t77, i32 0
|
|
%t79 = load ptr, ptr %t78
|
|
%t80 = call ptr @fn_emit_expr(ptr %t79)
|
|
store ptr %t80, ptr %t81
|
|
%t82 = load ptr, ptr %t81
|
|
%t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0
|
|
%t84 = load ptr, ptr %t83
|
|
%t85 = call ptr @fn_str_concat(ptr @.str810, ptr %t84)
|
|
%t86 = call ptr @fn_str_concat(ptr %t85, ptr @.str811)
|
|
%t87 = call ptr @fn_emit_bind(ptr %t86)
|
|
%t88 = call ptr @fn_val(ptr %t87, ptr @.str812)
|
|
store ptr %t88, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t89 = load ptr, ptr %t0
|
|
%t90 = call i32 @fn_str_eq(ptr %t89, ptr @.str813)
|
|
%t91 = icmp ne i32 %t90, 0
|
|
br i1 %t91, label %then15, label %ifend17
|
|
then15:
|
|
%t92 = load ptr, ptr %t1
|
|
%t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 7
|
|
%t94 = load ptr, ptr %t93
|
|
%t95 = getelementptr inbounds %LSlice, ptr %t94, i32 0, i32 0
|
|
%t96 = load ptr, ptr %t95
|
|
%t97 = getelementptr inbounds ptr, ptr %t96, i32 0
|
|
%t98 = load ptr, ptr %t97
|
|
%t99 = call ptr @fn_emit_expr(ptr %t98)
|
|
store ptr %t99, ptr %t100
|
|
%t101 = load ptr, ptr %t100
|
|
%t102 = getelementptr inbounds %Cmp_Val, ptr %t101, i32 0, i32 0
|
|
%t103 = load ptr, ptr %t102
|
|
%t104 = call ptr @fn_str_concat(ptr @.str814, ptr %t103)
|
|
%t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str815)
|
|
%t106 = call ptr @fn_emit_bind(ptr %t105)
|
|
store ptr %t106, ptr %t107
|
|
%t108 = load ptr, ptr %t107
|
|
%t109 = call ptr @fn_str_concat(ptr @.str816, ptr %t108)
|
|
%t110 = call ptr @fn_str_concat(ptr %t109, ptr @.str817)
|
|
%t111 = call ptr @fn_emit_bind(ptr %t110)
|
|
%t112 = call ptr @fn_val(ptr %t111, ptr @.str818)
|
|
store ptr %t112, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t113 = load ptr, ptr %t0
|
|
%t114 = call i32 @fn_str_eq(ptr %t113, ptr @.str819)
|
|
%t115 = icmp ne i32 %t114, 0
|
|
br i1 %t115, label %then18, label %ifend20
|
|
then18:
|
|
%t116 = load ptr, ptr %t1
|
|
%t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 7
|
|
%t118 = load ptr, ptr %t117
|
|
%t119 = getelementptr inbounds %LSlice, ptr %t118, i32 0, i32 0
|
|
%t120 = load ptr, ptr %t119
|
|
%t121 = getelementptr inbounds ptr, ptr %t120, i32 0
|
|
%t122 = load ptr, ptr %t121
|
|
%t123 = call ptr @fn_emit_expr(ptr %t122)
|
|
store ptr %t123, ptr %t124
|
|
%t125 = load ptr, ptr %t124
|
|
%t126 = getelementptr inbounds %Cmp_Val, ptr %t125, i32 0, i32 0
|
|
%t127 = load ptr, ptr %t126
|
|
%t128 = call ptr @fn_str_concat(ptr @.str820, ptr %t127)
|
|
%t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str821)
|
|
%t130 = call ptr @fn_emit_bind(ptr %t129)
|
|
store ptr %t130, ptr %t131
|
|
%t132 = load ptr, ptr %t131
|
|
%t133 = call ptr @fn_str_concat(ptr @.str822, ptr %t132)
|
|
%t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str823)
|
|
%t135 = call ptr @fn_emit_bind(ptr %t134)
|
|
%t136 = call ptr @fn_val(ptr %t135, ptr @.str824)
|
|
store ptr %t136, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t137 = load ptr, ptr %t0
|
|
%t138 = call i32 @fn_str_eq(ptr %t137, ptr @.str825)
|
|
%t139 = icmp ne i32 %t138, 0
|
|
br i1 %t139, label %then21, label %ifend23
|
|
then21:
|
|
%t140 = load ptr, ptr %t1
|
|
%t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 7
|
|
%t142 = load ptr, ptr %t141
|
|
%t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0
|
|
%t144 = load ptr, ptr %t143
|
|
%t145 = getelementptr inbounds ptr, ptr %t144, i32 0
|
|
%t146 = load ptr, ptr %t145
|
|
%t147 = call ptr @fn_emit_expr(ptr %t146)
|
|
store ptr %t147, ptr %t148
|
|
%t149 = load ptr, ptr %t1
|
|
%t150 = getelementptr inbounds %Cmp_Node, ptr %t149, i32 0, i32 7
|
|
%t151 = load ptr, ptr %t150
|
|
%t152 = getelementptr inbounds %LSlice, ptr %t151, i32 0, i32 0
|
|
%t153 = load ptr, ptr %t152
|
|
%t154 = getelementptr inbounds ptr, ptr %t153, i32 1
|
|
%t155 = load ptr, ptr %t154
|
|
%t156 = call ptr @fn_emit_expr(ptr %t155)
|
|
store ptr %t156, ptr %t157
|
|
%t158 = load ptr, ptr %t1
|
|
%t159 = getelementptr inbounds %Cmp_Node, ptr %t158, i32 0, i32 7
|
|
%t160 = load ptr, ptr %t159
|
|
%t161 = getelementptr inbounds %LSlice, ptr %t160, i32 0, i32 0
|
|
%t162 = load ptr, ptr %t161
|
|
%t163 = getelementptr inbounds ptr, ptr %t162, i32 2
|
|
%t164 = load ptr, ptr %t163
|
|
%t165 = call ptr @fn_emit_expr(ptr %t164)
|
|
store ptr %t165, ptr %t166
|
|
%t167 = load ptr, ptr %t148
|
|
%t168 = getelementptr inbounds %Cmp_Val, ptr %t167, i32 0, i32 0
|
|
%t169 = load ptr, ptr %t168
|
|
%t170 = load ptr, ptr %t157
|
|
%t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0
|
|
%t172 = load ptr, ptr %t171
|
|
%t173 = load ptr, ptr %t166
|
|
%t174 = getelementptr inbounds %Cmp_Val, ptr %t173, i32 0, i32 0
|
|
%t175 = load ptr, ptr %t174
|
|
%t176 = call ptr @fn_fx_lerp_code(ptr %t169, ptr %t172, ptr %t175)
|
|
%t177 = call ptr @fn_val(ptr %t176, ptr @.str826)
|
|
store ptr %t177, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t178 = load ptr, ptr %t0
|
|
%t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str827)
|
|
%t180 = icmp ne i32 %t179, 0
|
|
br i1 %t180, label %then24, label %ifend26
|
|
then24:
|
|
%t181 = load ptr, ptr %t1
|
|
%t182 = getelementptr inbounds %Cmp_Node, ptr %t181, i32 0, i32 7
|
|
%t183 = load ptr, ptr %t182
|
|
%t184 = getelementptr inbounds %LSlice, ptr %t183, i32 0, i32 0
|
|
%t185 = load ptr, ptr %t184
|
|
%t186 = getelementptr inbounds ptr, ptr %t185, i32 0
|
|
%t187 = load ptr, ptr %t186
|
|
%t188 = call ptr @fn_emit_expr(ptr %t187)
|
|
store ptr %t188, ptr %t189
|
|
%t190 = load ptr, ptr %t1
|
|
%t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 7
|
|
%t192 = load ptr, ptr %t191
|
|
%t193 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 0
|
|
%t194 = load ptr, ptr %t193
|
|
%t195 = getelementptr inbounds ptr, ptr %t194, i32 1
|
|
%t196 = load ptr, ptr %t195
|
|
%t197 = call ptr @fn_emit_expr(ptr %t196)
|
|
store ptr %t197, ptr %t198
|
|
%t199 = load ptr, ptr %t1
|
|
%t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 7
|
|
%t201 = load ptr, ptr %t200
|
|
%t202 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 0
|
|
%t203 = load ptr, ptr %t202
|
|
%t204 = getelementptr inbounds ptr, ptr %t203, i32 2
|
|
%t205 = load ptr, ptr %t204
|
|
%t206 = call ptr @fn_emit_expr(ptr %t205)
|
|
store ptr %t206, ptr %t207
|
|
%t208 = load ptr, ptr %t189
|
|
%t209 = getelementptr inbounds %Cmp_Val, ptr %t208, i32 0, i32 0
|
|
%t210 = load ptr, ptr %t209
|
|
%t211 = load ptr, ptr %t198
|
|
%t212 = getelementptr inbounds %Cmp_Val, ptr %t211, i32 0, i32 0
|
|
%t213 = load ptr, ptr %t212
|
|
%t214 = load ptr, ptr %t207
|
|
%t215 = getelementptr inbounds %Cmp_Val, ptr %t214, i32 0, i32 0
|
|
%t216 = load ptr, ptr %t215
|
|
%t217 = call ptr @fn_fx_inv_lerp_code(ptr %t210, ptr %t213, ptr %t216)
|
|
%t218 = call ptr @fn_val(ptr %t217, ptr @.str828)
|
|
store ptr %t218, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t219 = load ptr, ptr %t0
|
|
%t220 = call i32 @fn_str_eq(ptr %t219, ptr @.str829)
|
|
%t221 = icmp ne i32 %t220, 0
|
|
br i1 %t221, label %then27, label %ifend29
|
|
then27:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t222 = load ptr, ptr %t1
|
|
%t223 = getelementptr inbounds %Cmp_Node, ptr %t222, i32 0, i32 7
|
|
%t224 = load ptr, ptr %t223
|
|
%t225 = getelementptr inbounds %LSlice, ptr %t224, i32 0, i32 0
|
|
%t226 = load ptr, ptr %t225
|
|
%t227 = getelementptr inbounds ptr, ptr %t226, i32 0
|
|
%t228 = load ptr, ptr %t227
|
|
%t229 = call ptr @fn_emit_expr(ptr %t228)
|
|
store ptr %t229, ptr %t230
|
|
%t231 = load ptr, ptr %t230
|
|
%t232 = getelementptr inbounds %Cmp_Val, ptr %t231, i32 0, i32 0
|
|
%t233 = load ptr, ptr %t232
|
|
%t234 = call ptr @fn_str_concat(ptr @.str830, ptr %t233)
|
|
%t235 = call ptr @fn_str_concat(ptr %t234, ptr @.str831)
|
|
%t236 = call ptr @fn_emit_bind(ptr %t235)
|
|
%t237 = call ptr @fn_val(ptr %t236, ptr @.str832)
|
|
store ptr %t237, ptr %retval
|
|
br label %ret
|
|
ifend29:
|
|
%t238 = load ptr, ptr %t0
|
|
%t239 = call i32 @fn_str_eq(ptr %t238, ptr @.str833)
|
|
%t240 = icmp ne i32 %t239, 0
|
|
br i1 %t240, label %then30, label %ifend32
|
|
then30:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t241 = load ptr, ptr %t1
|
|
%t242 = getelementptr inbounds %Cmp_Node, ptr %t241, i32 0, i32 7
|
|
%t243 = load ptr, ptr %t242
|
|
%t244 = getelementptr inbounds %LSlice, ptr %t243, i32 0, i32 0
|
|
%t245 = load ptr, ptr %t244
|
|
%t246 = getelementptr inbounds ptr, ptr %t245, i32 0
|
|
%t247 = load ptr, ptr %t246
|
|
%t248 = call ptr @fn_emit_expr(ptr %t247)
|
|
store ptr %t248, ptr %t249
|
|
%t250 = load ptr, ptr %t249
|
|
%t251 = getelementptr inbounds %Cmp_Val, ptr %t250, i32 0, i32 0
|
|
%t252 = load ptr, ptr %t251
|
|
%t253 = call ptr @fn_str_concat(ptr @.str834, ptr %t252)
|
|
%t254 = call ptr @fn_str_concat(ptr %t253, ptr @.str835)
|
|
%t255 = call ptr @fn_emit_bind(ptr %t254)
|
|
%t256 = call ptr @fn_val(ptr %t255, ptr @.str836)
|
|
store ptr %t256, ptr %retval
|
|
br label %ret
|
|
ifend32:
|
|
%t257 = load ptr, ptr %t0
|
|
%t258 = call i32 @fn_str_eq(ptr %t257, ptr @.str837)
|
|
%t259 = icmp ne i32 %t258, 0
|
|
br i1 %t259, label %then33, label %ifend35
|
|
then33:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t260 = load ptr, ptr %t1
|
|
%t261 = getelementptr inbounds %Cmp_Node, ptr %t260, i32 0, i32 7
|
|
%t262 = load ptr, ptr %t261
|
|
%t263 = getelementptr inbounds %LSlice, ptr %t262, i32 0, i32 0
|
|
%t264 = load ptr, ptr %t263
|
|
%t265 = getelementptr inbounds ptr, ptr %t264, i32 0
|
|
%t266 = load ptr, ptr %t265
|
|
%t267 = call ptr @fn_emit_expr(ptr %t266)
|
|
store ptr %t267, ptr %t268
|
|
%t269 = load ptr, ptr %t268
|
|
%t270 = getelementptr inbounds %Cmp_Val, ptr %t269, i32 0, i32 0
|
|
%t271 = load ptr, ptr %t270
|
|
%t272 = call ptr @fn_str_concat(ptr @.str838, ptr %t271)
|
|
%t273 = call ptr @fn_str_concat(ptr %t272, ptr @.str839)
|
|
%t274 = call ptr @fn_emit_bind(ptr %t273)
|
|
store ptr %t274, ptr %t275
|
|
%t276 = load ptr, ptr %t275
|
|
%t277 = call ptr @fn_str_concat(ptr @.str840, ptr %t276)
|
|
%t278 = call ptr @fn_str_concat(ptr %t277, ptr @.str841)
|
|
%t279 = call ptr @fn_emit_bind(ptr %t278)
|
|
%t280 = call ptr @fn_val(ptr %t279, ptr @.str842)
|
|
store ptr %t280, ptr %retval
|
|
br label %ret
|
|
ifend35:
|
|
%t281 = load ptr, ptr %t0
|
|
%t282 = call i32 @fn_str_eq(ptr %t281, ptr @.str843)
|
|
%t283 = icmp ne i32 %t282, 0
|
|
br i1 %t283, label %then36, label %ifend38
|
|
then36:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t284 = load ptr, ptr %t1
|
|
%t285 = getelementptr inbounds %Cmp_Node, ptr %t284, i32 0, i32 7
|
|
%t286 = load ptr, ptr %t285
|
|
%t287 = getelementptr inbounds %LSlice, ptr %t286, i32 0, i32 0
|
|
%t288 = load ptr, ptr %t287
|
|
%t289 = getelementptr inbounds ptr, ptr %t288, i32 0
|
|
%t290 = load ptr, ptr %t289
|
|
%t291 = call ptr @fn_emit_expr(ptr %t290)
|
|
store ptr %t291, ptr %t292
|
|
%t293 = load ptr, ptr %t292
|
|
%t294 = getelementptr inbounds %Cmp_Val, ptr %t293, i32 0, i32 0
|
|
%t295 = load ptr, ptr %t294
|
|
%t296 = call ptr @fn_str_concat(ptr @.str844, ptr %t295)
|
|
%t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str845)
|
|
%t298 = call ptr @fn_emit_bind(ptr %t297)
|
|
store ptr %t298, ptr %t299
|
|
%t300 = load ptr, ptr %t292
|
|
%t301 = getelementptr inbounds %Cmp_Val, ptr %t300, i32 0, i32 0
|
|
%t302 = load ptr, ptr %t301
|
|
%t303 = call ptr @fn_str_concat(ptr @.str846, ptr %t302)
|
|
%t304 = call ptr @fn_str_concat(ptr %t303, ptr @.str847)
|
|
%t305 = call ptr @fn_emit_bind(ptr %t304)
|
|
store ptr %t305, ptr %t306
|
|
%t307 = load ptr, ptr %t306
|
|
%t308 = call ptr @fn_str_concat(ptr @.str848, ptr %t307)
|
|
%t309 = call ptr @fn_str_concat(ptr %t308, ptr @.str849)
|
|
%t310 = call ptr @fn_emit_bind(ptr %t309)
|
|
store ptr %t310, ptr %t311
|
|
%t312 = load ptr, ptr %t299
|
|
%t313 = load ptr, ptr %t311
|
|
%t314 = call ptr @fn_fx_div_code(ptr %t312, ptr %t313)
|
|
%t315 = call ptr @fn_val(ptr %t314, ptr @.str850)
|
|
store ptr %t315, ptr %retval
|
|
br label %ret
|
|
ifend38:
|
|
%t316 = load ptr, ptr %t0
|
|
%t317 = call i32 @fn_str_eq(ptr %t316, ptr @.str851)
|
|
%t318 = icmp ne i32 %t317, 0
|
|
br i1 %t318, label %then39, label %ifend41
|
|
then39:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t319 = load ptr, ptr %t1
|
|
%t320 = getelementptr inbounds %Cmp_Node, ptr %t319, i32 0, i32 7
|
|
%t321 = load ptr, ptr %t320
|
|
%t322 = getelementptr inbounds %LSlice, ptr %t321, i32 0, i32 0
|
|
%t323 = load ptr, ptr %t322
|
|
%t324 = getelementptr inbounds ptr, ptr %t323, i32 0
|
|
%t325 = load ptr, ptr %t324
|
|
%t326 = call ptr @fn_emit_expr(ptr %t325)
|
|
store ptr %t326, ptr %t327
|
|
%t328 = load ptr, ptr %t1
|
|
%t329 = getelementptr inbounds %Cmp_Node, ptr %t328, i32 0, i32 7
|
|
%t330 = load ptr, ptr %t329
|
|
%t331 = getelementptr inbounds %LSlice, ptr %t330, i32 0, i32 0
|
|
%t332 = load ptr, ptr %t331
|
|
%t333 = getelementptr inbounds ptr, ptr %t332, i32 1
|
|
%t334 = load ptr, ptr %t333
|
|
%t335 = call ptr @fn_emit_expr(ptr %t334)
|
|
store ptr %t335, ptr %t336
|
|
%t337 = load ptr, ptr %t327
|
|
%t338 = getelementptr inbounds %Cmp_Val, ptr %t337, i32 0, i32 0
|
|
%t339 = load ptr, ptr %t338
|
|
%t340 = call ptr @fn_str_concat(ptr @.str852, ptr %t339)
|
|
%t341 = call ptr @fn_str_concat(ptr %t340, ptr @.str853)
|
|
%t342 = load ptr, ptr %t336
|
|
%t343 = getelementptr inbounds %Cmp_Val, ptr %t342, i32 0, i32 0
|
|
%t344 = load ptr, ptr %t343
|
|
%t345 = call ptr @fn_str_concat(ptr %t341, ptr %t344)
|
|
%t346 = call ptr @fn_str_concat(ptr %t345, ptr @.str854)
|
|
%t347 = call ptr @fn_emit_bind(ptr %t346)
|
|
%t348 = call ptr @fn_val(ptr %t347, ptr @.str855)
|
|
store ptr %t348, ptr %retval
|
|
br label %ret
|
|
ifend41:
|
|
%t349 = load ptr, ptr %t0
|
|
%t350 = call i32 @fn_str_eq(ptr %t349, ptr @.str856)
|
|
%t351 = icmp ne i32 %t350, 0
|
|
br i1 %t351, label %then42, label %ifend44
|
|
then42:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t352 = load ptr, ptr %t1
|
|
%t353 = getelementptr inbounds %Cmp_Node, ptr %t352, i32 0, i32 7
|
|
%t354 = load ptr, ptr %t353
|
|
%t355 = getelementptr inbounds %LSlice, ptr %t354, i32 0, i32 0
|
|
%t356 = load ptr, ptr %t355
|
|
%t357 = getelementptr inbounds ptr, ptr %t356, i32 0
|
|
%t358 = load ptr, ptr %t357
|
|
%t359 = call ptr @fn_emit_expr(ptr %t358)
|
|
store ptr %t359, ptr %t360
|
|
%t361 = load ptr, ptr %t360
|
|
%t362 = getelementptr inbounds %Cmp_Val, ptr %t361, i32 0, i32 0
|
|
%t363 = load ptr, ptr %t362
|
|
%t364 = load ptr, ptr %t360
|
|
%t365 = getelementptr inbounds %Cmp_Val, ptr %t364, i32 0, i32 0
|
|
%t366 = load ptr, ptr %t365
|
|
%t367 = call ptr @fn_fx_mul_code(ptr %t363, ptr %t366)
|
|
store ptr %t367, ptr %t368
|
|
%t369 = load ptr, ptr %t368
|
|
%t370 = call ptr @fn_str_concat(ptr @.str857, ptr %t369)
|
|
%t371 = call ptr @fn_emit_bind(ptr %t370)
|
|
store ptr %t371, ptr %t372
|
|
%t373 = load ptr, ptr %t372
|
|
%t374 = call ptr @fn_str_concat(ptr @.str858, ptr %t373)
|
|
%t375 = call ptr @fn_str_concat(ptr %t374, ptr @.str859)
|
|
%t376 = call ptr @fn_emit_bind(ptr %t375)
|
|
store ptr %t376, ptr %t377
|
|
%t378 = load ptr, ptr %t360
|
|
%t379 = getelementptr inbounds %Cmp_Val, ptr %t378, i32 0, i32 0
|
|
%t380 = load ptr, ptr %t379
|
|
%t381 = call ptr @fn_str_concat(ptr @.str860, ptr %t380)
|
|
%t382 = call ptr @fn_str_concat(ptr %t381, ptr @.str861)
|
|
%t383 = load ptr, ptr %t377
|
|
%t384 = call ptr @fn_str_concat(ptr %t382, ptr %t383)
|
|
%t385 = call ptr @fn_str_concat(ptr %t384, ptr @.str862)
|
|
%t386 = call ptr @fn_emit_bind(ptr %t385)
|
|
%t387 = call ptr @fn_val(ptr %t386, ptr @.str863)
|
|
store ptr %t387, ptr %retval
|
|
br label %ret
|
|
ifend44:
|
|
%t388 = load ptr, ptr %t0
|
|
%t389 = call i32 @fn_str_eq(ptr %t388, ptr @.str864)
|
|
%t390 = icmp ne i32 %t389, 0
|
|
br i1 %t390, label %then45, label %ifend47
|
|
then45:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t391 = load ptr, ptr %t1
|
|
%t392 = getelementptr inbounds %Cmp_Node, ptr %t391, i32 0, i32 7
|
|
%t393 = load ptr, ptr %t392
|
|
%t394 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 0
|
|
%t395 = load ptr, ptr %t394
|
|
%t396 = getelementptr inbounds ptr, ptr %t395, i32 0
|
|
%t397 = load ptr, ptr %t396
|
|
%t398 = call ptr @fn_emit_expr(ptr %t397)
|
|
store ptr %t398, ptr %t399
|
|
%t400 = load ptr, ptr %t399
|
|
%t401 = getelementptr inbounds %Cmp_Val, ptr %t400, i32 0, i32 0
|
|
%t402 = load ptr, ptr %t401
|
|
%t403 = load ptr, ptr %t399
|
|
%t404 = getelementptr inbounds %Cmp_Val, ptr %t403, i32 0, i32 0
|
|
%t405 = load ptr, ptr %t404
|
|
%t406 = call ptr @fn_fx_mul_code(ptr %t402, ptr %t405)
|
|
store ptr %t406, ptr %t407
|
|
%t408 = load ptr, ptr %t407
|
|
%t409 = call ptr @fn_str_concat(ptr @.str865, ptr %t408)
|
|
%t410 = call ptr @fn_emit_bind(ptr %t409)
|
|
store ptr %t410, ptr %t411
|
|
%t412 = load ptr, ptr %t411
|
|
%t413 = call ptr @fn_str_concat(ptr @.str866, ptr %t412)
|
|
%t414 = call ptr @fn_str_concat(ptr %t413, ptr @.str867)
|
|
%t415 = call ptr @fn_emit_bind(ptr %t414)
|
|
store ptr %t415, ptr %t416
|
|
%t417 = load ptr, ptr %t416
|
|
%t418 = call ptr @fn_str_concat(ptr @.str868, ptr %t417)
|
|
%t419 = call ptr @fn_str_concat(ptr %t418, ptr @.str869)
|
|
%t420 = load ptr, ptr %t399
|
|
%t421 = getelementptr inbounds %Cmp_Val, ptr %t420, i32 0, i32 0
|
|
%t422 = load ptr, ptr %t421
|
|
%t423 = call ptr @fn_str_concat(ptr %t419, ptr %t422)
|
|
%t424 = call ptr @fn_str_concat(ptr %t423, ptr @.str870)
|
|
%t425 = call ptr @fn_emit_bind(ptr %t424)
|
|
%t426 = call ptr @fn_val(ptr %t425, ptr @.str871)
|
|
store ptr %t426, ptr %retval
|
|
br label %ret
|
|
ifend47:
|
|
%t427 = load ptr, ptr %t0
|
|
%t428 = call i32 @fn_str_eq(ptr %t427, ptr @.str872)
|
|
%t429 = icmp ne i32 %t428, 0
|
|
br i1 %t429, label %then48, label %ifend50
|
|
then48:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t430 = load ptr, ptr %t1
|
|
%t431 = getelementptr inbounds %Cmp_Node, ptr %t430, i32 0, i32 7
|
|
%t432 = load ptr, ptr %t431
|
|
%t433 = getelementptr inbounds %LSlice, ptr %t432, i32 0, i32 0
|
|
%t434 = load ptr, ptr %t433
|
|
%t435 = getelementptr inbounds ptr, ptr %t434, i32 0
|
|
%t436 = load ptr, ptr %t435
|
|
%t437 = call ptr @fn_emit_expr(ptr %t436)
|
|
store ptr %t437, ptr %t438
|
|
%t439 = load ptr, ptr %t1
|
|
%t440 = getelementptr inbounds %Cmp_Node, ptr %t439, i32 0, i32 7
|
|
%t441 = load ptr, ptr %t440
|
|
%t442 = getelementptr inbounds %LSlice, ptr %t441, i32 0, i32 0
|
|
%t443 = load ptr, ptr %t442
|
|
%t444 = getelementptr inbounds ptr, ptr %t443, i32 1
|
|
%t445 = load ptr, ptr %t444
|
|
%t446 = call ptr @fn_emit_expr(ptr %t445)
|
|
store ptr %t446, ptr %t447
|
|
%t448 = load ptr, ptr %t438
|
|
%t449 = getelementptr inbounds %Cmp_Val, ptr %t448, i32 0, i32 0
|
|
%t450 = load ptr, ptr %t449
|
|
%t451 = load ptr, ptr %t438
|
|
%t452 = getelementptr inbounds %Cmp_Val, ptr %t451, i32 0, i32 0
|
|
%t453 = load ptr, ptr %t452
|
|
%t454 = call ptr @fn_fx_mul_code(ptr %t450, ptr %t453)
|
|
store ptr %t454, ptr %t455
|
|
%t456 = load ptr, ptr %t447
|
|
%t457 = getelementptr inbounds %Cmp_Val, ptr %t456, i32 0, i32 0
|
|
%t458 = load ptr, ptr %t457
|
|
%t459 = load ptr, ptr %t447
|
|
%t460 = getelementptr inbounds %Cmp_Val, ptr %t459, i32 0, i32 0
|
|
%t461 = load ptr, ptr %t460
|
|
%t462 = call ptr @fn_fx_mul_code(ptr %t458, ptr %t461)
|
|
store ptr %t462, ptr %t463
|
|
%t464 = load ptr, ptr %t455
|
|
%t465 = call ptr @fn_str_concat(ptr @.str873, ptr %t464)
|
|
%t466 = call ptr @fn_str_concat(ptr %t465, ptr @.str874)
|
|
%t467 = load ptr, ptr %t463
|
|
%t468 = call ptr @fn_str_concat(ptr %t466, ptr %t467)
|
|
%t469 = call ptr @fn_emit_bind(ptr %t468)
|
|
store ptr %t469, ptr %t470
|
|
%t471 = load ptr, ptr %t470
|
|
%t472 = call ptr @fn_str_concat(ptr @.str875, ptr %t471)
|
|
%t473 = call ptr @fn_str_concat(ptr %t472, ptr @.str876)
|
|
%t474 = call ptr @fn_emit_bind(ptr %t473)
|
|
%t475 = call ptr @fn_val(ptr %t474, ptr @.str877)
|
|
store ptr %t475, ptr %retval
|
|
br label %ret
|
|
ifend50:
|
|
%t476 = load ptr, ptr %t0
|
|
%t477 = call i32 @fn_str_eq(ptr %t476, ptr @.str878)
|
|
%t478 = icmp ne i32 %t477, 0
|
|
br i1 %t478, label %then51, label %ifend53
|
|
then51:
|
|
%t479 = load ptr, ptr %t1
|
|
%t480 = getelementptr inbounds %Cmp_Node, ptr %t479, i32 0, i32 7
|
|
%t481 = load ptr, ptr %t480
|
|
%t482 = getelementptr inbounds %LSlice, ptr %t481, i32 0, i32 0
|
|
%t483 = load ptr, ptr %t482
|
|
%t484 = getelementptr inbounds ptr, ptr %t483, i32 0
|
|
%t485 = load ptr, ptr %t484
|
|
%t486 = call ptr @fn_emit_expr(ptr %t485)
|
|
store ptr %t486, ptr %t487
|
|
%t488 = load ptr, ptr %t1
|
|
%t489 = getelementptr inbounds %Cmp_Node, ptr %t488, i32 0, i32 7
|
|
%t490 = load ptr, ptr %t489
|
|
%t491 = getelementptr inbounds %LSlice, ptr %t490, i32 0, i32 0
|
|
%t492 = load ptr, ptr %t491
|
|
%t493 = getelementptr inbounds ptr, ptr %t492, i32 1
|
|
%t494 = load ptr, ptr %t493
|
|
%t495 = call ptr @fn_emit_expr(ptr %t494)
|
|
store ptr %t495, ptr %t496
|
|
%t497 = load ptr, ptr %t1
|
|
%t498 = getelementptr inbounds %Cmp_Node, ptr %t497, i32 0, i32 7
|
|
%t499 = load ptr, ptr %t498
|
|
%t500 = getelementptr inbounds %LSlice, ptr %t499, i32 0, i32 0
|
|
%t501 = load ptr, ptr %t500
|
|
%t502 = getelementptr inbounds ptr, ptr %t501, i32 2
|
|
%t503 = load ptr, ptr %t502
|
|
%t504 = call ptr @fn_emit_expr(ptr %t503)
|
|
store ptr %t504, ptr %t505
|
|
%t506 = load ptr, ptr %t1
|
|
%t507 = getelementptr inbounds %Cmp_Node, ptr %t506, i32 0, i32 7
|
|
%t508 = load ptr, ptr %t507
|
|
%t509 = getelementptr inbounds %LSlice, ptr %t508, i32 0, i32 0
|
|
%t510 = load ptr, ptr %t509
|
|
%t511 = getelementptr inbounds ptr, ptr %t510, i32 3
|
|
%t512 = load ptr, ptr %t511
|
|
%t513 = call ptr @fn_emit_expr(ptr %t512)
|
|
store ptr %t513, ptr %t514
|
|
%t515 = load ptr, ptr %t505
|
|
%t516 = getelementptr inbounds %Cmp_Val, ptr %t515, i32 0, i32 0
|
|
%t517 = load ptr, ptr %t516
|
|
%t518 = call ptr @fn_str_concat(ptr @.str879, ptr %t517)
|
|
%t519 = call ptr @fn_str_concat(ptr %t518, ptr @.str880)
|
|
%t520 = load ptr, ptr %t487
|
|
%t521 = getelementptr inbounds %Cmp_Val, ptr %t520, i32 0, i32 0
|
|
%t522 = load ptr, ptr %t521
|
|
%t523 = call ptr @fn_str_concat(ptr %t519, ptr %t522)
|
|
%t524 = call ptr @fn_emit_bind(ptr %t523)
|
|
store ptr %t524, ptr %t525
|
|
%t526 = load ptr, ptr %t514
|
|
%t527 = getelementptr inbounds %Cmp_Val, ptr %t526, i32 0, i32 0
|
|
%t528 = load ptr, ptr %t527
|
|
%t529 = call ptr @fn_str_concat(ptr @.str881, ptr %t528)
|
|
%t530 = call ptr @fn_str_concat(ptr %t529, ptr @.str882)
|
|
%t531 = load ptr, ptr %t496
|
|
%t532 = getelementptr inbounds %Cmp_Val, ptr %t531, i32 0, i32 0
|
|
%t533 = load ptr, ptr %t532
|
|
%t534 = call ptr @fn_str_concat(ptr %t530, ptr %t533)
|
|
%t535 = call ptr @fn_emit_bind(ptr %t534)
|
|
store ptr %t535, ptr %t536
|
|
%t537 = load ptr, ptr %t525
|
|
%t538 = load ptr, ptr %t525
|
|
%t539 = call ptr @fn_fx_mul_code(ptr %t537, ptr %t538)
|
|
store ptr %t539, ptr %t540
|
|
%t541 = load ptr, ptr %t536
|
|
%t542 = load ptr, ptr %t536
|
|
%t543 = call ptr @fn_fx_mul_code(ptr %t541, ptr %t542)
|
|
store ptr %t543, ptr %t544
|
|
%t545 = load ptr, ptr %t540
|
|
%t546 = call ptr @fn_str_concat(ptr @.str883, ptr %t545)
|
|
%t547 = call ptr @fn_str_concat(ptr %t546, ptr @.str884)
|
|
%t548 = load ptr, ptr %t544
|
|
%t549 = call ptr @fn_str_concat(ptr %t547, ptr %t548)
|
|
%t550 = call ptr @fn_emit_bind(ptr %t549)
|
|
%t551 = call ptr @fn_val(ptr %t550, ptr @.str885)
|
|
store ptr %t551, ptr %retval
|
|
br label %ret
|
|
ifend53:
|
|
%t552 = load ptr, ptr %t0
|
|
%t553 = call i32 @fn_str_eq(ptr %t552, ptr @.str886)
|
|
%t554 = icmp ne i32 %t553, 0
|
|
br i1 %t554, label %then54, label %ifend56
|
|
then54:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t555 = load ptr, ptr %t1
|
|
%t556 = getelementptr inbounds %Cmp_Node, ptr %t555, i32 0, i32 7
|
|
%t557 = load ptr, ptr %t556
|
|
%t558 = getelementptr inbounds %LSlice, ptr %t557, i32 0, i32 0
|
|
%t559 = load ptr, ptr %t558
|
|
%t560 = getelementptr inbounds ptr, ptr %t559, i32 0
|
|
%t561 = load ptr, ptr %t560
|
|
%t562 = call ptr @fn_emit_expr(ptr %t561)
|
|
store ptr %t562, ptr %t563
|
|
%t564 = load ptr, ptr %t1
|
|
%t565 = getelementptr inbounds %Cmp_Node, ptr %t564, i32 0, i32 7
|
|
%t566 = load ptr, ptr %t565
|
|
%t567 = getelementptr inbounds %LSlice, ptr %t566, i32 0, i32 0
|
|
%t568 = load ptr, ptr %t567
|
|
%t569 = getelementptr inbounds ptr, ptr %t568, i32 1
|
|
%t570 = load ptr, ptr %t569
|
|
%t571 = call ptr @fn_emit_expr(ptr %t570)
|
|
store ptr %t571, ptr %t572
|
|
%t573 = load ptr, ptr %t1
|
|
%t574 = getelementptr inbounds %Cmp_Node, ptr %t573, i32 0, i32 7
|
|
%t575 = load ptr, ptr %t574
|
|
%t576 = getelementptr inbounds %LSlice, ptr %t575, i32 0, i32 0
|
|
%t577 = load ptr, ptr %t576
|
|
%t578 = getelementptr inbounds ptr, ptr %t577, i32 2
|
|
%t579 = load ptr, ptr %t578
|
|
%t580 = call ptr @fn_emit_expr(ptr %t579)
|
|
store ptr %t580, ptr %t581
|
|
%t582 = load ptr, ptr %t1
|
|
%t583 = getelementptr inbounds %Cmp_Node, ptr %t582, i32 0, i32 7
|
|
%t584 = load ptr, ptr %t583
|
|
%t585 = getelementptr inbounds %LSlice, ptr %t584, i32 0, i32 0
|
|
%t586 = load ptr, ptr %t585
|
|
%t587 = getelementptr inbounds ptr, ptr %t586, i32 3
|
|
%t588 = load ptr, ptr %t587
|
|
%t589 = call ptr @fn_emit_expr(ptr %t588)
|
|
store ptr %t589, ptr %t590
|
|
%t591 = load ptr, ptr %t581
|
|
%t592 = getelementptr inbounds %Cmp_Val, ptr %t591, i32 0, i32 0
|
|
%t593 = load ptr, ptr %t592
|
|
%t594 = call ptr @fn_str_concat(ptr @.str887, ptr %t593)
|
|
%t595 = call ptr @fn_str_concat(ptr %t594, ptr @.str888)
|
|
%t596 = load ptr, ptr %t563
|
|
%t597 = getelementptr inbounds %Cmp_Val, ptr %t596, i32 0, i32 0
|
|
%t598 = load ptr, ptr %t597
|
|
%t599 = call ptr @fn_str_concat(ptr %t595, ptr %t598)
|
|
%t600 = call ptr @fn_emit_bind(ptr %t599)
|
|
store ptr %t600, ptr %t601
|
|
%t602 = load ptr, ptr %t590
|
|
%t603 = getelementptr inbounds %Cmp_Val, ptr %t602, i32 0, i32 0
|
|
%t604 = load ptr, ptr %t603
|
|
%t605 = call ptr @fn_str_concat(ptr @.str889, ptr %t604)
|
|
%t606 = call ptr @fn_str_concat(ptr %t605, ptr @.str890)
|
|
%t607 = load ptr, ptr %t572
|
|
%t608 = getelementptr inbounds %Cmp_Val, ptr %t607, i32 0, i32 0
|
|
%t609 = load ptr, ptr %t608
|
|
%t610 = call ptr @fn_str_concat(ptr %t606, ptr %t609)
|
|
%t611 = call ptr @fn_emit_bind(ptr %t610)
|
|
store ptr %t611, ptr %t612
|
|
%t613 = load ptr, ptr %t601
|
|
%t614 = load ptr, ptr %t601
|
|
%t615 = call ptr @fn_fx_mul_code(ptr %t613, ptr %t614)
|
|
store ptr %t615, ptr %t616
|
|
%t617 = load ptr, ptr %t612
|
|
%t618 = load ptr, ptr %t612
|
|
%t619 = call ptr @fn_fx_mul_code(ptr %t617, ptr %t618)
|
|
store ptr %t619, ptr %t620
|
|
%t621 = load ptr, ptr %t616
|
|
%t622 = call ptr @fn_str_concat(ptr @.str891, ptr %t621)
|
|
%t623 = call ptr @fn_str_concat(ptr %t622, ptr @.str892)
|
|
%t624 = load ptr, ptr %t620
|
|
%t625 = call ptr @fn_str_concat(ptr %t623, ptr %t624)
|
|
%t626 = call ptr @fn_emit_bind(ptr %t625)
|
|
store ptr %t626, ptr %t627
|
|
%t628 = load ptr, ptr %t627
|
|
%t629 = call ptr @fn_str_concat(ptr @.str893, ptr %t628)
|
|
%t630 = call ptr @fn_str_concat(ptr %t629, ptr @.str894)
|
|
%t631 = call ptr @fn_emit_bind(ptr %t630)
|
|
%t632 = call ptr @fn_val(ptr %t631, ptr @.str895)
|
|
store ptr %t632, ptr %retval
|
|
br label %ret
|
|
ifend56:
|
|
%t633 = load ptr, ptr %t0
|
|
%t634 = call i32 @fn_str_eq(ptr %t633, ptr @.str896)
|
|
%t635 = icmp ne i32 %t634, 0
|
|
br i1 %t635, label %then57, label %ifend59
|
|
then57:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t636 = load ptr, ptr %t1
|
|
%t637 = getelementptr inbounds %Cmp_Node, ptr %t636, i32 0, i32 7
|
|
%t638 = load ptr, ptr %t637
|
|
%t639 = getelementptr inbounds %LSlice, ptr %t638, i32 0, i32 0
|
|
%t640 = load ptr, ptr %t639
|
|
%t641 = getelementptr inbounds ptr, ptr %t640, i32 0
|
|
%t642 = load ptr, ptr %t641
|
|
%t643 = call ptr @fn_emit_expr(ptr %t642)
|
|
store ptr %t643, ptr %t644
|
|
%t645 = load ptr, ptr %t644
|
|
%t646 = getelementptr inbounds %Cmp_Val, ptr %t645, i32 0, i32 0
|
|
%t647 = load ptr, ptr %t646
|
|
%t648 = call ptr @fn_fx_mul_code(ptr %t647, ptr @.str897)
|
|
store ptr %t648, ptr %t649
|
|
%t650 = load ptr, ptr %t649
|
|
%t651 = call ptr @fn_str_concat(ptr @.str898, ptr %t650)
|
|
%t652 = call ptr @fn_str_concat(ptr %t651, ptr @.str899)
|
|
%t653 = call ptr @fn_emit_bind(ptr %t652)
|
|
%t654 = call ptr @fn_val(ptr %t653, ptr @.str900)
|
|
store ptr %t654, ptr %retval
|
|
br label %ret
|
|
ifend59:
|
|
%t655 = load ptr, ptr %t0
|
|
%t656 = call i32 @fn_str_eq(ptr %t655, ptr @.str901)
|
|
%t657 = icmp ne i32 %t656, 0
|
|
br i1 %t657, label %then60, label %ifend62
|
|
then60:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t658 = load ptr, ptr %t1
|
|
%t659 = getelementptr inbounds %Cmp_Node, ptr %t658, i32 0, i32 7
|
|
%t660 = load ptr, ptr %t659
|
|
%t661 = getelementptr inbounds %LSlice, ptr %t660, i32 0, i32 0
|
|
%t662 = load ptr, ptr %t661
|
|
%t663 = getelementptr inbounds ptr, ptr %t662, i32 0
|
|
%t664 = load ptr, ptr %t663
|
|
%t665 = call ptr @fn_emit_expr(ptr %t664)
|
|
store ptr %t665, ptr %t666
|
|
%t667 = load ptr, ptr %t666
|
|
%t668 = getelementptr inbounds %Cmp_Val, ptr %t667, i32 0, i32 0
|
|
%t669 = load ptr, ptr %t668
|
|
%t670 = call ptr @fn_str_concat(ptr @.str902, ptr %t669)
|
|
%t671 = call ptr @fn_str_concat(ptr %t670, ptr @.str903)
|
|
%t672 = call ptr @fn_emit_bind(ptr %t671)
|
|
store ptr %t672, ptr %t673
|
|
%t674 = load ptr, ptr %t673
|
|
%t675 = call ptr @fn_fx_mul_code(ptr %t674, ptr @.str904)
|
|
%t676 = call ptr @fn_val(ptr %t675, ptr @.str905)
|
|
store ptr %t676, ptr %retval
|
|
br label %ret
|
|
ifend62:
|
|
%t677 = load ptr, ptr %t0
|
|
%t678 = call i32 @fn_str_eq(ptr %t677, ptr @.str906)
|
|
%t679 = icmp ne i32 %t678, 0
|
|
br i1 %t679, label %then63, label %ifend65
|
|
then63:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t680 = load ptr, ptr %t1
|
|
%t681 = getelementptr inbounds %Cmp_Node, ptr %t680, i32 0, i32 7
|
|
%t682 = load ptr, ptr %t681
|
|
%t683 = getelementptr inbounds %LSlice, ptr %t682, i32 0, i32 0
|
|
%t684 = load ptr, ptr %t683
|
|
%t685 = getelementptr inbounds ptr, ptr %t684, i32 0
|
|
%t686 = load ptr, ptr %t685
|
|
%t687 = call ptr @fn_emit_expr(ptr %t686)
|
|
store ptr %t687, ptr %t688
|
|
%t689 = load ptr, ptr %t1
|
|
%t690 = getelementptr inbounds %Cmp_Node, ptr %t689, i32 0, i32 7
|
|
%t691 = load ptr, ptr %t690
|
|
%t692 = getelementptr inbounds %LSlice, ptr %t691, i32 0, i32 0
|
|
%t693 = load ptr, ptr %t692
|
|
%t694 = getelementptr inbounds ptr, ptr %t693, i32 1
|
|
%t695 = load ptr, ptr %t694
|
|
%t696 = call ptr @fn_emit_expr(ptr %t695)
|
|
store ptr %t696, ptr %t697
|
|
%t698 = load ptr, ptr %t688
|
|
%t699 = getelementptr inbounds %Cmp_Val, ptr %t698, i32 0, i32 0
|
|
%t700 = load ptr, ptr %t699
|
|
%t701 = call ptr @fn_str_concat(ptr @.str907, ptr %t700)
|
|
%t702 = call ptr @fn_str_concat(ptr %t701, ptr @.str908)
|
|
%t703 = call ptr @fn_emit_bind(ptr %t702)
|
|
store ptr %t703, ptr %t704
|
|
%t705 = load ptr, ptr %t697
|
|
%t706 = getelementptr inbounds %Cmp_Val, ptr %t705, i32 0, i32 0
|
|
%t707 = load ptr, ptr %t706
|
|
%t708 = load ptr, ptr %t704
|
|
%t709 = call ptr @fn_fx_mul_code(ptr %t707, ptr %t708)
|
|
store ptr %t709, ptr %t710
|
|
%t711 = load ptr, ptr %t710
|
|
%t712 = call ptr @fn_str_concat(ptr @.str909, ptr %t711)
|
|
%t713 = call ptr @fn_str_concat(ptr %t712, ptr @.str910)
|
|
%t714 = call ptr @fn_emit_bind(ptr %t713)
|
|
%t715 = call ptr @fn_val(ptr %t714, ptr @.str911)
|
|
store ptr %t715, ptr %retval
|
|
br label %ret
|
|
ifend65:
|
|
%t716 = load ptr, ptr %t0
|
|
%t717 = call i32 @fn_str_eq(ptr %t716, ptr @.str912)
|
|
%t718 = icmp ne i32 %t717, 0
|
|
br i1 %t718, label %then66, label %ifend68
|
|
then66:
|
|
%t719 = load ptr, ptr %t1
|
|
%t720 = getelementptr inbounds %Cmp_Node, ptr %t719, i32 0, i32 7
|
|
%t721 = load ptr, ptr %t720
|
|
%t722 = getelementptr inbounds %LSlice, ptr %t721, i32 0, i32 0
|
|
%t723 = load ptr, ptr %t722
|
|
%t724 = getelementptr inbounds ptr, ptr %t723, i32 0
|
|
%t725 = load ptr, ptr %t724
|
|
%t726 = call ptr @fn_emit_expr(ptr %t725)
|
|
store ptr %t726, ptr %t727
|
|
%t728 = load ptr, ptr %t727
|
|
%t729 = getelementptr inbounds %Cmp_Val, ptr %t728, i32 0, i32 0
|
|
%t730 = load ptr, ptr %t729
|
|
%t731 = call ptr @fn_fx_mul_code(ptr %t730, ptr @.str913)
|
|
%t732 = call ptr @fn_val(ptr %t731, ptr @.str914)
|
|
store ptr %t732, ptr %retval
|
|
br label %ret
|
|
ifend68:
|
|
%t733 = load ptr, ptr %t0
|
|
%t734 = call i32 @fn_str_eq(ptr %t733, ptr @.str915)
|
|
%t735 = icmp ne i32 %t734, 0
|
|
br i1 %t735, label %then69, label %ifend71
|
|
then69:
|
|
%t736 = load ptr, ptr %t1
|
|
%t737 = getelementptr inbounds %Cmp_Node, ptr %t736, i32 0, i32 7
|
|
%t738 = load ptr, ptr %t737
|
|
%t739 = getelementptr inbounds %LSlice, ptr %t738, i32 0, i32 0
|
|
%t740 = load ptr, ptr %t739
|
|
%t741 = getelementptr inbounds ptr, ptr %t740, i32 0
|
|
%t742 = load ptr, ptr %t741
|
|
%t743 = call ptr @fn_emit_expr(ptr %t742)
|
|
store ptr %t743, ptr %t744
|
|
%t745 = load ptr, ptr %t744
|
|
%t746 = getelementptr inbounds %Cmp_Val, ptr %t745, i32 0, i32 0
|
|
%t747 = load ptr, ptr %t746
|
|
%t748 = call ptr @fn_fx_mul_code(ptr %t747, ptr @.str916)
|
|
%t749 = call ptr @fn_val(ptr %t748, ptr @.str917)
|
|
store ptr %t749, ptr %retval
|
|
br label %ret
|
|
ifend71:
|
|
%t750 = load ptr, ptr %t0
|
|
%t751 = call i32 @fn_str_eq(ptr %t750, ptr @.str918)
|
|
%t752 = icmp ne i32 %t751, 0
|
|
br i1 %t752, label %then72, label %ifend74
|
|
then72:
|
|
%t753 = load ptr, ptr %t1
|
|
%t754 = getelementptr inbounds %Cmp_Node, ptr %t753, i32 0, i32 7
|
|
%t755 = load ptr, ptr %t754
|
|
%t756 = getelementptr inbounds %LSlice, ptr %t755, i32 0, i32 0
|
|
%t757 = load ptr, ptr %t756
|
|
%t758 = getelementptr inbounds ptr, ptr %t757, i32 0
|
|
%t759 = load ptr, ptr %t758
|
|
%t760 = call ptr @fn_emit_expr(ptr %t759)
|
|
store ptr %t760, ptr %t761
|
|
%t762 = load ptr, ptr %t1
|
|
%t763 = getelementptr inbounds %Cmp_Node, ptr %t762, i32 0, i32 7
|
|
%t764 = load ptr, ptr %t763
|
|
%t765 = getelementptr inbounds %LSlice, ptr %t764, i32 0, i32 0
|
|
%t766 = load ptr, ptr %t765
|
|
%t767 = getelementptr inbounds ptr, ptr %t766, i32 1
|
|
%t768 = load ptr, ptr %t767
|
|
%t769 = call ptr @fn_emit_expr(ptr %t768)
|
|
store ptr %t769, ptr %t770
|
|
%t771 = load ptr, ptr %t761
|
|
%t772 = getelementptr inbounds %Cmp_Val, ptr %t771, i32 0, i32 0
|
|
%t773 = load ptr, ptr %t772
|
|
%t774 = call ptr @fn_str_concat(ptr @.str919, ptr %t773)
|
|
%t775 = call ptr @fn_str_concat(ptr %t774, ptr @.str920)
|
|
%t776 = load ptr, ptr %t770
|
|
%t777 = getelementptr inbounds %Cmp_Val, ptr %t776, i32 0, i32 0
|
|
%t778 = load ptr, ptr %t777
|
|
%t779 = call ptr @fn_str_concat(ptr %t775, ptr %t778)
|
|
%t780 = call ptr @fn_emit_bind(ptr %t779)
|
|
store ptr %t780, ptr %t781
|
|
%t782 = load ptr, ptr %t781
|
|
%t783 = call ptr @fn_str_concat(ptr @.str921, ptr %t782)
|
|
%t784 = call ptr @fn_str_concat(ptr %t783, ptr @.str922)
|
|
%t785 = load ptr, ptr %t770
|
|
%t786 = getelementptr inbounds %Cmp_Val, ptr %t785, i32 0, i32 0
|
|
%t787 = load ptr, ptr %t786
|
|
%t788 = call ptr @fn_str_concat(ptr %t784, ptr %t787)
|
|
%t789 = call ptr @fn_emit_bind(ptr %t788)
|
|
store ptr %t789, ptr %t790
|
|
%t791 = load ptr, ptr %t790
|
|
%t792 = call ptr @fn_str_concat(ptr @.str923, ptr %t791)
|
|
%t793 = call ptr @fn_str_concat(ptr %t792, ptr @.str924)
|
|
%t794 = load ptr, ptr %t770
|
|
%t795 = getelementptr inbounds %Cmp_Val, ptr %t794, i32 0, i32 0
|
|
%t796 = load ptr, ptr %t795
|
|
%t797 = call ptr @fn_str_concat(ptr %t793, ptr %t796)
|
|
%t798 = call ptr @fn_emit_bind(ptr %t797)
|
|
%t799 = call ptr @fn_val(ptr %t798, ptr @.str925)
|
|
store ptr %t799, ptr %retval
|
|
br label %ret
|
|
ifend74:
|
|
%t800 = load ptr, ptr %t0
|
|
%t801 = call i32 @fn_str_eq(ptr %t800, ptr @.str926)
|
|
%t802 = icmp ne i32 %t801, 0
|
|
br i1 %t802, label %then75, label %ifend77
|
|
then75:
|
|
%t803 = load ptr, ptr %t1
|
|
%t804 = getelementptr inbounds %Cmp_Node, ptr %t803, i32 0, i32 7
|
|
%t805 = load ptr, ptr %t804
|
|
%t806 = getelementptr inbounds %LSlice, ptr %t805, i32 0, i32 0
|
|
%t807 = load ptr, ptr %t806
|
|
%t808 = getelementptr inbounds ptr, ptr %t807, i32 0
|
|
%t809 = load ptr, ptr %t808
|
|
%t810 = call ptr @fn_emit_expr(ptr %t809)
|
|
store ptr %t810, ptr %t811
|
|
%t812 = load ptr, ptr %t1
|
|
%t813 = getelementptr inbounds %Cmp_Node, ptr %t812, i32 0, i32 7
|
|
%t814 = load ptr, ptr %t813
|
|
%t815 = getelementptr inbounds %LSlice, ptr %t814, i32 0, i32 0
|
|
%t816 = load ptr, ptr %t815
|
|
%t817 = getelementptr inbounds ptr, ptr %t816, i32 1
|
|
%t818 = load ptr, ptr %t817
|
|
%t819 = call ptr @fn_emit_expr(ptr %t818)
|
|
store ptr %t819, ptr %t820
|
|
%t821 = load ptr, ptr %t1
|
|
%t822 = getelementptr inbounds %Cmp_Node, ptr %t821, i32 0, i32 7
|
|
%t823 = load ptr, ptr %t822
|
|
%t824 = getelementptr inbounds %LSlice, ptr %t823, i32 0, i32 0
|
|
%t825 = load ptr, ptr %t824
|
|
%t826 = getelementptr inbounds ptr, ptr %t825, i32 2
|
|
%t827 = load ptr, ptr %t826
|
|
%t828 = call ptr @fn_emit_expr(ptr %t827)
|
|
store ptr %t828, ptr %t829
|
|
%t830 = load ptr, ptr %t829
|
|
%t831 = getelementptr inbounds %Cmp_Val, ptr %t830, i32 0, i32 0
|
|
%t832 = load ptr, ptr %t831
|
|
%t833 = call ptr @fn_str_concat(ptr @.str927, ptr %t832)
|
|
%t834 = call ptr @fn_str_concat(ptr %t833, ptr @.str928)
|
|
%t835 = load ptr, ptr %t820
|
|
%t836 = getelementptr inbounds %Cmp_Val, ptr %t835, i32 0, i32 0
|
|
%t837 = load ptr, ptr %t836
|
|
%t838 = call ptr @fn_str_concat(ptr %t834, ptr %t837)
|
|
%t839 = call ptr @fn_emit_bind(ptr %t838)
|
|
store ptr %t839, ptr %t840
|
|
%t841 = load ptr, ptr %t811
|
|
%t842 = getelementptr inbounds %Cmp_Val, ptr %t841, i32 0, i32 0
|
|
%t843 = load ptr, ptr %t842
|
|
%t844 = call ptr @fn_str_concat(ptr @.str929, ptr %t843)
|
|
%t845 = call ptr @fn_str_concat(ptr %t844, ptr @.str930)
|
|
%t846 = load ptr, ptr %t820
|
|
%t847 = getelementptr inbounds %Cmp_Val, ptr %t846, i32 0, i32 0
|
|
%t848 = load ptr, ptr %t847
|
|
%t849 = call ptr @fn_str_concat(ptr %t845, ptr %t848)
|
|
%t850 = call ptr @fn_emit_bind(ptr %t849)
|
|
store ptr %t850, ptr %t851
|
|
%t852 = load ptr, ptr %t851
|
|
%t853 = call ptr @fn_str_concat(ptr @.str931, ptr %t852)
|
|
%t854 = call ptr @fn_str_concat(ptr %t853, ptr @.str932)
|
|
%t855 = load ptr, ptr %t840
|
|
%t856 = call ptr @fn_str_concat(ptr %t854, ptr %t855)
|
|
%t857 = call ptr @fn_emit_bind(ptr %t856)
|
|
store ptr %t857, ptr %t858
|
|
%t859 = load ptr, ptr %t858
|
|
%t860 = call ptr @fn_str_concat(ptr @.str933, ptr %t859)
|
|
%t861 = call ptr @fn_str_concat(ptr %t860, ptr @.str934)
|
|
%t862 = load ptr, ptr %t840
|
|
%t863 = call ptr @fn_str_concat(ptr %t861, ptr %t862)
|
|
%t864 = call ptr @fn_emit_bind(ptr %t863)
|
|
store ptr %t864, ptr %t865
|
|
%t866 = load ptr, ptr %t865
|
|
%t867 = call ptr @fn_str_concat(ptr @.str935, ptr %t866)
|
|
%t868 = call ptr @fn_str_concat(ptr %t867, ptr @.str936)
|
|
%t869 = load ptr, ptr %t840
|
|
%t870 = call ptr @fn_str_concat(ptr %t868, ptr %t869)
|
|
%t871 = call ptr @fn_emit_bind(ptr %t870)
|
|
store ptr %t871, ptr %t872
|
|
%t873 = load ptr, ptr %t820
|
|
%t874 = getelementptr inbounds %Cmp_Val, ptr %t873, i32 0, i32 0
|
|
%t875 = load ptr, ptr %t874
|
|
%t876 = call ptr @fn_str_concat(ptr @.str937, ptr %t875)
|
|
%t877 = call ptr @fn_str_concat(ptr %t876, ptr @.str938)
|
|
%t878 = load ptr, ptr %t872
|
|
%t879 = call ptr @fn_str_concat(ptr %t877, ptr %t878)
|
|
%t880 = call ptr @fn_emit_bind(ptr %t879)
|
|
%t881 = call ptr @fn_val(ptr %t880, ptr @.str939)
|
|
store ptr %t881, ptr %retval
|
|
br label %ret
|
|
ifend77:
|
|
%t882 = load ptr, ptr %t0
|
|
%t883 = call i32 @fn_str_eq(ptr %t882, ptr @.str940)
|
|
%t884 = icmp ne i32 %t883, 0
|
|
br i1 %t884, label %then78, label %ifend80
|
|
then78:
|
|
%t885 = load ptr, ptr %t1
|
|
%t886 = getelementptr inbounds %Cmp_Node, ptr %t885, i32 0, i32 7
|
|
%t887 = load ptr, ptr %t886
|
|
%t888 = getelementptr inbounds %LSlice, ptr %t887, i32 0, i32 0
|
|
%t889 = load ptr, ptr %t888
|
|
%t890 = getelementptr inbounds ptr, ptr %t889, i32 0
|
|
%t891 = load ptr, ptr %t890
|
|
%t892 = call ptr @fn_emit_expr(ptr %t891)
|
|
store ptr %t892, ptr %t893
|
|
%t894 = load ptr, ptr %t1
|
|
%t895 = getelementptr inbounds %Cmp_Node, ptr %t894, i32 0, i32 7
|
|
%t896 = load ptr, ptr %t895
|
|
%t897 = getelementptr inbounds %LSlice, ptr %t896, i32 0, i32 0
|
|
%t898 = load ptr, ptr %t897
|
|
%t899 = getelementptr inbounds ptr, ptr %t898, i32 1
|
|
%t900 = load ptr, ptr %t899
|
|
%t901 = call ptr @fn_emit_expr(ptr %t900)
|
|
store ptr %t901, ptr %t902
|
|
%t903 = load ptr, ptr %t902
|
|
%t904 = getelementptr inbounds %Cmp_Val, ptr %t903, i32 0, i32 0
|
|
%t905 = load ptr, ptr %t904
|
|
%t906 = call ptr @fn_str_concat(ptr @.str941, ptr %t905)
|
|
%t907 = call ptr @fn_str_concat(ptr %t906, ptr @.str942)
|
|
%t908 = call ptr @fn_emit_bind(ptr %t907)
|
|
store ptr %t908, ptr %t909
|
|
%t910 = load ptr, ptr %t893
|
|
%t911 = getelementptr inbounds %Cmp_Val, ptr %t910, i32 0, i32 0
|
|
%t912 = load ptr, ptr %t911
|
|
%t913 = call ptr @fn_str_concat(ptr @.str943, ptr %t912)
|
|
%t914 = call ptr @fn_str_concat(ptr %t913, ptr @.str944)
|
|
%t915 = load ptr, ptr %t909
|
|
%t916 = call ptr @fn_str_concat(ptr %t914, ptr %t915)
|
|
%t917 = call ptr @fn_emit_bind(ptr %t916)
|
|
store ptr %t917, ptr %t918
|
|
%t919 = load ptr, ptr %t918
|
|
%t920 = call ptr @fn_str_concat(ptr @.str945, ptr %t919)
|
|
%t921 = call ptr @fn_str_concat(ptr %t920, ptr @.str946)
|
|
%t922 = load ptr, ptr %t909
|
|
%t923 = call ptr @fn_str_concat(ptr %t921, ptr %t922)
|
|
%t924 = call ptr @fn_emit_bind(ptr %t923)
|
|
store ptr %t924, ptr %t925
|
|
%t926 = load ptr, ptr %t925
|
|
%t927 = call ptr @fn_str_concat(ptr @.str947, ptr %t926)
|
|
%t928 = call ptr @fn_str_concat(ptr %t927, ptr @.str948)
|
|
%t929 = load ptr, ptr %t909
|
|
%t930 = call ptr @fn_str_concat(ptr %t928, ptr %t929)
|
|
%t931 = call ptr @fn_emit_bind(ptr %t930)
|
|
store ptr %t931, ptr %t932
|
|
%t933 = load ptr, ptr %t932
|
|
%t934 = call ptr @fn_str_concat(ptr @.str949, ptr %t933)
|
|
%t935 = call ptr @fn_str_concat(ptr %t934, ptr @.str950)
|
|
%t936 = load ptr, ptr %t902
|
|
%t937 = getelementptr inbounds %Cmp_Val, ptr %t936, i32 0, i32 0
|
|
%t938 = load ptr, ptr %t937
|
|
%t939 = call ptr @fn_str_concat(ptr %t935, ptr %t938)
|
|
%t940 = call ptr @fn_emit_bind(ptr %t939)
|
|
store ptr %t940, ptr %t941
|
|
%t942 = load ptr, ptr %t941
|
|
%t943 = call ptr @fn_str_concat(ptr @.str951, ptr %t942)
|
|
%t944 = call ptr @fn_emit_bind(ptr %t943)
|
|
store ptr %t944, ptr %t945
|
|
%t946 = load ptr, ptr %t941
|
|
%t947 = call ptr @fn_str_concat(ptr @.str952, ptr %t946)
|
|
%t948 = call ptr @fn_str_concat(ptr %t947, ptr @.str953)
|
|
%t949 = call ptr @fn_emit_bind(ptr %t948)
|
|
store ptr %t949, ptr %t950
|
|
%t951 = load ptr, ptr %t950
|
|
%t952 = call ptr @fn_str_concat(ptr @.str954, ptr %t951)
|
|
%t953 = call ptr @fn_str_concat(ptr %t952, ptr @.str955)
|
|
%t954 = load ptr, ptr %t945
|
|
%t955 = call ptr @fn_str_concat(ptr %t953, ptr %t954)
|
|
%t956 = call ptr @fn_str_concat(ptr %t955, ptr @.str956)
|
|
%t957 = load ptr, ptr %t941
|
|
%t958 = call ptr @fn_str_concat(ptr %t956, ptr %t957)
|
|
%t959 = call ptr @fn_emit_bind(ptr %t958)
|
|
store ptr %t959, ptr %t960
|
|
%t961 = load ptr, ptr %t902
|
|
%t962 = getelementptr inbounds %Cmp_Val, ptr %t961, i32 0, i32 0
|
|
%t963 = load ptr, ptr %t962
|
|
%t964 = call ptr @fn_str_concat(ptr @.str957, ptr %t963)
|
|
%t965 = call ptr @fn_str_concat(ptr %t964, ptr @.str958)
|
|
%t966 = load ptr, ptr %t960
|
|
%t967 = call ptr @fn_str_concat(ptr %t965, ptr %t966)
|
|
%t968 = call ptr @fn_emit_bind(ptr %t967)
|
|
%t969 = call ptr @fn_val(ptr %t968, ptr @.str959)
|
|
store ptr %t969, ptr %retval
|
|
br label %ret
|
|
ifend80:
|
|
%t970 = load ptr, ptr %t0
|
|
%t971 = call i32 @fn_str_eq(ptr %t970, ptr @.str960)
|
|
%t972 = icmp ne i32 %t971, 0
|
|
br i1 %t972, label %then81, label %ifend83
|
|
then81:
|
|
%t973 = load ptr, ptr %t1
|
|
%t974 = getelementptr inbounds %Cmp_Node, ptr %t973, i32 0, i32 7
|
|
%t975 = load ptr, ptr %t974
|
|
%t976 = getelementptr inbounds %LSlice, ptr %t975, i32 0, i32 0
|
|
%t977 = load ptr, ptr %t976
|
|
%t978 = getelementptr inbounds ptr, ptr %t977, i32 0
|
|
%t979 = load ptr, ptr %t978
|
|
%t980 = call ptr @fn_emit_expr(ptr %t979)
|
|
store ptr %t980, ptr %t981
|
|
%t982 = load ptr, ptr %t1
|
|
%t983 = getelementptr inbounds %Cmp_Node, ptr %t982, i32 0, i32 7
|
|
%t984 = load ptr, ptr %t983
|
|
%t985 = getelementptr inbounds %LSlice, ptr %t984, i32 0, i32 0
|
|
%t986 = load ptr, ptr %t985
|
|
%t987 = getelementptr inbounds ptr, ptr %t986, i32 1
|
|
%t988 = load ptr, ptr %t987
|
|
%t989 = call ptr @fn_emit_expr(ptr %t988)
|
|
store ptr %t989, ptr %t990
|
|
%t991 = load ptr, ptr %t981
|
|
%t992 = getelementptr inbounds %Cmp_Val, ptr %t991, i32 0, i32 0
|
|
%t993 = load ptr, ptr %t992
|
|
%t994 = load ptr, ptr %t990
|
|
%t995 = getelementptr inbounds %Cmp_Val, ptr %t994, i32 0, i32 0
|
|
%t996 = load ptr, ptr %t995
|
|
%t997 = call ptr @fn_fx_div_code(ptr %t993, ptr %t996)
|
|
store ptr %t997, ptr %t998
|
|
%t999 = load ptr, ptr %t998
|
|
%t1000 = call ptr @fn_str_concat(ptr @.str961, ptr %t999)
|
|
%t1001 = call ptr @fn_str_concat(ptr %t1000, ptr @.str962)
|
|
%t1002 = call ptr @fn_emit_bind(ptr %t1001)
|
|
store ptr %t1002, ptr %t1003
|
|
%t1004 = load ptr, ptr %t1003
|
|
%t1005 = call ptr @fn_str_concat(ptr @.str963, ptr %t1004)
|
|
%t1006 = call ptr @fn_str_concat(ptr %t1005, ptr @.str964)
|
|
%t1007 = call ptr @fn_emit_bind(ptr %t1006)
|
|
store ptr %t1007, ptr %t1008
|
|
%t1009 = load ptr, ptr %t1008
|
|
%t1010 = call ptr @fn_str_concat(ptr @.str965, ptr %t1009)
|
|
%t1011 = call ptr @fn_str_concat(ptr %t1010, ptr @.str966)
|
|
%t1012 = load ptr, ptr %t990
|
|
%t1013 = getelementptr inbounds %Cmp_Val, ptr %t1012, i32 0, i32 0
|
|
%t1014 = load ptr, ptr %t1013
|
|
%t1015 = call ptr @fn_str_concat(ptr %t1011, ptr %t1014)
|
|
%t1016 = call ptr @fn_emit_bind(ptr %t1015)
|
|
%t1017 = call ptr @fn_val(ptr %t1016, ptr @.str967)
|
|
store ptr %t1017, ptr %retval
|
|
br label %ret
|
|
ifend83:
|
|
%t1018 = load ptr, ptr %t0
|
|
%t1019 = call i32 @fn_str_eq(ptr %t1018, ptr @.str968)
|
|
%t1020 = icmp ne i32 %t1019, 0
|
|
br i1 %t1020, label %then84, label %ifend86
|
|
then84:
|
|
%t1021 = load ptr, ptr %t1
|
|
%t1022 = getelementptr inbounds %Cmp_Node, ptr %t1021, i32 0, i32 7
|
|
%t1023 = load ptr, ptr %t1022
|
|
%t1024 = getelementptr inbounds %LSlice, ptr %t1023, i32 0, i32 0
|
|
%t1025 = load ptr, ptr %t1024
|
|
%t1026 = getelementptr inbounds ptr, ptr %t1025, i32 0
|
|
%t1027 = load ptr, ptr %t1026
|
|
%t1028 = call ptr @fn_emit_expr(ptr %t1027)
|
|
store ptr %t1028, ptr %t1029
|
|
%t1030 = load ptr, ptr %t1
|
|
%t1031 = getelementptr inbounds %Cmp_Node, ptr %t1030, i32 0, i32 7
|
|
%t1032 = load ptr, ptr %t1031
|
|
%t1033 = getelementptr inbounds %LSlice, ptr %t1032, i32 0, i32 0
|
|
%t1034 = load ptr, ptr %t1033
|
|
%t1035 = getelementptr inbounds ptr, ptr %t1034, i32 1
|
|
%t1036 = load ptr, ptr %t1035
|
|
%t1037 = call ptr @fn_emit_expr(ptr %t1036)
|
|
store ptr %t1037, ptr %t1038
|
|
%t1039 = load ptr, ptr %t1
|
|
%t1040 = getelementptr inbounds %Cmp_Node, ptr %t1039, i32 0, i32 7
|
|
%t1041 = load ptr, ptr %t1040
|
|
%t1042 = getelementptr inbounds %LSlice, ptr %t1041, i32 0, i32 0
|
|
%t1043 = load ptr, ptr %t1042
|
|
%t1044 = getelementptr inbounds ptr, ptr %t1043, i32 2
|
|
%t1045 = load ptr, ptr %t1044
|
|
%t1046 = call ptr @fn_emit_expr(ptr %t1045)
|
|
store ptr %t1046, ptr %t1047
|
|
%t1048 = load ptr, ptr %t1038
|
|
%t1049 = getelementptr inbounds %Cmp_Val, ptr %t1048, i32 0, i32 0
|
|
%t1050 = load ptr, ptr %t1049
|
|
%t1051 = call ptr @fn_str_concat(ptr @.str969, ptr %t1050)
|
|
%t1052 = call ptr @fn_str_concat(ptr %t1051, ptr @.str970)
|
|
%t1053 = load ptr, ptr %t1029
|
|
%t1054 = getelementptr inbounds %Cmp_Val, ptr %t1053, i32 0, i32 0
|
|
%t1055 = load ptr, ptr %t1054
|
|
%t1056 = call ptr @fn_str_concat(ptr %t1052, ptr %t1055)
|
|
%t1057 = call ptr @fn_emit_bind(ptr %t1056)
|
|
store ptr %t1057, ptr %t1058
|
|
%t1059 = load ptr, ptr %t1058
|
|
%t1060 = call ptr @fn_str_concat(ptr @.str971, ptr %t1059)
|
|
%t1061 = call ptr @fn_emit_bind(ptr %t1060)
|
|
store ptr %t1061, ptr %t1062
|
|
%t1063 = load ptr, ptr %t1058
|
|
%t1064 = call ptr @fn_str_concat(ptr @.str972, ptr %t1063)
|
|
%t1065 = call ptr @fn_str_concat(ptr %t1064, ptr @.str973)
|
|
%t1066 = call ptr @fn_emit_bind(ptr %t1065)
|
|
store ptr %t1066, ptr %t1067
|
|
%t1068 = load ptr, ptr %t1067
|
|
%t1069 = call ptr @fn_str_concat(ptr @.str974, ptr %t1068)
|
|
%t1070 = call ptr @fn_str_concat(ptr %t1069, ptr @.str975)
|
|
%t1071 = load ptr, ptr %t1062
|
|
%t1072 = call ptr @fn_str_concat(ptr %t1070, ptr %t1071)
|
|
%t1073 = call ptr @fn_str_concat(ptr %t1072, ptr @.str976)
|
|
%t1074 = load ptr, ptr %t1058
|
|
%t1075 = call ptr @fn_str_concat(ptr %t1073, ptr %t1074)
|
|
%t1076 = call ptr @fn_emit_bind(ptr %t1075)
|
|
store ptr %t1076, ptr %t1077
|
|
%t1078 = load ptr, ptr %t1058
|
|
%t1079 = call ptr @fn_str_concat(ptr @.str977, ptr %t1078)
|
|
%t1080 = call ptr @fn_str_concat(ptr %t1079, ptr @.str978)
|
|
%t1081 = call ptr @fn_emit_bind(ptr %t1080)
|
|
store ptr %t1081, ptr %t1082
|
|
%t1083 = load ptr, ptr %t1058
|
|
%t1084 = call ptr @fn_str_concat(ptr @.str979, ptr %t1083)
|
|
%t1085 = call ptr @fn_str_concat(ptr %t1084, ptr @.str980)
|
|
%t1086 = call ptr @fn_emit_bind(ptr %t1085)
|
|
store ptr %t1086, ptr %t1087
|
|
%t1088 = load ptr, ptr %t1087
|
|
%t1089 = call ptr @fn_str_concat(ptr @.str981, ptr %t1088)
|
|
%t1090 = call ptr @fn_str_concat(ptr %t1089, ptr @.str982)
|
|
%t1091 = call ptr @fn_emit_bind(ptr %t1090)
|
|
store ptr %t1091, ptr %t1092
|
|
%t1093 = load ptr, ptr %t1082
|
|
%t1094 = call ptr @fn_str_concat(ptr @.str983, ptr %t1093)
|
|
%t1095 = call ptr @fn_str_concat(ptr %t1094, ptr @.str984)
|
|
%t1096 = load ptr, ptr %t1092
|
|
%t1097 = call ptr @fn_str_concat(ptr %t1095, ptr %t1096)
|
|
%t1098 = call ptr @fn_emit_bind(ptr %t1097)
|
|
store ptr %t1098, ptr %t1099
|
|
%t1100 = load ptr, ptr %t1099
|
|
%t1101 = call ptr @fn_str_concat(ptr @.str985, ptr %t1100)
|
|
%t1102 = call ptr @fn_str_concat(ptr %t1101, ptr @.str986)
|
|
%t1103 = load ptr, ptr %t1047
|
|
%t1104 = getelementptr inbounds %Cmp_Val, ptr %t1103, i32 0, i32 0
|
|
%t1105 = load ptr, ptr %t1104
|
|
%t1106 = call ptr @fn_str_concat(ptr %t1102, ptr %t1105)
|
|
%t1107 = call ptr @fn_emit_bind(ptr %t1106)
|
|
store ptr %t1107, ptr %t1108
|
|
%t1109 = load ptr, ptr %t1029
|
|
%t1110 = getelementptr inbounds %Cmp_Val, ptr %t1109, i32 0, i32 0
|
|
%t1111 = load ptr, ptr %t1110
|
|
%t1112 = call ptr @fn_str_concat(ptr @.str987, ptr %t1111)
|
|
%t1113 = call ptr @fn_str_concat(ptr %t1112, ptr @.str988)
|
|
%t1114 = load ptr, ptr %t1108
|
|
%t1115 = call ptr @fn_str_concat(ptr %t1113, ptr %t1114)
|
|
%t1116 = call ptr @fn_emit_bind(ptr %t1115)
|
|
store ptr %t1116, ptr %t1117
|
|
%t1118 = load ptr, ptr %t1077
|
|
%t1119 = call ptr @fn_str_concat(ptr @.str989, ptr %t1118)
|
|
%t1120 = call ptr @fn_str_concat(ptr %t1119, ptr @.str990)
|
|
%t1121 = load ptr, ptr %t1047
|
|
%t1122 = getelementptr inbounds %Cmp_Val, ptr %t1121, i32 0, i32 0
|
|
%t1123 = load ptr, ptr %t1122
|
|
%t1124 = call ptr @fn_str_concat(ptr %t1120, ptr %t1123)
|
|
%t1125 = call ptr @fn_emit_bind(ptr %t1124)
|
|
store ptr %t1125, ptr %t1126
|
|
%t1127 = load ptr, ptr %t1126
|
|
%t1128 = call ptr @fn_str_concat(ptr @.str991, ptr %t1127)
|
|
%t1129 = call ptr @fn_str_concat(ptr %t1128, ptr @.str992)
|
|
%t1130 = load ptr, ptr %t1038
|
|
%t1131 = getelementptr inbounds %Cmp_Val, ptr %t1130, i32 0, i32 0
|
|
%t1132 = load ptr, ptr %t1131
|
|
%t1133 = call ptr @fn_str_concat(ptr %t1129, ptr %t1132)
|
|
%t1134 = call ptr @fn_str_concat(ptr %t1133, ptr @.str993)
|
|
%t1135 = load ptr, ptr %t1117
|
|
%t1136 = call ptr @fn_str_concat(ptr %t1134, ptr %t1135)
|
|
%t1137 = call ptr @fn_emit_bind(ptr %t1136)
|
|
%t1138 = call ptr @fn_val(ptr %t1137, ptr @.str994)
|
|
store ptr %t1138, ptr %retval
|
|
br label %ret
|
|
ifend86:
|
|
%t1139 = load ptr, ptr %t0
|
|
%t1140 = call i32 @fn_str_eq(ptr %t1139, ptr @.str995)
|
|
%t1141 = icmp ne i32 %t1140, 0
|
|
br i1 %t1141, label %then87, label %ifend89
|
|
then87:
|
|
%t1142 = load ptr, ptr %t1
|
|
%t1143 = getelementptr inbounds %Cmp_Node, ptr %t1142, i32 0, i32 7
|
|
%t1144 = load ptr, ptr %t1143
|
|
%t1145 = getelementptr inbounds %LSlice, ptr %t1144, i32 0, i32 0
|
|
%t1146 = load ptr, ptr %t1145
|
|
%t1147 = getelementptr inbounds ptr, ptr %t1146, i32 0
|
|
%t1148 = load ptr, ptr %t1147
|
|
%t1149 = call ptr @fn_emit_expr(ptr %t1148)
|
|
store ptr %t1149, ptr %t1150
|
|
%t1151 = load ptr, ptr %t1
|
|
%t1152 = getelementptr inbounds %Cmp_Node, ptr %t1151, i32 0, i32 7
|
|
%t1153 = load ptr, ptr %t1152
|
|
%t1154 = getelementptr inbounds %LSlice, ptr %t1153, i32 0, i32 0
|
|
%t1155 = load ptr, ptr %t1154
|
|
%t1156 = getelementptr inbounds ptr, ptr %t1155, i32 1
|
|
%t1157 = load ptr, ptr %t1156
|
|
%t1158 = call ptr @fn_emit_expr(ptr %t1157)
|
|
store ptr %t1158, ptr %t1159
|
|
%t1160 = load ptr, ptr %t1
|
|
%t1161 = getelementptr inbounds %Cmp_Node, ptr %t1160, i32 0, i32 7
|
|
%t1162 = load ptr, ptr %t1161
|
|
%t1163 = getelementptr inbounds %LSlice, ptr %t1162, i32 0, i32 0
|
|
%t1164 = load ptr, ptr %t1163
|
|
%t1165 = getelementptr inbounds ptr, ptr %t1164, i32 2
|
|
%t1166 = load ptr, ptr %t1165
|
|
%t1167 = call ptr @fn_emit_expr(ptr %t1166)
|
|
store ptr %t1167, ptr %t1168
|
|
%t1169 = load ptr, ptr %t1150
|
|
%t1170 = getelementptr inbounds %Cmp_Val, ptr %t1169, i32 0, i32 0
|
|
%t1171 = load ptr, ptr %t1170
|
|
%t1172 = load ptr, ptr %t1159
|
|
%t1173 = getelementptr inbounds %Cmp_Val, ptr %t1172, i32 0, i32 0
|
|
%t1174 = load ptr, ptr %t1173
|
|
%t1175 = load ptr, ptr %t1168
|
|
%t1176 = getelementptr inbounds %Cmp_Val, ptr %t1175, i32 0, i32 0
|
|
%t1177 = load ptr, ptr %t1176
|
|
%t1178 = call ptr @fn_fx_inv_lerp_code(ptr %t1171, ptr %t1174, ptr %t1177)
|
|
store ptr %t1178, ptr %t1179
|
|
%t1180 = load ptr, ptr %t1179
|
|
%t1181 = call ptr @fn_str_concat(ptr @.str996, ptr %t1180)
|
|
%t1182 = call ptr @fn_str_concat(ptr %t1181, ptr @.str997)
|
|
%t1183 = call ptr @fn_emit_bind(ptr %t1182)
|
|
store ptr %t1183, ptr %t1184
|
|
%t1185 = load ptr, ptr %t1184
|
|
%t1186 = call ptr @fn_str_concat(ptr @.str998, ptr %t1185)
|
|
%t1187 = call ptr @fn_str_concat(ptr %t1186, ptr @.str999)
|
|
%t1188 = load ptr, ptr %t1179
|
|
%t1189 = call ptr @fn_str_concat(ptr %t1187, ptr %t1188)
|
|
%t1190 = call ptr @fn_emit_bind(ptr %t1189)
|
|
store ptr %t1190, ptr %t1191
|
|
%t1192 = load ptr, ptr %t1191
|
|
%t1193 = call ptr @fn_str_concat(ptr @.str1000, ptr %t1192)
|
|
%t1194 = call ptr @fn_str_concat(ptr %t1193, ptr @.str1001)
|
|
%t1195 = call ptr @fn_emit_bind(ptr %t1194)
|
|
store ptr %t1195, ptr %t1196
|
|
%t1197 = load ptr, ptr %t1196
|
|
%t1198 = call ptr @fn_str_concat(ptr @.str1002, ptr %t1197)
|
|
%t1199 = call ptr @fn_str_concat(ptr %t1198, ptr @.str1003)
|
|
%t1200 = load ptr, ptr %t1191
|
|
%t1201 = call ptr @fn_str_concat(ptr %t1199, ptr %t1200)
|
|
%t1202 = call ptr @fn_emit_bind(ptr %t1201)
|
|
store ptr %t1202, ptr %t1203
|
|
%t1204 = load ptr, ptr %t1203
|
|
%t1205 = call ptr @fn_str_concat(ptr @.str1004, ptr %t1204)
|
|
%t1206 = call ptr @fn_str_concat(ptr %t1205, ptr @.str1005)
|
|
%t1207 = call ptr @fn_emit_bind(ptr %t1206)
|
|
store ptr %t1207, ptr %t1208
|
|
%t1209 = load ptr, ptr %t1208
|
|
%t1210 = call ptr @fn_str_concat(ptr @.str1006, ptr %t1209)
|
|
%t1211 = call ptr @fn_emit_bind(ptr %t1210)
|
|
store ptr %t1211, ptr %t1212
|
|
%t1213 = load ptr, ptr %t1203
|
|
%t1214 = load ptr, ptr %t1203
|
|
%t1215 = call ptr @fn_fx_mul_code(ptr %t1213, ptr %t1214)
|
|
store ptr %t1215, ptr %t1216
|
|
%t1217 = load ptr, ptr %t1216
|
|
%t1218 = load ptr, ptr %t1212
|
|
%t1219 = call ptr @fn_fx_mul_code(ptr %t1217, ptr %t1218)
|
|
%t1220 = call ptr @fn_val(ptr %t1219, ptr @.str1007)
|
|
store ptr %t1220, ptr %retval
|
|
br label %ret
|
|
ifend89:
|
|
%t1221 = load ptr, ptr %t1
|
|
%t1222 = getelementptr inbounds %Cmp_Node, ptr %t1221, i32 0, i32 7
|
|
%t1223 = load ptr, ptr %t1222
|
|
%t1224 = getelementptr inbounds %LSlice, ptr %t1223, i32 0, i32 0
|
|
%t1225 = load ptr, ptr %t1224
|
|
%t1226 = getelementptr inbounds ptr, ptr %t1225, i32 0
|
|
%t1227 = load ptr, ptr %t1226
|
|
%t1228 = call ptr @fn_emit_expr(ptr %t1227)
|
|
store ptr %t1228, ptr %t1229
|
|
%t1230 = load ptr, ptr %t1
|
|
%t1231 = getelementptr inbounds %Cmp_Node, ptr %t1230, i32 0, i32 7
|
|
%t1232 = load ptr, ptr %t1231
|
|
%t1233 = getelementptr inbounds %LSlice, ptr %t1232, i32 0, i32 0
|
|
%t1234 = load ptr, ptr %t1233
|
|
%t1235 = getelementptr inbounds ptr, ptr %t1234, i32 1
|
|
%t1236 = load ptr, ptr %t1235
|
|
%t1237 = call ptr @fn_emit_expr(ptr %t1236)
|
|
store ptr %t1237, ptr %t1238
|
|
%t1239 = load ptr, ptr %t1
|
|
%t1240 = getelementptr inbounds %Cmp_Node, ptr %t1239, i32 0, i32 7
|
|
%t1241 = load ptr, ptr %t1240
|
|
%t1242 = getelementptr inbounds %LSlice, ptr %t1241, i32 0, i32 0
|
|
%t1243 = load ptr, ptr %t1242
|
|
%t1244 = getelementptr inbounds ptr, ptr %t1243, i32 2
|
|
%t1245 = load ptr, ptr %t1244
|
|
%t1246 = call ptr @fn_emit_expr(ptr %t1245)
|
|
store ptr %t1246, ptr %t1247
|
|
%t1248 = load ptr, ptr %t1
|
|
%t1249 = getelementptr inbounds %Cmp_Node, ptr %t1248, i32 0, i32 7
|
|
%t1250 = load ptr, ptr %t1249
|
|
%t1251 = getelementptr inbounds %LSlice, ptr %t1250, i32 0, i32 0
|
|
%t1252 = load ptr, ptr %t1251
|
|
%t1253 = getelementptr inbounds ptr, ptr %t1252, i32 3
|
|
%t1254 = load ptr, ptr %t1253
|
|
%t1255 = call ptr @fn_emit_expr(ptr %t1254)
|
|
store ptr %t1255, ptr %t1256
|
|
%t1257 = load ptr, ptr %t1
|
|
%t1258 = getelementptr inbounds %Cmp_Node, ptr %t1257, i32 0, i32 7
|
|
%t1259 = load ptr, ptr %t1258
|
|
%t1260 = getelementptr inbounds %LSlice, ptr %t1259, i32 0, i32 0
|
|
%t1261 = load ptr, ptr %t1260
|
|
%t1262 = getelementptr inbounds ptr, ptr %t1261, i32 4
|
|
%t1263 = load ptr, ptr %t1262
|
|
%t1264 = call ptr @fn_emit_expr(ptr %t1263)
|
|
store ptr %t1264, ptr %t1265
|
|
%t1266 = load ptr, ptr %t1238
|
|
%t1267 = getelementptr inbounds %Cmp_Val, ptr %t1266, i32 0, i32 0
|
|
%t1268 = load ptr, ptr %t1267
|
|
%t1269 = load ptr, ptr %t1247
|
|
%t1270 = getelementptr inbounds %Cmp_Val, ptr %t1269, i32 0, i32 0
|
|
%t1271 = load ptr, ptr %t1270
|
|
%t1272 = load ptr, ptr %t1229
|
|
%t1273 = getelementptr inbounds %Cmp_Val, ptr %t1272, i32 0, i32 0
|
|
%t1274 = load ptr, ptr %t1273
|
|
%t1275 = call ptr @fn_fx_inv_lerp_code(ptr %t1268, ptr %t1271, ptr %t1274)
|
|
store ptr %t1275, ptr %t1276
|
|
%t1277 = load ptr, ptr %t1256
|
|
%t1278 = getelementptr inbounds %Cmp_Val, ptr %t1277, i32 0, i32 0
|
|
%t1279 = load ptr, ptr %t1278
|
|
%t1280 = load ptr, ptr %t1265
|
|
%t1281 = getelementptr inbounds %Cmp_Val, ptr %t1280, i32 0, i32 0
|
|
%t1282 = load ptr, ptr %t1281
|
|
%t1283 = load ptr, ptr %t1276
|
|
%t1284 = call ptr @fn_fx_lerp_code(ptr %t1279, ptr %t1282, ptr %t1283)
|
|
%t1285 = call ptr @fn_val(ptr %t1284, ptr @.str1008)
|
|
store ptr %t1285, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t1286 = load ptr, ptr %retval
|
|
ret ptr %t1286
|
|
}
|
|
|
|
define void @fn_emit_math_prelude() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str1009)
|
|
call void @fn_emith(ptr @.str1010)
|
|
call void @fn_emith(ptr @.str1011)
|
|
call void @fn_emith(ptr @.str1012)
|
|
call void @fn_emith(ptr @.str1013)
|
|
call void @fn_emith(ptr @.str1014)
|
|
call void @fn_emith(ptr @.str1015)
|
|
call void @fn_emith(ptr @.str1016)
|
|
call void @fn_emith(ptr @.str1017)
|
|
call void @fn_emith(ptr @.str1018)
|
|
call void @fn_emith(ptr @.str1019)
|
|
call void @fn_emith(ptr @.str1020)
|
|
call void @fn_emith(ptr @.str1021)
|
|
call void @fn_emith(ptr @.str1022)
|
|
call void @fn_emith(ptr @.str1023)
|
|
call void @fn_emith(ptr @.str1024)
|
|
call void @fn_emith(ptr @.str1025)
|
|
call void @fn_emith(ptr @.str1026)
|
|
call void @fn_emith(ptr @.str1027)
|
|
call void @fn_emith(ptr @.str1028)
|
|
call void @fn_emith(ptr @.str1029)
|
|
call void @fn_emith(ptr @.str1030)
|
|
call void @fn_emith(ptr @.str1031)
|
|
call void @fn_emith(ptr @.str1032)
|
|
call void @fn_emith(ptr @.str1033)
|
|
call void @fn_emith(ptr @.str1034)
|
|
call void @fn_emith(ptr @.str1035)
|
|
call void @fn_emith(ptr @.str1036)
|
|
call void @fn_emith(ptr @.str1037)
|
|
call void @fn_emith(ptr @.str1038)
|
|
call void @fn_emith(ptr @.str1039)
|
|
call void @fn_emith(ptr @.str1040)
|
|
call void @fn_emith(ptr @.str1041)
|
|
call void @fn_emith(ptr @.str1042)
|
|
call void @fn_emith(ptr @.str1043)
|
|
call void @fn_emith(ptr @.str1044)
|
|
call void @fn_emith(ptr @.str1045)
|
|
call void @fn_emith(ptr @.str1046)
|
|
call void @fn_emith(ptr @.str1047)
|
|
call void @fn_emith(ptr @.str1048)
|
|
call void @fn_emith(ptr @.str1049)
|
|
call void @fn_emith(ptr @.str1050)
|
|
call void @fn_emith(ptr @.str1051)
|
|
call void @fn_emith(ptr @.str1052)
|
|
call void @fn_emith(ptr @.str1053)
|
|
call void @fn_emith(ptr @.str1054)
|
|
call void @fn_emith(ptr @.str1055)
|
|
call void @fn_emith(ptr @.str1056)
|
|
call void @fn_emith(ptr @.str1057)
|
|
call void @fn_emith(ptr @.str1058)
|
|
call void @fn_emith(ptr @.str1059)
|
|
call void @fn_emith(ptr @.str1060)
|
|
call void @fn_emith(ptr @.str1061)
|
|
call void @fn_emith(ptr @.str1062)
|
|
call void @fn_emith(ptr @.str1063)
|
|
call void @fn_emith(ptr @.str1064)
|
|
call void @fn_emith(ptr @.str1065)
|
|
call void @fn_emith(ptr @.str1066)
|
|
call void @fn_emith(ptr @.str1067)
|
|
call void @fn_emith(ptr @.str1068)
|
|
call void @fn_emith(ptr @.str1069)
|
|
call void @fn_emith(ptr @.str1070)
|
|
call void @fn_emith(ptr @.str1071)
|
|
call void @fn_emith(ptr @.str1072)
|
|
call void @fn_emith(ptr @.str1073)
|
|
call void @fn_emith(ptr @.str1074)
|
|
call void @fn_emith(ptr @.str1075)
|
|
call void @fn_emith(ptr @.str1076)
|
|
call void @fn_emith(ptr @.str1077)
|
|
call void @fn_emith(ptr @.str1078)
|
|
call void @fn_emith(ptr @.str1079)
|
|
call void @fn_emith(ptr @.str1080)
|
|
call void @fn_emith(ptr @.str1081)
|
|
call void @fn_emith(ptr @.str1082)
|
|
call void @fn_emith(ptr @.str1083)
|
|
call void @fn_emith(ptr @.str1084)
|
|
call void @fn_emith(ptr @.str1085)
|
|
call void @fn_emith(ptr @.str1086)
|
|
call void @fn_emith(ptr @.str1087)
|
|
call void @fn_emith(ptr @.str1088)
|
|
call void @fn_emith(ptr @.str1089)
|
|
call void @fn_emith(ptr @.str1090)
|
|
call void @fn_emith(ptr @.str1091)
|
|
call void @fn_emith(ptr @.str1092)
|
|
call void @fn_emith(ptr @.str1093)
|
|
call void @fn_emith(ptr @.str1094)
|
|
call void @fn_emith(ptr @.str1095)
|
|
call void @fn_emith(ptr @.str1096)
|
|
call void @fn_emith(ptr @.str1097)
|
|
call void @fn_emith(ptr @.str1098)
|
|
call void @fn_emith(ptr @.str1099)
|
|
call void @fn_emith(ptr @.str1100)
|
|
call void @fn_emith(ptr @.str1101)
|
|
call void @fn_emith(ptr @.str1102)
|
|
call void @fn_emith(ptr @.str1103)
|
|
call void @fn_emith(ptr @.str1104)
|
|
call void @fn_emith(ptr @.str1105)
|
|
call void @fn_emith(ptr @.str1106)
|
|
call void @fn_emith(ptr @.str1107)
|
|
call void @fn_emith(ptr @.str1108)
|
|
call void @fn_emith(ptr @.str1109)
|
|
call void @fn_emith(ptr @.str1110)
|
|
call void @fn_emith(ptr @.str1111)
|
|
call void @fn_emith(ptr @.str1112)
|
|
call void @fn_emith(ptr @.str1113)
|
|
call void @fn_emith(ptr @.str1114)
|
|
call void @fn_emith(ptr @.str1115)
|
|
call void @fn_emith(ptr @.str1116)
|
|
call void @fn_emith(ptr @.str1117)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_vec_pack(ptr %arg_x, ptr %arg_y) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t6 = alloca ptr
|
|
%t11 = alloca ptr
|
|
%t16 = alloca ptr
|
|
store ptr %arg_x, ptr %t0
|
|
store ptr %arg_y, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call ptr @fn_str_concat(ptr @.str1118, ptr %t2)
|
|
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str1119)
|
|
%t5 = call ptr @fn_emit_bind(ptr %t4)
|
|
store ptr %t5, ptr %t6
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = call ptr @fn_str_concat(ptr @.str1120, ptr %t7)
|
|
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str1121)
|
|
%t10 = call ptr @fn_emit_bind(ptr %t9)
|
|
store ptr %t10, ptr %t11
|
|
%t12 = load ptr, ptr %t1
|
|
%t13 = call ptr @fn_str_concat(ptr @.str1122, ptr %t12)
|
|
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str1123)
|
|
%t15 = call ptr @fn_emit_bind(ptr %t14)
|
|
store ptr %t15, ptr %t16
|
|
%t17 = load ptr, ptr %t11
|
|
%t18 = call ptr @fn_str_concat(ptr @.str1124, ptr %t17)
|
|
%t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str1125)
|
|
%t20 = load ptr, ptr %t16
|
|
%t21 = call ptr @fn_str_concat(ptr %t19, ptr %t20)
|
|
%t22 = call ptr @fn_emit_bind(ptr %t21)
|
|
store ptr %t22, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t23 = load ptr, ptr %retval
|
|
ret ptr %t23
|
|
}
|
|
|
|
define ptr @fn_vec_x(ptr %arg_v) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
store ptr %arg_v, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call ptr @fn_str_concat(ptr @.str1126, ptr %t1)
|
|
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str1127)
|
|
%t4 = call ptr @fn_emit_bind(ptr %t3)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = call ptr @fn_str_concat(ptr @.str1128, ptr %t6)
|
|
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str1129)
|
|
%t9 = call ptr @fn_emit_bind(ptr %t8)
|
|
store ptr %t9, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t10 = load ptr, ptr %retval
|
|
ret ptr %t10
|
|
}
|
|
|
|
define ptr @fn_vec_y(ptr %arg_v) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
store ptr %arg_v, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call ptr @fn_str_concat(ptr @.str1130, ptr %t1)
|
|
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str1131)
|
|
%t4 = call ptr @fn_emit_bind(ptr %t3)
|
|
store ptr %t4, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t5 = load ptr, ptr %retval
|
|
ret ptr %t5
|
|
}
|
|
|
|
define i32 @fn_is_vector_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
%t28 = alloca i32
|
|
%t29 = alloca i32
|
|
%t30 = alloca i32
|
|
%t55 = alloca i32
|
|
%t56 = alloca i32
|
|
%t57 = alloca i32
|
|
%t82 = alloca i32
|
|
%t83 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str1132)
|
|
%t6 = icmp ne i32 %t5, 0
|
|
%t7 = zext i1 %t6 to i32
|
|
store i32 %t7, ptr %t3
|
|
br i1 %t6, label %scend1, label %sc0
|
|
sc0:
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str1133)
|
|
%t10 = icmp ne i32 %t9, 0
|
|
%t11 = zext i1 %t10 to i32
|
|
store i32 %t11, ptr %t3
|
|
br label %scend1
|
|
scend1:
|
|
%t12 = load i32, ptr %t3
|
|
%t13 = icmp ne i32 %t12, 0
|
|
%t14 = zext i1 %t13 to i32
|
|
store i32 %t14, ptr %t2
|
|
br i1 %t13, label %scend3, label %sc2
|
|
sc2:
|
|
%t15 = load ptr, ptr %t0
|
|
%t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str1134)
|
|
%t17 = icmp ne i32 %t16, 0
|
|
%t18 = zext i1 %t17 to i32
|
|
store i32 %t18, ptr %t2
|
|
br label %scend3
|
|
scend3:
|
|
%t19 = load i32, ptr %t2
|
|
%t20 = icmp ne i32 %t19, 0
|
|
%t21 = zext i1 %t20 to i32
|
|
store i32 %t21, ptr %t1
|
|
br i1 %t20, label %scend5, label %sc4
|
|
sc4:
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str1135)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
store i32 %t25, ptr %t1
|
|
br label %scend5
|
|
scend5:
|
|
%t26 = load i32, ptr %t1
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then6, label %ifend8
|
|
then6:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t31 = load ptr, ptr %t0
|
|
%t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str1136)
|
|
%t33 = icmp ne i32 %t32, 0
|
|
%t34 = zext i1 %t33 to i32
|
|
store i32 %t34, ptr %t30
|
|
br i1 %t33, label %scend10, label %sc9
|
|
sc9:
|
|
%t35 = load ptr, ptr %t0
|
|
%t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1137)
|
|
%t37 = icmp ne i32 %t36, 0
|
|
%t38 = zext i1 %t37 to i32
|
|
store i32 %t38, ptr %t30
|
|
br label %scend10
|
|
scend10:
|
|
%t39 = load i32, ptr %t30
|
|
%t40 = icmp ne i32 %t39, 0
|
|
%t41 = zext i1 %t40 to i32
|
|
store i32 %t41, ptr %t29
|
|
br i1 %t40, label %scend12, label %sc11
|
|
sc11:
|
|
%t42 = load ptr, ptr %t0
|
|
%t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str1138)
|
|
%t44 = icmp ne i32 %t43, 0
|
|
%t45 = zext i1 %t44 to i32
|
|
store i32 %t45, ptr %t29
|
|
br label %scend12
|
|
scend12:
|
|
%t46 = load i32, ptr %t29
|
|
%t47 = icmp ne i32 %t46, 0
|
|
%t48 = zext i1 %t47 to i32
|
|
store i32 %t48, ptr %t28
|
|
br i1 %t47, label %scend14, label %sc13
|
|
sc13:
|
|
%t49 = load ptr, ptr %t0
|
|
%t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str1139)
|
|
%t51 = icmp ne i32 %t50, 0
|
|
%t52 = zext i1 %t51 to i32
|
|
store i32 %t52, ptr %t28
|
|
br label %scend14
|
|
scend14:
|
|
%t53 = load i32, ptr %t28
|
|
%t54 = icmp ne i32 %t53, 0
|
|
br i1 %t54, label %then15, label %ifend17
|
|
then15:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t58 = load ptr, ptr %t0
|
|
%t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str1140)
|
|
%t60 = icmp ne i32 %t59, 0
|
|
%t61 = zext i1 %t60 to i32
|
|
store i32 %t61, ptr %t57
|
|
br i1 %t60, label %scend19, label %sc18
|
|
sc18:
|
|
%t62 = load ptr, ptr %t0
|
|
%t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str1141)
|
|
%t64 = icmp ne i32 %t63, 0
|
|
%t65 = zext i1 %t64 to i32
|
|
store i32 %t65, ptr %t57
|
|
br label %scend19
|
|
scend19:
|
|
%t66 = load i32, ptr %t57
|
|
%t67 = icmp ne i32 %t66, 0
|
|
%t68 = zext i1 %t67 to i32
|
|
store i32 %t68, ptr %t56
|
|
br i1 %t67, label %scend21, label %sc20
|
|
sc20:
|
|
%t69 = load ptr, ptr %t0
|
|
%t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str1142)
|
|
%t71 = icmp ne i32 %t70, 0
|
|
%t72 = zext i1 %t71 to i32
|
|
store i32 %t72, ptr %t56
|
|
br label %scend21
|
|
scend21:
|
|
%t73 = load i32, ptr %t56
|
|
%t74 = icmp ne i32 %t73, 0
|
|
%t75 = zext i1 %t74 to i32
|
|
store i32 %t75, ptr %t55
|
|
br i1 %t74, label %scend23, label %sc22
|
|
sc22:
|
|
%t76 = load ptr, ptr %t0
|
|
%t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str1143)
|
|
%t78 = icmp ne i32 %t77, 0
|
|
%t79 = zext i1 %t78 to i32
|
|
store i32 %t79, ptr %t55
|
|
br label %scend23
|
|
scend23:
|
|
%t80 = load i32, ptr %t55
|
|
%t81 = icmp ne i32 %t80, 0
|
|
br i1 %t81, label %then24, label %ifend26
|
|
then24:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t84 = load ptr, ptr %t0
|
|
%t85 = call i32 @fn_str_eq(ptr %t84, ptr @.str1144)
|
|
%t86 = icmp ne i32 %t85, 0
|
|
%t87 = zext i1 %t86 to i32
|
|
store i32 %t87, ptr %t83
|
|
br i1 %t86, label %scend28, label %sc27
|
|
sc27:
|
|
%t88 = load ptr, ptr %t0
|
|
%t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str1145)
|
|
%t90 = icmp ne i32 %t89, 0
|
|
%t91 = zext i1 %t90 to i32
|
|
store i32 %t91, ptr %t83
|
|
br label %scend28
|
|
scend28:
|
|
%t92 = load i32, ptr %t83
|
|
%t93 = icmp ne i32 %t92, 0
|
|
%t94 = zext i1 %t93 to i32
|
|
store i32 %t94, ptr %t82
|
|
br i1 %t93, label %scend30, label %sc29
|
|
sc29:
|
|
%t95 = load ptr, ptr %t0
|
|
%t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str1146)
|
|
%t97 = icmp ne i32 %t96, 0
|
|
%t98 = zext i1 %t97 to i32
|
|
store i32 %t98, ptr %t82
|
|
br label %scend30
|
|
scend30:
|
|
%t99 = load i32, ptr %t82
|
|
%t100 = icmp ne i32 %t99, 0
|
|
br i1 %t100, label %then31, label %ifend33
|
|
then31:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend33:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t101 = load i32, ptr %retval
|
|
ret i32 %t101
|
|
}
|
|
|
|
define ptr @fn_emit_vector_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t17 = alloca ptr
|
|
%t26 = alloca ptr
|
|
%t46 = alloca ptr
|
|
%t63 = alloca ptr
|
|
%t80 = alloca ptr
|
|
%t89 = alloca ptr
|
|
%t94 = alloca ptr
|
|
%t99 = alloca ptr
|
|
%t104 = alloca ptr
|
|
%t109 = alloca ptr
|
|
%t116 = alloca ptr
|
|
%t123 = alloca ptr
|
|
%t139 = alloca ptr
|
|
%t148 = alloca ptr
|
|
%t153 = alloca ptr
|
|
%t158 = alloca ptr
|
|
%t163 = alloca ptr
|
|
%t168 = alloca ptr
|
|
%t175 = alloca ptr
|
|
%t182 = alloca ptr
|
|
%t198 = alloca ptr
|
|
%t207 = alloca ptr
|
|
%t212 = alloca ptr
|
|
%t217 = alloca ptr
|
|
%t223 = alloca ptr
|
|
%t229 = alloca ptr
|
|
%t245 = alloca ptr
|
|
%t254 = alloca ptr
|
|
%t259 = alloca ptr
|
|
%t264 = alloca ptr
|
|
%t269 = alloca ptr
|
|
%t274 = alloca ptr
|
|
%t278 = alloca ptr
|
|
%t282 = alloca ptr
|
|
%t301 = alloca ptr
|
|
%t306 = alloca ptr
|
|
%t311 = alloca ptr
|
|
%t315 = alloca ptr
|
|
%t319 = alloca ptr
|
|
%t326 = alloca ptr
|
|
%t343 = alloca ptr
|
|
%t352 = alloca ptr
|
|
%t357 = alloca ptr
|
|
%t362 = alloca ptr
|
|
%t367 = alloca ptr
|
|
%t372 = alloca ptr
|
|
%t379 = alloca ptr
|
|
%t386 = alloca ptr
|
|
%t390 = alloca ptr
|
|
%t394 = alloca ptr
|
|
%t401 = alloca ptr
|
|
%t418 = alloca ptr
|
|
%t423 = alloca ptr
|
|
%t428 = alloca ptr
|
|
%t432 = alloca ptr
|
|
%t436 = alloca ptr
|
|
%t443 = alloca ptr
|
|
%t448 = alloca ptr
|
|
%t453 = alloca ptr
|
|
%t460 = alloca ptr
|
|
%t463 = alloca ptr
|
|
%t467 = alloca ptr
|
|
%t471 = alloca ptr
|
|
%t487 = alloca ptr
|
|
%t496 = alloca ptr
|
|
%t503 = alloca ptr
|
|
%t510 = alloca ptr
|
|
%t515 = alloca ptr
|
|
%t520 = alloca ptr
|
|
%t525 = alloca ptr
|
|
%t529 = alloca ptr
|
|
%t533 = alloca ptr
|
|
%t537 = alloca ptr
|
|
%t541 = alloca ptr
|
|
%t548 = alloca ptr
|
|
%t555 = alloca ptr
|
|
%t571 = alloca ptr
|
|
%t576 = alloca ptr
|
|
%t581 = alloca ptr
|
|
%t601 = alloca ptr
|
|
%t608 = alloca ptr
|
|
%t615 = alloca ptr
|
|
%t620 = alloca ptr
|
|
%t633 = alloca ptr
|
|
%t642 = alloca ptr
|
|
%t651 = alloca ptr
|
|
%t656 = alloca ptr
|
|
%t661 = alloca ptr
|
|
%t666 = alloca ptr
|
|
%t671 = alloca ptr
|
|
%t678 = alloca ptr
|
|
%t685 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1147)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = call ptr @fn_val(ptr @.str1148, ptr @.str1149)
|
|
store ptr %t5, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str1150)
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %then3, label %ifend5
|
|
then3:
|
|
%t9 = load ptr, ptr %t1
|
|
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = getelementptr inbounds ptr, ptr %t13, i32 0
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = call ptr @fn_emit_expr(ptr %t15)
|
|
store ptr %t16, ptr %t17
|
|
%t18 = load ptr, ptr %t1
|
|
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = getelementptr inbounds ptr, ptr %t22, i32 1
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = call ptr @fn_emit_expr(ptr %t24)
|
|
store ptr %t25, ptr %t26
|
|
%t27 = load ptr, ptr %t17
|
|
%t28 = getelementptr inbounds %Cmp_Val, ptr %t27, i32 0, i32 0
|
|
%t29 = load ptr, ptr %t28
|
|
%t30 = load ptr, ptr %t26
|
|
%t31 = getelementptr inbounds %Cmp_Val, ptr %t30, i32 0, i32 0
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = call ptr @fn_vec_pack(ptr %t29, ptr %t32)
|
|
%t34 = call ptr @fn_val(ptr %t33, ptr @.str1151)
|
|
store ptr %t34, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t35 = load ptr, ptr %t0
|
|
%t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str1152)
|
|
%t37 = icmp ne i32 %t36, 0
|
|
br i1 %t37, label %then6, label %ifend8
|
|
then6:
|
|
%t38 = load ptr, ptr %t1
|
|
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0
|
|
%t42 = load ptr, ptr %t41
|
|
%t43 = getelementptr inbounds ptr, ptr %t42, i32 0
|
|
%t44 = load ptr, ptr %t43
|
|
%t45 = call ptr @fn_emit_expr(ptr %t44)
|
|
store ptr %t45, ptr %t46
|
|
%t47 = load ptr, ptr %t46
|
|
%t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0
|
|
%t49 = load ptr, ptr %t48
|
|
%t50 = call ptr @fn_vec_x(ptr %t49)
|
|
%t51 = call ptr @fn_val(ptr %t50, ptr @.str1153)
|
|
store ptr %t51, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t52 = load ptr, ptr %t0
|
|
%t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str1154)
|
|
%t54 = icmp ne i32 %t53, 0
|
|
br i1 %t54, label %then9, label %ifend11
|
|
then9:
|
|
%t55 = load ptr, ptr %t1
|
|
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7
|
|
%t57 = load ptr, ptr %t56
|
|
%t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0
|
|
%t59 = load ptr, ptr %t58
|
|
%t60 = getelementptr inbounds ptr, ptr %t59, i32 0
|
|
%t61 = load ptr, ptr %t60
|
|
%t62 = call ptr @fn_emit_expr(ptr %t61)
|
|
store ptr %t62, ptr %t63
|
|
%t64 = load ptr, ptr %t63
|
|
%t65 = getelementptr inbounds %Cmp_Val, ptr %t64, i32 0, i32 0
|
|
%t66 = load ptr, ptr %t65
|
|
%t67 = call ptr @fn_vec_y(ptr %t66)
|
|
%t68 = call ptr @fn_val(ptr %t67, ptr @.str1155)
|
|
store ptr %t68, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t69 = load ptr, ptr %t0
|
|
%t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str1156)
|
|
%t71 = icmp ne i32 %t70, 0
|
|
br i1 %t71, label %then12, label %ifend14
|
|
then12:
|
|
%t72 = load ptr, ptr %t1
|
|
%t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 7
|
|
%t74 = load ptr, ptr %t73
|
|
%t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0
|
|
%t76 = load ptr, ptr %t75
|
|
%t77 = getelementptr inbounds ptr, ptr %t76, i32 0
|
|
%t78 = load ptr, ptr %t77
|
|
%t79 = call ptr @fn_emit_expr(ptr %t78)
|
|
store ptr %t79, ptr %t80
|
|
%t81 = load ptr, ptr %t1
|
|
%t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 7
|
|
%t83 = load ptr, ptr %t82
|
|
%t84 = getelementptr inbounds %LSlice, ptr %t83, i32 0, i32 0
|
|
%t85 = load ptr, ptr %t84
|
|
%t86 = getelementptr inbounds ptr, ptr %t85, i32 1
|
|
%t87 = load ptr, ptr %t86
|
|
%t88 = call ptr @fn_emit_expr(ptr %t87)
|
|
store ptr %t88, ptr %t89
|
|
%t90 = load ptr, ptr %t80
|
|
%t91 = getelementptr inbounds %Cmp_Val, ptr %t90, i32 0, i32 0
|
|
%t92 = load ptr, ptr %t91
|
|
%t93 = call ptr @fn_vec_x(ptr %t92)
|
|
store ptr %t93, ptr %t94
|
|
%t95 = load ptr, ptr %t80
|
|
%t96 = getelementptr inbounds %Cmp_Val, ptr %t95, i32 0, i32 0
|
|
%t97 = load ptr, ptr %t96
|
|
%t98 = call ptr @fn_vec_y(ptr %t97)
|
|
store ptr %t98, ptr %t99
|
|
%t100 = load ptr, ptr %t89
|
|
%t101 = getelementptr inbounds %Cmp_Val, ptr %t100, i32 0, i32 0
|
|
%t102 = load ptr, ptr %t101
|
|
%t103 = call ptr @fn_vec_x(ptr %t102)
|
|
store ptr %t103, ptr %t104
|
|
%t105 = load ptr, ptr %t89
|
|
%t106 = getelementptr inbounds %Cmp_Val, ptr %t105, i32 0, i32 0
|
|
%t107 = load ptr, ptr %t106
|
|
%t108 = call ptr @fn_vec_y(ptr %t107)
|
|
store ptr %t108, ptr %t109
|
|
%t110 = load ptr, ptr %t94
|
|
%t111 = call ptr @fn_str_concat(ptr @.str1157, ptr %t110)
|
|
%t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str1158)
|
|
%t113 = load ptr, ptr %t104
|
|
%t114 = call ptr @fn_str_concat(ptr %t112, ptr %t113)
|
|
%t115 = call ptr @fn_emit_bind(ptr %t114)
|
|
store ptr %t115, ptr %t116
|
|
%t117 = load ptr, ptr %t99
|
|
%t118 = call ptr @fn_str_concat(ptr @.str1159, ptr %t117)
|
|
%t119 = call ptr @fn_str_concat(ptr %t118, ptr @.str1160)
|
|
%t120 = load ptr, ptr %t109
|
|
%t121 = call ptr @fn_str_concat(ptr %t119, ptr %t120)
|
|
%t122 = call ptr @fn_emit_bind(ptr %t121)
|
|
store ptr %t122, ptr %t123
|
|
%t124 = load ptr, ptr %t116
|
|
%t125 = load ptr, ptr %t123
|
|
%t126 = call ptr @fn_vec_pack(ptr %t124, ptr %t125)
|
|
%t127 = call ptr @fn_val(ptr %t126, ptr @.str1161)
|
|
store ptr %t127, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t128 = load ptr, ptr %t0
|
|
%t129 = call i32 @fn_str_eq(ptr %t128, ptr @.str1162)
|
|
%t130 = icmp ne i32 %t129, 0
|
|
br i1 %t130, label %then15, label %ifend17
|
|
then15:
|
|
%t131 = load ptr, ptr %t1
|
|
%t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 7
|
|
%t133 = load ptr, ptr %t132
|
|
%t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0
|
|
%t135 = load ptr, ptr %t134
|
|
%t136 = getelementptr inbounds ptr, ptr %t135, i32 0
|
|
%t137 = load ptr, ptr %t136
|
|
%t138 = call ptr @fn_emit_expr(ptr %t137)
|
|
store ptr %t138, ptr %t139
|
|
%t140 = load ptr, ptr %t1
|
|
%t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 7
|
|
%t142 = load ptr, ptr %t141
|
|
%t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 0
|
|
%t144 = load ptr, ptr %t143
|
|
%t145 = getelementptr inbounds ptr, ptr %t144, i32 1
|
|
%t146 = load ptr, ptr %t145
|
|
%t147 = call ptr @fn_emit_expr(ptr %t146)
|
|
store ptr %t147, ptr %t148
|
|
%t149 = load ptr, ptr %t139
|
|
%t150 = getelementptr inbounds %Cmp_Val, ptr %t149, i32 0, i32 0
|
|
%t151 = load ptr, ptr %t150
|
|
%t152 = call ptr @fn_vec_x(ptr %t151)
|
|
store ptr %t152, ptr %t153
|
|
%t154 = load ptr, ptr %t139
|
|
%t155 = getelementptr inbounds %Cmp_Val, ptr %t154, i32 0, i32 0
|
|
%t156 = load ptr, ptr %t155
|
|
%t157 = call ptr @fn_vec_y(ptr %t156)
|
|
store ptr %t157, ptr %t158
|
|
%t159 = load ptr, ptr %t148
|
|
%t160 = getelementptr inbounds %Cmp_Val, ptr %t159, i32 0, i32 0
|
|
%t161 = load ptr, ptr %t160
|
|
%t162 = call ptr @fn_vec_x(ptr %t161)
|
|
store ptr %t162, ptr %t163
|
|
%t164 = load ptr, ptr %t148
|
|
%t165 = getelementptr inbounds %Cmp_Val, ptr %t164, i32 0, i32 0
|
|
%t166 = load ptr, ptr %t165
|
|
%t167 = call ptr @fn_vec_y(ptr %t166)
|
|
store ptr %t167, ptr %t168
|
|
%t169 = load ptr, ptr %t153
|
|
%t170 = call ptr @fn_str_concat(ptr @.str1163, ptr %t169)
|
|
%t171 = call ptr @fn_str_concat(ptr %t170, ptr @.str1164)
|
|
%t172 = load ptr, ptr %t163
|
|
%t173 = call ptr @fn_str_concat(ptr %t171, ptr %t172)
|
|
%t174 = call ptr @fn_emit_bind(ptr %t173)
|
|
store ptr %t174, ptr %t175
|
|
%t176 = load ptr, ptr %t158
|
|
%t177 = call ptr @fn_str_concat(ptr @.str1165, ptr %t176)
|
|
%t178 = call ptr @fn_str_concat(ptr %t177, ptr @.str1166)
|
|
%t179 = load ptr, ptr %t168
|
|
%t180 = call ptr @fn_str_concat(ptr %t178, ptr %t179)
|
|
%t181 = call ptr @fn_emit_bind(ptr %t180)
|
|
store ptr %t181, ptr %t182
|
|
%t183 = load ptr, ptr %t175
|
|
%t184 = load ptr, ptr %t182
|
|
%t185 = call ptr @fn_vec_pack(ptr %t183, ptr %t184)
|
|
%t186 = call ptr @fn_val(ptr %t185, ptr @.str1167)
|
|
store ptr %t186, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t187 = load ptr, ptr %t0
|
|
%t188 = call i32 @fn_str_eq(ptr %t187, ptr @.str1168)
|
|
%t189 = icmp ne i32 %t188, 0
|
|
br i1 %t189, label %then18, label %ifend20
|
|
then18:
|
|
%t190 = load ptr, ptr %t1
|
|
%t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 7
|
|
%t192 = load ptr, ptr %t191
|
|
%t193 = getelementptr inbounds %LSlice, ptr %t192, i32 0, i32 0
|
|
%t194 = load ptr, ptr %t193
|
|
%t195 = getelementptr inbounds ptr, ptr %t194, i32 0
|
|
%t196 = load ptr, ptr %t195
|
|
%t197 = call ptr @fn_emit_expr(ptr %t196)
|
|
store ptr %t197, ptr %t198
|
|
%t199 = load ptr, ptr %t1
|
|
%t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 7
|
|
%t201 = load ptr, ptr %t200
|
|
%t202 = getelementptr inbounds %LSlice, ptr %t201, i32 0, i32 0
|
|
%t203 = load ptr, ptr %t202
|
|
%t204 = getelementptr inbounds ptr, ptr %t203, i32 1
|
|
%t205 = load ptr, ptr %t204
|
|
%t206 = call ptr @fn_emit_expr(ptr %t205)
|
|
store ptr %t206, ptr %t207
|
|
%t208 = load ptr, ptr %t198
|
|
%t209 = getelementptr inbounds %Cmp_Val, ptr %t208, i32 0, i32 0
|
|
%t210 = load ptr, ptr %t209
|
|
%t211 = call ptr @fn_vec_x(ptr %t210)
|
|
store ptr %t211, ptr %t212
|
|
%t213 = load ptr, ptr %t198
|
|
%t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0
|
|
%t215 = load ptr, ptr %t214
|
|
%t216 = call ptr @fn_vec_y(ptr %t215)
|
|
store ptr %t216, ptr %t217
|
|
%t218 = load ptr, ptr %t212
|
|
%t219 = load ptr, ptr %t207
|
|
%t220 = getelementptr inbounds %Cmp_Val, ptr %t219, i32 0, i32 0
|
|
%t221 = load ptr, ptr %t220
|
|
%t222 = call ptr @fn_fx_mul_code(ptr %t218, ptr %t221)
|
|
store ptr %t222, ptr %t223
|
|
%t224 = load ptr, ptr %t217
|
|
%t225 = load ptr, ptr %t207
|
|
%t226 = getelementptr inbounds %Cmp_Val, ptr %t225, i32 0, i32 0
|
|
%t227 = load ptr, ptr %t226
|
|
%t228 = call ptr @fn_fx_mul_code(ptr %t224, ptr %t227)
|
|
store ptr %t228, ptr %t229
|
|
%t230 = load ptr, ptr %t223
|
|
%t231 = load ptr, ptr %t229
|
|
%t232 = call ptr @fn_vec_pack(ptr %t230, ptr %t231)
|
|
%t233 = call ptr @fn_val(ptr %t232, ptr @.str1169)
|
|
store ptr %t233, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t234 = load ptr, ptr %t0
|
|
%t235 = call i32 @fn_str_eq(ptr %t234, ptr @.str1170)
|
|
%t236 = icmp ne i32 %t235, 0
|
|
br i1 %t236, label %then21, label %ifend23
|
|
then21:
|
|
%t237 = load ptr, ptr %t1
|
|
%t238 = getelementptr inbounds %Cmp_Node, ptr %t237, i32 0, i32 7
|
|
%t239 = load ptr, ptr %t238
|
|
%t240 = getelementptr inbounds %LSlice, ptr %t239, i32 0, i32 0
|
|
%t241 = load ptr, ptr %t240
|
|
%t242 = getelementptr inbounds ptr, ptr %t241, i32 0
|
|
%t243 = load ptr, ptr %t242
|
|
%t244 = call ptr @fn_emit_expr(ptr %t243)
|
|
store ptr %t244, ptr %t245
|
|
%t246 = load ptr, ptr %t1
|
|
%t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 7
|
|
%t248 = load ptr, ptr %t247
|
|
%t249 = getelementptr inbounds %LSlice, ptr %t248, i32 0, i32 0
|
|
%t250 = load ptr, ptr %t249
|
|
%t251 = getelementptr inbounds ptr, ptr %t250, i32 1
|
|
%t252 = load ptr, ptr %t251
|
|
%t253 = call ptr @fn_emit_expr(ptr %t252)
|
|
store ptr %t253, ptr %t254
|
|
%t255 = load ptr, ptr %t245
|
|
%t256 = getelementptr inbounds %Cmp_Val, ptr %t255, i32 0, i32 0
|
|
%t257 = load ptr, ptr %t256
|
|
%t258 = call ptr @fn_vec_x(ptr %t257)
|
|
store ptr %t258, ptr %t259
|
|
%t260 = load ptr, ptr %t245
|
|
%t261 = getelementptr inbounds %Cmp_Val, ptr %t260, i32 0, i32 0
|
|
%t262 = load ptr, ptr %t261
|
|
%t263 = call ptr @fn_vec_y(ptr %t262)
|
|
store ptr %t263, ptr %t264
|
|
%t265 = load ptr, ptr %t254
|
|
%t266 = getelementptr inbounds %Cmp_Val, ptr %t265, i32 0, i32 0
|
|
%t267 = load ptr, ptr %t266
|
|
%t268 = call ptr @fn_vec_x(ptr %t267)
|
|
store ptr %t268, ptr %t269
|
|
%t270 = load ptr, ptr %t254
|
|
%t271 = getelementptr inbounds %Cmp_Val, ptr %t270, i32 0, i32 0
|
|
%t272 = load ptr, ptr %t271
|
|
%t273 = call ptr @fn_vec_y(ptr %t272)
|
|
store ptr %t273, ptr %t274
|
|
%t275 = load ptr, ptr %t259
|
|
%t276 = load ptr, ptr %t269
|
|
%t277 = call ptr @fn_fx_mul_code(ptr %t275, ptr %t276)
|
|
store ptr %t277, ptr %t278
|
|
%t279 = load ptr, ptr %t264
|
|
%t280 = load ptr, ptr %t274
|
|
%t281 = call ptr @fn_fx_mul_code(ptr %t279, ptr %t280)
|
|
store ptr %t281, ptr %t282
|
|
%t283 = load ptr, ptr %t278
|
|
%t284 = call ptr @fn_str_concat(ptr @.str1171, ptr %t283)
|
|
%t285 = call ptr @fn_str_concat(ptr %t284, ptr @.str1172)
|
|
%t286 = load ptr, ptr %t282
|
|
%t287 = call ptr @fn_str_concat(ptr %t285, ptr %t286)
|
|
%t288 = call ptr @fn_emit_bind(ptr %t287)
|
|
%t289 = call ptr @fn_val(ptr %t288, ptr @.str1173)
|
|
store ptr %t289, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t290 = load ptr, ptr %t0
|
|
%t291 = call i32 @fn_str_eq(ptr %t290, ptr @.str1174)
|
|
%t292 = icmp ne i32 %t291, 0
|
|
br i1 %t292, label %then24, label %ifend26
|
|
then24:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t293 = load ptr, ptr %t1
|
|
%t294 = getelementptr inbounds %Cmp_Node, ptr %t293, i32 0, i32 7
|
|
%t295 = load ptr, ptr %t294
|
|
%t296 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 0
|
|
%t297 = load ptr, ptr %t296
|
|
%t298 = getelementptr inbounds ptr, ptr %t297, i32 0
|
|
%t299 = load ptr, ptr %t298
|
|
%t300 = call ptr @fn_emit_expr(ptr %t299)
|
|
store ptr %t300, ptr %t301
|
|
%t302 = load ptr, ptr %t301
|
|
%t303 = getelementptr inbounds %Cmp_Val, ptr %t302, i32 0, i32 0
|
|
%t304 = load ptr, ptr %t303
|
|
%t305 = call ptr @fn_vec_x(ptr %t304)
|
|
store ptr %t305, ptr %t306
|
|
%t307 = load ptr, ptr %t301
|
|
%t308 = getelementptr inbounds %Cmp_Val, ptr %t307, i32 0, i32 0
|
|
%t309 = load ptr, ptr %t308
|
|
%t310 = call ptr @fn_vec_y(ptr %t309)
|
|
store ptr %t310, ptr %t311
|
|
%t312 = load ptr, ptr %t306
|
|
%t313 = load ptr, ptr %t306
|
|
%t314 = call ptr @fn_fx_mul_code(ptr %t312, ptr %t313)
|
|
store ptr %t314, ptr %t315
|
|
%t316 = load ptr, ptr %t311
|
|
%t317 = load ptr, ptr %t311
|
|
%t318 = call ptr @fn_fx_mul_code(ptr %t316, ptr %t317)
|
|
store ptr %t318, ptr %t319
|
|
%t320 = load ptr, ptr %t315
|
|
%t321 = call ptr @fn_str_concat(ptr @.str1175, ptr %t320)
|
|
%t322 = call ptr @fn_str_concat(ptr %t321, ptr @.str1176)
|
|
%t323 = load ptr, ptr %t319
|
|
%t324 = call ptr @fn_str_concat(ptr %t322, ptr %t323)
|
|
%t325 = call ptr @fn_emit_bind(ptr %t324)
|
|
store ptr %t325, ptr %t326
|
|
%t327 = load ptr, ptr %t326
|
|
%t328 = call ptr @fn_str_concat(ptr @.str1177, ptr %t327)
|
|
%t329 = call ptr @fn_str_concat(ptr %t328, ptr @.str1178)
|
|
%t330 = call ptr @fn_emit_bind(ptr %t329)
|
|
%t331 = call ptr @fn_val(ptr %t330, ptr @.str1179)
|
|
store ptr %t331, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t332 = load ptr, ptr %t0
|
|
%t333 = call i32 @fn_str_eq(ptr %t332, ptr @.str1180)
|
|
%t334 = icmp ne i32 %t333, 0
|
|
br i1 %t334, label %then27, label %ifend29
|
|
then27:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t335 = load ptr, ptr %t1
|
|
%t336 = getelementptr inbounds %Cmp_Node, ptr %t335, i32 0, i32 7
|
|
%t337 = load ptr, ptr %t336
|
|
%t338 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 0
|
|
%t339 = load ptr, ptr %t338
|
|
%t340 = getelementptr inbounds ptr, ptr %t339, i32 0
|
|
%t341 = load ptr, ptr %t340
|
|
%t342 = call ptr @fn_emit_expr(ptr %t341)
|
|
store ptr %t342, ptr %t343
|
|
%t344 = load ptr, ptr %t1
|
|
%t345 = getelementptr inbounds %Cmp_Node, ptr %t344, i32 0, i32 7
|
|
%t346 = load ptr, ptr %t345
|
|
%t347 = getelementptr inbounds %LSlice, ptr %t346, i32 0, i32 0
|
|
%t348 = load ptr, ptr %t347
|
|
%t349 = getelementptr inbounds ptr, ptr %t348, i32 1
|
|
%t350 = load ptr, ptr %t349
|
|
%t351 = call ptr @fn_emit_expr(ptr %t350)
|
|
store ptr %t351, ptr %t352
|
|
%t353 = load ptr, ptr %t343
|
|
%t354 = getelementptr inbounds %Cmp_Val, ptr %t353, i32 0, i32 0
|
|
%t355 = load ptr, ptr %t354
|
|
%t356 = call ptr @fn_vec_x(ptr %t355)
|
|
store ptr %t356, ptr %t357
|
|
%t358 = load ptr, ptr %t343
|
|
%t359 = getelementptr inbounds %Cmp_Val, ptr %t358, i32 0, i32 0
|
|
%t360 = load ptr, ptr %t359
|
|
%t361 = call ptr @fn_vec_y(ptr %t360)
|
|
store ptr %t361, ptr %t362
|
|
%t363 = load ptr, ptr %t352
|
|
%t364 = getelementptr inbounds %Cmp_Val, ptr %t363, i32 0, i32 0
|
|
%t365 = load ptr, ptr %t364
|
|
%t366 = call ptr @fn_vec_x(ptr %t365)
|
|
store ptr %t366, ptr %t367
|
|
%t368 = load ptr, ptr %t352
|
|
%t369 = getelementptr inbounds %Cmp_Val, ptr %t368, i32 0, i32 0
|
|
%t370 = load ptr, ptr %t369
|
|
%t371 = call ptr @fn_vec_y(ptr %t370)
|
|
store ptr %t371, ptr %t372
|
|
%t373 = load ptr, ptr %t357
|
|
%t374 = call ptr @fn_str_concat(ptr @.str1181, ptr %t373)
|
|
%t375 = call ptr @fn_str_concat(ptr %t374, ptr @.str1182)
|
|
%t376 = load ptr, ptr %t367
|
|
%t377 = call ptr @fn_str_concat(ptr %t375, ptr %t376)
|
|
%t378 = call ptr @fn_emit_bind(ptr %t377)
|
|
store ptr %t378, ptr %t379
|
|
%t380 = load ptr, ptr %t362
|
|
%t381 = call ptr @fn_str_concat(ptr @.str1183, ptr %t380)
|
|
%t382 = call ptr @fn_str_concat(ptr %t381, ptr @.str1184)
|
|
%t383 = load ptr, ptr %t372
|
|
%t384 = call ptr @fn_str_concat(ptr %t382, ptr %t383)
|
|
%t385 = call ptr @fn_emit_bind(ptr %t384)
|
|
store ptr %t385, ptr %t386
|
|
%t387 = load ptr, ptr %t379
|
|
%t388 = load ptr, ptr %t379
|
|
%t389 = call ptr @fn_fx_mul_code(ptr %t387, ptr %t388)
|
|
store ptr %t389, ptr %t390
|
|
%t391 = load ptr, ptr %t386
|
|
%t392 = load ptr, ptr %t386
|
|
%t393 = call ptr @fn_fx_mul_code(ptr %t391, ptr %t392)
|
|
store ptr %t393, ptr %t394
|
|
%t395 = load ptr, ptr %t390
|
|
%t396 = call ptr @fn_str_concat(ptr @.str1185, ptr %t395)
|
|
%t397 = call ptr @fn_str_concat(ptr %t396, ptr @.str1186)
|
|
%t398 = load ptr, ptr %t394
|
|
%t399 = call ptr @fn_str_concat(ptr %t397, ptr %t398)
|
|
%t400 = call ptr @fn_emit_bind(ptr %t399)
|
|
store ptr %t400, ptr %t401
|
|
%t402 = load ptr, ptr %t401
|
|
%t403 = call ptr @fn_str_concat(ptr @.str1187, ptr %t402)
|
|
%t404 = call ptr @fn_str_concat(ptr %t403, ptr @.str1188)
|
|
%t405 = call ptr @fn_emit_bind(ptr %t404)
|
|
%t406 = call ptr @fn_val(ptr %t405, ptr @.str1189)
|
|
store ptr %t406, ptr %retval
|
|
br label %ret
|
|
ifend29:
|
|
%t407 = load ptr, ptr %t0
|
|
%t408 = call i32 @fn_str_eq(ptr %t407, ptr @.str1190)
|
|
%t409 = icmp ne i32 %t408, 0
|
|
br i1 %t409, label %then30, label %ifend32
|
|
then30:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t410 = load ptr, ptr %t1
|
|
%t411 = getelementptr inbounds %Cmp_Node, ptr %t410, i32 0, i32 7
|
|
%t412 = load ptr, ptr %t411
|
|
%t413 = getelementptr inbounds %LSlice, ptr %t412, i32 0, i32 0
|
|
%t414 = load ptr, ptr %t413
|
|
%t415 = getelementptr inbounds ptr, ptr %t414, i32 0
|
|
%t416 = load ptr, ptr %t415
|
|
%t417 = call ptr @fn_emit_expr(ptr %t416)
|
|
store ptr %t417, ptr %t418
|
|
%t419 = load ptr, ptr %t418
|
|
%t420 = getelementptr inbounds %Cmp_Val, ptr %t419, i32 0, i32 0
|
|
%t421 = load ptr, ptr %t420
|
|
%t422 = call ptr @fn_vec_x(ptr %t421)
|
|
store ptr %t422, ptr %t423
|
|
%t424 = load ptr, ptr %t418
|
|
%t425 = getelementptr inbounds %Cmp_Val, ptr %t424, i32 0, i32 0
|
|
%t426 = load ptr, ptr %t425
|
|
%t427 = call ptr @fn_vec_y(ptr %t426)
|
|
store ptr %t427, ptr %t428
|
|
%t429 = load ptr, ptr %t423
|
|
%t430 = load ptr, ptr %t423
|
|
%t431 = call ptr @fn_fx_mul_code(ptr %t429, ptr %t430)
|
|
store ptr %t431, ptr %t432
|
|
%t433 = load ptr, ptr %t428
|
|
%t434 = load ptr, ptr %t428
|
|
%t435 = call ptr @fn_fx_mul_code(ptr %t433, ptr %t434)
|
|
store ptr %t435, ptr %t436
|
|
%t437 = load ptr, ptr %t432
|
|
%t438 = call ptr @fn_str_concat(ptr @.str1191, ptr %t437)
|
|
%t439 = call ptr @fn_str_concat(ptr %t438, ptr @.str1192)
|
|
%t440 = load ptr, ptr %t436
|
|
%t441 = call ptr @fn_str_concat(ptr %t439, ptr %t440)
|
|
%t442 = call ptr @fn_emit_bind(ptr %t441)
|
|
store ptr %t442, ptr %t443
|
|
%t444 = load ptr, ptr %t443
|
|
%t445 = call ptr @fn_str_concat(ptr @.str1193, ptr %t444)
|
|
%t446 = call ptr @fn_str_concat(ptr %t445, ptr @.str1194)
|
|
%t447 = call ptr @fn_emit_bind(ptr %t446)
|
|
store ptr %t447, ptr %t448
|
|
%t449 = load ptr, ptr %t448
|
|
%t450 = call ptr @fn_str_concat(ptr @.str1195, ptr %t449)
|
|
%t451 = call ptr @fn_str_concat(ptr %t450, ptr @.str1196)
|
|
%t452 = call ptr @fn_emit_bind(ptr %t451)
|
|
store ptr %t452, ptr %t453
|
|
%t454 = load ptr, ptr %t453
|
|
%t455 = call ptr @fn_str_concat(ptr @.str1197, ptr %t454)
|
|
%t456 = call ptr @fn_str_concat(ptr %t455, ptr @.str1198)
|
|
%t457 = load ptr, ptr %t448
|
|
%t458 = call ptr @fn_str_concat(ptr %t456, ptr %t457)
|
|
%t459 = call ptr @fn_emit_bind(ptr %t458)
|
|
store ptr %t459, ptr %t460
|
|
%t461 = load ptr, ptr %t460
|
|
%t462 = call ptr @fn_fx_div_code(ptr @.str1199, ptr %t461)
|
|
store ptr %t462, ptr %t463
|
|
%t464 = load ptr, ptr %t423
|
|
%t465 = load ptr, ptr %t463
|
|
%t466 = call ptr @fn_fx_mul_code(ptr %t464, ptr %t465)
|
|
store ptr %t466, ptr %t467
|
|
%t468 = load ptr, ptr %t428
|
|
%t469 = load ptr, ptr %t463
|
|
%t470 = call ptr @fn_fx_mul_code(ptr %t468, ptr %t469)
|
|
store ptr %t470, ptr %t471
|
|
%t472 = load ptr, ptr %t467
|
|
%t473 = load ptr, ptr %t471
|
|
%t474 = call ptr @fn_vec_pack(ptr %t472, ptr %t473)
|
|
%t475 = call ptr @fn_val(ptr %t474, ptr @.str1200)
|
|
store ptr %t475, ptr %retval
|
|
br label %ret
|
|
ifend32:
|
|
%t476 = load ptr, ptr %t0
|
|
%t477 = call i32 @fn_str_eq(ptr %t476, ptr @.str1201)
|
|
%t478 = icmp ne i32 %t477, 0
|
|
br i1 %t478, label %then33, label %ifend35
|
|
then33:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t479 = load ptr, ptr %t1
|
|
%t480 = getelementptr inbounds %Cmp_Node, ptr %t479, i32 0, i32 7
|
|
%t481 = load ptr, ptr %t480
|
|
%t482 = getelementptr inbounds %LSlice, ptr %t481, i32 0, i32 0
|
|
%t483 = load ptr, ptr %t482
|
|
%t484 = getelementptr inbounds ptr, ptr %t483, i32 0
|
|
%t485 = load ptr, ptr %t484
|
|
%t486 = call ptr @fn_emit_expr(ptr %t485)
|
|
store ptr %t486, ptr %t487
|
|
%t488 = load ptr, ptr %t1
|
|
%t489 = getelementptr inbounds %Cmp_Node, ptr %t488, i32 0, i32 7
|
|
%t490 = load ptr, ptr %t489
|
|
%t491 = getelementptr inbounds %LSlice, ptr %t490, i32 0, i32 0
|
|
%t492 = load ptr, ptr %t491
|
|
%t493 = getelementptr inbounds ptr, ptr %t492, i32 1
|
|
%t494 = load ptr, ptr %t493
|
|
%t495 = call ptr @fn_emit_expr(ptr %t494)
|
|
store ptr %t495, ptr %t496
|
|
%t497 = load ptr, ptr %t496
|
|
%t498 = getelementptr inbounds %Cmp_Val, ptr %t497, i32 0, i32 0
|
|
%t499 = load ptr, ptr %t498
|
|
%t500 = call ptr @fn_str_concat(ptr @.str1202, ptr %t499)
|
|
%t501 = call ptr @fn_str_concat(ptr %t500, ptr @.str1203)
|
|
%t502 = call ptr @fn_emit_bind(ptr %t501)
|
|
store ptr %t502, ptr %t503
|
|
%t504 = load ptr, ptr %t496
|
|
%t505 = getelementptr inbounds %Cmp_Val, ptr %t504, i32 0, i32 0
|
|
%t506 = load ptr, ptr %t505
|
|
%t507 = call ptr @fn_str_concat(ptr @.str1204, ptr %t506)
|
|
%t508 = call ptr @fn_str_concat(ptr %t507, ptr @.str1205)
|
|
%t509 = call ptr @fn_emit_bind(ptr %t508)
|
|
store ptr %t509, ptr %t510
|
|
%t511 = load ptr, ptr %t510
|
|
%t512 = call ptr @fn_str_concat(ptr @.str1206, ptr %t511)
|
|
%t513 = call ptr @fn_str_concat(ptr %t512, ptr @.str1207)
|
|
%t514 = call ptr @fn_emit_bind(ptr %t513)
|
|
store ptr %t514, ptr %t515
|
|
%t516 = load ptr, ptr %t487
|
|
%t517 = getelementptr inbounds %Cmp_Val, ptr %t516, i32 0, i32 0
|
|
%t518 = load ptr, ptr %t517
|
|
%t519 = call ptr @fn_vec_x(ptr %t518)
|
|
store ptr %t519, ptr %t520
|
|
%t521 = load ptr, ptr %t487
|
|
%t522 = getelementptr inbounds %Cmp_Val, ptr %t521, i32 0, i32 0
|
|
%t523 = load ptr, ptr %t522
|
|
%t524 = call ptr @fn_vec_y(ptr %t523)
|
|
store ptr %t524, ptr %t525
|
|
%t526 = load ptr, ptr %t520
|
|
%t527 = load ptr, ptr %t515
|
|
%t528 = call ptr @fn_fx_mul_code(ptr %t526, ptr %t527)
|
|
store ptr %t528, ptr %t529
|
|
%t530 = load ptr, ptr %t525
|
|
%t531 = load ptr, ptr %t503
|
|
%t532 = call ptr @fn_fx_mul_code(ptr %t530, ptr %t531)
|
|
store ptr %t532, ptr %t533
|
|
%t534 = load ptr, ptr %t520
|
|
%t535 = load ptr, ptr %t503
|
|
%t536 = call ptr @fn_fx_mul_code(ptr %t534, ptr %t535)
|
|
store ptr %t536, ptr %t537
|
|
%t538 = load ptr, ptr %t525
|
|
%t539 = load ptr, ptr %t515
|
|
%t540 = call ptr @fn_fx_mul_code(ptr %t538, ptr %t539)
|
|
store ptr %t540, ptr %t541
|
|
%t542 = load ptr, ptr %t529
|
|
%t543 = call ptr @fn_str_concat(ptr @.str1208, ptr %t542)
|
|
%t544 = call ptr @fn_str_concat(ptr %t543, ptr @.str1209)
|
|
%t545 = load ptr, ptr %t533
|
|
%t546 = call ptr @fn_str_concat(ptr %t544, ptr %t545)
|
|
%t547 = call ptr @fn_emit_bind(ptr %t546)
|
|
store ptr %t547, ptr %t548
|
|
%t549 = load ptr, ptr %t537
|
|
%t550 = call ptr @fn_str_concat(ptr @.str1210, ptr %t549)
|
|
%t551 = call ptr @fn_str_concat(ptr %t550, ptr @.str1211)
|
|
%t552 = load ptr, ptr %t541
|
|
%t553 = call ptr @fn_str_concat(ptr %t551, ptr %t552)
|
|
%t554 = call ptr @fn_emit_bind(ptr %t553)
|
|
store ptr %t554, ptr %t555
|
|
%t556 = load ptr, ptr %t548
|
|
%t557 = load ptr, ptr %t555
|
|
%t558 = call ptr @fn_vec_pack(ptr %t556, ptr %t557)
|
|
%t559 = call ptr @fn_val(ptr %t558, ptr @.str1212)
|
|
store ptr %t559, ptr %retval
|
|
br label %ret
|
|
ifend35:
|
|
%t560 = load ptr, ptr %t0
|
|
%t561 = call i32 @fn_str_eq(ptr %t560, ptr @.str1213)
|
|
%t562 = icmp ne i32 %t561, 0
|
|
br i1 %t562, label %then36, label %ifend38
|
|
then36:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t563 = load ptr, ptr %t1
|
|
%t564 = getelementptr inbounds %Cmp_Node, ptr %t563, i32 0, i32 7
|
|
%t565 = load ptr, ptr %t564
|
|
%t566 = getelementptr inbounds %LSlice, ptr %t565, i32 0, i32 0
|
|
%t567 = load ptr, ptr %t566
|
|
%t568 = getelementptr inbounds ptr, ptr %t567, i32 0
|
|
%t569 = load ptr, ptr %t568
|
|
%t570 = call ptr @fn_emit_expr(ptr %t569)
|
|
store ptr %t570, ptr %t571
|
|
%t572 = load ptr, ptr %t571
|
|
%t573 = getelementptr inbounds %Cmp_Val, ptr %t572, i32 0, i32 0
|
|
%t574 = load ptr, ptr %t573
|
|
%t575 = call ptr @fn_vec_x(ptr %t574)
|
|
store ptr %t575, ptr %t576
|
|
%t577 = load ptr, ptr %t571
|
|
%t578 = getelementptr inbounds %Cmp_Val, ptr %t577, i32 0, i32 0
|
|
%t579 = load ptr, ptr %t578
|
|
%t580 = call ptr @fn_vec_y(ptr %t579)
|
|
store ptr %t580, ptr %t581
|
|
%t582 = load ptr, ptr %t581
|
|
%t583 = call ptr @fn_str_concat(ptr @.str1214, ptr %t582)
|
|
%t584 = call ptr @fn_str_concat(ptr %t583, ptr @.str1215)
|
|
%t585 = load ptr, ptr %t576
|
|
%t586 = call ptr @fn_str_concat(ptr %t584, ptr %t585)
|
|
%t587 = call ptr @fn_str_concat(ptr %t586, ptr @.str1216)
|
|
%t588 = call ptr @fn_emit_bind(ptr %t587)
|
|
%t589 = call ptr @fn_val(ptr %t588, ptr @.str1217)
|
|
store ptr %t589, ptr %retval
|
|
br label %ret
|
|
ifend38:
|
|
%t590 = load ptr, ptr %t0
|
|
%t591 = call i32 @fn_str_eq(ptr %t590, ptr @.str1218)
|
|
%t592 = icmp ne i32 %t591, 0
|
|
br i1 %t592, label %then39, label %ifend41
|
|
then39:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t593 = load ptr, ptr %t1
|
|
%t594 = getelementptr inbounds %Cmp_Node, ptr %t593, i32 0, i32 7
|
|
%t595 = load ptr, ptr %t594
|
|
%t596 = getelementptr inbounds %LSlice, ptr %t595, i32 0, i32 0
|
|
%t597 = load ptr, ptr %t596
|
|
%t598 = getelementptr inbounds ptr, ptr %t597, i32 0
|
|
%t599 = load ptr, ptr %t598
|
|
%t600 = call ptr @fn_emit_expr(ptr %t599)
|
|
store ptr %t600, ptr %t601
|
|
%t602 = load ptr, ptr %t601
|
|
%t603 = getelementptr inbounds %Cmp_Val, ptr %t602, i32 0, i32 0
|
|
%t604 = load ptr, ptr %t603
|
|
%t605 = call ptr @fn_str_concat(ptr @.str1219, ptr %t604)
|
|
%t606 = call ptr @fn_str_concat(ptr %t605, ptr @.str1220)
|
|
%t607 = call ptr @fn_emit_bind(ptr %t606)
|
|
store ptr %t607, ptr %t608
|
|
%t609 = load ptr, ptr %t601
|
|
%t610 = getelementptr inbounds %Cmp_Val, ptr %t609, i32 0, i32 0
|
|
%t611 = load ptr, ptr %t610
|
|
%t612 = call ptr @fn_str_concat(ptr @.str1221, ptr %t611)
|
|
%t613 = call ptr @fn_str_concat(ptr %t612, ptr @.str1222)
|
|
%t614 = call ptr @fn_emit_bind(ptr %t613)
|
|
store ptr %t614, ptr %t615
|
|
%t616 = load ptr, ptr %t615
|
|
%t617 = call ptr @fn_str_concat(ptr @.str1223, ptr %t616)
|
|
%t618 = call ptr @fn_str_concat(ptr %t617, ptr @.str1224)
|
|
%t619 = call ptr @fn_emit_bind(ptr %t618)
|
|
store ptr %t619, ptr %t620
|
|
%t621 = load ptr, ptr %t620
|
|
%t622 = load ptr, ptr %t608
|
|
%t623 = call ptr @fn_vec_pack(ptr %t621, ptr %t622)
|
|
%t624 = call ptr @fn_val(ptr %t623, ptr @.str1225)
|
|
store ptr %t624, ptr %retval
|
|
br label %ret
|
|
ifend41:
|
|
%t625 = load ptr, ptr %t1
|
|
%t626 = getelementptr inbounds %Cmp_Node, ptr %t625, i32 0, i32 7
|
|
%t627 = load ptr, ptr %t626
|
|
%t628 = getelementptr inbounds %LSlice, ptr %t627, i32 0, i32 0
|
|
%t629 = load ptr, ptr %t628
|
|
%t630 = getelementptr inbounds ptr, ptr %t629, i32 0
|
|
%t631 = load ptr, ptr %t630
|
|
%t632 = call ptr @fn_emit_expr(ptr %t631)
|
|
store ptr %t632, ptr %t633
|
|
%t634 = load ptr, ptr %t1
|
|
%t635 = getelementptr inbounds %Cmp_Node, ptr %t634, i32 0, i32 7
|
|
%t636 = load ptr, ptr %t635
|
|
%t637 = getelementptr inbounds %LSlice, ptr %t636, i32 0, i32 0
|
|
%t638 = load ptr, ptr %t637
|
|
%t639 = getelementptr inbounds ptr, ptr %t638, i32 1
|
|
%t640 = load ptr, ptr %t639
|
|
%t641 = call ptr @fn_emit_expr(ptr %t640)
|
|
store ptr %t641, ptr %t642
|
|
%t643 = load ptr, ptr %t1
|
|
%t644 = getelementptr inbounds %Cmp_Node, ptr %t643, i32 0, i32 7
|
|
%t645 = load ptr, ptr %t644
|
|
%t646 = getelementptr inbounds %LSlice, ptr %t645, i32 0, i32 0
|
|
%t647 = load ptr, ptr %t646
|
|
%t648 = getelementptr inbounds ptr, ptr %t647, i32 2
|
|
%t649 = load ptr, ptr %t648
|
|
%t650 = call ptr @fn_emit_expr(ptr %t649)
|
|
store ptr %t650, ptr %t651
|
|
%t652 = load ptr, ptr %t633
|
|
%t653 = getelementptr inbounds %Cmp_Val, ptr %t652, i32 0, i32 0
|
|
%t654 = load ptr, ptr %t653
|
|
%t655 = call ptr @fn_vec_x(ptr %t654)
|
|
store ptr %t655, ptr %t656
|
|
%t657 = load ptr, ptr %t633
|
|
%t658 = getelementptr inbounds %Cmp_Val, ptr %t657, i32 0, i32 0
|
|
%t659 = load ptr, ptr %t658
|
|
%t660 = call ptr @fn_vec_y(ptr %t659)
|
|
store ptr %t660, ptr %t661
|
|
%t662 = load ptr, ptr %t642
|
|
%t663 = getelementptr inbounds %Cmp_Val, ptr %t662, i32 0, i32 0
|
|
%t664 = load ptr, ptr %t663
|
|
%t665 = call ptr @fn_vec_x(ptr %t664)
|
|
store ptr %t665, ptr %t666
|
|
%t667 = load ptr, ptr %t642
|
|
%t668 = getelementptr inbounds %Cmp_Val, ptr %t667, i32 0, i32 0
|
|
%t669 = load ptr, ptr %t668
|
|
%t670 = call ptr @fn_vec_y(ptr %t669)
|
|
store ptr %t670, ptr %t671
|
|
%t672 = load ptr, ptr %t656
|
|
%t673 = load ptr, ptr %t666
|
|
%t674 = load ptr, ptr %t651
|
|
%t675 = getelementptr inbounds %Cmp_Val, ptr %t674, i32 0, i32 0
|
|
%t676 = load ptr, ptr %t675
|
|
%t677 = call ptr @fn_fx_lerp_code(ptr %t672, ptr %t673, ptr %t676)
|
|
store ptr %t677, ptr %t678
|
|
%t679 = load ptr, ptr %t661
|
|
%t680 = load ptr, ptr %t671
|
|
%t681 = load ptr, ptr %t651
|
|
%t682 = getelementptr inbounds %Cmp_Val, ptr %t681, i32 0, i32 0
|
|
%t683 = load ptr, ptr %t682
|
|
%t684 = call ptr @fn_fx_lerp_code(ptr %t679, ptr %t680, ptr %t683)
|
|
store ptr %t684, ptr %t685
|
|
%t686 = load ptr, ptr %t678
|
|
%t687 = load ptr, ptr %t685
|
|
%t688 = call ptr @fn_vec_pack(ptr %t686, ptr %t687)
|
|
%t689 = call ptr @fn_val(ptr %t688, ptr @.str1226)
|
|
store ptr %t689, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t690 = load ptr, ptr %retval
|
|
ret ptr %t690
|
|
}
|
|
|
|
define i32 @fn_is_text_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t20 = alloca i32
|
|
%t21 = alloca i32
|
|
%t22 = alloca i32
|
|
%t47 = alloca i32
|
|
%t58 = alloca i32
|
|
%t69 = alloca i32
|
|
%t70 = alloca i32
|
|
%t71 = alloca i32
|
|
%t96 = alloca i32
|
|
%t107 = alloca i32
|
|
%t108 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str1227)
|
|
%t5 = icmp ne i32 %t4, 0
|
|
%t6 = zext i1 %t5 to i32
|
|
store i32 %t6, ptr %t2
|
|
br i1 %t5, label %scend1, label %sc0
|
|
sc0:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str1228)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
%t10 = zext i1 %t9 to i32
|
|
store i32 %t10, ptr %t2
|
|
br label %scend1
|
|
scend1:
|
|
%t11 = load i32, ptr %t2
|
|
%t12 = icmp ne i32 %t11, 0
|
|
%t13 = zext i1 %t12 to i32
|
|
store i32 %t13, ptr %t1
|
|
br i1 %t12, label %scend3, label %sc2
|
|
sc2:
|
|
%t14 = load ptr, ptr %t0
|
|
%t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str1229)
|
|
%t16 = icmp ne i32 %t15, 0
|
|
%t17 = zext i1 %t16 to i32
|
|
store i32 %t17, ptr %t1
|
|
br label %scend3
|
|
scend3:
|
|
%t18 = load i32, ptr %t1
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then4, label %ifend6
|
|
then4:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend6:
|
|
%t23 = load ptr, ptr %t0
|
|
%t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str1230)
|
|
%t25 = icmp ne i32 %t24, 0
|
|
%t26 = zext i1 %t25 to i32
|
|
store i32 %t26, ptr %t22
|
|
br i1 %t25, label %scend8, label %sc7
|
|
sc7:
|
|
%t27 = load ptr, ptr %t0
|
|
%t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str1231)
|
|
%t29 = icmp ne i32 %t28, 0
|
|
%t30 = zext i1 %t29 to i32
|
|
store i32 %t30, ptr %t22
|
|
br label %scend8
|
|
scend8:
|
|
%t31 = load i32, ptr %t22
|
|
%t32 = icmp ne i32 %t31, 0
|
|
%t33 = zext i1 %t32 to i32
|
|
store i32 %t33, ptr %t21
|
|
br i1 %t32, label %scend10, label %sc9
|
|
sc9:
|
|
%t34 = load ptr, ptr %t0
|
|
%t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str1232)
|
|
%t36 = icmp ne i32 %t35, 0
|
|
%t37 = zext i1 %t36 to i32
|
|
store i32 %t37, ptr %t21
|
|
br label %scend10
|
|
scend10:
|
|
%t38 = load i32, ptr %t21
|
|
%t39 = icmp ne i32 %t38, 0
|
|
%t40 = zext i1 %t39 to i32
|
|
store i32 %t40, ptr %t20
|
|
br i1 %t39, label %scend12, label %sc11
|
|
sc11:
|
|
%t41 = load ptr, ptr %t0
|
|
%t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str1233)
|
|
%t43 = icmp ne i32 %t42, 0
|
|
%t44 = zext i1 %t43 to i32
|
|
store i32 %t44, ptr %t20
|
|
br label %scend12
|
|
scend12:
|
|
%t45 = load i32, ptr %t20
|
|
%t46 = icmp ne i32 %t45, 0
|
|
br i1 %t46, label %then13, label %ifend15
|
|
then13:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend15:
|
|
%t48 = load ptr, ptr %t0
|
|
%t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str1234)
|
|
%t50 = icmp ne i32 %t49, 0
|
|
%t51 = zext i1 %t50 to i32
|
|
store i32 %t51, ptr %t47
|
|
br i1 %t50, label %scend17, label %sc16
|
|
sc16:
|
|
%t52 = load ptr, ptr %t0
|
|
%t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str1235)
|
|
%t54 = icmp ne i32 %t53, 0
|
|
%t55 = zext i1 %t54 to i32
|
|
store i32 %t55, ptr %t47
|
|
br label %scend17
|
|
scend17:
|
|
%t56 = load i32, ptr %t47
|
|
%t57 = icmp ne i32 %t56, 0
|
|
br i1 %t57, label %then18, label %ifend20
|
|
then18:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t59 = load ptr, ptr %t0
|
|
%t60 = call i32 @fn_str_eq(ptr %t59, ptr @.str1236)
|
|
%t61 = icmp ne i32 %t60, 0
|
|
%t62 = zext i1 %t61 to i32
|
|
store i32 %t62, ptr %t58
|
|
br i1 %t61, label %scend22, label %sc21
|
|
sc21:
|
|
%t63 = load ptr, ptr %t0
|
|
%t64 = call i32 @fn_str_eq(ptr %t63, ptr @.str1237)
|
|
%t65 = icmp ne i32 %t64, 0
|
|
%t66 = zext i1 %t65 to i32
|
|
store i32 %t66, ptr %t58
|
|
br label %scend22
|
|
scend22:
|
|
%t67 = load i32, ptr %t58
|
|
%t68 = icmp ne i32 %t67, 0
|
|
br i1 %t68, label %then23, label %ifend25
|
|
then23:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend25:
|
|
%t72 = load ptr, ptr %t0
|
|
%t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str1238)
|
|
%t74 = icmp ne i32 %t73, 0
|
|
%t75 = zext i1 %t74 to i32
|
|
store i32 %t75, ptr %t71
|
|
br i1 %t74, label %scend27, label %sc26
|
|
sc26:
|
|
%t76 = load ptr, ptr %t0
|
|
%t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str1239)
|
|
%t78 = icmp ne i32 %t77, 0
|
|
%t79 = zext i1 %t78 to i32
|
|
store i32 %t79, ptr %t71
|
|
br label %scend27
|
|
scend27:
|
|
%t80 = load i32, ptr %t71
|
|
%t81 = icmp ne i32 %t80, 0
|
|
%t82 = zext i1 %t81 to i32
|
|
store i32 %t82, ptr %t70
|
|
br i1 %t81, label %scend29, label %sc28
|
|
sc28:
|
|
%t83 = load ptr, ptr %t0
|
|
%t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str1240)
|
|
%t85 = icmp ne i32 %t84, 0
|
|
%t86 = zext i1 %t85 to i32
|
|
store i32 %t86, ptr %t70
|
|
br label %scend29
|
|
scend29:
|
|
%t87 = load i32, ptr %t70
|
|
%t88 = icmp ne i32 %t87, 0
|
|
%t89 = zext i1 %t88 to i32
|
|
store i32 %t89, ptr %t69
|
|
br i1 %t88, label %scend31, label %sc30
|
|
sc30:
|
|
%t90 = load ptr, ptr %t0
|
|
%t91 = call i32 @fn_str_eq(ptr %t90, ptr @.str1241)
|
|
%t92 = icmp ne i32 %t91, 0
|
|
%t93 = zext i1 %t92 to i32
|
|
store i32 %t93, ptr %t69
|
|
br label %scend31
|
|
scend31:
|
|
%t94 = load i32, ptr %t69
|
|
%t95 = icmp ne i32 %t94, 0
|
|
br i1 %t95, label %then32, label %ifend34
|
|
then32:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend34:
|
|
%t97 = load ptr, ptr %t0
|
|
%t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str1242)
|
|
%t99 = icmp ne i32 %t98, 0
|
|
%t100 = zext i1 %t99 to i32
|
|
store i32 %t100, ptr %t96
|
|
br i1 %t99, label %scend36, label %sc35
|
|
sc35:
|
|
%t101 = load ptr, ptr %t0
|
|
%t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str1243)
|
|
%t103 = icmp ne i32 %t102, 0
|
|
%t104 = zext i1 %t103 to i32
|
|
store i32 %t104, ptr %t96
|
|
br label %scend36
|
|
scend36:
|
|
%t105 = load i32, ptr %t96
|
|
%t106 = icmp ne i32 %t105, 0
|
|
br i1 %t106, label %then37, label %ifend39
|
|
then37:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend39:
|
|
%t109 = load ptr, ptr %t0
|
|
%t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str1244)
|
|
%t111 = icmp ne i32 %t110, 0
|
|
%t112 = zext i1 %t111 to i32
|
|
store i32 %t112, ptr %t108
|
|
br i1 %t111, label %scend41, label %sc40
|
|
sc40:
|
|
%t113 = load ptr, ptr %t0
|
|
%t114 = call i32 @fn_str_eq(ptr %t113, ptr @.str1245)
|
|
%t115 = icmp ne i32 %t114, 0
|
|
%t116 = zext i1 %t115 to i32
|
|
store i32 %t116, ptr %t108
|
|
br label %scend41
|
|
scend41:
|
|
%t117 = load i32, ptr %t108
|
|
%t118 = icmp ne i32 %t117, 0
|
|
%t119 = zext i1 %t118 to i32
|
|
store i32 %t119, ptr %t107
|
|
br i1 %t118, label %scend43, label %sc42
|
|
sc42:
|
|
%t120 = load ptr, ptr %t0
|
|
%t121 = call i32 @fn_str_eq(ptr %t120, ptr @.str1246)
|
|
%t122 = icmp ne i32 %t121, 0
|
|
%t123 = zext i1 %t122 to i32
|
|
store i32 %t123, ptr %t107
|
|
br label %scend43
|
|
scend43:
|
|
%t124 = load i32, ptr %t107
|
|
%t125 = icmp ne i32 %t124, 0
|
|
br i1 %t125, label %then44, label %ifend46
|
|
then44:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend46:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t126 = load i32, ptr %retval
|
|
ret i32 %t126
|
|
}
|
|
|
|
define ptr @fn_emit_text_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t13 = alloca ptr
|
|
%t32 = alloca ptr
|
|
%t41 = alloca ptr
|
|
%t50 = alloca ptr
|
|
%t79 = alloca ptr
|
|
%t88 = alloca ptr
|
|
%t112 = alloca ptr
|
|
%t121 = alloca ptr
|
|
%t142 = alloca ptr
|
|
%t152 = alloca ptr
|
|
%t169 = alloca ptr
|
|
%t180 = alloca ptr
|
|
%t184 = alloca ptr
|
|
%t241 = alloca ptr
|
|
%t265 = alloca ptr
|
|
%t289 = alloca ptr
|
|
%t313 = alloca ptr
|
|
%t322 = alloca ptr
|
|
%t351 = alloca ptr
|
|
%t375 = alloca ptr
|
|
%t388 = alloca i32
|
|
%t407 = alloca ptr
|
|
%t419 = alloca ptr
|
|
%t427 = alloca ptr
|
|
%t437 = alloca ptr
|
|
%t442 = alloca ptr
|
|
%t449 = alloca ptr
|
|
%t456 = alloca ptr
|
|
%t461 = alloca ptr
|
|
%t477 = alloca ptr
|
|
%t484 = alloca ptr
|
|
%t502 = alloca ptr
|
|
%t507 = alloca ptr
|
|
%t519 = alloca ptr
|
|
%t526 = alloca ptr
|
|
%t528 = alloca ptr
|
|
%t534 = alloca ptr
|
|
%t536 = alloca ptr
|
|
%t538 = alloca ptr
|
|
%t551 = alloca ptr
|
|
%t564 = alloca ptr
|
|
%t569 = alloca ptr
|
|
%t574 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1247)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = load ptr, ptr %t1
|
|
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
|
|
%t9 = load ptr, ptr %t8
|
|
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = call ptr @fn_emit_expr(ptr %t11)
|
|
store ptr %t12, ptr %t13
|
|
store i32 1, ptr @g_g_uses_intstr
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = call ptr @fn_str_concat(ptr @.str1248, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str1249)
|
|
%t19 = call ptr @fn_emit_bind(ptr %t18)
|
|
%t20 = call ptr @fn_val(ptr %t19, ptr @.str1250)
|
|
store ptr %t20, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t21 = load ptr, ptr %t0
|
|
%t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str1251)
|
|
%t23 = icmp ne i32 %t22, 0
|
|
br i1 %t23, label %then3, label %ifend5
|
|
then3:
|
|
%t24 = load ptr, ptr %t1
|
|
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = getelementptr inbounds ptr, ptr %t28, i32 0
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = call ptr @fn_emit_expr(ptr %t30)
|
|
store ptr %t31, ptr %t32
|
|
%t33 = load ptr, ptr %t1
|
|
%t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7
|
|
%t35 = load ptr, ptr %t34
|
|
%t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0
|
|
%t37 = load ptr, ptr %t36
|
|
%t38 = getelementptr inbounds ptr, ptr %t37, i32 1
|
|
%t39 = load ptr, ptr %t38
|
|
%t40 = call ptr @fn_emit_expr(ptr %t39)
|
|
store ptr %t40, ptr %t41
|
|
%t42 = load ptr, ptr %t1
|
|
%t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 7
|
|
%t44 = load ptr, ptr %t43
|
|
%t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0
|
|
%t46 = load ptr, ptr %t45
|
|
%t47 = getelementptr inbounds ptr, ptr %t46, i32 2
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = call ptr @fn_emit_expr(ptr %t48)
|
|
store ptr %t49, ptr %t50
|
|
store i32 1, ptr @g_g_uses_strslice
|
|
%t51 = load ptr, ptr %t32
|
|
%t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0
|
|
%t53 = load ptr, ptr %t52
|
|
%t54 = call ptr @fn_str_concat(ptr @.str1252, ptr %t53)
|
|
%t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str1253)
|
|
%t56 = load ptr, ptr %t41
|
|
%t57 = getelementptr inbounds %Cmp_Val, ptr %t56, i32 0, i32 0
|
|
%t58 = load ptr, ptr %t57
|
|
%t59 = call ptr @fn_str_concat(ptr %t55, ptr %t58)
|
|
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str1254)
|
|
%t61 = load ptr, ptr %t50
|
|
%t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0
|
|
%t63 = load ptr, ptr %t62
|
|
%t64 = call ptr @fn_str_concat(ptr %t60, ptr %t63)
|
|
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str1255)
|
|
%t66 = call ptr @fn_emit_bind(ptr %t65)
|
|
%t67 = call ptr @fn_val(ptr %t66, ptr @.str1256)
|
|
store ptr %t67, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t68 = load ptr, ptr %t0
|
|
%t69 = call i32 @fn_str_eq(ptr %t68, ptr @.str1257)
|
|
%t70 = icmp ne i32 %t69, 0
|
|
br i1 %t70, label %then6, label %ifend8
|
|
then6:
|
|
%t71 = load ptr, ptr %t1
|
|
%t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 7
|
|
%t73 = load ptr, ptr %t72
|
|
%t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0
|
|
%t75 = load ptr, ptr %t74
|
|
%t76 = getelementptr inbounds ptr, ptr %t75, i32 0
|
|
%t77 = load ptr, ptr %t76
|
|
%t78 = call ptr @fn_emit_expr(ptr %t77)
|
|
store ptr %t78, ptr %t79
|
|
%t80 = load ptr, ptr %t1
|
|
%t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 7
|
|
%t82 = load ptr, ptr %t81
|
|
%t83 = getelementptr inbounds %LSlice, ptr %t82, i32 0, i32 0
|
|
%t84 = load ptr, ptr %t83
|
|
%t85 = getelementptr inbounds ptr, ptr %t84, i32 1
|
|
%t86 = load ptr, ptr %t85
|
|
%t87 = call ptr @fn_emit_expr(ptr %t86)
|
|
store ptr %t87, ptr %t88
|
|
store i32 1, ptr @g_g_uses_str
|
|
%t89 = load ptr, ptr %t79
|
|
%t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0
|
|
%t91 = load ptr, ptr %t90
|
|
%t92 = call ptr @fn_str_concat(ptr @.str1258, ptr %t91)
|
|
%t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str1259)
|
|
%t94 = load ptr, ptr %t88
|
|
%t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0
|
|
%t96 = load ptr, ptr %t95
|
|
%t97 = call ptr @fn_str_concat(ptr %t93, ptr %t96)
|
|
%t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str1260)
|
|
%t99 = call ptr @fn_emit_bind(ptr %t98)
|
|
%t100 = call ptr @fn_val(ptr %t99, ptr @.str1261)
|
|
store ptr %t100, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t101 = load ptr, ptr %t0
|
|
%t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str1262)
|
|
%t103 = icmp ne i32 %t102, 0
|
|
br i1 %t103, label %then9, label %ifend11
|
|
then9:
|
|
%t104 = load ptr, ptr %t1
|
|
%t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 7
|
|
%t106 = load ptr, ptr %t105
|
|
%t107 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 0
|
|
%t108 = load ptr, ptr %t107
|
|
%t109 = getelementptr inbounds ptr, ptr %t108, i32 0
|
|
%t110 = load ptr, ptr %t109
|
|
%t111 = call ptr @fn_emit_expr(ptr %t110)
|
|
store ptr %t111, ptr %t112
|
|
%t113 = load ptr, ptr %t1
|
|
%t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 7
|
|
%t115 = load ptr, ptr %t114
|
|
%t116 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 0
|
|
%t117 = load ptr, ptr %t116
|
|
%t118 = getelementptr inbounds ptr, ptr %t117, i32 1
|
|
%t119 = load ptr, ptr %t118
|
|
%t120 = call ptr @fn_emit_expr(ptr %t119)
|
|
store ptr %t120, ptr %t121
|
|
store i32 1, ptr @g_g_uses_str
|
|
%t122 = load ptr, ptr %t112
|
|
%t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 0
|
|
%t124 = load ptr, ptr %t123
|
|
%t125 = call ptr @fn_str_concat(ptr @.str1263, ptr %t124)
|
|
%t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str1264)
|
|
%t127 = load ptr, ptr %t121
|
|
%t128 = getelementptr inbounds %Cmp_Val, ptr %t127, i32 0, i32 0
|
|
%t129 = load ptr, ptr %t128
|
|
%t130 = call ptr @fn_str_concat(ptr %t126, ptr %t129)
|
|
%t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str1265)
|
|
%t132 = call ptr @fn_emit_bind(ptr %t131)
|
|
%t133 = call ptr @fn_val(ptr %t132, ptr @.str1266)
|
|
store ptr %t133, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t134 = load ptr, ptr %t1
|
|
%t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 7
|
|
%t136 = load ptr, ptr %t135
|
|
%t137 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0
|
|
%t138 = load ptr, ptr %t137
|
|
%t139 = getelementptr inbounds ptr, ptr %t138, i32 0
|
|
%t140 = load ptr, ptr %t139
|
|
%t141 = call ptr @fn_emit_expr(ptr %t140)
|
|
store ptr %t141, ptr %t142
|
|
%t143 = load ptr, ptr %t0
|
|
%t144 = call i32 @fn_str_eq(ptr %t143, ptr @.str1267)
|
|
%t145 = icmp ne i32 %t144, 0
|
|
br i1 %t145, label %then12, label %ifend14
|
|
then12:
|
|
%t146 = load ptr, ptr %t142
|
|
%t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0
|
|
%t148 = load ptr, ptr %t147
|
|
%t149 = call ptr @fn_str_concat(ptr @.str1268, ptr %t148)
|
|
%t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str1269)
|
|
%t151 = call ptr @fn_emit_bind(ptr %t150)
|
|
store ptr %t151, ptr %t152
|
|
%t153 = load ptr, ptr %t152
|
|
%t154 = call ptr @fn_str_concat(ptr @.str1270, ptr %t153)
|
|
%t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str1271)
|
|
%t156 = call ptr @fn_emit_bind(ptr %t155)
|
|
%t157 = call ptr @fn_val(ptr %t156, ptr @.str1272)
|
|
store ptr %t157, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t158 = load ptr, ptr %t0
|
|
%t159 = call i32 @fn_str_eq(ptr %t158, ptr @.str1273)
|
|
%t160 = icmp ne i32 %t159, 0
|
|
br i1 %t160, label %then15, label %ifend17
|
|
then15:
|
|
%t161 = load ptr, ptr %t1
|
|
%t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 7
|
|
%t163 = load ptr, ptr %t162
|
|
%t164 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 0
|
|
%t165 = load ptr, ptr %t164
|
|
%t166 = getelementptr inbounds ptr, ptr %t165, i32 1
|
|
%t167 = load ptr, ptr %t166
|
|
%t168 = call ptr @fn_emit_expr(ptr %t167)
|
|
store ptr %t168, ptr %t169
|
|
%t170 = load ptr, ptr %t142
|
|
%t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0
|
|
%t172 = load ptr, ptr %t171
|
|
%t173 = call ptr @fn_str_concat(ptr @.str1274, ptr %t172)
|
|
%t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str1275)
|
|
%t175 = load ptr, ptr %t169
|
|
%t176 = getelementptr inbounds %Cmp_Val, ptr %t175, i32 0, i32 0
|
|
%t177 = load ptr, ptr %t176
|
|
%t178 = call ptr @fn_str_concat(ptr %t174, ptr %t177)
|
|
%t179 = call ptr @fn_emit_bind(ptr %t178)
|
|
store ptr %t179, ptr %t180
|
|
%t181 = load ptr, ptr %t180
|
|
%t182 = call ptr @fn_str_concat(ptr @.str1276, ptr %t181)
|
|
%t183 = call ptr @fn_emit_bind(ptr %t182)
|
|
store ptr %t183, ptr %t184
|
|
%t185 = load ptr, ptr %t184
|
|
%t186 = call ptr @fn_str_concat(ptr @.str1277, ptr %t185)
|
|
%t187 = call ptr @fn_str_concat(ptr %t186, ptr @.str1278)
|
|
%t188 = call ptr @fn_emit_bind(ptr %t187)
|
|
%t189 = call ptr @fn_val(ptr %t188, ptr @.str1279)
|
|
store ptr %t189, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t190 = load ptr, ptr %t0
|
|
%t191 = call i32 @fn_str_eq(ptr %t190, ptr @.str1280)
|
|
%t192 = icmp ne i32 %t191, 0
|
|
br i1 %t192, label %then18, label %ifend20
|
|
then18:
|
|
%t193 = load ptr, ptr %t142
|
|
%t194 = getelementptr inbounds %Cmp_Val, ptr %t193, i32 0, i32 0
|
|
%t195 = load ptr, ptr %t194
|
|
%t196 = call ptr @fn_str_concat(ptr @.str1281, ptr %t195)
|
|
%t197 = call ptr @fn_str_concat(ptr %t196, ptr @.str1282)
|
|
%t198 = call ptr @fn_emit_bind(ptr %t197)
|
|
%t199 = call ptr @fn_val(ptr %t198, ptr @.str1283)
|
|
store ptr %t199, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t200 = load ptr, ptr %t0
|
|
%t201 = call i32 @fn_str_eq(ptr %t200, ptr @.str1284)
|
|
%t202 = icmp ne i32 %t201, 0
|
|
br i1 %t202, label %then21, label %ifend23
|
|
then21:
|
|
store i32 1, ptr @g_g_uses_textrt
|
|
%t203 = load ptr, ptr %t142
|
|
%t204 = getelementptr inbounds %Cmp_Val, ptr %t203, i32 0, i32 0
|
|
%t205 = load ptr, ptr %t204
|
|
%t206 = call ptr @fn_str_concat(ptr @.str1285, ptr %t205)
|
|
%t207 = call ptr @fn_str_concat(ptr %t206, ptr @.str1286)
|
|
%t208 = call ptr @fn_emit_bind(ptr %t207)
|
|
%t209 = call ptr @fn_val(ptr %t208, ptr @.str1287)
|
|
store ptr %t209, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t210 = load ptr, ptr %t0
|
|
%t211 = call i32 @fn_str_eq(ptr %t210, ptr @.str1288)
|
|
%t212 = icmp ne i32 %t211, 0
|
|
br i1 %t212, label %then24, label %ifend26
|
|
then24:
|
|
store i32 1, ptr @g_g_uses_textrt
|
|
%t213 = load ptr, ptr %t142
|
|
%t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0
|
|
%t215 = load ptr, ptr %t214
|
|
%t216 = call ptr @fn_str_concat(ptr @.str1289, ptr %t215)
|
|
%t217 = call ptr @fn_str_concat(ptr %t216, ptr @.str1290)
|
|
%t218 = call ptr @fn_emit_bind(ptr %t217)
|
|
%t219 = call ptr @fn_val(ptr %t218, ptr @.str1291)
|
|
store ptr %t219, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t220 = load ptr, ptr %t0
|
|
%t221 = call i32 @fn_str_eq(ptr %t220, ptr @.str1292)
|
|
%t222 = icmp ne i32 %t221, 0
|
|
br i1 %t222, label %then27, label %ifend29
|
|
then27:
|
|
store i32 1, ptr @g_g_uses_textrt
|
|
%t223 = load ptr, ptr %t142
|
|
%t224 = getelementptr inbounds %Cmp_Val, ptr %t223, i32 0, i32 0
|
|
%t225 = load ptr, ptr %t224
|
|
%t226 = call ptr @fn_str_concat(ptr @.str1293, ptr %t225)
|
|
%t227 = call ptr @fn_str_concat(ptr %t226, ptr @.str1294)
|
|
%t228 = call ptr @fn_emit_bind(ptr %t227)
|
|
%t229 = call ptr @fn_val(ptr %t228, ptr @.str1295)
|
|
store ptr %t229, ptr %retval
|
|
br label %ret
|
|
ifend29:
|
|
%t230 = load ptr, ptr %t0
|
|
%t231 = call i32 @fn_str_eq(ptr %t230, ptr @.str1296)
|
|
%t232 = icmp ne i32 %t231, 0
|
|
br i1 %t232, label %then30, label %ifend32
|
|
then30:
|
|
store i32 1, ptr @g_g_uses_textrt
|
|
%t233 = load ptr, ptr %t1
|
|
%t234 = getelementptr inbounds %Cmp_Node, ptr %t233, i32 0, i32 7
|
|
%t235 = load ptr, ptr %t234
|
|
%t236 = getelementptr inbounds %LSlice, ptr %t235, i32 0, i32 0
|
|
%t237 = load ptr, ptr %t236
|
|
%t238 = getelementptr inbounds ptr, ptr %t237, i32 1
|
|
%t239 = load ptr, ptr %t238
|
|
%t240 = call ptr @fn_emit_expr(ptr %t239)
|
|
store ptr %t240, ptr %t241
|
|
%t242 = load ptr, ptr %t142
|
|
%t243 = getelementptr inbounds %Cmp_Val, ptr %t242, i32 0, i32 0
|
|
%t244 = load ptr, ptr %t243
|
|
%t245 = call ptr @fn_str_concat(ptr @.str1297, ptr %t244)
|
|
%t246 = call ptr @fn_str_concat(ptr %t245, ptr @.str1298)
|
|
%t247 = load ptr, ptr %t241
|
|
%t248 = getelementptr inbounds %Cmp_Val, ptr %t247, i32 0, i32 0
|
|
%t249 = load ptr, ptr %t248
|
|
%t250 = call ptr @fn_str_concat(ptr %t246, ptr %t249)
|
|
%t251 = call ptr @fn_str_concat(ptr %t250, ptr @.str1299)
|
|
%t252 = call ptr @fn_emit_bind(ptr %t251)
|
|
%t253 = call ptr @fn_val(ptr %t252, ptr @.str1300)
|
|
store ptr %t253, ptr %retval
|
|
br label %ret
|
|
ifend32:
|
|
%t254 = load ptr, ptr %t0
|
|
%t255 = call i32 @fn_str_eq(ptr %t254, ptr @.str1301)
|
|
%t256 = icmp ne i32 %t255, 0
|
|
br i1 %t256, label %then33, label %ifend35
|
|
then33:
|
|
store i32 1, ptr @g_g_uses_textrt
|
|
%t257 = load ptr, ptr %t1
|
|
%t258 = getelementptr inbounds %Cmp_Node, ptr %t257, i32 0, i32 7
|
|
%t259 = load ptr, ptr %t258
|
|
%t260 = getelementptr inbounds %LSlice, ptr %t259, i32 0, i32 0
|
|
%t261 = load ptr, ptr %t260
|
|
%t262 = getelementptr inbounds ptr, ptr %t261, i32 1
|
|
%t263 = load ptr, ptr %t262
|
|
%t264 = call ptr @fn_emit_expr(ptr %t263)
|
|
store ptr %t264, ptr %t265
|
|
%t266 = load ptr, ptr %t142
|
|
%t267 = getelementptr inbounds %Cmp_Val, ptr %t266, i32 0, i32 0
|
|
%t268 = load ptr, ptr %t267
|
|
%t269 = call ptr @fn_str_concat(ptr @.str1302, ptr %t268)
|
|
%t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str1303)
|
|
%t271 = load ptr, ptr %t265
|
|
%t272 = getelementptr inbounds %Cmp_Val, ptr %t271, i32 0, i32 0
|
|
%t273 = load ptr, ptr %t272
|
|
%t274 = call ptr @fn_str_concat(ptr %t270, ptr %t273)
|
|
%t275 = call ptr @fn_str_concat(ptr %t274, ptr @.str1304)
|
|
%t276 = call ptr @fn_emit_bind(ptr %t275)
|
|
%t277 = call ptr @fn_val(ptr %t276, ptr @.str1305)
|
|
store ptr %t277, ptr %retval
|
|
br label %ret
|
|
ifend35:
|
|
%t278 = load ptr, ptr %t0
|
|
%t279 = call i32 @fn_str_eq(ptr %t278, ptr @.str1306)
|
|
%t280 = icmp ne i32 %t279, 0
|
|
br i1 %t280, label %then36, label %ifend38
|
|
then36:
|
|
store i32 1, ptr @g_g_uses_textrt
|
|
%t281 = load ptr, ptr %t1
|
|
%t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 7
|
|
%t283 = load ptr, ptr %t282
|
|
%t284 = getelementptr inbounds %LSlice, ptr %t283, i32 0, i32 0
|
|
%t285 = load ptr, ptr %t284
|
|
%t286 = getelementptr inbounds ptr, ptr %t285, i32 1
|
|
%t287 = load ptr, ptr %t286
|
|
%t288 = call ptr @fn_emit_expr(ptr %t287)
|
|
store ptr %t288, ptr %t289
|
|
%t290 = load ptr, ptr %t142
|
|
%t291 = getelementptr inbounds %Cmp_Val, ptr %t290, i32 0, i32 0
|
|
%t292 = load ptr, ptr %t291
|
|
%t293 = call ptr @fn_str_concat(ptr @.str1307, ptr %t292)
|
|
%t294 = call ptr @fn_str_concat(ptr %t293, ptr @.str1308)
|
|
%t295 = load ptr, ptr %t289
|
|
%t296 = getelementptr inbounds %Cmp_Val, ptr %t295, i32 0, i32 0
|
|
%t297 = load ptr, ptr %t296
|
|
%t298 = call ptr @fn_str_concat(ptr %t294, ptr %t297)
|
|
%t299 = call ptr @fn_str_concat(ptr %t298, ptr @.str1309)
|
|
%t300 = call ptr @fn_emit_bind(ptr %t299)
|
|
%t301 = call ptr @fn_val(ptr %t300, ptr @.str1310)
|
|
store ptr %t301, ptr %retval
|
|
br label %ret
|
|
ifend38:
|
|
%t302 = load ptr, ptr %t0
|
|
%t303 = call i32 @fn_str_eq(ptr %t302, ptr @.str1311)
|
|
%t304 = icmp ne i32 %t303, 0
|
|
br i1 %t304, label %then39, label %ifend41
|
|
then39:
|
|
store i32 1, ptr @g_g_uses_textrt2
|
|
%t305 = load ptr, ptr %t1
|
|
%t306 = getelementptr inbounds %Cmp_Node, ptr %t305, i32 0, i32 7
|
|
%t307 = load ptr, ptr %t306
|
|
%t308 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0
|
|
%t309 = load ptr, ptr %t308
|
|
%t310 = getelementptr inbounds ptr, ptr %t309, i32 1
|
|
%t311 = load ptr, ptr %t310
|
|
%t312 = call ptr @fn_emit_expr(ptr %t311)
|
|
store ptr %t312, ptr %t313
|
|
%t314 = load ptr, ptr %t1
|
|
%t315 = getelementptr inbounds %Cmp_Node, ptr %t314, i32 0, i32 7
|
|
%t316 = load ptr, ptr %t315
|
|
%t317 = getelementptr inbounds %LSlice, ptr %t316, i32 0, i32 0
|
|
%t318 = load ptr, ptr %t317
|
|
%t319 = getelementptr inbounds ptr, ptr %t318, i32 2
|
|
%t320 = load ptr, ptr %t319
|
|
%t321 = call ptr @fn_emit_expr(ptr %t320)
|
|
store ptr %t321, ptr %t322
|
|
%t323 = load ptr, ptr %t142
|
|
%t324 = getelementptr inbounds %Cmp_Val, ptr %t323, i32 0, i32 0
|
|
%t325 = load ptr, ptr %t324
|
|
%t326 = call ptr @fn_str_concat(ptr @.str1312, ptr %t325)
|
|
%t327 = call ptr @fn_str_concat(ptr %t326, ptr @.str1313)
|
|
%t328 = load ptr, ptr %t313
|
|
%t329 = getelementptr inbounds %Cmp_Val, ptr %t328, i32 0, i32 0
|
|
%t330 = load ptr, ptr %t329
|
|
%t331 = call ptr @fn_str_concat(ptr %t327, ptr %t330)
|
|
%t332 = call ptr @fn_str_concat(ptr %t331, ptr @.str1314)
|
|
%t333 = load ptr, ptr %t322
|
|
%t334 = getelementptr inbounds %Cmp_Val, ptr %t333, i32 0, i32 0
|
|
%t335 = load ptr, ptr %t334
|
|
%t336 = call ptr @fn_str_concat(ptr %t332, ptr %t335)
|
|
%t337 = call ptr @fn_str_concat(ptr %t336, ptr @.str1315)
|
|
%t338 = call ptr @fn_emit_bind(ptr %t337)
|
|
%t339 = call ptr @fn_val(ptr %t338, ptr @.str1316)
|
|
store ptr %t339, ptr %retval
|
|
br label %ret
|
|
ifend41:
|
|
%t340 = load ptr, ptr %t0
|
|
%t341 = call i32 @fn_str_eq(ptr %t340, ptr @.str1317)
|
|
%t342 = icmp ne i32 %t341, 0
|
|
br i1 %t342, label %then42, label %ifend44
|
|
then42:
|
|
store i32 1, ptr @g_g_uses_textrt2
|
|
%t343 = load ptr, ptr %t1
|
|
%t344 = getelementptr inbounds %Cmp_Node, ptr %t343, i32 0, i32 7
|
|
%t345 = load ptr, ptr %t344
|
|
%t346 = getelementptr inbounds %LSlice, ptr %t345, i32 0, i32 0
|
|
%t347 = load ptr, ptr %t346
|
|
%t348 = getelementptr inbounds ptr, ptr %t347, i32 1
|
|
%t349 = load ptr, ptr %t348
|
|
%t350 = call ptr @fn_emit_expr(ptr %t349)
|
|
store ptr %t350, ptr %t351
|
|
%t352 = load ptr, ptr %t142
|
|
%t353 = getelementptr inbounds %Cmp_Val, ptr %t352, i32 0, i32 0
|
|
%t354 = load ptr, ptr %t353
|
|
%t355 = call ptr @fn_str_concat(ptr @.str1318, ptr %t354)
|
|
%t356 = call ptr @fn_str_concat(ptr %t355, ptr @.str1319)
|
|
%t357 = load ptr, ptr %t351
|
|
%t358 = getelementptr inbounds %Cmp_Val, ptr %t357, i32 0, i32 0
|
|
%t359 = load ptr, ptr %t358
|
|
%t360 = call ptr @fn_str_concat(ptr %t356, ptr %t359)
|
|
%t361 = call ptr @fn_str_concat(ptr %t360, ptr @.str1320)
|
|
%t362 = call ptr @fn_emit_bind(ptr %t361)
|
|
%t363 = call ptr @fn_val(ptr %t362, ptr @.str1321)
|
|
store ptr %t363, ptr %retval
|
|
br label %ret
|
|
ifend44:
|
|
%t364 = load ptr, ptr %t0
|
|
%t365 = call i32 @fn_str_eq(ptr %t364, ptr @.str1322)
|
|
%t366 = icmp ne i32 %t365, 0
|
|
br i1 %t366, label %then45, label %ifend47
|
|
then45:
|
|
store i32 1, ptr @g_g_uses_textrt2
|
|
%t367 = load ptr, ptr %t1
|
|
%t368 = getelementptr inbounds %Cmp_Node, ptr %t367, i32 0, i32 7
|
|
%t369 = load ptr, ptr %t368
|
|
%t370 = getelementptr inbounds %LSlice, ptr %t369, i32 0, i32 0
|
|
%t371 = load ptr, ptr %t370
|
|
%t372 = getelementptr inbounds ptr, ptr %t371, i32 1
|
|
%t373 = load ptr, ptr %t372
|
|
%t374 = call ptr @fn_emit_expr(ptr %t373)
|
|
store ptr %t374, ptr %t375
|
|
%t376 = load ptr, ptr %t142
|
|
%t377 = getelementptr inbounds %Cmp_Val, ptr %t376, i32 0, i32 0
|
|
%t378 = load ptr, ptr %t377
|
|
%t379 = call ptr @fn_str_concat(ptr @.str1323, ptr %t378)
|
|
%t380 = call ptr @fn_str_concat(ptr %t379, ptr @.str1324)
|
|
%t381 = load ptr, ptr %t375
|
|
%t382 = getelementptr inbounds %Cmp_Val, ptr %t381, i32 0, i32 0
|
|
%t383 = load ptr, ptr %t382
|
|
%t384 = call ptr @fn_str_concat(ptr %t380, ptr %t383)
|
|
%t385 = call ptr @fn_str_concat(ptr %t384, ptr @.str1325)
|
|
%t386 = call ptr @fn_emit_bind(ptr %t385)
|
|
%t387 = call ptr @fn_val(ptr %t386, ptr @.str1326)
|
|
store ptr %t387, ptr %retval
|
|
br label %ret
|
|
ifend47:
|
|
%t389 = load ptr, ptr %t0
|
|
%t390 = call i32 @fn_str_eq(ptr %t389, ptr @.str1327)
|
|
%t391 = icmp ne i32 %t390, 0
|
|
%t392 = zext i1 %t391 to i32
|
|
store i32 %t392, ptr %t388
|
|
br i1 %t391, label %scend49, label %sc48
|
|
sc48:
|
|
%t393 = load ptr, ptr %t0
|
|
%t394 = call i32 @fn_str_eq(ptr %t393, ptr @.str1328)
|
|
%t395 = icmp ne i32 %t394, 0
|
|
%t396 = zext i1 %t395 to i32
|
|
store i32 %t396, ptr %t388
|
|
br label %scend49
|
|
scend49:
|
|
%t397 = load i32, ptr %t388
|
|
%t398 = icmp ne i32 %t397, 0
|
|
br i1 %t398, label %then50, label %ifend52
|
|
then50:
|
|
%t399 = load ptr, ptr %t1
|
|
%t400 = getelementptr inbounds %Cmp_Node, ptr %t399, i32 0, i32 7
|
|
%t401 = load ptr, ptr %t400
|
|
%t402 = getelementptr inbounds %LSlice, ptr %t401, i32 0, i32 0
|
|
%t403 = load ptr, ptr %t402
|
|
%t404 = getelementptr inbounds ptr, ptr %t403, i32 1
|
|
%t405 = load ptr, ptr %t404
|
|
%t406 = call ptr @fn_emit_expr(ptr %t405)
|
|
store ptr %t406, ptr %t407
|
|
%t408 = load ptr, ptr %t142
|
|
%t409 = getelementptr inbounds %Cmp_Val, ptr %t408, i32 0, i32 0
|
|
%t410 = load ptr, ptr %t409
|
|
%t411 = call ptr @fn_str_concat(ptr @.str1329, ptr %t410)
|
|
%t412 = call ptr @fn_str_concat(ptr %t411, ptr @.str1330)
|
|
%t413 = load ptr, ptr %t407
|
|
%t414 = getelementptr inbounds %Cmp_Val, ptr %t413, i32 0, i32 0
|
|
%t415 = load ptr, ptr %t414
|
|
%t416 = call ptr @fn_str_concat(ptr %t412, ptr %t415)
|
|
%t417 = call ptr @fn_str_concat(ptr %t416, ptr @.str1331)
|
|
%t418 = call ptr @fn_emit_bind(ptr %t417)
|
|
store ptr %t418, ptr %t419
|
|
%t420 = load ptr, ptr %t0
|
|
%t421 = call i32 @fn_str_eq(ptr %t420, ptr @.str1332)
|
|
%t422 = icmp ne i32 %t421, 0
|
|
br i1 %t422, label %then53, label %ifend55
|
|
then53:
|
|
%t423 = load ptr, ptr %t419
|
|
%t424 = call ptr @fn_str_concat(ptr @.str1333, ptr %t423)
|
|
%t425 = call ptr @fn_str_concat(ptr %t424, ptr @.str1334)
|
|
%t426 = call ptr @fn_emit_bind(ptr %t425)
|
|
store ptr %t426, ptr %t427
|
|
%t428 = load ptr, ptr %t427
|
|
%t429 = call ptr @fn_str_concat(ptr @.str1335, ptr %t428)
|
|
%t430 = call ptr @fn_str_concat(ptr %t429, ptr @.str1336)
|
|
%t431 = call ptr @fn_emit_bind(ptr %t430)
|
|
%t432 = call ptr @fn_val(ptr %t431, ptr @.str1337)
|
|
store ptr %t432, ptr %retval
|
|
br label %ret
|
|
ifend55:
|
|
%t433 = load ptr, ptr %t419
|
|
%t434 = call ptr @fn_str_concat(ptr @.str1338, ptr %t433)
|
|
%t435 = call ptr @fn_str_concat(ptr %t434, ptr @.str1339)
|
|
%t436 = call ptr @fn_emit_bind(ptr %t435)
|
|
store ptr %t436, ptr %t437
|
|
%t438 = load ptr, ptr %t419
|
|
%t439 = call ptr @fn_str_concat(ptr @.str1340, ptr %t438)
|
|
%t440 = call ptr @fn_str_concat(ptr %t439, ptr @.str1341)
|
|
%t441 = call ptr @fn_emit_bind(ptr %t440)
|
|
store ptr %t441, ptr %t442
|
|
%t443 = load ptr, ptr %t142
|
|
%t444 = getelementptr inbounds %Cmp_Val, ptr %t443, i32 0, i32 0
|
|
%t445 = load ptr, ptr %t444
|
|
%t446 = call ptr @fn_str_concat(ptr @.str1342, ptr %t445)
|
|
%t447 = call ptr @fn_str_concat(ptr %t446, ptr @.str1343)
|
|
%t448 = call ptr @fn_emit_bind(ptr %t447)
|
|
store ptr %t448, ptr %t449
|
|
%t450 = load ptr, ptr %t442
|
|
%t451 = call ptr @fn_str_concat(ptr @.str1344, ptr %t450)
|
|
%t452 = call ptr @fn_str_concat(ptr %t451, ptr @.str1345)
|
|
%t453 = load ptr, ptr %t449
|
|
%t454 = call ptr @fn_str_concat(ptr %t452, ptr %t453)
|
|
%t455 = call ptr @fn_emit_bind(ptr %t454)
|
|
store ptr %t455, ptr %t456
|
|
%t457 = load ptr, ptr %t456
|
|
%t458 = call ptr @fn_str_concat(ptr @.str1346, ptr %t457)
|
|
%t459 = call ptr @fn_str_concat(ptr %t458, ptr @.str1347)
|
|
%t460 = call ptr @fn_emit_bind(ptr %t459)
|
|
store ptr %t460, ptr %t461
|
|
%t462 = load ptr, ptr %t437
|
|
%t463 = call ptr @fn_str_concat(ptr @.str1348, ptr %t462)
|
|
%t464 = call ptr @fn_str_concat(ptr %t463, ptr @.str1349)
|
|
%t465 = load ptr, ptr %t461
|
|
%t466 = call ptr @fn_str_concat(ptr %t464, ptr %t465)
|
|
%t467 = call ptr @fn_emit_bind(ptr %t466)
|
|
%t468 = call ptr @fn_val(ptr %t467, ptr @.str1350)
|
|
store ptr %t468, ptr %retval
|
|
br label %ret
|
|
ifend52:
|
|
%t469 = load ptr, ptr %t1
|
|
%t470 = getelementptr inbounds %Cmp_Node, ptr %t469, i32 0, i32 7
|
|
%t471 = load ptr, ptr %t470
|
|
%t472 = getelementptr inbounds %LSlice, ptr %t471, i32 0, i32 0
|
|
%t473 = load ptr, ptr %t472
|
|
%t474 = getelementptr inbounds ptr, ptr %t473, i32 1
|
|
%t475 = load ptr, ptr %t474
|
|
%t476 = call ptr @fn_emit_expr(ptr %t475)
|
|
store ptr %t476, ptr %t477
|
|
%t478 = load ptr, ptr %t477
|
|
%t479 = getelementptr inbounds %Cmp_Val, ptr %t478, i32 0, i32 0
|
|
%t480 = load ptr, ptr %t479
|
|
%t481 = call ptr @fn_str_concat(ptr @.str1351, ptr %t480)
|
|
%t482 = call ptr @fn_str_concat(ptr %t481, ptr @.str1352)
|
|
%t483 = call ptr @fn_emit_bind(ptr %t482)
|
|
store ptr %t483, ptr %t484
|
|
%t485 = load ptr, ptr %t0
|
|
%t486 = call i32 @fn_str_eq(ptr %t485, ptr @.str1353)
|
|
%t487 = icmp ne i32 %t486, 0
|
|
br i1 %t487, label %then56, label %ifend58
|
|
then56:
|
|
%t488 = load ptr, ptr %t142
|
|
%t489 = getelementptr inbounds %Cmp_Val, ptr %t488, i32 0, i32 0
|
|
%t490 = load ptr, ptr %t489
|
|
%t491 = call ptr @fn_str_concat(ptr @.str1354, ptr %t490)
|
|
%t492 = call ptr @fn_str_concat(ptr %t491, ptr @.str1355)
|
|
%t493 = load ptr, ptr %t477
|
|
%t494 = getelementptr inbounds %Cmp_Val, ptr %t493, i32 0, i32 0
|
|
%t495 = load ptr, ptr %t494
|
|
%t496 = call ptr @fn_str_concat(ptr %t492, ptr %t495)
|
|
%t497 = call ptr @fn_str_concat(ptr %t496, ptr @.str1356)
|
|
%t498 = load ptr, ptr %t484
|
|
%t499 = call ptr @fn_str_concat(ptr %t497, ptr %t498)
|
|
%t500 = call ptr @fn_str_concat(ptr %t499, ptr @.str1357)
|
|
%t501 = call ptr @fn_emit_bind(ptr %t500)
|
|
store ptr %t501, ptr %t502
|
|
%t503 = load ptr, ptr %t502
|
|
%t504 = call ptr @fn_str_concat(ptr @.str1358, ptr %t503)
|
|
%t505 = call ptr @fn_str_concat(ptr %t504, ptr @.str1359)
|
|
%t506 = call ptr @fn_emit_bind(ptr %t505)
|
|
store ptr %t506, ptr %t507
|
|
%t508 = load ptr, ptr %t507
|
|
%t509 = call ptr @fn_str_concat(ptr @.str1360, ptr %t508)
|
|
%t510 = call ptr @fn_str_concat(ptr %t509, ptr @.str1361)
|
|
%t511 = call ptr @fn_emit_bind(ptr %t510)
|
|
%t512 = call ptr @fn_val(ptr %t511, ptr @.str1362)
|
|
store ptr %t512, ptr %retval
|
|
br label %ret
|
|
ifend58:
|
|
%t513 = load ptr, ptr %t142
|
|
%t514 = getelementptr inbounds %Cmp_Val, ptr %t513, i32 0, i32 0
|
|
%t515 = load ptr, ptr %t514
|
|
%t516 = call ptr @fn_str_concat(ptr @.str1363, ptr %t515)
|
|
%t517 = call ptr @fn_str_concat(ptr %t516, ptr @.str1364)
|
|
%t518 = call ptr @fn_emit_bind(ptr %t517)
|
|
store ptr %t518, ptr %t519
|
|
%t520 = load ptr, ptr %t519
|
|
%t521 = call ptr @fn_str_concat(ptr @.str1365, ptr %t520)
|
|
%t522 = call ptr @fn_str_concat(ptr %t521, ptr @.str1366)
|
|
%t523 = load ptr, ptr %t484
|
|
%t524 = call ptr @fn_str_concat(ptr %t522, ptr %t523)
|
|
%t525 = call ptr @fn_emit_bind(ptr %t524)
|
|
store ptr %t525, ptr %t526
|
|
%t527 = call ptr @fn_emit_alloca(ptr @.str1367)
|
|
store ptr %t527, ptr %t528
|
|
%t529 = load ptr, ptr %t528
|
|
call void @fn_store_at(ptr @.str1368, ptr @.str1369, ptr %t529)
|
|
%t530 = load ptr, ptr %t526
|
|
%t531 = call ptr @fn_str_concat(ptr @.str1370, ptr %t530)
|
|
%t532 = call ptr @fn_str_concat(ptr %t531, ptr @.str1371)
|
|
%t533 = call ptr @fn_emit_bind(ptr %t532)
|
|
store ptr %t533, ptr %t534
|
|
%t535 = call ptr @fn_lbl(ptr @.str1372)
|
|
store ptr %t535, ptr %t536
|
|
%t537 = call ptr @fn_lbl(ptr @.str1373)
|
|
store ptr %t537, ptr %t538
|
|
call void @fn_emit(ptr @.str1374)
|
|
%t539 = load ptr, ptr %t534
|
|
call void @fn_emit(ptr %t539)
|
|
call void @fn_emit(ptr @.str1375)
|
|
%t540 = load ptr, ptr %t538
|
|
call void @fn_emit(ptr %t540)
|
|
call void @fn_emit(ptr @.str1376)
|
|
%t541 = load ptr, ptr %t536
|
|
call void @fn_emit(ptr %t541)
|
|
call void @fn_emit(ptr @.str1377)
|
|
%t542 = load ptr, ptr %t536
|
|
call void @fn_emit(ptr %t542)
|
|
call void @fn_emit(ptr @.str1378)
|
|
%t543 = load ptr, ptr %t142
|
|
%t544 = getelementptr inbounds %Cmp_Val, ptr %t543, i32 0, i32 0
|
|
%t545 = load ptr, ptr %t544
|
|
%t546 = call ptr @fn_str_concat(ptr @.str1379, ptr %t545)
|
|
%t547 = call ptr @fn_str_concat(ptr %t546, ptr @.str1380)
|
|
%t548 = load ptr, ptr %t526
|
|
%t549 = call ptr @fn_str_concat(ptr %t547, ptr %t548)
|
|
%t550 = call ptr @fn_emit_bind(ptr %t549)
|
|
store ptr %t550, ptr %t551
|
|
%t552 = load ptr, ptr %t551
|
|
%t553 = call ptr @fn_str_concat(ptr @.str1381, ptr %t552)
|
|
%t554 = call ptr @fn_str_concat(ptr %t553, ptr @.str1382)
|
|
%t555 = load ptr, ptr %t477
|
|
%t556 = getelementptr inbounds %Cmp_Val, ptr %t555, i32 0, i32 0
|
|
%t557 = load ptr, ptr %t556
|
|
%t558 = call ptr @fn_str_concat(ptr %t554, ptr %t557)
|
|
%t559 = call ptr @fn_str_concat(ptr %t558, ptr @.str1383)
|
|
%t560 = load ptr, ptr %t484
|
|
%t561 = call ptr @fn_str_concat(ptr %t559, ptr %t560)
|
|
%t562 = call ptr @fn_str_concat(ptr %t561, ptr @.str1384)
|
|
%t563 = call ptr @fn_emit_bind(ptr %t562)
|
|
store ptr %t563, ptr %t564
|
|
%t565 = load ptr, ptr %t564
|
|
%t566 = call ptr @fn_str_concat(ptr @.str1385, ptr %t565)
|
|
%t567 = call ptr @fn_str_concat(ptr %t566, ptr @.str1386)
|
|
%t568 = call ptr @fn_emit_bind(ptr %t567)
|
|
store ptr %t568, ptr %t569
|
|
%t570 = load ptr, ptr %t569
|
|
%t571 = call ptr @fn_str_concat(ptr @.str1387, ptr %t570)
|
|
%t572 = call ptr @fn_str_concat(ptr %t571, ptr @.str1388)
|
|
%t573 = call ptr @fn_emit_bind(ptr %t572)
|
|
store ptr %t573, ptr %t574
|
|
%t575 = load ptr, ptr %t574
|
|
%t576 = load ptr, ptr %t528
|
|
call void @fn_store_at(ptr @.str1389, ptr %t575, ptr %t576)
|
|
call void @fn_emit(ptr @.str1390)
|
|
%t577 = load ptr, ptr %t538
|
|
call void @fn_emit(ptr %t577)
|
|
call void @fn_emit(ptr @.str1391)
|
|
%t578 = load ptr, ptr %t538
|
|
call void @fn_emit(ptr %t578)
|
|
call void @fn_emit(ptr @.str1392)
|
|
%t579 = load ptr, ptr %t528
|
|
%t580 = call ptr @fn_str_concat(ptr @.str1393, ptr %t579)
|
|
%t581 = call ptr @fn_emit_bind(ptr %t580)
|
|
%t582 = call ptr @fn_val(ptr %t581, ptr @.str1394)
|
|
store ptr %t582, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t583 = load ptr, ptr %retval
|
|
ret ptr %t583
|
|
}
|
|
|
|
define void @fn_emit_text_prelude() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str1395)
|
|
call void @fn_emith(ptr @.str1396)
|
|
call void @fn_emith(ptr @.str1397)
|
|
call void @fn_emith(ptr @.str1398)
|
|
call void @fn_emith(ptr @.str1399)
|
|
call void @fn_emith(ptr @.str1400)
|
|
call void @fn_emith(ptr @.str1401)
|
|
call void @fn_emith(ptr @.str1402)
|
|
call void @fn_emith(ptr @.str1403)
|
|
call void @fn_emith(ptr @.str1404)
|
|
call void @fn_emith(ptr @.str1405)
|
|
call void @fn_emith(ptr @.str1406)
|
|
call void @fn_emith(ptr @.str1407)
|
|
call void @fn_emith(ptr @.str1408)
|
|
call void @fn_emith(ptr @.str1409)
|
|
call void @fn_emith(ptr @.str1410)
|
|
call void @fn_emith(ptr @.str1411)
|
|
call void @fn_emith(ptr @.str1412)
|
|
call void @fn_emith(ptr @.str1413)
|
|
call void @fn_emith(ptr @.str1414)
|
|
call void @fn_emith(ptr @.str1415)
|
|
call void @fn_emith(ptr @.str1416)
|
|
call void @fn_emith(ptr @.str1417)
|
|
call void @fn_emith(ptr @.str1418)
|
|
call void @fn_emith(ptr @.str1419)
|
|
call void @fn_emith(ptr @.str1420)
|
|
call void @fn_emith(ptr @.str1421)
|
|
call void @fn_emith(ptr @.str1422)
|
|
call void @fn_emith(ptr @.str1423)
|
|
call void @fn_emith(ptr @.str1424)
|
|
call void @fn_emith(ptr @.str1425)
|
|
call void @fn_emith(ptr @.str1426)
|
|
call void @fn_emith(ptr @.str1427)
|
|
call void @fn_emith(ptr @.str1428)
|
|
call void @fn_emith(ptr @.str1429)
|
|
call void @fn_emith(ptr @.str1430)
|
|
call void @fn_emith(ptr @.str1431)
|
|
call void @fn_emith(ptr @.str1432)
|
|
call void @fn_emith(ptr @.str1433)
|
|
call void @fn_emith(ptr @.str1434)
|
|
call void @fn_emith(ptr @.str1435)
|
|
call void @fn_emith(ptr @.str1436)
|
|
call void @fn_emith(ptr @.str1437)
|
|
call void @fn_emith(ptr @.str1438)
|
|
call void @fn_emith(ptr @.str1439)
|
|
call void @fn_emith(ptr @.str1440)
|
|
call void @fn_emith(ptr @.str1441)
|
|
call void @fn_emith(ptr @.str1442)
|
|
call void @fn_emith(ptr @.str1443)
|
|
call void @fn_emith(ptr @.str1444)
|
|
call void @fn_emith(ptr @.str1445)
|
|
call void @fn_emith(ptr @.str1446)
|
|
call void @fn_emith(ptr @.str1447)
|
|
call void @fn_emith(ptr @.str1448)
|
|
call void @fn_emith(ptr @.str1449)
|
|
call void @fn_emith(ptr @.str1450)
|
|
call void @fn_emith(ptr @.str1451)
|
|
call void @fn_emith(ptr @.str1452)
|
|
call void @fn_emith(ptr @.str1453)
|
|
call void @fn_emith(ptr @.str1454)
|
|
call void @fn_emith(ptr @.str1455)
|
|
call void @fn_emith(ptr @.str1456)
|
|
call void @fn_emith(ptr @.str1457)
|
|
call void @fn_emith(ptr @.str1458)
|
|
call void @fn_emith(ptr @.str1459)
|
|
call void @fn_emith(ptr @.str1460)
|
|
call void @fn_emith(ptr @.str1461)
|
|
call void @fn_emith(ptr @.str1462)
|
|
call void @fn_emith(ptr @.str1463)
|
|
call void @fn_emith(ptr @.str1464)
|
|
call void @fn_emith(ptr @.str1465)
|
|
call void @fn_emith(ptr @.str1466)
|
|
call void @fn_emith(ptr @.str1467)
|
|
call void @fn_emith(ptr @.str1468)
|
|
call void @fn_emith(ptr @.str1469)
|
|
call void @fn_emith(ptr @.str1470)
|
|
call void @fn_emith(ptr @.str1471)
|
|
call void @fn_emith(ptr @.str1472)
|
|
call void @fn_emith(ptr @.str1473)
|
|
call void @fn_emith(ptr @.str1474)
|
|
call void @fn_emith(ptr @.str1475)
|
|
call void @fn_emith(ptr @.str1476)
|
|
call void @fn_emith(ptr @.str1477)
|
|
call void @fn_emith(ptr @.str1478)
|
|
call void @fn_emith(ptr @.str1479)
|
|
call void @fn_emith(ptr @.str1480)
|
|
call void @fn_emith(ptr @.str1481)
|
|
call void @fn_emith(ptr @.str1482)
|
|
call void @fn_emith(ptr @.str1483)
|
|
call void @fn_emith(ptr @.str1484)
|
|
call void @fn_emith(ptr @.str1485)
|
|
call void @fn_emith(ptr @.str1486)
|
|
call void @fn_emith(ptr @.str1487)
|
|
call void @fn_emith(ptr @.str1488)
|
|
call void @fn_emith(ptr @.str1489)
|
|
call void @fn_emith(ptr @.str1490)
|
|
call void @fn_emith(ptr @.str1491)
|
|
call void @fn_emith(ptr @.str1492)
|
|
call void @fn_emith(ptr @.str1493)
|
|
call void @fn_emith(ptr @.str1494)
|
|
call void @fn_emith(ptr @.str1495)
|
|
call void @fn_emith(ptr @.str1496)
|
|
call void @fn_emith(ptr @.str1497)
|
|
call void @fn_emith(ptr @.str1498)
|
|
call void @fn_emith(ptr @.str1499)
|
|
call void @fn_emith(ptr @.str1500)
|
|
call void @fn_emith(ptr @.str1501)
|
|
call void @fn_emith(ptr @.str1502)
|
|
call void @fn_emith(ptr @.str1503)
|
|
call void @fn_emith(ptr @.str1504)
|
|
call void @fn_emith(ptr @.str1505)
|
|
call void @fn_emith(ptr @.str1506)
|
|
call void @fn_emith(ptr @.str1507)
|
|
call void @fn_emith(ptr @.str1508)
|
|
call void @fn_emith(ptr @.str1509)
|
|
call void @fn_emith(ptr @.str1510)
|
|
call void @fn_emith(ptr @.str1511)
|
|
call void @fn_emith(ptr @.str1512)
|
|
call void @fn_emith(ptr @.str1513)
|
|
call void @fn_emith(ptr @.str1514)
|
|
call void @fn_emith(ptr @.str1515)
|
|
call void @fn_emith(ptr @.str1516)
|
|
call void @fn_emith(ptr @.str1517)
|
|
call void @fn_emith(ptr @.str1518)
|
|
call void @fn_emith(ptr @.str1519)
|
|
call void @fn_emith(ptr @.str1520)
|
|
call void @fn_emith(ptr @.str1521)
|
|
call void @fn_emith(ptr @.str1522)
|
|
call void @fn_emith(ptr @.str1523)
|
|
call void @fn_emith(ptr @.str1524)
|
|
call void @fn_emith(ptr @.str1525)
|
|
call void @fn_emith(ptr @.str1526)
|
|
call void @fn_emith(ptr @.str1527)
|
|
call void @fn_emith(ptr @.str1528)
|
|
call void @fn_emith(ptr @.str1529)
|
|
call void @fn_emith(ptr @.str1530)
|
|
call void @fn_emith(ptr @.str1531)
|
|
call void @fn_emith(ptr @.str1532)
|
|
call void @fn_emith(ptr @.str1533)
|
|
call void @fn_emith(ptr @.str1534)
|
|
call void @fn_emith(ptr @.str1535)
|
|
call void @fn_emith(ptr @.str1536)
|
|
call void @fn_emith(ptr @.str1537)
|
|
call void @fn_emith(ptr @.str1538)
|
|
call void @fn_emith(ptr @.str1539)
|
|
call void @fn_emith(ptr @.str1540)
|
|
call void @fn_emith(ptr @.str1541)
|
|
call void @fn_emith(ptr @.str1542)
|
|
call void @fn_emith(ptr @.str1543)
|
|
call void @fn_emith(ptr @.str1544)
|
|
call void @fn_emith(ptr @.str1545)
|
|
call void @fn_emith(ptr @.str1546)
|
|
call void @fn_emith(ptr @.str1547)
|
|
call void @fn_emith(ptr @.str1548)
|
|
call void @fn_emith(ptr @.str1549)
|
|
call void @fn_emith(ptr @.str1550)
|
|
call void @fn_emith(ptr @.str1551)
|
|
call void @fn_emith(ptr @.str1552)
|
|
call void @fn_emith(ptr @.str1553)
|
|
call void @fn_emith(ptr @.str1554)
|
|
call void @fn_emith(ptr @.str1555)
|
|
call void @fn_emith(ptr @.str1556)
|
|
call void @fn_emith(ptr @.str1557)
|
|
call void @fn_emith(ptr @.str1558)
|
|
call void @fn_emith(ptr @.str1559)
|
|
call void @fn_emith(ptr @.str1560)
|
|
call void @fn_emith(ptr @.str1561)
|
|
call void @fn_emith(ptr @.str1562)
|
|
call void @fn_emith(ptr @.str1563)
|
|
call void @fn_emith(ptr @.str1564)
|
|
call void @fn_emith(ptr @.str1565)
|
|
call void @fn_emith(ptr @.str1566)
|
|
call void @fn_emith(ptr @.str1567)
|
|
call void @fn_emith(ptr @.str1568)
|
|
call void @fn_emith(ptr @.str1569)
|
|
call void @fn_emith(ptr @.str1570)
|
|
call void @fn_emith(ptr @.str1571)
|
|
call void @fn_emith(ptr @.str1572)
|
|
call void @fn_emith(ptr @.str1573)
|
|
call void @fn_emith(ptr @.str1574)
|
|
call void @fn_emith(ptr @.str1575)
|
|
call void @fn_emith(ptr @.str1576)
|
|
call void @fn_emith(ptr @.str1577)
|
|
call void @fn_emith(ptr @.str1578)
|
|
call void @fn_emith(ptr @.str1579)
|
|
call void @fn_emith(ptr @.str1580)
|
|
call void @fn_emith(ptr @.str1581)
|
|
call void @fn_emith(ptr @.str1582)
|
|
call void @fn_emith(ptr @.str1583)
|
|
call void @fn_emith(ptr @.str1584)
|
|
call void @fn_emith(ptr @.str1585)
|
|
call void @fn_emith(ptr @.str1586)
|
|
call void @fn_emith(ptr @.str1587)
|
|
call void @fn_emith(ptr @.str1588)
|
|
call void @fn_emith(ptr @.str1589)
|
|
call void @fn_emith(ptr @.str1590)
|
|
call void @fn_emith(ptr @.str1591)
|
|
call void @fn_emith(ptr @.str1592)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_text2_prelude() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str1593)
|
|
call void @fn_emith(ptr @.str1594)
|
|
call void @fn_emith(ptr @.str1595)
|
|
call void @fn_emith(ptr @.str1596)
|
|
call void @fn_emith(ptr @.str1597)
|
|
call void @fn_emith(ptr @.str1598)
|
|
call void @fn_emith(ptr @.str1599)
|
|
call void @fn_emith(ptr @.str1600)
|
|
call void @fn_emith(ptr @.str1601)
|
|
call void @fn_emith(ptr @.str1602)
|
|
call void @fn_emith(ptr @.str1603)
|
|
call void @fn_emith(ptr @.str1604)
|
|
call void @fn_emith(ptr @.str1605)
|
|
call void @fn_emith(ptr @.str1606)
|
|
call void @fn_emith(ptr @.str1607)
|
|
call void @fn_emith(ptr @.str1608)
|
|
call void @fn_emith(ptr @.str1609)
|
|
call void @fn_emith(ptr @.str1610)
|
|
call void @fn_emith(ptr @.str1611)
|
|
call void @fn_emith(ptr @.str1612)
|
|
call void @fn_emith(ptr @.str1613)
|
|
call void @fn_emith(ptr @.str1614)
|
|
call void @fn_emith(ptr @.str1615)
|
|
call void @fn_emith(ptr @.str1616)
|
|
call void @fn_emith(ptr @.str1617)
|
|
call void @fn_emith(ptr @.str1618)
|
|
call void @fn_emith(ptr @.str1619)
|
|
call void @fn_emith(ptr @.str1620)
|
|
call void @fn_emith(ptr @.str1621)
|
|
call void @fn_emith(ptr @.str1622)
|
|
call void @fn_emith(ptr @.str1623)
|
|
call void @fn_emith(ptr @.str1624)
|
|
call void @fn_emith(ptr @.str1625)
|
|
call void @fn_emith(ptr @.str1626)
|
|
call void @fn_emith(ptr @.str1627)
|
|
call void @fn_emith(ptr @.str1628)
|
|
call void @fn_emith(ptr @.str1629)
|
|
call void @fn_emith(ptr @.str1630)
|
|
call void @fn_emith(ptr @.str1631)
|
|
call void @fn_emith(ptr @.str1632)
|
|
call void @fn_emith(ptr @.str1633)
|
|
call void @fn_emith(ptr @.str1634)
|
|
call void @fn_emith(ptr @.str1635)
|
|
call void @fn_emith(ptr @.str1636)
|
|
call void @fn_emith(ptr @.str1637)
|
|
call void @fn_emith(ptr @.str1638)
|
|
call void @fn_emith(ptr @.str1639)
|
|
call void @fn_emith(ptr @.str1640)
|
|
call void @fn_emith(ptr @.str1641)
|
|
call void @fn_emith(ptr @.str1642)
|
|
call void @fn_emith(ptr @.str1643)
|
|
call void @fn_emith(ptr @.str1644)
|
|
call void @fn_emith(ptr @.str1645)
|
|
call void @fn_emith(ptr @.str1646)
|
|
call void @fn_emith(ptr @.str1647)
|
|
call void @fn_emith(ptr @.str1648)
|
|
call void @fn_emith(ptr @.str1649)
|
|
call void @fn_emith(ptr @.str1650)
|
|
call void @fn_emith(ptr @.str1651)
|
|
call void @fn_emith(ptr @.str1652)
|
|
call void @fn_emith(ptr @.str1653)
|
|
call void @fn_emith(ptr @.str1654)
|
|
call void @fn_emith(ptr @.str1655)
|
|
call void @fn_emith(ptr @.str1656)
|
|
call void @fn_emith(ptr @.str1657)
|
|
call void @fn_emith(ptr @.str1658)
|
|
call void @fn_emith(ptr @.str1659)
|
|
call void @fn_emith(ptr @.str1660)
|
|
call void @fn_emith(ptr @.str1661)
|
|
call void @fn_emith(ptr @.str1662)
|
|
call void @fn_emith(ptr @.str1663)
|
|
call void @fn_emith(ptr @.str1664)
|
|
call void @fn_emith(ptr @.str1665)
|
|
call void @fn_emith(ptr @.str1666)
|
|
call void @fn_emith(ptr @.str1667)
|
|
call void @fn_emith(ptr @.str1668)
|
|
call void @fn_emith(ptr @.str1669)
|
|
call void @fn_emith(ptr @.str1670)
|
|
call void @fn_emith(ptr @.str1671)
|
|
call void @fn_emith(ptr @.str1672)
|
|
call void @fn_emith(ptr @.str1673)
|
|
call void @fn_emith(ptr @.str1674)
|
|
call void @fn_emith(ptr @.str1675)
|
|
call void @fn_emith(ptr @.str1676)
|
|
call void @fn_emith(ptr @.str1677)
|
|
call void @fn_emith(ptr @.str1678)
|
|
call void @fn_emith(ptr @.str1679)
|
|
call void @fn_emith(ptr @.str1680)
|
|
call void @fn_emith(ptr @.str1681)
|
|
call void @fn_emith(ptr @.str1682)
|
|
call void @fn_emith(ptr @.str1683)
|
|
call void @fn_emith(ptr @.str1684)
|
|
call void @fn_emith(ptr @.str1685)
|
|
call void @fn_emith(ptr @.str1686)
|
|
call void @fn_emith(ptr @.str1687)
|
|
call void @fn_emith(ptr @.str1688)
|
|
call void @fn_emith(ptr @.str1689)
|
|
call void @fn_emith(ptr @.str1690)
|
|
call void @fn_emith(ptr @.str1691)
|
|
call void @fn_emith(ptr @.str1692)
|
|
call void @fn_emith(ptr @.str1693)
|
|
call void @fn_emith(ptr @.str1694)
|
|
call void @fn_emith(ptr @.str1695)
|
|
call void @fn_emith(ptr @.str1696)
|
|
call void @fn_emith(ptr @.str1697)
|
|
call void @fn_emith(ptr @.str1698)
|
|
call void @fn_emith(ptr @.str1699)
|
|
call void @fn_emith(ptr @.str1700)
|
|
call void @fn_emith(ptr @.str1701)
|
|
call void @fn_emith(ptr @.str1702)
|
|
call void @fn_emith(ptr @.str1703)
|
|
call void @fn_emith(ptr @.str1704)
|
|
call void @fn_emith(ptr @.str1705)
|
|
call void @fn_emith(ptr @.str1706)
|
|
call void @fn_emith(ptr @.str1707)
|
|
call void @fn_emith(ptr @.str1708)
|
|
call void @fn_emith(ptr @.str1709)
|
|
call void @fn_emith(ptr @.str1710)
|
|
call void @fn_emith(ptr @.str1711)
|
|
call void @fn_emith(ptr @.str1712)
|
|
call void @fn_emith(ptr @.str1713)
|
|
call void @fn_emith(ptr @.str1714)
|
|
call void @fn_emith(ptr @.str1715)
|
|
call void @fn_emith(ptr @.str1716)
|
|
call void @fn_emith(ptr @.str1717)
|
|
call void @fn_emith(ptr @.str1718)
|
|
call void @fn_emith(ptr @.str1719)
|
|
call void @fn_emith(ptr @.str1720)
|
|
call void @fn_emith(ptr @.str1721)
|
|
call void @fn_emith(ptr @.str1722)
|
|
call void @fn_emith(ptr @.str1723)
|
|
call void @fn_emith(ptr @.str1724)
|
|
call void @fn_emith(ptr @.str1725)
|
|
call void @fn_emith(ptr @.str1726)
|
|
call void @fn_emith(ptr @.str1727)
|
|
call void @fn_emith(ptr @.str1728)
|
|
call void @fn_emith(ptr @.str1729)
|
|
call void @fn_emith(ptr @.str1730)
|
|
call void @fn_emith(ptr @.str1731)
|
|
call void @fn_emith(ptr @.str1732)
|
|
call void @fn_emith(ptr @.str1733)
|
|
call void @fn_emith(ptr @.str1734)
|
|
call void @fn_emith(ptr @.str1735)
|
|
call void @fn_emith(ptr @.str1736)
|
|
call void @fn_emith(ptr @.str1737)
|
|
call void @fn_emith(ptr @.str1738)
|
|
call void @fn_emith(ptr @.str1739)
|
|
call void @fn_emith(ptr @.str1740)
|
|
call void @fn_emith(ptr @.str1741)
|
|
call void @fn_emith(ptr @.str1742)
|
|
call void @fn_emith(ptr @.str1743)
|
|
call void @fn_emith(ptr @.str1744)
|
|
call void @fn_emith(ptr @.str1745)
|
|
call void @fn_emith(ptr @.str1746)
|
|
call void @fn_emith(ptr @.str1747)
|
|
call void @fn_emith(ptr @.str1748)
|
|
call void @fn_emith(ptr @.str1749)
|
|
call void @fn_emith(ptr @.str1750)
|
|
call void @fn_emith(ptr @.str1751)
|
|
call void @fn_emith(ptr @.str1752)
|
|
call void @fn_emith(ptr @.str1753)
|
|
call void @fn_emith(ptr @.str1754)
|
|
call void @fn_emith(ptr @.str1755)
|
|
call void @fn_emith(ptr @.str1756)
|
|
call void @fn_emith(ptr @.str1757)
|
|
call void @fn_emith(ptr @.str1758)
|
|
call void @fn_emith(ptr @.str1759)
|
|
call void @fn_emith(ptr @.str1760)
|
|
call void @fn_emith(ptr @.str1761)
|
|
call void @fn_emith(ptr @.str1762)
|
|
call void @fn_emith(ptr @.str1763)
|
|
call void @fn_emith(ptr @.str1764)
|
|
call void @fn_emith(ptr @.str1765)
|
|
call void @fn_emith(ptr @.str1766)
|
|
call void @fn_emith(ptr @.str1767)
|
|
call void @fn_emith(ptr @.str1768)
|
|
call void @fn_emith(ptr @.str1769)
|
|
call void @fn_emith(ptr @.str1770)
|
|
call void @fn_emith(ptr @.str1771)
|
|
call void @fn_emith(ptr @.str1772)
|
|
call void @fn_emith(ptr @.str1773)
|
|
call void @fn_emith(ptr @.str1774)
|
|
call void @fn_emith(ptr @.str1775)
|
|
call void @fn_emith(ptr @.str1776)
|
|
call void @fn_emith(ptr @.str1777)
|
|
call void @fn_emith(ptr @.str1778)
|
|
call void @fn_emith(ptr @.str1779)
|
|
call void @fn_emith(ptr @.str1780)
|
|
call void @fn_emith(ptr @.str1781)
|
|
call void @fn_emith(ptr @.str1782)
|
|
call void @fn_emith(ptr @.str1783)
|
|
call void @fn_emith(ptr @.str1784)
|
|
call void @fn_emith(ptr @.str1785)
|
|
call void @fn_emith(ptr @.str1786)
|
|
call void @fn_emith(ptr @.str1787)
|
|
call void @fn_emith(ptr @.str1788)
|
|
call void @fn_emith(ptr @.str1789)
|
|
call void @fn_emith(ptr @.str1790)
|
|
call void @fn_emith(ptr @.str1791)
|
|
call void @fn_emith(ptr @.str1792)
|
|
call void @fn_emith(ptr @.str1793)
|
|
call void @fn_emith(ptr @.str1794)
|
|
call void @fn_emith(ptr @.str1795)
|
|
call void @fn_emith(ptr @.str1796)
|
|
call void @fn_emith(ptr @.str1797)
|
|
call void @fn_emith(ptr @.str1798)
|
|
call void @fn_emith(ptr @.str1799)
|
|
call void @fn_emith(ptr @.str1800)
|
|
call void @fn_emith(ptr @.str1801)
|
|
call void @fn_emith(ptr @.str1802)
|
|
call void @fn_emith(ptr @.str1803)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_is_hash_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t20 = alloca i32
|
|
%t31 = alloca i32
|
|
%t32 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str1804)
|
|
%t5 = icmp ne i32 %t4, 0
|
|
%t6 = zext i1 %t5 to i32
|
|
store i32 %t6, ptr %t2
|
|
br i1 %t5, label %scend1, label %sc0
|
|
sc0:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str1805)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
%t10 = zext i1 %t9 to i32
|
|
store i32 %t10, ptr %t2
|
|
br label %scend1
|
|
scend1:
|
|
%t11 = load i32, ptr %t2
|
|
%t12 = icmp ne i32 %t11, 0
|
|
%t13 = zext i1 %t12 to i32
|
|
store i32 %t13, ptr %t1
|
|
br i1 %t12, label %scend3, label %sc2
|
|
sc2:
|
|
%t14 = load ptr, ptr %t0
|
|
%t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str1806)
|
|
%t16 = icmp ne i32 %t15, 0
|
|
%t17 = zext i1 %t16 to i32
|
|
store i32 %t17, ptr %t1
|
|
br label %scend3
|
|
scend3:
|
|
%t18 = load i32, ptr %t1
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then4, label %ifend6
|
|
then4:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend6:
|
|
%t21 = load ptr, ptr %t0
|
|
%t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str1807)
|
|
%t23 = icmp ne i32 %t22, 0
|
|
%t24 = zext i1 %t23 to i32
|
|
store i32 %t24, ptr %t20
|
|
br i1 %t23, label %scend8, label %sc7
|
|
sc7:
|
|
%t25 = load ptr, ptr %t0
|
|
%t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str1808)
|
|
%t27 = icmp ne i32 %t26, 0
|
|
%t28 = zext i1 %t27 to i32
|
|
store i32 %t28, ptr %t20
|
|
br label %scend8
|
|
scend8:
|
|
%t29 = load i32, ptr %t20
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then9, label %ifend11
|
|
then9:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t33 = load ptr, ptr %t0
|
|
%t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str1809)
|
|
%t35 = icmp ne i32 %t34, 0
|
|
%t36 = zext i1 %t35 to i32
|
|
store i32 %t36, ptr %t32
|
|
br i1 %t35, label %scend13, label %sc12
|
|
sc12:
|
|
%t37 = load ptr, ptr %t0
|
|
%t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str1810)
|
|
%t39 = icmp ne i32 %t38, 0
|
|
%t40 = zext i1 %t39 to i32
|
|
store i32 %t40, ptr %t32
|
|
br label %scend13
|
|
scend13:
|
|
%t41 = load i32, ptr %t32
|
|
%t42 = icmp ne i32 %t41, 0
|
|
%t43 = zext i1 %t42 to i32
|
|
store i32 %t43, ptr %t31
|
|
br i1 %t42, label %scend15, label %sc14
|
|
sc14:
|
|
%t44 = load ptr, ptr %t0
|
|
%t45 = call i32 @fn_str_eq(ptr %t44, ptr @.str1811)
|
|
%t46 = icmp ne i32 %t45, 0
|
|
%t47 = zext i1 %t46 to i32
|
|
store i32 %t47, ptr %t31
|
|
br label %scend15
|
|
scend15:
|
|
%t48 = load i32, ptr %t31
|
|
%t49 = icmp ne i32 %t48, 0
|
|
br i1 %t49, label %then16, label %ifend18
|
|
then16:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend18:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t50 = load i32, ptr %retval
|
|
ret i32 %t50
|
|
}
|
|
|
|
define ptr @fn_hash_mix_code(ptr %arg_x) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t12 = alloca ptr
|
|
%t17 = alloca ptr
|
|
%t22 = alloca ptr
|
|
%t29 = alloca ptr
|
|
%t34 = alloca ptr
|
|
%t39 = alloca ptr
|
|
store ptr %arg_x, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call ptr @fn_str_concat(ptr @.str1812, ptr %t1)
|
|
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str1813)
|
|
%t4 = call ptr @fn_emit_bind(ptr %t3)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = call ptr @fn_str_concat(ptr @.str1814, ptr %t6)
|
|
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str1815)
|
|
%t9 = load ptr, ptr %t5
|
|
%t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9)
|
|
%t11 = call ptr @fn_emit_bind(ptr %t10)
|
|
store ptr %t11, ptr %t12
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = call ptr @fn_str_concat(ptr @.str1816, ptr %t13)
|
|
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str1817)
|
|
%t16 = call ptr @fn_emit_bind(ptr %t15)
|
|
store ptr %t16, ptr %t17
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = call ptr @fn_str_concat(ptr @.str1818, ptr %t18)
|
|
%t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str1819)
|
|
%t21 = call ptr @fn_emit_bind(ptr %t20)
|
|
store ptr %t21, ptr %t22
|
|
%t23 = load ptr, ptr %t17
|
|
%t24 = call ptr @fn_str_concat(ptr @.str1820, ptr %t23)
|
|
%t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str1821)
|
|
%t26 = load ptr, ptr %t22
|
|
%t27 = call ptr @fn_str_concat(ptr %t25, ptr %t26)
|
|
%t28 = call ptr @fn_emit_bind(ptr %t27)
|
|
store ptr %t28, ptr %t29
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = call ptr @fn_str_concat(ptr @.str1822, ptr %t30)
|
|
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str1823)
|
|
%t33 = call ptr @fn_emit_bind(ptr %t32)
|
|
store ptr %t33, ptr %t34
|
|
%t35 = load ptr, ptr %t34
|
|
%t36 = call ptr @fn_str_concat(ptr @.str1824, ptr %t35)
|
|
%t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str1825)
|
|
%t38 = call ptr @fn_emit_bind(ptr %t37)
|
|
store ptr %t38, ptr %t39
|
|
%t40 = load ptr, ptr %t34
|
|
%t41 = call ptr @fn_str_concat(ptr @.str1826, ptr %t40)
|
|
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str1827)
|
|
%t43 = load ptr, ptr %t39
|
|
%t44 = call ptr @fn_str_concat(ptr %t42, ptr %t43)
|
|
%t45 = call ptr @fn_emit_bind(ptr %t44)
|
|
store ptr %t45, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t46 = load ptr, ptr %retval
|
|
ret ptr %t46
|
|
}
|
|
|
|
define ptr @fn_hash_mix64_code(ptr %arg_x) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t12 = alloca ptr
|
|
%t17 = alloca ptr
|
|
%t22 = alloca ptr
|
|
%t29 = alloca ptr
|
|
%t34 = alloca ptr
|
|
%t39 = alloca ptr
|
|
store ptr %arg_x, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call ptr @fn_str_concat(ptr @.str1828, ptr %t1)
|
|
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str1829)
|
|
%t4 = call ptr @fn_emit_bind(ptr %t3)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = call ptr @fn_str_concat(ptr @.str1830, ptr %t6)
|
|
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str1831)
|
|
%t9 = load ptr, ptr %t5
|
|
%t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9)
|
|
%t11 = call ptr @fn_emit_bind(ptr %t10)
|
|
store ptr %t11, ptr %t12
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = call ptr @fn_str_concat(ptr @.str1832, ptr %t13)
|
|
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str1833)
|
|
%t16 = call ptr @fn_emit_bind(ptr %t15)
|
|
store ptr %t16, ptr %t17
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = call ptr @fn_str_concat(ptr @.str1834, ptr %t18)
|
|
%t20 = call ptr @fn_str_concat(ptr %t19, ptr @.str1835)
|
|
%t21 = call ptr @fn_emit_bind(ptr %t20)
|
|
store ptr %t21, ptr %t22
|
|
%t23 = load ptr, ptr %t17
|
|
%t24 = call ptr @fn_str_concat(ptr @.str1836, ptr %t23)
|
|
%t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str1837)
|
|
%t26 = load ptr, ptr %t22
|
|
%t27 = call ptr @fn_str_concat(ptr %t25, ptr %t26)
|
|
%t28 = call ptr @fn_emit_bind(ptr %t27)
|
|
store ptr %t28, ptr %t29
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = call ptr @fn_str_concat(ptr @.str1838, ptr %t30)
|
|
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str1839)
|
|
%t33 = call ptr @fn_emit_bind(ptr %t32)
|
|
store ptr %t33, ptr %t34
|
|
%t35 = load ptr, ptr %t34
|
|
%t36 = call ptr @fn_str_concat(ptr @.str1840, ptr %t35)
|
|
%t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str1841)
|
|
%t38 = call ptr @fn_emit_bind(ptr %t37)
|
|
store ptr %t38, ptr %t39
|
|
%t40 = load ptr, ptr %t34
|
|
%t41 = call ptr @fn_str_concat(ptr @.str1842, ptr %t40)
|
|
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str1843)
|
|
%t43 = load ptr, ptr %t39
|
|
%t44 = call ptr @fn_str_concat(ptr %t42, ptr %t43)
|
|
%t45 = call ptr @fn_emit_bind(ptr %t44)
|
|
store ptr %t45, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t46 = load ptr, ptr %retval
|
|
ret ptr %t46
|
|
}
|
|
|
|
define ptr @fn_emit_hash_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca i32
|
|
%t21 = alloca ptr
|
|
%t29 = alloca i32
|
|
%t48 = alloca ptr
|
|
%t67 = alloca ptr
|
|
%t83 = alloca ptr
|
|
%t102 = alloca ptr
|
|
%t108 = alloca ptr
|
|
%t109 = alloca i32
|
|
%t128 = alloca ptr
|
|
%t135 = alloca ptr
|
|
%t140 = alloca ptr
|
|
%t145 = alloca ptr
|
|
%t152 = alloca ptr
|
|
%t159 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str1844)
|
|
%t5 = icmp ne i32 %t4, 0
|
|
%t6 = zext i1 %t5 to i32
|
|
store i32 %t6, ptr %t2
|
|
br i1 %t5, label %scend1, label %sc0
|
|
sc0:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str1845)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
%t10 = zext i1 %t9 to i32
|
|
store i32 %t10, ptr %t2
|
|
br label %scend1
|
|
scend1:
|
|
%t11 = load i32, ptr %t2
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then2, label %ifend4
|
|
then2:
|
|
store i32 1, ptr @g_g_uses_hashrt
|
|
%t13 = load ptr, ptr %t1
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0
|
|
%t17 = load ptr, ptr %t16
|
|
%t18 = getelementptr inbounds ptr, ptr %t17, i32 0
|
|
%t19 = load ptr, ptr %t18
|
|
%t20 = call ptr @fn_emit_expr(ptr %t19)
|
|
store ptr %t20, ptr %t21
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = getelementptr inbounds %Cmp_Val, ptr %t22, i32 0, i32 0
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = call ptr @fn_str_concat(ptr @.str1846, ptr %t24)
|
|
%t26 = call ptr @fn_str_concat(ptr %t25, ptr @.str1847)
|
|
%t27 = call ptr @fn_emit_bind(ptr %t26)
|
|
%t28 = call ptr @fn_val(ptr %t27, ptr @.str1848)
|
|
store ptr %t28, ptr %retval
|
|
br label %ret
|
|
ifend4:
|
|
%t30 = load ptr, ptr %t0
|
|
%t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str1849)
|
|
%t32 = icmp ne i32 %t31, 0
|
|
%t33 = zext i1 %t32 to i32
|
|
store i32 %t33, ptr %t29
|
|
br i1 %t32, label %scend6, label %sc5
|
|
sc5:
|
|
%t34 = load ptr, ptr %t0
|
|
%t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str1850)
|
|
%t36 = icmp ne i32 %t35, 0
|
|
%t37 = zext i1 %t36 to i32
|
|
store i32 %t37, ptr %t29
|
|
br label %scend6
|
|
scend6:
|
|
%t38 = load i32, ptr %t29
|
|
%t39 = icmp ne i32 %t38, 0
|
|
br i1 %t39, label %then7, label %ifend9
|
|
then7:
|
|
store i32 1, ptr @g_g_uses_hashrt
|
|
%t40 = load ptr, ptr %t1
|
|
%t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 7
|
|
%t42 = load ptr, ptr %t41
|
|
%t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0
|
|
%t44 = load ptr, ptr %t43
|
|
%t45 = getelementptr inbounds ptr, ptr %t44, i32 0
|
|
%t46 = load ptr, ptr %t45
|
|
%t47 = call ptr @fn_emit_expr(ptr %t46)
|
|
store ptr %t47, ptr %t48
|
|
%t49 = load ptr, ptr %t48
|
|
%t50 = getelementptr inbounds %Cmp_Val, ptr %t49, i32 0, i32 0
|
|
%t51 = load ptr, ptr %t50
|
|
%t52 = call ptr @fn_str_concat(ptr @.str1851, ptr %t51)
|
|
%t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str1852)
|
|
%t54 = call ptr @fn_emit_bind(ptr %t53)
|
|
%t55 = call ptr @fn_val(ptr %t54, ptr @.str1853)
|
|
store ptr %t55, ptr %retval
|
|
br label %ret
|
|
ifend9:
|
|
%t56 = load ptr, ptr %t0
|
|
%t57 = call i32 @fn_str_eq(ptr %t56, ptr @.str1854)
|
|
%t58 = icmp ne i32 %t57, 0
|
|
br i1 %t58, label %then10, label %ifend12
|
|
then10:
|
|
%t59 = load ptr, ptr %t1
|
|
%t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 7
|
|
%t61 = load ptr, ptr %t60
|
|
%t62 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0
|
|
%t63 = load ptr, ptr %t62
|
|
%t64 = getelementptr inbounds ptr, ptr %t63, i32 0
|
|
%t65 = load ptr, ptr %t64
|
|
%t66 = call ptr @fn_emit_expr(ptr %t65)
|
|
store ptr %t66, ptr %t67
|
|
%t68 = load ptr, ptr %t67
|
|
%t69 = call ptr @fn_to_long(ptr %t68)
|
|
%t70 = call ptr @fn_hash_mix64_code(ptr %t69)
|
|
%t71 = call ptr @fn_val(ptr %t70, ptr @.str1855)
|
|
store ptr %t71, ptr %retval
|
|
br label %ret
|
|
ifend12:
|
|
%t72 = load ptr, ptr %t0
|
|
%t73 = call i32 @fn_str_eq(ptr %t72, ptr @.str1856)
|
|
%t74 = icmp ne i32 %t73, 0
|
|
br i1 %t74, label %then13, label %ifend15
|
|
then13:
|
|
store i32 1, ptr @g_g_uses_hashrt
|
|
%t75 = load ptr, ptr %t1
|
|
%t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 7
|
|
%t77 = load ptr, ptr %t76
|
|
%t78 = getelementptr inbounds %LSlice, ptr %t77, i32 0, i32 0
|
|
%t79 = load ptr, ptr %t78
|
|
%t80 = getelementptr inbounds ptr, ptr %t79, i32 0
|
|
%t81 = load ptr, ptr %t80
|
|
%t82 = call ptr @fn_emit_expr(ptr %t81)
|
|
store ptr %t82, ptr %t83
|
|
%t84 = load ptr, ptr %t83
|
|
%t85 = getelementptr inbounds %Cmp_Val, ptr %t84, i32 0, i32 0
|
|
%t86 = load ptr, ptr %t85
|
|
%t87 = call ptr @fn_str_concat(ptr @.str1857, ptr %t86)
|
|
%t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str1858)
|
|
%t89 = call ptr @fn_emit_bind(ptr %t88)
|
|
%t90 = call ptr @fn_val(ptr %t89, ptr @.str1859)
|
|
store ptr %t90, ptr %retval
|
|
br label %ret
|
|
ifend15:
|
|
%t91 = load ptr, ptr %t0
|
|
%t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str1860)
|
|
%t93 = icmp ne i32 %t92, 0
|
|
br i1 %t93, label %then16, label %ifend18
|
|
then16:
|
|
%t94 = load ptr, ptr %t1
|
|
%t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 7
|
|
%t96 = load ptr, ptr %t95
|
|
%t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0
|
|
%t98 = load ptr, ptr %t97
|
|
%t99 = getelementptr inbounds ptr, ptr %t98, i32 0
|
|
%t100 = load ptr, ptr %t99
|
|
%t101 = call ptr @fn_emit_expr(ptr %t100)
|
|
store ptr %t101, ptr %t102
|
|
%t103 = load ptr, ptr %t102
|
|
%t104 = getelementptr inbounds %Cmp_Val, ptr %t103, i32 0, i32 0
|
|
%t105 = load ptr, ptr %t104
|
|
%t106 = call ptr @fn_hash_mix_code(ptr %t105)
|
|
%t107 = call ptr @fn_val(ptr %t106, ptr @.str1861)
|
|
store ptr %t107, ptr %retval
|
|
br label %ret
|
|
ifend18:
|
|
store ptr @.str1862, ptr %t108
|
|
store i32 0, ptr %t109
|
|
br label %wcond19
|
|
wcond19:
|
|
%t110 = load i32, ptr %t109
|
|
%t111 = load ptr, ptr %t1
|
|
%t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 7
|
|
%t113 = load ptr, ptr %t112
|
|
%t114 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 1
|
|
%t115 = load i32, ptr %t114
|
|
%t116 = icmp slt i32 %t110, %t115
|
|
%t117 = zext i1 %t116 to i32
|
|
%t118 = icmp ne i32 %t117, 0
|
|
br i1 %t118, label %wbody20, label %wend21
|
|
wbody20:
|
|
%t119 = load ptr, ptr %t1
|
|
%t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 7
|
|
%t121 = load ptr, ptr %t120
|
|
%t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 0
|
|
%t123 = load ptr, ptr %t122
|
|
%t124 = load i32, ptr %t109
|
|
%t125 = getelementptr inbounds ptr, ptr %t123, i32 %t124
|
|
%t126 = load ptr, ptr %t125
|
|
%t127 = call ptr @fn_emit_expr(ptr %t126)
|
|
store ptr %t127, ptr %t128
|
|
%t129 = load ptr, ptr %t128
|
|
%t130 = getelementptr inbounds %Cmp_Val, ptr %t129, i32 0, i32 0
|
|
%t131 = load ptr, ptr %t130
|
|
%t132 = call ptr @fn_str_concat(ptr @.str1863, ptr %t131)
|
|
%t133 = call ptr @fn_str_concat(ptr %t132, ptr @.str1864)
|
|
%t134 = call ptr @fn_emit_bind(ptr %t133)
|
|
store ptr %t134, ptr %t135
|
|
%t136 = load ptr, ptr %t108
|
|
%t137 = call ptr @fn_str_concat(ptr @.str1865, ptr %t136)
|
|
%t138 = call ptr @fn_str_concat(ptr %t137, ptr @.str1866)
|
|
%t139 = call ptr @fn_emit_bind(ptr %t138)
|
|
store ptr %t139, ptr %t140
|
|
%t141 = load ptr, ptr %t108
|
|
%t142 = call ptr @fn_str_concat(ptr @.str1867, ptr %t141)
|
|
%t143 = call ptr @fn_str_concat(ptr %t142, ptr @.str1868)
|
|
%t144 = call ptr @fn_emit_bind(ptr %t143)
|
|
store ptr %t144, ptr %t145
|
|
%t146 = load ptr, ptr %t135
|
|
%t147 = call ptr @fn_str_concat(ptr @.str1869, ptr %t146)
|
|
%t148 = call ptr @fn_str_concat(ptr %t147, ptr @.str1870)
|
|
%t149 = load ptr, ptr %t140
|
|
%t150 = call ptr @fn_str_concat(ptr %t148, ptr %t149)
|
|
%t151 = call ptr @fn_emit_bind(ptr %t150)
|
|
store ptr %t151, ptr %t152
|
|
%t153 = load ptr, ptr %t152
|
|
%t154 = call ptr @fn_str_concat(ptr @.str1871, ptr %t153)
|
|
%t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str1872)
|
|
%t156 = load ptr, ptr %t145
|
|
%t157 = call ptr @fn_str_concat(ptr %t155, ptr %t156)
|
|
%t158 = call ptr @fn_emit_bind(ptr %t157)
|
|
store ptr %t158, ptr %t159
|
|
%t160 = load ptr, ptr %t108
|
|
%t161 = call ptr @fn_str_concat(ptr @.str1873, ptr %t160)
|
|
%t162 = call ptr @fn_str_concat(ptr %t161, ptr @.str1874)
|
|
%t163 = load ptr, ptr %t159
|
|
%t164 = call ptr @fn_str_concat(ptr %t162, ptr %t163)
|
|
%t165 = call ptr @fn_emit_bind(ptr %t164)
|
|
store ptr %t165, ptr %t108
|
|
%t166 = load i32, ptr %t109
|
|
%t167 = add i32 %t166, 1
|
|
store i32 %t167, ptr %t109
|
|
br label %wcond19
|
|
wend21:
|
|
%t168 = load ptr, ptr %t108
|
|
%t169 = call ptr @fn_val(ptr %t168, ptr @.str1875)
|
|
store ptr %t169, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t170 = load ptr, ptr %retval
|
|
ret ptr %t170
|
|
}
|
|
|
|
define void @fn_emit_hash_prelude() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str1876)
|
|
call void @fn_emith(ptr @.str1877)
|
|
call void @fn_emith(ptr @.str1878)
|
|
call void @fn_emith(ptr @.str1879)
|
|
call void @fn_emith(ptr @.str1880)
|
|
call void @fn_emith(ptr @.str1881)
|
|
call void @fn_emith(ptr @.str1882)
|
|
call void @fn_emith(ptr @.str1883)
|
|
call void @fn_emith(ptr @.str1884)
|
|
call void @fn_emith(ptr @.str1885)
|
|
call void @fn_emith(ptr @.str1886)
|
|
call void @fn_emith(ptr @.str1887)
|
|
call void @fn_emith(ptr @.str1888)
|
|
call void @fn_emith(ptr @.str1889)
|
|
call void @fn_emith(ptr @.str1890)
|
|
call void @fn_emith(ptr @.str1891)
|
|
call void @fn_emith(ptr @.str1892)
|
|
call void @fn_emith(ptr @.str1893)
|
|
call void @fn_emith(ptr @.str1894)
|
|
call void @fn_emith(ptr @.str1895)
|
|
call void @fn_emith(ptr @.str1896)
|
|
call void @fn_emith(ptr @.str1897)
|
|
call void @fn_emith(ptr @.str1898)
|
|
call void @fn_emith(ptr @.str1899)
|
|
call void @fn_emith(ptr @.str1900)
|
|
call void @fn_emith(ptr @.str1901)
|
|
call void @fn_emith(ptr @.str1902)
|
|
call void @fn_emith(ptr @.str1903)
|
|
call void @fn_emith(ptr @.str1904)
|
|
call void @fn_emith(ptr @.str1905)
|
|
call void @fn_emith(ptr @.str1906)
|
|
call void @fn_emith(ptr @.str1907)
|
|
call void @fn_emith(ptr @.str1908)
|
|
call void @fn_emith(ptr @.str1909)
|
|
call void @fn_emith(ptr @.str1910)
|
|
call void @fn_emith(ptr @.str1911)
|
|
call void @fn_emith(ptr @.str1912)
|
|
call void @fn_emith(ptr @.str1913)
|
|
call void @fn_emith(ptr @.str1914)
|
|
call void @fn_emith(ptr @.str1915)
|
|
call void @fn_emith(ptr @.str1916)
|
|
call void @fn_emith(ptr @.str1917)
|
|
call void @fn_emith(ptr @.str1918)
|
|
call void @fn_emith(ptr @.str1919)
|
|
call void @fn_emith(ptr @.str1920)
|
|
call void @fn_emith(ptr @.str1921)
|
|
call void @fn_emith(ptr @.str1922)
|
|
call void @fn_emith(ptr @.str1923)
|
|
call void @fn_emith(ptr @.str1924)
|
|
call void @fn_emith(ptr @.str1925)
|
|
call void @fn_emith(ptr @.str1926)
|
|
call void @fn_emith(ptr @.str1927)
|
|
call void @fn_emith(ptr @.str1928)
|
|
call void @fn_emith(ptr @.str1929)
|
|
call void @fn_emith(ptr @.str1930)
|
|
call void @fn_emith(ptr @.str1931)
|
|
call void @fn_emith(ptr @.str1932)
|
|
call void @fn_emith(ptr @.str1933)
|
|
call void @fn_emith(ptr @.str1934)
|
|
call void @fn_emith(ptr @.str1935)
|
|
call void @fn_emith(ptr @.str1936)
|
|
call void @fn_emith(ptr @.str1937)
|
|
call void @fn_emith(ptr @.str1938)
|
|
call void @fn_emith(ptr @.str1939)
|
|
call void @fn_emith(ptr @.str1940)
|
|
call void @fn_emith(ptr @.str1941)
|
|
call void @fn_emith(ptr @.str1942)
|
|
call void @fn_emith(ptr @.str1943)
|
|
call void @fn_emith(ptr @.str1944)
|
|
call void @fn_emith(ptr @.str1945)
|
|
call void @fn_emith(ptr @.str1946)
|
|
call void @fn_emith(ptr @.str1947)
|
|
call void @fn_emith(ptr @.str1948)
|
|
call void @fn_emith(ptr @.str1949)
|
|
call void @fn_emith(ptr @.str1950)
|
|
call void @fn_emith(ptr @.str1951)
|
|
call void @fn_emith(ptr @.str1952)
|
|
call void @fn_emith(ptr @.str1953)
|
|
call void @fn_emith(ptr @.str1954)
|
|
call void @fn_emith(ptr @.str1955)
|
|
call void @fn_emith(ptr @.str1956)
|
|
call void @fn_emith(ptr @.str1957)
|
|
call void @fn_emith(ptr @.str1958)
|
|
call void @fn_emith(ptr @.str1959)
|
|
call void @fn_emith(ptr @.str1960)
|
|
call void @fn_emith(ptr @.str1961)
|
|
call void @fn_emith(ptr @.str1962)
|
|
call void @fn_emith(ptr @.str1963)
|
|
call void @fn_emith(ptr @.str1964)
|
|
call void @fn_emith(ptr @.str1965)
|
|
call void @fn_emith(ptr @.str1966)
|
|
call void @fn_emith(ptr @.str1967)
|
|
call void @fn_emith(ptr @.str1968)
|
|
call void @fn_emith(ptr @.str1969)
|
|
call void @fn_emith(ptr @.str1970)
|
|
call void @fn_emith(ptr @.str1971)
|
|
call void @fn_emith(ptr @.str1972)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_is_crypto_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t20 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str1973)
|
|
%t5 = icmp ne i32 %t4, 0
|
|
%t6 = zext i1 %t5 to i32
|
|
store i32 %t6, ptr %t2
|
|
br i1 %t5, label %scend1, label %sc0
|
|
sc0:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str1974)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
%t10 = zext i1 %t9 to i32
|
|
store i32 %t10, ptr %t2
|
|
br label %scend1
|
|
scend1:
|
|
%t11 = load i32, ptr %t2
|
|
%t12 = icmp ne i32 %t11, 0
|
|
%t13 = zext i1 %t12 to i32
|
|
store i32 %t13, ptr %t1
|
|
br i1 %t12, label %scend3, label %sc2
|
|
sc2:
|
|
%t14 = load ptr, ptr %t0
|
|
%t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str1975)
|
|
%t16 = icmp ne i32 %t15, 0
|
|
%t17 = zext i1 %t16 to i32
|
|
store i32 %t17, ptr %t1
|
|
br label %scend3
|
|
scend3:
|
|
%t18 = load i32, ptr %t1
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then4, label %ifend6
|
|
then4:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend6:
|
|
%t21 = load ptr, ptr %t0
|
|
%t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str1976)
|
|
%t23 = icmp ne i32 %t22, 0
|
|
%t24 = zext i1 %t23 to i32
|
|
store i32 %t24, ptr %t20
|
|
br i1 %t23, label %scend8, label %sc7
|
|
sc7:
|
|
%t25 = load ptr, ptr %t0
|
|
%t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str1977)
|
|
%t27 = icmp ne i32 %t26, 0
|
|
%t28 = zext i1 %t27 to i32
|
|
store i32 %t28, ptr %t20
|
|
br label %scend8
|
|
scend8:
|
|
%t29 = load i32, ptr %t20
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then9, label %ifend11
|
|
then9:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t31 = load i32, ptr %retval
|
|
ret i32 %t31
|
|
}
|
|
|
|
define ptr @fn_emit_crypto_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t13 = alloca ptr
|
|
%t32 = alloca ptr
|
|
%t41 = alloca ptr
|
|
%t65 = alloca ptr
|
|
%t84 = alloca ptr
|
|
%t93 = alloca ptr
|
|
%t114 = alloca ptr
|
|
%t123 = alloca ptr
|
|
%t132 = alloca ptr
|
|
%t144 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
store i32 1, ptr @g_g_uses_cryptort
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str1978)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = load ptr, ptr %t1
|
|
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
|
|
%t9 = load ptr, ptr %t8
|
|
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = call ptr @fn_emit_expr(ptr %t11)
|
|
store ptr %t12, ptr %t13
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = call ptr @fn_str_concat(ptr @.str1979, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str1980)
|
|
%t19 = call ptr @fn_emit_bind(ptr %t18)
|
|
%t20 = call ptr @fn_val(ptr %t19, ptr @.str1981)
|
|
store ptr %t20, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t21 = load ptr, ptr %t0
|
|
%t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str1982)
|
|
%t23 = icmp ne i32 %t22, 0
|
|
br i1 %t23, label %then3, label %ifend5
|
|
then3:
|
|
%t24 = load ptr, ptr %t1
|
|
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = getelementptr inbounds ptr, ptr %t28, i32 0
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = call ptr @fn_emit_expr(ptr %t30)
|
|
store ptr %t31, ptr %t32
|
|
%t33 = load ptr, ptr %t1
|
|
%t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7
|
|
%t35 = load ptr, ptr %t34
|
|
%t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0
|
|
%t37 = load ptr, ptr %t36
|
|
%t38 = getelementptr inbounds ptr, ptr %t37, i32 1
|
|
%t39 = load ptr, ptr %t38
|
|
%t40 = call ptr @fn_emit_expr(ptr %t39)
|
|
store ptr %t40, ptr %t41
|
|
%t42 = load ptr, ptr %t32
|
|
%t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0
|
|
%t44 = load ptr, ptr %t43
|
|
%t45 = call ptr @fn_str_concat(ptr @.str1983, ptr %t44)
|
|
%t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str1984)
|
|
%t47 = load ptr, ptr %t41
|
|
%t48 = getelementptr inbounds %Cmp_Val, ptr %t47, i32 0, i32 0
|
|
%t49 = load ptr, ptr %t48
|
|
%t50 = call ptr @fn_str_concat(ptr %t46, ptr %t49)
|
|
%t51 = call ptr @fn_str_concat(ptr %t50, ptr @.str1985)
|
|
%t52 = call ptr @fn_emit_bind(ptr %t51)
|
|
%t53 = call ptr @fn_val(ptr %t52, ptr @.str1986)
|
|
store ptr %t53, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t54 = load ptr, ptr %t0
|
|
%t55 = call i32 @fn_str_eq(ptr %t54, ptr @.str1987)
|
|
%t56 = icmp ne i32 %t55, 0
|
|
br i1 %t56, label %then6, label %ifend8
|
|
then6:
|
|
%t57 = load ptr, ptr %t1
|
|
%t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 7
|
|
%t59 = load ptr, ptr %t58
|
|
%t60 = getelementptr inbounds %LSlice, ptr %t59, i32 0, i32 0
|
|
%t61 = load ptr, ptr %t60
|
|
%t62 = getelementptr inbounds ptr, ptr %t61, i32 0
|
|
%t63 = load ptr, ptr %t62
|
|
%t64 = call ptr @fn_emit_expr(ptr %t63)
|
|
store ptr %t64, ptr %t65
|
|
%t66 = load ptr, ptr %t65
|
|
%t67 = getelementptr inbounds %Cmp_Val, ptr %t66, i32 0, i32 0
|
|
%t68 = load ptr, ptr %t67
|
|
%t69 = call ptr @fn_str_concat(ptr @.str1988, ptr %t68)
|
|
%t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str1989)
|
|
%t71 = call ptr @fn_emit_bind(ptr %t70)
|
|
%t72 = call ptr @fn_val(ptr %t71, ptr @.str1990)
|
|
store ptr %t72, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t73 = load ptr, ptr %t0
|
|
%t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str1991)
|
|
%t75 = icmp ne i32 %t74, 0
|
|
br i1 %t75, label %then9, label %ifend11
|
|
then9:
|
|
%t76 = load ptr, ptr %t1
|
|
%t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7
|
|
%t78 = load ptr, ptr %t77
|
|
%t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0
|
|
%t80 = load ptr, ptr %t79
|
|
%t81 = getelementptr inbounds ptr, ptr %t80, i32 0
|
|
%t82 = load ptr, ptr %t81
|
|
%t83 = call ptr @fn_emit_expr(ptr %t82)
|
|
store ptr %t83, ptr %t84
|
|
%t85 = load ptr, ptr %t1
|
|
%t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 7
|
|
%t87 = load ptr, ptr %t86
|
|
%t88 = getelementptr inbounds %LSlice, ptr %t87, i32 0, i32 0
|
|
%t89 = load ptr, ptr %t88
|
|
%t90 = getelementptr inbounds ptr, ptr %t89, i32 1
|
|
%t91 = load ptr, ptr %t90
|
|
%t92 = call ptr @fn_emit_expr(ptr %t91)
|
|
store ptr %t92, ptr %t93
|
|
%t94 = load ptr, ptr %t84
|
|
%t95 = getelementptr inbounds %Cmp_Val, ptr %t94, i32 0, i32 0
|
|
%t96 = load ptr, ptr %t95
|
|
%t97 = call ptr @fn_str_concat(ptr @.str1992, ptr %t96)
|
|
%t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str1993)
|
|
%t99 = load ptr, ptr %t93
|
|
%t100 = getelementptr inbounds %Cmp_Val, ptr %t99, i32 0, i32 0
|
|
%t101 = load ptr, ptr %t100
|
|
%t102 = call ptr @fn_str_concat(ptr %t98, ptr %t101)
|
|
%t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str1994)
|
|
%t104 = call ptr @fn_emit_bind(ptr %t103)
|
|
%t105 = call ptr @fn_val(ptr %t104, ptr @.str1995)
|
|
store ptr %t105, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t106 = load ptr, ptr %t1
|
|
%t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 7
|
|
%t108 = load ptr, ptr %t107
|
|
%t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0
|
|
%t110 = load ptr, ptr %t109
|
|
%t111 = getelementptr inbounds ptr, ptr %t110, i32 0
|
|
%t112 = load ptr, ptr %t111
|
|
%t113 = call ptr @fn_emit_expr(ptr %t112)
|
|
store ptr %t113, ptr %t114
|
|
%t115 = load ptr, ptr %t1
|
|
%t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 7
|
|
%t117 = load ptr, ptr %t116
|
|
%t118 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 0
|
|
%t119 = load ptr, ptr %t118
|
|
%t120 = getelementptr inbounds ptr, ptr %t119, i32 1
|
|
%t121 = load ptr, ptr %t120
|
|
%t122 = call ptr @fn_emit_expr(ptr %t121)
|
|
store ptr %t122, ptr %t123
|
|
%t124 = load ptr, ptr %t1
|
|
%t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 7
|
|
%t126 = load ptr, ptr %t125
|
|
%t127 = getelementptr inbounds %LSlice, ptr %t126, i32 0, i32 0
|
|
%t128 = load ptr, ptr %t127
|
|
%t129 = getelementptr inbounds ptr, ptr %t128, i32 2
|
|
%t130 = load ptr, ptr %t129
|
|
%t131 = call ptr @fn_emit_expr(ptr %t130)
|
|
store ptr %t131, ptr %t132
|
|
%t133 = load ptr, ptr %t114
|
|
%t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 0
|
|
%t135 = load ptr, ptr %t134
|
|
%t136 = call ptr @fn_str_concat(ptr @.str1996, ptr %t135)
|
|
%t137 = call ptr @fn_str_concat(ptr %t136, ptr @.str1997)
|
|
%t138 = load ptr, ptr %t123
|
|
%t139 = getelementptr inbounds %Cmp_Val, ptr %t138, i32 0, i32 0
|
|
%t140 = load ptr, ptr %t139
|
|
%t141 = call ptr @fn_str_concat(ptr %t137, ptr %t140)
|
|
%t142 = call ptr @fn_str_concat(ptr %t141, ptr @.str1998)
|
|
%t143 = call ptr @fn_emit_bind(ptr %t142)
|
|
store ptr %t143, ptr %t144
|
|
%t145 = load ptr, ptr %t144
|
|
%t146 = call ptr @fn_str_concat(ptr @.str1999, ptr %t145)
|
|
%t147 = call ptr @fn_str_concat(ptr %t146, ptr @.str2000)
|
|
%t148 = load ptr, ptr %t132
|
|
%t149 = getelementptr inbounds %Cmp_Val, ptr %t148, i32 0, i32 0
|
|
%t150 = load ptr, ptr %t149
|
|
%t151 = call ptr @fn_str_concat(ptr %t147, ptr %t150)
|
|
%t152 = call ptr @fn_str_concat(ptr %t151, ptr @.str2001)
|
|
%t153 = call ptr @fn_emit_bind(ptr %t152)
|
|
%t154 = call ptr @fn_val(ptr %t153, ptr @.str2002)
|
|
store ptr %t154, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t155 = load ptr, ptr %retval
|
|
ret ptr %t155
|
|
}
|
|
|
|
define void @fn_emit_crypto_prelude() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str2003)
|
|
call void @fn_emith(ptr @.str2004)
|
|
call void @fn_emith(ptr @.str2005)
|
|
call void @fn_emith(ptr @.str2006)
|
|
call void @fn_emith(ptr @.str2007)
|
|
call void @fn_emith(ptr @.str2008)
|
|
call void @fn_emith(ptr @.str2009)
|
|
call void @fn_emith(ptr @.str2010)
|
|
call void @fn_emith(ptr @.str2011)
|
|
call void @fn_emith(ptr @.str2012)
|
|
call void @fn_emith(ptr @.str2013)
|
|
call void @fn_emith(ptr @.str2014)
|
|
call void @fn_emith(ptr @.str2015)
|
|
call void @fn_emith(ptr @.str2016)
|
|
call void @fn_emith(ptr @.str2017)
|
|
call void @fn_emith(ptr @.str2018)
|
|
call void @fn_emith(ptr @.str2019)
|
|
call void @fn_emith(ptr @.str2020)
|
|
call void @fn_emith(ptr @.str2021)
|
|
call void @fn_emith(ptr @.str2022)
|
|
call void @fn_emith(ptr @.str2023)
|
|
call void @fn_emith(ptr @.str2024)
|
|
call void @fn_emith(ptr @.str2025)
|
|
call void @fn_emith(ptr @.str2026)
|
|
call void @fn_emith(ptr @.str2027)
|
|
call void @fn_emith(ptr @.str2028)
|
|
call void @fn_emith(ptr @.str2029)
|
|
call void @fn_emith(ptr @.str2030)
|
|
call void @fn_emith(ptr @.str2031)
|
|
call void @fn_emith(ptr @.str2032)
|
|
call void @fn_emith(ptr @.str2033)
|
|
call void @fn_emith(ptr @.str2034)
|
|
call void @fn_emith(ptr @.str2035)
|
|
call void @fn_emith(ptr @.str2036)
|
|
call void @fn_emith(ptr @.str2037)
|
|
call void @fn_emith(ptr @.str2038)
|
|
call void @fn_emith(ptr @.str2039)
|
|
call void @fn_emith(ptr @.str2040)
|
|
call void @fn_emith(ptr @.str2041)
|
|
call void @fn_emith(ptr @.str2042)
|
|
call void @fn_emith(ptr @.str2043)
|
|
call void @fn_emith(ptr @.str2044)
|
|
call void @fn_emith(ptr @.str2045)
|
|
call void @fn_emith(ptr @.str2046)
|
|
call void @fn_emith(ptr @.str2047)
|
|
call void @fn_emith(ptr @.str2048)
|
|
call void @fn_emith(ptr @.str2049)
|
|
call void @fn_emith(ptr @.str2050)
|
|
call void @fn_emith(ptr @.str2051)
|
|
call void @fn_emith(ptr @.str2052)
|
|
call void @fn_emith(ptr @.str2053)
|
|
call void @fn_emith(ptr @.str2054)
|
|
call void @fn_emith(ptr @.str2055)
|
|
call void @fn_emith(ptr @.str2056)
|
|
call void @fn_emith(ptr @.str2057)
|
|
call void @fn_emith(ptr @.str2058)
|
|
call void @fn_emith(ptr @.str2059)
|
|
call void @fn_emith(ptr @.str2060)
|
|
call void @fn_emith(ptr @.str2061)
|
|
call void @fn_emith(ptr @.str2062)
|
|
call void @fn_emith(ptr @.str2063)
|
|
call void @fn_emith(ptr @.str2064)
|
|
call void @fn_emith(ptr @.str2065)
|
|
call void @fn_emith(ptr @.str2066)
|
|
call void @fn_emith(ptr @.str2067)
|
|
call void @fn_emith(ptr @.str2068)
|
|
call void @fn_emith(ptr @.str2069)
|
|
call void @fn_emith(ptr @.str2070)
|
|
call void @fn_emith(ptr @.str2071)
|
|
call void @fn_emith(ptr @.str2072)
|
|
call void @fn_emith(ptr @.str2073)
|
|
call void @fn_emith(ptr @.str2074)
|
|
call void @fn_emith(ptr @.str2075)
|
|
call void @fn_emith(ptr @.str2076)
|
|
call void @fn_emith(ptr @.str2077)
|
|
call void @fn_emith(ptr @.str2078)
|
|
call void @fn_emith(ptr @.str2079)
|
|
call void @fn_emith(ptr @.str2080)
|
|
call void @fn_emith(ptr @.str2081)
|
|
call void @fn_emith(ptr @.str2082)
|
|
call void @fn_emith(ptr @.str2083)
|
|
call void @fn_emith(ptr @.str2084)
|
|
call void @fn_emith(ptr @.str2085)
|
|
call void @fn_emith(ptr @.str2086)
|
|
call void @fn_emith(ptr @.str2087)
|
|
call void @fn_emith(ptr @.str2088)
|
|
call void @fn_emith(ptr @.str2089)
|
|
call void @fn_emith(ptr @.str2090)
|
|
call void @fn_emith(ptr @.str2091)
|
|
call void @fn_emith(ptr @.str2092)
|
|
call void @fn_emith(ptr @.str2093)
|
|
call void @fn_emith(ptr @.str2094)
|
|
call void @fn_emith(ptr @.str2095)
|
|
call void @fn_emith(ptr @.str2096)
|
|
call void @fn_emith(ptr @.str2097)
|
|
call void @fn_emith(ptr @.str2098)
|
|
call void @fn_emith(ptr @.str2099)
|
|
call void @fn_emith(ptr @.str2100)
|
|
call void @fn_emith(ptr @.str2101)
|
|
call void @fn_emith(ptr @.str2102)
|
|
call void @fn_emith(ptr @.str2103)
|
|
call void @fn_emith(ptr @.str2104)
|
|
call void @fn_emith(ptr @.str2105)
|
|
call void @fn_emith(ptr @.str2106)
|
|
call void @fn_emith(ptr @.str2107)
|
|
call void @fn_emith(ptr @.str2108)
|
|
call void @fn_emith(ptr @.str2109)
|
|
call void @fn_emith(ptr @.str2110)
|
|
call void @fn_emith(ptr @.str2111)
|
|
call void @fn_emith(ptr @.str2112)
|
|
call void @fn_emith(ptr @.str2113)
|
|
call void @fn_emith(ptr @.str2114)
|
|
call void @fn_emith(ptr @.str2115)
|
|
call void @fn_emith(ptr @.str2116)
|
|
call void @fn_emith(ptr @.str2117)
|
|
call void @fn_emith(ptr @.str2118)
|
|
call void @fn_emith(ptr @.str2119)
|
|
call void @fn_emith(ptr @.str2120)
|
|
call void @fn_emith(ptr @.str2121)
|
|
call void @fn_emith(ptr @.str2122)
|
|
call void @fn_emith(ptr @.str2123)
|
|
call void @fn_emith(ptr @.str2124)
|
|
call void @fn_emith(ptr @.str2125)
|
|
call void @fn_emith(ptr @.str2126)
|
|
call void @fn_emith(ptr @.str2127)
|
|
call void @fn_emith(ptr @.str2128)
|
|
call void @fn_emith(ptr @.str2129)
|
|
call void @fn_emith(ptr @.str2130)
|
|
call void @fn_emith(ptr @.str2131)
|
|
call void @fn_emith(ptr @.str2132)
|
|
call void @fn_emith(ptr @.str2133)
|
|
call void @fn_emith(ptr @.str2134)
|
|
call void @fn_emith(ptr @.str2135)
|
|
call void @fn_emith(ptr @.str2136)
|
|
call void @fn_emith(ptr @.str2137)
|
|
call void @fn_emith(ptr @.str2138)
|
|
call void @fn_emith(ptr @.str2139)
|
|
call void @fn_emith(ptr @.str2140)
|
|
call void @fn_emith(ptr @.str2141)
|
|
call void @fn_emith(ptr @.str2142)
|
|
call void @fn_emith(ptr @.str2143)
|
|
call void @fn_emith(ptr @.str2144)
|
|
call void @fn_emith(ptr @.str2145)
|
|
call void @fn_emith(ptr @.str2146)
|
|
call void @fn_emith(ptr @.str2147)
|
|
call void @fn_emith(ptr @.str2148)
|
|
call void @fn_emith(ptr @.str2149)
|
|
call void @fn_emith(ptr @.str2150)
|
|
call void @fn_emith(ptr @.str2151)
|
|
call void @fn_emith(ptr @.str2152)
|
|
call void @fn_emith(ptr @.str2153)
|
|
call void @fn_emith(ptr @.str2154)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_list_elem_addr(ptr %arg_h, ptr %arg_elt, ptr %arg_idx) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t9 = alloca ptr
|
|
store ptr %arg_h, ptr %t0
|
|
store ptr %arg_elt, ptr %t1
|
|
store ptr %arg_idx, ptr %t2
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call ptr @fn_slice_field(ptr %t3, i32 0)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = call ptr @fn_str_concat(ptr @.str2155, ptr %t6)
|
|
%t8 = call ptr @fn_emit_bind(ptr %t7)
|
|
store ptr %t8, ptr %t9
|
|
%t10 = load ptr, ptr %t1
|
|
%t11 = call ptr @fn_str_concat(ptr @.str2156, ptr %t10)
|
|
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str2157)
|
|
%t13 = load ptr, ptr %t9
|
|
%t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
|
|
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str2158)
|
|
%t16 = load ptr, ptr %t2
|
|
%t17 = call ptr @fn_str_concat(ptr %t15, ptr %t16)
|
|
%t18 = call ptr @fn_emit_bind(ptr %t17)
|
|
store ptr %t18, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t19 = load ptr, ptr %retval
|
|
ret ptr %t19
|
|
}
|
|
|
|
define i32 @fn_is_list_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t20 = alloca i32
|
|
%t21 = alloca i32
|
|
%t22 = alloca i32
|
|
%t47 = alloca i32
|
|
%t48 = alloca i32
|
|
%t66 = alloca i32
|
|
%t67 = alloca i32
|
|
%t68 = alloca i32
|
|
%t93 = alloca i32
|
|
%t94 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2159)
|
|
%t5 = icmp ne i32 %t4, 0
|
|
%t6 = zext i1 %t5 to i32
|
|
store i32 %t6, ptr %t2
|
|
br i1 %t5, label %scend1, label %sc0
|
|
sc0:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2160)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
%t10 = zext i1 %t9 to i32
|
|
store i32 %t10, ptr %t2
|
|
br label %scend1
|
|
scend1:
|
|
%t11 = load i32, ptr %t2
|
|
%t12 = icmp ne i32 %t11, 0
|
|
%t13 = zext i1 %t12 to i32
|
|
store i32 %t13, ptr %t1
|
|
br i1 %t12, label %scend3, label %sc2
|
|
sc2:
|
|
%t14 = load ptr, ptr %t0
|
|
%t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str2161)
|
|
%t16 = icmp ne i32 %t15, 0
|
|
%t17 = zext i1 %t16 to i32
|
|
store i32 %t17, ptr %t1
|
|
br label %scend3
|
|
scend3:
|
|
%t18 = load i32, ptr %t1
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then4, label %ifend6
|
|
then4:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend6:
|
|
%t23 = load ptr, ptr %t0
|
|
%t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str2162)
|
|
%t25 = icmp ne i32 %t24, 0
|
|
%t26 = zext i1 %t25 to i32
|
|
store i32 %t26, ptr %t22
|
|
br i1 %t25, label %scend8, label %sc7
|
|
sc7:
|
|
%t27 = load ptr, ptr %t0
|
|
%t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str2163)
|
|
%t29 = icmp ne i32 %t28, 0
|
|
%t30 = zext i1 %t29 to i32
|
|
store i32 %t30, ptr %t22
|
|
br label %scend8
|
|
scend8:
|
|
%t31 = load i32, ptr %t22
|
|
%t32 = icmp ne i32 %t31, 0
|
|
%t33 = zext i1 %t32 to i32
|
|
store i32 %t33, ptr %t21
|
|
br i1 %t32, label %scend10, label %sc9
|
|
sc9:
|
|
%t34 = load ptr, ptr %t0
|
|
%t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str2164)
|
|
%t36 = icmp ne i32 %t35, 0
|
|
%t37 = zext i1 %t36 to i32
|
|
store i32 %t37, ptr %t21
|
|
br label %scend10
|
|
scend10:
|
|
%t38 = load i32, ptr %t21
|
|
%t39 = icmp ne i32 %t38, 0
|
|
%t40 = zext i1 %t39 to i32
|
|
store i32 %t40, ptr %t20
|
|
br i1 %t39, label %scend12, label %sc11
|
|
sc11:
|
|
%t41 = load ptr, ptr %t0
|
|
%t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str2165)
|
|
%t43 = icmp ne i32 %t42, 0
|
|
%t44 = zext i1 %t43 to i32
|
|
store i32 %t44, ptr %t20
|
|
br label %scend12
|
|
scend12:
|
|
%t45 = load i32, ptr %t20
|
|
%t46 = icmp ne i32 %t45, 0
|
|
br i1 %t46, label %then13, label %ifend15
|
|
then13:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend15:
|
|
%t49 = load ptr, ptr %t0
|
|
%t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str2166)
|
|
%t51 = icmp ne i32 %t50, 0
|
|
%t52 = zext i1 %t51 to i32
|
|
store i32 %t52, ptr %t48
|
|
br i1 %t51, label %scend17, label %sc16
|
|
sc16:
|
|
%t53 = load ptr, ptr %t0
|
|
%t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str2167)
|
|
%t55 = icmp ne i32 %t54, 0
|
|
%t56 = zext i1 %t55 to i32
|
|
store i32 %t56, ptr %t48
|
|
br label %scend17
|
|
scend17:
|
|
%t57 = load i32, ptr %t48
|
|
%t58 = icmp ne i32 %t57, 0
|
|
%t59 = zext i1 %t58 to i32
|
|
store i32 %t59, ptr %t47
|
|
br i1 %t58, label %scend19, label %sc18
|
|
sc18:
|
|
%t60 = load ptr, ptr %t0
|
|
%t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str2168)
|
|
%t62 = icmp ne i32 %t61, 0
|
|
%t63 = zext i1 %t62 to i32
|
|
store i32 %t63, ptr %t47
|
|
br label %scend19
|
|
scend19:
|
|
%t64 = load i32, ptr %t47
|
|
%t65 = icmp ne i32 %t64, 0
|
|
br i1 %t65, label %then20, label %ifend22
|
|
then20:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend22:
|
|
%t69 = load ptr, ptr %t0
|
|
%t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str2169)
|
|
%t71 = icmp ne i32 %t70, 0
|
|
%t72 = zext i1 %t71 to i32
|
|
store i32 %t72, ptr %t68
|
|
br i1 %t71, label %scend24, label %sc23
|
|
sc23:
|
|
%t73 = load ptr, ptr %t0
|
|
%t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str2170)
|
|
%t75 = icmp ne i32 %t74, 0
|
|
%t76 = zext i1 %t75 to i32
|
|
store i32 %t76, ptr %t68
|
|
br label %scend24
|
|
scend24:
|
|
%t77 = load i32, ptr %t68
|
|
%t78 = icmp ne i32 %t77, 0
|
|
%t79 = zext i1 %t78 to i32
|
|
store i32 %t79, ptr %t67
|
|
br i1 %t78, label %scend26, label %sc25
|
|
sc25:
|
|
%t80 = load ptr, ptr %t0
|
|
%t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str2171)
|
|
%t82 = icmp ne i32 %t81, 0
|
|
%t83 = zext i1 %t82 to i32
|
|
store i32 %t83, ptr %t67
|
|
br label %scend26
|
|
scend26:
|
|
%t84 = load i32, ptr %t67
|
|
%t85 = icmp ne i32 %t84, 0
|
|
%t86 = zext i1 %t85 to i32
|
|
store i32 %t86, ptr %t66
|
|
br i1 %t85, label %scend28, label %sc27
|
|
sc27:
|
|
%t87 = load ptr, ptr %t0
|
|
%t88 = call i32 @fn_str_eq(ptr %t87, ptr @.str2172)
|
|
%t89 = icmp ne i32 %t88, 0
|
|
%t90 = zext i1 %t89 to i32
|
|
store i32 %t90, ptr %t66
|
|
br label %scend28
|
|
scend28:
|
|
%t91 = load i32, ptr %t66
|
|
%t92 = icmp ne i32 %t91, 0
|
|
br i1 %t92, label %then29, label %ifend31
|
|
then29:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend31:
|
|
%t95 = load ptr, ptr %t0
|
|
%t96 = call i32 @fn_str_eq(ptr %t95, ptr @.str2173)
|
|
%t97 = icmp ne i32 %t96, 0
|
|
%t98 = zext i1 %t97 to i32
|
|
store i32 %t98, ptr %t94
|
|
br i1 %t97, label %scend33, label %sc32
|
|
sc32:
|
|
%t99 = load ptr, ptr %t0
|
|
%t100 = call i32 @fn_str_eq(ptr %t99, ptr @.str2174)
|
|
%t101 = icmp ne i32 %t100, 0
|
|
%t102 = zext i1 %t101 to i32
|
|
store i32 %t102, ptr %t94
|
|
br label %scend33
|
|
scend33:
|
|
%t103 = load i32, ptr %t94
|
|
%t104 = icmp ne i32 %t103, 0
|
|
%t105 = zext i1 %t104 to i32
|
|
store i32 %t105, ptr %t93
|
|
br i1 %t104, label %scend35, label %sc34
|
|
sc34:
|
|
%t106 = load ptr, ptr %t0
|
|
%t107 = call i32 @fn_str_eq(ptr %t106, ptr @.str2175)
|
|
%t108 = icmp ne i32 %t107, 0
|
|
%t109 = zext i1 %t108 to i32
|
|
store i32 %t109, ptr %t93
|
|
br label %scend35
|
|
scend35:
|
|
%t110 = load i32, ptr %t93
|
|
%t111 = icmp ne i32 %t110, 0
|
|
br i1 %t111, label %then36, label %ifend38
|
|
then36:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend38:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t112 = load i32, ptr %retval
|
|
ret i32 %t112
|
|
}
|
|
|
|
define void @fn_list_grow_if_full(ptr %arg_h, ptr %arg_elt) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t4 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t10 = alloca ptr
|
|
%t14 = alloca ptr
|
|
%t18 = alloca ptr
|
|
%t25 = alloca ptr
|
|
%t27 = alloca ptr
|
|
%t29 = alloca ptr
|
|
%t38 = alloca ptr
|
|
%t43 = alloca ptr
|
|
%t50 = alloca ptr
|
|
%t53 = alloca ptr
|
|
%t58 = alloca ptr
|
|
%t65 = alloca ptr
|
|
%t69 = alloca ptr
|
|
%t77 = alloca ptr
|
|
store ptr %arg_h, ptr %t0
|
|
store ptr %arg_elt, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call ptr @fn_slice_field(ptr %t2, i32 1)
|
|
store ptr %t3, ptr %t4
|
|
%t5 = load ptr, ptr %t0
|
|
%t6 = call ptr @fn_slice_field(ptr %t5, i32 2)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = call ptr @fn_slice_field(ptr %t8, i32 0)
|
|
store ptr %t9, ptr %t10
|
|
%t11 = load ptr, ptr %t4
|
|
%t12 = call ptr @fn_str_concat(ptr @.str2176, ptr %t11)
|
|
%t13 = call ptr @fn_emit_bind(ptr %t12)
|
|
store ptr %t13, ptr %t14
|
|
%t15 = load ptr, ptr %t7
|
|
%t16 = call ptr @fn_str_concat(ptr @.str2177, ptr %t15)
|
|
%t17 = call ptr @fn_emit_bind(ptr %t16)
|
|
store ptr %t17, ptr %t18
|
|
%t19 = load ptr, ptr %t14
|
|
%t20 = call ptr @fn_str_concat(ptr @.str2178, ptr %t19)
|
|
%t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str2179)
|
|
%t22 = load ptr, ptr %t18
|
|
%t23 = call ptr @fn_str_concat(ptr %t21, ptr %t22)
|
|
%t24 = call ptr @fn_emit_bind(ptr %t23)
|
|
store ptr %t24, ptr %t25
|
|
%t26 = call ptr @fn_lbl(ptr @.str2180)
|
|
store ptr %t26, ptr %t27
|
|
%t28 = call ptr @fn_lbl(ptr @.str2181)
|
|
store ptr %t28, ptr %t29
|
|
call void @fn_emit(ptr @.str2182)
|
|
%t30 = load ptr, ptr %t25
|
|
call void @fn_emit(ptr %t30)
|
|
call void @fn_emit(ptr @.str2183)
|
|
%t31 = load ptr, ptr %t27
|
|
call void @fn_emit(ptr %t31)
|
|
call void @fn_emit(ptr @.str2184)
|
|
%t32 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t32)
|
|
call void @fn_emit(ptr @.str2185)
|
|
%t33 = load ptr, ptr %t27
|
|
call void @fn_emit(ptr %t33)
|
|
call void @fn_emit(ptr @.str2186)
|
|
%t34 = load ptr, ptr %t18
|
|
%t35 = call ptr @fn_str_concat(ptr @.str2187, ptr %t34)
|
|
%t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str2188)
|
|
%t37 = call ptr @fn_emit_bind(ptr %t36)
|
|
store ptr %t37, ptr %t38
|
|
%t39 = load ptr, ptr %t18
|
|
%t40 = call ptr @fn_str_concat(ptr @.str2189, ptr %t39)
|
|
%t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str2190)
|
|
%t42 = call ptr @fn_emit_bind(ptr %t41)
|
|
store ptr %t42, ptr %t43
|
|
%t44 = load ptr, ptr %t43
|
|
%t45 = call ptr @fn_str_concat(ptr @.str2191, ptr %t44)
|
|
%t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str2192)
|
|
%t47 = load ptr, ptr %t38
|
|
%t48 = call ptr @fn_str_concat(ptr %t46, ptr %t47)
|
|
%t49 = call ptr @fn_emit_bind(ptr %t48)
|
|
store ptr %t49, ptr %t50
|
|
%t51 = load ptr, ptr %t1
|
|
%t52 = call ptr @fn_emit_sizeof(ptr %t51)
|
|
store ptr %t52, ptr %t53
|
|
%t54 = load ptr, ptr %t50
|
|
%t55 = call ptr @fn_str_concat(ptr @.str2193, ptr %t54)
|
|
%t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str2194)
|
|
%t57 = call ptr @fn_emit_bind(ptr %t56)
|
|
store ptr %t57, ptr %t58
|
|
%t59 = load ptr, ptr %t58
|
|
%t60 = call ptr @fn_str_concat(ptr @.str2195, ptr %t59)
|
|
%t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str2196)
|
|
%t62 = load ptr, ptr %t53
|
|
%t63 = call ptr @fn_str_concat(ptr %t61, ptr %t62)
|
|
%t64 = call ptr @fn_emit_bind(ptr %t63)
|
|
store ptr %t64, ptr %t65
|
|
%t66 = load ptr, ptr %t10
|
|
%t67 = call ptr @fn_str_concat(ptr @.str2197, ptr %t66)
|
|
%t68 = call ptr @fn_emit_bind(ptr %t67)
|
|
store ptr %t68, ptr %t69
|
|
%t70 = load ptr, ptr %t69
|
|
%t71 = call ptr @fn_str_concat(ptr @.str2198, ptr %t70)
|
|
%t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str2199)
|
|
%t73 = load ptr, ptr %t65
|
|
%t74 = call ptr @fn_str_concat(ptr %t72, ptr %t73)
|
|
%t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str2200)
|
|
%t76 = call ptr @fn_emit_bind(ptr %t75)
|
|
store ptr %t76, ptr %t77
|
|
call void @fn_emit(ptr @.str2201)
|
|
%t78 = load ptr, ptr %t77
|
|
call void @fn_emit(ptr %t78)
|
|
call void @fn_emit(ptr @.str2202)
|
|
%t79 = load ptr, ptr %t10
|
|
call void @fn_emit(ptr %t79)
|
|
call void @fn_emit(ptr @.str2203)
|
|
call void @fn_emit(ptr @.str2204)
|
|
%t80 = load ptr, ptr %t50
|
|
call void @fn_emit(ptr %t80)
|
|
call void @fn_emit(ptr @.str2205)
|
|
%t81 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t81)
|
|
call void @fn_emit(ptr @.str2206)
|
|
call void @fn_emit(ptr @.str2207)
|
|
%t82 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t82)
|
|
call void @fn_emit(ptr @.str2208)
|
|
%t83 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t83)
|
|
call void @fn_emit(ptr @.str2209)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_gep_at(ptr %arg_base, ptr %arg_elt, ptr %arg_idx) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
store ptr %arg_base, ptr %t0
|
|
store ptr %arg_elt, ptr %t1
|
|
store ptr %arg_idx, ptr %t2
|
|
%t3 = load ptr, ptr %t1
|
|
%t4 = call ptr @fn_str_concat(ptr @.str2210, ptr %t3)
|
|
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str2211)
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
|
|
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str2212)
|
|
%t9 = load ptr, ptr %t2
|
|
%t10 = call ptr @fn_str_concat(ptr %t8, ptr %t9)
|
|
%t11 = call ptr @fn_emit_bind(ptr %t10)
|
|
store ptr %t11, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t12 = load ptr, ptr %retval
|
|
ret ptr %t12
|
|
}
|
|
|
|
define ptr @fn_emit_takeright(ptr %arg_elt, i32 %arg_mode, ptr %arg_fnsym, ptr %arg_keyll, ptr %arg_av, ptr %arg_bv) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t4 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t39 = alloca ptr
|
|
%t57 = alloca ptr
|
|
%t71 = alloca ptr
|
|
store ptr %arg_elt, ptr %t0
|
|
store i32 %arg_mode, ptr %t1
|
|
store ptr %arg_fnsym, ptr %t2
|
|
store ptr %arg_keyll, ptr %t3
|
|
store ptr %arg_av, ptr %t4
|
|
store ptr %arg_bv, ptr %t5
|
|
%t6 = load i32, ptr %t1
|
|
%t7 = icmp eq i32 %t6, 3
|
|
%t8 = zext i1 %t7 to i32
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then0, label %ifend2
|
|
then0:
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = call ptr @fn_str_concat(ptr @.str2213, ptr %t10)
|
|
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str2214)
|
|
%t13 = load ptr, ptr %t5
|
|
%t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
|
|
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str2215)
|
|
%t16 = load ptr, ptr %t4
|
|
%t17 = call ptr @fn_str_concat(ptr %t15, ptr %t16)
|
|
%t18 = call ptr @fn_emit_bind(ptr %t17)
|
|
store ptr %t18, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t19 = load i32, ptr %t1
|
|
%t20 = icmp eq i32 %t19, 0
|
|
%t21 = zext i1 %t20 to i32
|
|
%t22 = icmp ne i32 %t21, 0
|
|
br i1 %t22, label %then3, label %ifend5
|
|
then3:
|
|
%t23 = load ptr, ptr %t2
|
|
%t24 = call ptr @fn_str_concat(ptr @.str2216, ptr %t23)
|
|
%t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str2217)
|
|
%t26 = load ptr, ptr %t0
|
|
%t27 = call ptr @fn_str_concat(ptr %t25, ptr %t26)
|
|
%t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str2218)
|
|
%t29 = load ptr, ptr %t4
|
|
%t30 = call ptr @fn_str_concat(ptr %t28, ptr %t29)
|
|
%t31 = call ptr @fn_str_concat(ptr %t30, ptr @.str2219)
|
|
%t32 = load ptr, ptr %t0
|
|
%t33 = call ptr @fn_str_concat(ptr %t31, ptr %t32)
|
|
%t34 = call ptr @fn_str_concat(ptr %t33, ptr @.str2220)
|
|
%t35 = load ptr, ptr %t5
|
|
%t36 = call ptr @fn_str_concat(ptr %t34, ptr %t35)
|
|
%t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str2221)
|
|
%t38 = call ptr @fn_emit_bind(ptr %t37)
|
|
store ptr %t38, ptr %t39
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = call ptr @fn_str_concat(ptr @.str2222, ptr %t40)
|
|
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str2223)
|
|
%t43 = call ptr @fn_emit_bind(ptr %t42)
|
|
store ptr %t43, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t44 = load ptr, ptr %t3
|
|
%t45 = call ptr @fn_str_concat(ptr @.str2224, ptr %t44)
|
|
%t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str2225)
|
|
%t47 = load ptr, ptr %t2
|
|
%t48 = call ptr @fn_str_concat(ptr %t46, ptr %t47)
|
|
%t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str2226)
|
|
%t50 = load ptr, ptr %t0
|
|
%t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50)
|
|
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str2227)
|
|
%t53 = load ptr, ptr %t4
|
|
%t54 = call ptr @fn_str_concat(ptr %t52, ptr %t53)
|
|
%t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str2228)
|
|
%t56 = call ptr @fn_emit_bind(ptr %t55)
|
|
store ptr %t56, ptr %t57
|
|
%t58 = load ptr, ptr %t3
|
|
%t59 = call ptr @fn_str_concat(ptr @.str2229, ptr %t58)
|
|
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str2230)
|
|
%t61 = load ptr, ptr %t2
|
|
%t62 = call ptr @fn_str_concat(ptr %t60, ptr %t61)
|
|
%t63 = call ptr @fn_str_concat(ptr %t62, ptr @.str2231)
|
|
%t64 = load ptr, ptr %t0
|
|
%t65 = call ptr @fn_str_concat(ptr %t63, ptr %t64)
|
|
%t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str2232)
|
|
%t67 = load ptr, ptr %t5
|
|
%t68 = call ptr @fn_str_concat(ptr %t66, ptr %t67)
|
|
%t69 = call ptr @fn_str_concat(ptr %t68, ptr @.str2233)
|
|
%t70 = call ptr @fn_emit_bind(ptr %t69)
|
|
store ptr %t70, ptr %t71
|
|
%t72 = load i32, ptr %t1
|
|
%t73 = icmp eq i32 %t72, 2
|
|
%t74 = zext i1 %t73 to i32
|
|
%t75 = icmp ne i32 %t74, 0
|
|
br i1 %t75, label %then6, label %ifend8
|
|
then6:
|
|
%t76 = load ptr, ptr %t3
|
|
%t77 = call ptr @fn_str_concat(ptr @.str2234, ptr %t76)
|
|
%t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str2235)
|
|
%t79 = load ptr, ptr %t57
|
|
%t80 = call ptr @fn_str_concat(ptr %t78, ptr %t79)
|
|
%t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str2236)
|
|
%t82 = load ptr, ptr %t71
|
|
%t83 = call ptr @fn_str_concat(ptr %t81, ptr %t82)
|
|
%t84 = call ptr @fn_emit_bind(ptr %t83)
|
|
store ptr %t84, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t85 = load ptr, ptr %t3
|
|
%t86 = call ptr @fn_str_concat(ptr @.str2237, ptr %t85)
|
|
%t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str2238)
|
|
%t88 = load ptr, ptr %t57
|
|
%t89 = call ptr @fn_str_concat(ptr %t87, ptr %t88)
|
|
%t90 = call ptr @fn_str_concat(ptr %t89, ptr @.str2239)
|
|
%t91 = load ptr, ptr %t71
|
|
%t92 = call ptr @fn_str_concat(ptr %t90, ptr %t91)
|
|
%t93 = call ptr @fn_emit_bind(ptr %t92)
|
|
store ptr %t93, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t94 = load ptr, ptr %retval
|
|
ret ptr %t94
|
|
}
|
|
|
|
define void @fn_emit_merge_sort(ptr %arg_h, ptr %arg_elt, i32 %arg_mode, ptr %arg_fnsym, ptr %arg_keyll) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca i32
|
|
%t3 = alloca ptr
|
|
%t4 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t11 = alloca ptr
|
|
%t14 = alloca ptr
|
|
%t18 = alloca ptr
|
|
%t21 = alloca ptr
|
|
%t26 = alloca ptr
|
|
%t33 = alloca ptr
|
|
%t38 = alloca ptr
|
|
%t40 = alloca ptr
|
|
%t43 = alloca ptr
|
|
%t45 = alloca ptr
|
|
%t47 = alloca ptr
|
|
%t53 = alloca ptr
|
|
%t60 = alloca ptr
|
|
%t69 = alloca ptr
|
|
%t71 = alloca ptr
|
|
%t74 = alloca ptr
|
|
%t76 = alloca ptr
|
|
%t78 = alloca ptr
|
|
%t84 = alloca ptr
|
|
%t91 = alloca ptr
|
|
%t102 = alloca ptr
|
|
%t109 = alloca ptr
|
|
%t119 = alloca ptr
|
|
%t126 = alloca ptr
|
|
%t133 = alloca ptr
|
|
%t143 = alloca ptr
|
|
%t145 = alloca ptr
|
|
%t149 = alloca ptr
|
|
%t153 = alloca ptr
|
|
%t157 = alloca ptr
|
|
%t159 = alloca ptr
|
|
%t161 = alloca ptr
|
|
%t167 = alloca ptr
|
|
%t171 = alloca ptr
|
|
%t178 = alloca ptr
|
|
%t185 = alloca ptr
|
|
%t192 = alloca ptr
|
|
%t201 = alloca ptr
|
|
%t208 = alloca ptr
|
|
%t213 = alloca ptr
|
|
%t220 = alloca ptr
|
|
%t228 = alloca ptr
|
|
%t232 = alloca ptr
|
|
%t237 = alloca ptr
|
|
%t239 = alloca ptr
|
|
%t241 = alloca ptr
|
|
%t243 = alloca ptr
|
|
%t255 = alloca ptr
|
|
%t267 = alloca ptr
|
|
%t276 = alloca ptr
|
|
%t282 = alloca ptr
|
|
%t284 = alloca ptr
|
|
%t286 = alloca ptr
|
|
%t292 = alloca ptr
|
|
%t299 = alloca ptr
|
|
%t308 = alloca ptr
|
|
%t315 = alloca ptr
|
|
%t319 = alloca ptr
|
|
%t324 = alloca ptr
|
|
%t332 = alloca ptr
|
|
%t339 = alloca ptr
|
|
%t345 = alloca ptr
|
|
%t347 = alloca ptr
|
|
%t349 = alloca ptr
|
|
%t355 = alloca ptr
|
|
%t362 = alloca ptr
|
|
%t371 = alloca ptr
|
|
%t378 = alloca ptr
|
|
%t382 = alloca ptr
|
|
%t387 = alloca ptr
|
|
%t395 = alloca ptr
|
|
%t402 = alloca ptr
|
|
%t408 = alloca ptr
|
|
%t412 = alloca ptr
|
|
%t414 = alloca ptr
|
|
%t416 = alloca ptr
|
|
%t422 = alloca ptr
|
|
%t429 = alloca ptr
|
|
%t438 = alloca ptr
|
|
%t445 = alloca ptr
|
|
%t450 = alloca ptr
|
|
%t458 = alloca ptr
|
|
%t469 = alloca ptr
|
|
store ptr %arg_h, ptr %t0
|
|
store ptr %arg_elt, ptr %t1
|
|
store i32 %arg_mode, ptr %t2
|
|
store ptr %arg_fnsym, ptr %t3
|
|
store ptr %arg_keyll, ptr %t4
|
|
%t5 = load ptr, ptr %t0
|
|
%t6 = call ptr @fn_slice_field(ptr %t5, i32 0)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = call ptr @fn_str_concat(ptr @.str2240, ptr %t8)
|
|
%t10 = call ptr @fn_emit_bind(ptr %t9)
|
|
store ptr %t10, ptr %t11
|
|
%t12 = load ptr, ptr %t0
|
|
%t13 = call ptr @fn_slice_field(ptr %t12, i32 1)
|
|
store ptr %t13, ptr %t14
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = call ptr @fn_str_concat(ptr @.str2241, ptr %t15)
|
|
%t17 = call ptr @fn_emit_bind(ptr %t16)
|
|
store ptr %t17, ptr %t18
|
|
%t19 = load ptr, ptr %t1
|
|
%t20 = call ptr @fn_emit_sizeof(ptr %t19)
|
|
store ptr %t20, ptr %t21
|
|
%t22 = load ptr, ptr %t18
|
|
%t23 = call ptr @fn_str_concat(ptr @.str2242, ptr %t22)
|
|
%t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str2243)
|
|
%t25 = call ptr @fn_emit_bind(ptr %t24)
|
|
store ptr %t25, ptr %t26
|
|
%t27 = load ptr, ptr %t26
|
|
%t28 = call ptr @fn_str_concat(ptr @.str2244, ptr %t27)
|
|
%t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str2245)
|
|
%t30 = load ptr, ptr %t21
|
|
%t31 = call ptr @fn_str_concat(ptr %t29, ptr %t30)
|
|
%t32 = call ptr @fn_emit_bind(ptr %t31)
|
|
store ptr %t32, ptr %t33
|
|
%t34 = load ptr, ptr %t33
|
|
%t35 = call ptr @fn_str_concat(ptr @.str2246, ptr %t34)
|
|
%t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str2247)
|
|
%t37 = call ptr @fn_emit_bind(ptr %t36)
|
|
store ptr %t37, ptr %t38
|
|
%t39 = call ptr @fn_emit_alloca(ptr @.str2248)
|
|
store ptr %t39, ptr %t40
|
|
%t41 = load ptr, ptr %t40
|
|
call void @fn_store_at(ptr @.str2249, ptr @.str2250, ptr %t41)
|
|
%t42 = call ptr @fn_lbl(ptr @.str2251)
|
|
store ptr %t42, ptr %t43
|
|
%t44 = call ptr @fn_lbl(ptr @.str2252)
|
|
store ptr %t44, ptr %t45
|
|
%t46 = call ptr @fn_lbl(ptr @.str2253)
|
|
store ptr %t46, ptr %t47
|
|
call void @fn_emit(ptr @.str2254)
|
|
%t48 = load ptr, ptr %t43
|
|
call void @fn_emit(ptr %t48)
|
|
call void @fn_emit(ptr @.str2255)
|
|
%t49 = load ptr, ptr %t43
|
|
call void @fn_emit(ptr %t49)
|
|
call void @fn_emit(ptr @.str2256)
|
|
%t50 = load ptr, ptr %t40
|
|
%t51 = call ptr @fn_str_concat(ptr @.str2257, ptr %t50)
|
|
%t52 = call ptr @fn_emit_bind(ptr %t51)
|
|
store ptr %t52, ptr %t53
|
|
%t54 = load ptr, ptr %t53
|
|
%t55 = call ptr @fn_str_concat(ptr @.str2258, ptr %t54)
|
|
%t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str2259)
|
|
%t57 = load ptr, ptr %t18
|
|
%t58 = call ptr @fn_str_concat(ptr %t56, ptr %t57)
|
|
%t59 = call ptr @fn_emit_bind(ptr %t58)
|
|
store ptr %t59, ptr %t60
|
|
call void @fn_emit(ptr @.str2260)
|
|
%t61 = load ptr, ptr %t60
|
|
call void @fn_emit(ptr %t61)
|
|
call void @fn_emit(ptr @.str2261)
|
|
%t62 = load ptr, ptr %t45
|
|
call void @fn_emit(ptr %t62)
|
|
call void @fn_emit(ptr @.str2262)
|
|
%t63 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t63)
|
|
call void @fn_emit(ptr @.str2263)
|
|
%t64 = load ptr, ptr %t45
|
|
call void @fn_emit(ptr %t64)
|
|
call void @fn_emit(ptr @.str2264)
|
|
%t65 = load ptr, ptr %t53
|
|
%t66 = call ptr @fn_str_concat(ptr @.str2265, ptr %t65)
|
|
%t67 = call ptr @fn_str_concat(ptr %t66, ptr @.str2266)
|
|
%t68 = call ptr @fn_emit_bind(ptr %t67)
|
|
store ptr %t68, ptr %t69
|
|
%t70 = call ptr @fn_emit_alloca(ptr @.str2267)
|
|
store ptr %t70, ptr %t71
|
|
%t72 = load ptr, ptr %t71
|
|
call void @fn_store_at(ptr @.str2268, ptr @.str2269, ptr %t72)
|
|
%t73 = call ptr @fn_lbl(ptr @.str2270)
|
|
store ptr %t73, ptr %t74
|
|
%t75 = call ptr @fn_lbl(ptr @.str2271)
|
|
store ptr %t75, ptr %t76
|
|
%t77 = call ptr @fn_lbl(ptr @.str2272)
|
|
store ptr %t77, ptr %t78
|
|
call void @fn_emit(ptr @.str2273)
|
|
%t79 = load ptr, ptr %t74
|
|
call void @fn_emit(ptr %t79)
|
|
call void @fn_emit(ptr @.str2274)
|
|
%t80 = load ptr, ptr %t74
|
|
call void @fn_emit(ptr %t80)
|
|
call void @fn_emit(ptr @.str2275)
|
|
%t81 = load ptr, ptr %t71
|
|
%t82 = call ptr @fn_str_concat(ptr @.str2276, ptr %t81)
|
|
%t83 = call ptr @fn_emit_bind(ptr %t82)
|
|
store ptr %t83, ptr %t84
|
|
%t85 = load ptr, ptr %t84
|
|
%t86 = call ptr @fn_str_concat(ptr @.str2277, ptr %t85)
|
|
%t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str2278)
|
|
%t88 = load ptr, ptr %t18
|
|
%t89 = call ptr @fn_str_concat(ptr %t87, ptr %t88)
|
|
%t90 = call ptr @fn_emit_bind(ptr %t89)
|
|
store ptr %t90, ptr %t91
|
|
call void @fn_emit(ptr @.str2279)
|
|
%t92 = load ptr, ptr %t91
|
|
call void @fn_emit(ptr %t92)
|
|
call void @fn_emit(ptr @.str2280)
|
|
%t93 = load ptr, ptr %t76
|
|
call void @fn_emit(ptr %t93)
|
|
call void @fn_emit(ptr @.str2281)
|
|
%t94 = load ptr, ptr %t78
|
|
call void @fn_emit(ptr %t94)
|
|
call void @fn_emit(ptr @.str2282)
|
|
%t95 = load ptr, ptr %t76
|
|
call void @fn_emit(ptr %t95)
|
|
call void @fn_emit(ptr @.str2283)
|
|
%t96 = load ptr, ptr %t84
|
|
%t97 = call ptr @fn_str_concat(ptr @.str2284, ptr %t96)
|
|
%t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str2285)
|
|
%t99 = load ptr, ptr %t53
|
|
%t100 = call ptr @fn_str_concat(ptr %t98, ptr %t99)
|
|
%t101 = call ptr @fn_emit_bind(ptr %t100)
|
|
store ptr %t101, ptr %t102
|
|
%t103 = load ptr, ptr %t102
|
|
%t104 = call ptr @fn_str_concat(ptr @.str2286, ptr %t103)
|
|
%t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str2287)
|
|
%t106 = load ptr, ptr %t18
|
|
%t107 = call ptr @fn_str_concat(ptr %t105, ptr %t106)
|
|
%t108 = call ptr @fn_emit_bind(ptr %t107)
|
|
store ptr %t108, ptr %t109
|
|
%t110 = load ptr, ptr %t109
|
|
%t111 = call ptr @fn_str_concat(ptr @.str2288, ptr %t110)
|
|
%t112 = call ptr @fn_str_concat(ptr %t111, ptr @.str2289)
|
|
%t113 = load ptr, ptr %t102
|
|
%t114 = call ptr @fn_str_concat(ptr %t112, ptr %t113)
|
|
%t115 = call ptr @fn_str_concat(ptr %t114, ptr @.str2290)
|
|
%t116 = load ptr, ptr %t18
|
|
%t117 = call ptr @fn_str_concat(ptr %t115, ptr %t116)
|
|
%t118 = call ptr @fn_emit_bind(ptr %t117)
|
|
store ptr %t118, ptr %t119
|
|
%t120 = load ptr, ptr %t84
|
|
%t121 = call ptr @fn_str_concat(ptr @.str2291, ptr %t120)
|
|
%t122 = call ptr @fn_str_concat(ptr %t121, ptr @.str2292)
|
|
%t123 = load ptr, ptr %t69
|
|
%t124 = call ptr @fn_str_concat(ptr %t122, ptr %t123)
|
|
%t125 = call ptr @fn_emit_bind(ptr %t124)
|
|
store ptr %t125, ptr %t126
|
|
%t127 = load ptr, ptr %t126
|
|
%t128 = call ptr @fn_str_concat(ptr @.str2293, ptr %t127)
|
|
%t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str2294)
|
|
%t130 = load ptr, ptr %t18
|
|
%t131 = call ptr @fn_str_concat(ptr %t129, ptr %t130)
|
|
%t132 = call ptr @fn_emit_bind(ptr %t131)
|
|
store ptr %t132, ptr %t133
|
|
%t134 = load ptr, ptr %t133
|
|
%t135 = call ptr @fn_str_concat(ptr @.str2295, ptr %t134)
|
|
%t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str2296)
|
|
%t137 = load ptr, ptr %t126
|
|
%t138 = call ptr @fn_str_concat(ptr %t136, ptr %t137)
|
|
%t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str2297)
|
|
%t140 = load ptr, ptr %t18
|
|
%t141 = call ptr @fn_str_concat(ptr %t139, ptr %t140)
|
|
%t142 = call ptr @fn_emit_bind(ptr %t141)
|
|
store ptr %t142, ptr %t143
|
|
%t144 = call ptr @fn_emit_alloca(ptr @.str2298)
|
|
store ptr %t144, ptr %t145
|
|
%t146 = load ptr, ptr %t84
|
|
%t147 = load ptr, ptr %t145
|
|
call void @fn_store_at(ptr @.str2299, ptr %t146, ptr %t147)
|
|
%t148 = call ptr @fn_emit_alloca(ptr @.str2300)
|
|
store ptr %t148, ptr %t149
|
|
%t150 = load ptr, ptr %t119
|
|
%t151 = load ptr, ptr %t149
|
|
call void @fn_store_at(ptr @.str2301, ptr %t150, ptr %t151)
|
|
%t152 = call ptr @fn_emit_alloca(ptr @.str2302)
|
|
store ptr %t152, ptr %t153
|
|
%t154 = load ptr, ptr %t84
|
|
%t155 = load ptr, ptr %t153
|
|
call void @fn_store_at(ptr @.str2303, ptr %t154, ptr %t155)
|
|
%t156 = call ptr @fn_lbl(ptr @.str2304)
|
|
store ptr %t156, ptr %t157
|
|
%t158 = call ptr @fn_lbl(ptr @.str2305)
|
|
store ptr %t158, ptr %t159
|
|
%t160 = call ptr @fn_lbl(ptr @.str2306)
|
|
store ptr %t160, ptr %t161
|
|
call void @fn_emit(ptr @.str2307)
|
|
%t162 = load ptr, ptr %t157
|
|
call void @fn_emit(ptr %t162)
|
|
call void @fn_emit(ptr @.str2308)
|
|
%t163 = load ptr, ptr %t157
|
|
call void @fn_emit(ptr %t163)
|
|
call void @fn_emit(ptr @.str2309)
|
|
%t164 = load ptr, ptr %t145
|
|
%t165 = call ptr @fn_str_concat(ptr @.str2310, ptr %t164)
|
|
%t166 = call ptr @fn_emit_bind(ptr %t165)
|
|
store ptr %t166, ptr %t167
|
|
%t168 = load ptr, ptr %t149
|
|
%t169 = call ptr @fn_str_concat(ptr @.str2311, ptr %t168)
|
|
%t170 = call ptr @fn_emit_bind(ptr %t169)
|
|
store ptr %t170, ptr %t171
|
|
%t172 = load ptr, ptr %t167
|
|
%t173 = call ptr @fn_str_concat(ptr @.str2312, ptr %t172)
|
|
%t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str2313)
|
|
%t175 = load ptr, ptr %t119
|
|
%t176 = call ptr @fn_str_concat(ptr %t174, ptr %t175)
|
|
%t177 = call ptr @fn_emit_bind(ptr %t176)
|
|
store ptr %t177, ptr %t178
|
|
%t179 = load ptr, ptr %t171
|
|
%t180 = call ptr @fn_str_concat(ptr @.str2314, ptr %t179)
|
|
%t181 = call ptr @fn_str_concat(ptr %t180, ptr @.str2315)
|
|
%t182 = load ptr, ptr %t143
|
|
%t183 = call ptr @fn_str_concat(ptr %t181, ptr %t182)
|
|
%t184 = call ptr @fn_emit_bind(ptr %t183)
|
|
store ptr %t184, ptr %t185
|
|
%t186 = load ptr, ptr %t178
|
|
%t187 = call ptr @fn_str_concat(ptr @.str2316, ptr %t186)
|
|
%t188 = call ptr @fn_str_concat(ptr %t187, ptr @.str2317)
|
|
%t189 = load ptr, ptr %t185
|
|
%t190 = call ptr @fn_str_concat(ptr %t188, ptr %t189)
|
|
%t191 = call ptr @fn_emit_bind(ptr %t190)
|
|
store ptr %t191, ptr %t192
|
|
call void @fn_emit(ptr @.str2318)
|
|
%t193 = load ptr, ptr %t192
|
|
call void @fn_emit(ptr %t193)
|
|
call void @fn_emit(ptr @.str2319)
|
|
%t194 = load ptr, ptr %t159
|
|
call void @fn_emit(ptr %t194)
|
|
call void @fn_emit(ptr @.str2320)
|
|
%t195 = load ptr, ptr %t161
|
|
call void @fn_emit(ptr %t195)
|
|
call void @fn_emit(ptr @.str2321)
|
|
%t196 = load ptr, ptr %t159
|
|
call void @fn_emit(ptr %t196)
|
|
call void @fn_emit(ptr @.str2322)
|
|
%t197 = load ptr, ptr %t11
|
|
%t198 = load ptr, ptr %t1
|
|
%t199 = load ptr, ptr %t167
|
|
%t200 = call ptr @fn_gep_at(ptr %t197, ptr %t198, ptr %t199)
|
|
store ptr %t200, ptr %t201
|
|
%t202 = load ptr, ptr %t1
|
|
%t203 = call ptr @fn_str_concat(ptr @.str2323, ptr %t202)
|
|
%t204 = call ptr @fn_str_concat(ptr %t203, ptr @.str2324)
|
|
%t205 = load ptr, ptr %t201
|
|
%t206 = call ptr @fn_str_concat(ptr %t204, ptr %t205)
|
|
%t207 = call ptr @fn_emit_bind(ptr %t206)
|
|
store ptr %t207, ptr %t208
|
|
%t209 = load ptr, ptr %t11
|
|
%t210 = load ptr, ptr %t1
|
|
%t211 = load ptr, ptr %t171
|
|
%t212 = call ptr @fn_gep_at(ptr %t209, ptr %t210, ptr %t211)
|
|
store ptr %t212, ptr %t213
|
|
%t214 = load ptr, ptr %t1
|
|
%t215 = call ptr @fn_str_concat(ptr @.str2325, ptr %t214)
|
|
%t216 = call ptr @fn_str_concat(ptr %t215, ptr @.str2326)
|
|
%t217 = load ptr, ptr %t213
|
|
%t218 = call ptr @fn_str_concat(ptr %t216, ptr %t217)
|
|
%t219 = call ptr @fn_emit_bind(ptr %t218)
|
|
store ptr %t219, ptr %t220
|
|
%t221 = load ptr, ptr %t1
|
|
%t222 = load i32, ptr %t2
|
|
%t223 = load ptr, ptr %t3
|
|
%t224 = load ptr, ptr %t4
|
|
%t225 = load ptr, ptr %t208
|
|
%t226 = load ptr, ptr %t220
|
|
%t227 = call ptr @fn_emit_takeright(ptr %t221, i32 %t222, ptr %t223, ptr %t224, ptr %t225, ptr %t226)
|
|
store ptr %t227, ptr %t228
|
|
%t229 = load ptr, ptr %t153
|
|
%t230 = call ptr @fn_str_concat(ptr @.str2327, ptr %t229)
|
|
%t231 = call ptr @fn_emit_bind(ptr %t230)
|
|
store ptr %t231, ptr %t232
|
|
%t233 = load ptr, ptr %t38
|
|
%t234 = load ptr, ptr %t1
|
|
%t235 = load ptr, ptr %t232
|
|
%t236 = call ptr @fn_gep_at(ptr %t233, ptr %t234, ptr %t235)
|
|
store ptr %t236, ptr %t237
|
|
%t238 = call ptr @fn_lbl(ptr @.str2328)
|
|
store ptr %t238, ptr %t239
|
|
%t240 = call ptr @fn_lbl(ptr @.str2329)
|
|
store ptr %t240, ptr %t241
|
|
%t242 = call ptr @fn_lbl(ptr @.str2330)
|
|
store ptr %t242, ptr %t243
|
|
call void @fn_emit(ptr @.str2331)
|
|
%t244 = load ptr, ptr %t228
|
|
call void @fn_emit(ptr %t244)
|
|
call void @fn_emit(ptr @.str2332)
|
|
%t245 = load ptr, ptr %t239
|
|
call void @fn_emit(ptr %t245)
|
|
call void @fn_emit(ptr @.str2333)
|
|
%t246 = load ptr, ptr %t241
|
|
call void @fn_emit(ptr %t246)
|
|
call void @fn_emit(ptr @.str2334)
|
|
%t247 = load ptr, ptr %t239
|
|
call void @fn_emit(ptr %t247)
|
|
call void @fn_emit(ptr @.str2335)
|
|
call void @fn_emit(ptr @.str2336)
|
|
%t248 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t248)
|
|
call void @fn_emit(ptr @.str2337)
|
|
%t249 = load ptr, ptr %t220
|
|
call void @fn_emit(ptr %t249)
|
|
call void @fn_emit(ptr @.str2338)
|
|
%t250 = load ptr, ptr %t237
|
|
call void @fn_emit(ptr %t250)
|
|
call void @fn_emit(ptr @.str2339)
|
|
%t251 = load ptr, ptr %t171
|
|
%t252 = call ptr @fn_str_concat(ptr @.str2340, ptr %t251)
|
|
%t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str2341)
|
|
%t254 = call ptr @fn_emit_bind(ptr %t253)
|
|
store ptr %t254, ptr %t255
|
|
%t256 = load ptr, ptr %t255
|
|
%t257 = load ptr, ptr %t149
|
|
call void @fn_store_at(ptr @.str2342, ptr %t256, ptr %t257)
|
|
call void @fn_emit(ptr @.str2343)
|
|
%t258 = load ptr, ptr %t243
|
|
call void @fn_emit(ptr %t258)
|
|
call void @fn_emit(ptr @.str2344)
|
|
%t259 = load ptr, ptr %t241
|
|
call void @fn_emit(ptr %t259)
|
|
call void @fn_emit(ptr @.str2345)
|
|
call void @fn_emit(ptr @.str2346)
|
|
%t260 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t260)
|
|
call void @fn_emit(ptr @.str2347)
|
|
%t261 = load ptr, ptr %t208
|
|
call void @fn_emit(ptr %t261)
|
|
call void @fn_emit(ptr @.str2348)
|
|
%t262 = load ptr, ptr %t237
|
|
call void @fn_emit(ptr %t262)
|
|
call void @fn_emit(ptr @.str2349)
|
|
%t263 = load ptr, ptr %t167
|
|
%t264 = call ptr @fn_str_concat(ptr @.str2350, ptr %t263)
|
|
%t265 = call ptr @fn_str_concat(ptr %t264, ptr @.str2351)
|
|
%t266 = call ptr @fn_emit_bind(ptr %t265)
|
|
store ptr %t266, ptr %t267
|
|
%t268 = load ptr, ptr %t267
|
|
%t269 = load ptr, ptr %t145
|
|
call void @fn_store_at(ptr @.str2352, ptr %t268, ptr %t269)
|
|
call void @fn_emit(ptr @.str2353)
|
|
%t270 = load ptr, ptr %t243
|
|
call void @fn_emit(ptr %t270)
|
|
call void @fn_emit(ptr @.str2354)
|
|
%t271 = load ptr, ptr %t243
|
|
call void @fn_emit(ptr %t271)
|
|
call void @fn_emit(ptr @.str2355)
|
|
%t272 = load ptr, ptr %t232
|
|
%t273 = call ptr @fn_str_concat(ptr @.str2356, ptr %t272)
|
|
%t274 = call ptr @fn_str_concat(ptr %t273, ptr @.str2357)
|
|
%t275 = call ptr @fn_emit_bind(ptr %t274)
|
|
store ptr %t275, ptr %t276
|
|
%t277 = load ptr, ptr %t276
|
|
%t278 = load ptr, ptr %t153
|
|
call void @fn_store_at(ptr @.str2358, ptr %t277, ptr %t278)
|
|
call void @fn_emit(ptr @.str2359)
|
|
%t279 = load ptr, ptr %t157
|
|
call void @fn_emit(ptr %t279)
|
|
call void @fn_emit(ptr @.str2360)
|
|
%t280 = load ptr, ptr %t161
|
|
call void @fn_emit(ptr %t280)
|
|
call void @fn_emit(ptr @.str2361)
|
|
%t281 = call ptr @fn_lbl(ptr @.str2362)
|
|
store ptr %t281, ptr %t282
|
|
%t283 = call ptr @fn_lbl(ptr @.str2363)
|
|
store ptr %t283, ptr %t284
|
|
%t285 = call ptr @fn_lbl(ptr @.str2364)
|
|
store ptr %t285, ptr %t286
|
|
call void @fn_emit(ptr @.str2365)
|
|
%t287 = load ptr, ptr %t282
|
|
call void @fn_emit(ptr %t287)
|
|
call void @fn_emit(ptr @.str2366)
|
|
%t288 = load ptr, ptr %t282
|
|
call void @fn_emit(ptr %t288)
|
|
call void @fn_emit(ptr @.str2367)
|
|
%t289 = load ptr, ptr %t145
|
|
%t290 = call ptr @fn_str_concat(ptr @.str2368, ptr %t289)
|
|
%t291 = call ptr @fn_emit_bind(ptr %t290)
|
|
store ptr %t291, ptr %t292
|
|
%t293 = load ptr, ptr %t292
|
|
%t294 = call ptr @fn_str_concat(ptr @.str2369, ptr %t293)
|
|
%t295 = call ptr @fn_str_concat(ptr %t294, ptr @.str2370)
|
|
%t296 = load ptr, ptr %t119
|
|
%t297 = call ptr @fn_str_concat(ptr %t295, ptr %t296)
|
|
%t298 = call ptr @fn_emit_bind(ptr %t297)
|
|
store ptr %t298, ptr %t299
|
|
call void @fn_emit(ptr @.str2371)
|
|
%t300 = load ptr, ptr %t299
|
|
call void @fn_emit(ptr %t300)
|
|
call void @fn_emit(ptr @.str2372)
|
|
%t301 = load ptr, ptr %t284
|
|
call void @fn_emit(ptr %t301)
|
|
call void @fn_emit(ptr @.str2373)
|
|
%t302 = load ptr, ptr %t286
|
|
call void @fn_emit(ptr %t302)
|
|
call void @fn_emit(ptr @.str2374)
|
|
%t303 = load ptr, ptr %t284
|
|
call void @fn_emit(ptr %t303)
|
|
call void @fn_emit(ptr @.str2375)
|
|
%t304 = load ptr, ptr %t11
|
|
%t305 = load ptr, ptr %t1
|
|
%t306 = load ptr, ptr %t292
|
|
%t307 = call ptr @fn_gep_at(ptr %t304, ptr %t305, ptr %t306)
|
|
store ptr %t307, ptr %t308
|
|
%t309 = load ptr, ptr %t1
|
|
%t310 = call ptr @fn_str_concat(ptr @.str2376, ptr %t309)
|
|
%t311 = call ptr @fn_str_concat(ptr %t310, ptr @.str2377)
|
|
%t312 = load ptr, ptr %t308
|
|
%t313 = call ptr @fn_str_concat(ptr %t311, ptr %t312)
|
|
%t314 = call ptr @fn_emit_bind(ptr %t313)
|
|
store ptr %t314, ptr %t315
|
|
%t316 = load ptr, ptr %t153
|
|
%t317 = call ptr @fn_str_concat(ptr @.str2378, ptr %t316)
|
|
%t318 = call ptr @fn_emit_bind(ptr %t317)
|
|
store ptr %t318, ptr %t319
|
|
%t320 = load ptr, ptr %t38
|
|
%t321 = load ptr, ptr %t1
|
|
%t322 = load ptr, ptr %t319
|
|
%t323 = call ptr @fn_gep_at(ptr %t320, ptr %t321, ptr %t322)
|
|
store ptr %t323, ptr %t324
|
|
call void @fn_emit(ptr @.str2379)
|
|
%t325 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t325)
|
|
call void @fn_emit(ptr @.str2380)
|
|
%t326 = load ptr, ptr %t315
|
|
call void @fn_emit(ptr %t326)
|
|
call void @fn_emit(ptr @.str2381)
|
|
%t327 = load ptr, ptr %t324
|
|
call void @fn_emit(ptr %t327)
|
|
call void @fn_emit(ptr @.str2382)
|
|
%t328 = load ptr, ptr %t292
|
|
%t329 = call ptr @fn_str_concat(ptr @.str2383, ptr %t328)
|
|
%t330 = call ptr @fn_str_concat(ptr %t329, ptr @.str2384)
|
|
%t331 = call ptr @fn_emit_bind(ptr %t330)
|
|
store ptr %t331, ptr %t332
|
|
%t333 = load ptr, ptr %t332
|
|
%t334 = load ptr, ptr %t145
|
|
call void @fn_store_at(ptr @.str2385, ptr %t333, ptr %t334)
|
|
%t335 = load ptr, ptr %t319
|
|
%t336 = call ptr @fn_str_concat(ptr @.str2386, ptr %t335)
|
|
%t337 = call ptr @fn_str_concat(ptr %t336, ptr @.str2387)
|
|
%t338 = call ptr @fn_emit_bind(ptr %t337)
|
|
store ptr %t338, ptr %t339
|
|
%t340 = load ptr, ptr %t339
|
|
%t341 = load ptr, ptr %t153
|
|
call void @fn_store_at(ptr @.str2388, ptr %t340, ptr %t341)
|
|
call void @fn_emit(ptr @.str2389)
|
|
%t342 = load ptr, ptr %t282
|
|
call void @fn_emit(ptr %t342)
|
|
call void @fn_emit(ptr @.str2390)
|
|
%t343 = load ptr, ptr %t286
|
|
call void @fn_emit(ptr %t343)
|
|
call void @fn_emit(ptr @.str2391)
|
|
%t344 = call ptr @fn_lbl(ptr @.str2392)
|
|
store ptr %t344, ptr %t345
|
|
%t346 = call ptr @fn_lbl(ptr @.str2393)
|
|
store ptr %t346, ptr %t347
|
|
%t348 = call ptr @fn_lbl(ptr @.str2394)
|
|
store ptr %t348, ptr %t349
|
|
call void @fn_emit(ptr @.str2395)
|
|
%t350 = load ptr, ptr %t345
|
|
call void @fn_emit(ptr %t350)
|
|
call void @fn_emit(ptr @.str2396)
|
|
%t351 = load ptr, ptr %t345
|
|
call void @fn_emit(ptr %t351)
|
|
call void @fn_emit(ptr @.str2397)
|
|
%t352 = load ptr, ptr %t149
|
|
%t353 = call ptr @fn_str_concat(ptr @.str2398, ptr %t352)
|
|
%t354 = call ptr @fn_emit_bind(ptr %t353)
|
|
store ptr %t354, ptr %t355
|
|
%t356 = load ptr, ptr %t355
|
|
%t357 = call ptr @fn_str_concat(ptr @.str2399, ptr %t356)
|
|
%t358 = call ptr @fn_str_concat(ptr %t357, ptr @.str2400)
|
|
%t359 = load ptr, ptr %t143
|
|
%t360 = call ptr @fn_str_concat(ptr %t358, ptr %t359)
|
|
%t361 = call ptr @fn_emit_bind(ptr %t360)
|
|
store ptr %t361, ptr %t362
|
|
call void @fn_emit(ptr @.str2401)
|
|
%t363 = load ptr, ptr %t362
|
|
call void @fn_emit(ptr %t363)
|
|
call void @fn_emit(ptr @.str2402)
|
|
%t364 = load ptr, ptr %t347
|
|
call void @fn_emit(ptr %t364)
|
|
call void @fn_emit(ptr @.str2403)
|
|
%t365 = load ptr, ptr %t349
|
|
call void @fn_emit(ptr %t365)
|
|
call void @fn_emit(ptr @.str2404)
|
|
%t366 = load ptr, ptr %t347
|
|
call void @fn_emit(ptr %t366)
|
|
call void @fn_emit(ptr @.str2405)
|
|
%t367 = load ptr, ptr %t11
|
|
%t368 = load ptr, ptr %t1
|
|
%t369 = load ptr, ptr %t355
|
|
%t370 = call ptr @fn_gep_at(ptr %t367, ptr %t368, ptr %t369)
|
|
store ptr %t370, ptr %t371
|
|
%t372 = load ptr, ptr %t1
|
|
%t373 = call ptr @fn_str_concat(ptr @.str2406, ptr %t372)
|
|
%t374 = call ptr @fn_str_concat(ptr %t373, ptr @.str2407)
|
|
%t375 = load ptr, ptr %t371
|
|
%t376 = call ptr @fn_str_concat(ptr %t374, ptr %t375)
|
|
%t377 = call ptr @fn_emit_bind(ptr %t376)
|
|
store ptr %t377, ptr %t378
|
|
%t379 = load ptr, ptr %t153
|
|
%t380 = call ptr @fn_str_concat(ptr @.str2408, ptr %t379)
|
|
%t381 = call ptr @fn_emit_bind(ptr %t380)
|
|
store ptr %t381, ptr %t382
|
|
%t383 = load ptr, ptr %t38
|
|
%t384 = load ptr, ptr %t1
|
|
%t385 = load ptr, ptr %t382
|
|
%t386 = call ptr @fn_gep_at(ptr %t383, ptr %t384, ptr %t385)
|
|
store ptr %t386, ptr %t387
|
|
call void @fn_emit(ptr @.str2409)
|
|
%t388 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t388)
|
|
call void @fn_emit(ptr @.str2410)
|
|
%t389 = load ptr, ptr %t378
|
|
call void @fn_emit(ptr %t389)
|
|
call void @fn_emit(ptr @.str2411)
|
|
%t390 = load ptr, ptr %t387
|
|
call void @fn_emit(ptr %t390)
|
|
call void @fn_emit(ptr @.str2412)
|
|
%t391 = load ptr, ptr %t355
|
|
%t392 = call ptr @fn_str_concat(ptr @.str2413, ptr %t391)
|
|
%t393 = call ptr @fn_str_concat(ptr %t392, ptr @.str2414)
|
|
%t394 = call ptr @fn_emit_bind(ptr %t393)
|
|
store ptr %t394, ptr %t395
|
|
%t396 = load ptr, ptr %t395
|
|
%t397 = load ptr, ptr %t149
|
|
call void @fn_store_at(ptr @.str2415, ptr %t396, ptr %t397)
|
|
%t398 = load ptr, ptr %t382
|
|
%t399 = call ptr @fn_str_concat(ptr @.str2416, ptr %t398)
|
|
%t400 = call ptr @fn_str_concat(ptr %t399, ptr @.str2417)
|
|
%t401 = call ptr @fn_emit_bind(ptr %t400)
|
|
store ptr %t401, ptr %t402
|
|
%t403 = load ptr, ptr %t402
|
|
%t404 = load ptr, ptr %t153
|
|
call void @fn_store_at(ptr @.str2418, ptr %t403, ptr %t404)
|
|
call void @fn_emit(ptr @.str2419)
|
|
%t405 = load ptr, ptr %t345
|
|
call void @fn_emit(ptr %t405)
|
|
call void @fn_emit(ptr @.str2420)
|
|
%t406 = load ptr, ptr %t349
|
|
call void @fn_emit(ptr %t406)
|
|
call void @fn_emit(ptr @.str2421)
|
|
%t407 = call ptr @fn_emit_alloca(ptr @.str2422)
|
|
store ptr %t407, ptr %t408
|
|
%t409 = load ptr, ptr %t84
|
|
%t410 = load ptr, ptr %t408
|
|
call void @fn_store_at(ptr @.str2423, ptr %t409, ptr %t410)
|
|
%t411 = call ptr @fn_lbl(ptr @.str2424)
|
|
store ptr %t411, ptr %t412
|
|
%t413 = call ptr @fn_lbl(ptr @.str2425)
|
|
store ptr %t413, ptr %t414
|
|
%t415 = call ptr @fn_lbl(ptr @.str2426)
|
|
store ptr %t415, ptr %t416
|
|
call void @fn_emit(ptr @.str2427)
|
|
%t417 = load ptr, ptr %t412
|
|
call void @fn_emit(ptr %t417)
|
|
call void @fn_emit(ptr @.str2428)
|
|
%t418 = load ptr, ptr %t412
|
|
call void @fn_emit(ptr %t418)
|
|
call void @fn_emit(ptr @.str2429)
|
|
%t419 = load ptr, ptr %t408
|
|
%t420 = call ptr @fn_str_concat(ptr @.str2430, ptr %t419)
|
|
%t421 = call ptr @fn_emit_bind(ptr %t420)
|
|
store ptr %t421, ptr %t422
|
|
%t423 = load ptr, ptr %t422
|
|
%t424 = call ptr @fn_str_concat(ptr @.str2431, ptr %t423)
|
|
%t425 = call ptr @fn_str_concat(ptr %t424, ptr @.str2432)
|
|
%t426 = load ptr, ptr %t143
|
|
%t427 = call ptr @fn_str_concat(ptr %t425, ptr %t426)
|
|
%t428 = call ptr @fn_emit_bind(ptr %t427)
|
|
store ptr %t428, ptr %t429
|
|
call void @fn_emit(ptr @.str2433)
|
|
%t430 = load ptr, ptr %t429
|
|
call void @fn_emit(ptr %t430)
|
|
call void @fn_emit(ptr @.str2434)
|
|
%t431 = load ptr, ptr %t414
|
|
call void @fn_emit(ptr %t431)
|
|
call void @fn_emit(ptr @.str2435)
|
|
%t432 = load ptr, ptr %t416
|
|
call void @fn_emit(ptr %t432)
|
|
call void @fn_emit(ptr @.str2436)
|
|
%t433 = load ptr, ptr %t414
|
|
call void @fn_emit(ptr %t433)
|
|
call void @fn_emit(ptr @.str2437)
|
|
%t434 = load ptr, ptr %t38
|
|
%t435 = load ptr, ptr %t1
|
|
%t436 = load ptr, ptr %t422
|
|
%t437 = call ptr @fn_gep_at(ptr %t434, ptr %t435, ptr %t436)
|
|
store ptr %t437, ptr %t438
|
|
%t439 = load ptr, ptr %t1
|
|
%t440 = call ptr @fn_str_concat(ptr @.str2438, ptr %t439)
|
|
%t441 = call ptr @fn_str_concat(ptr %t440, ptr @.str2439)
|
|
%t442 = load ptr, ptr %t438
|
|
%t443 = call ptr @fn_str_concat(ptr %t441, ptr %t442)
|
|
%t444 = call ptr @fn_emit_bind(ptr %t443)
|
|
store ptr %t444, ptr %t445
|
|
%t446 = load ptr, ptr %t11
|
|
%t447 = load ptr, ptr %t1
|
|
%t448 = load ptr, ptr %t422
|
|
%t449 = call ptr @fn_gep_at(ptr %t446, ptr %t447, ptr %t448)
|
|
store ptr %t449, ptr %t450
|
|
call void @fn_emit(ptr @.str2440)
|
|
%t451 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t451)
|
|
call void @fn_emit(ptr @.str2441)
|
|
%t452 = load ptr, ptr %t445
|
|
call void @fn_emit(ptr %t452)
|
|
call void @fn_emit(ptr @.str2442)
|
|
%t453 = load ptr, ptr %t450
|
|
call void @fn_emit(ptr %t453)
|
|
call void @fn_emit(ptr @.str2443)
|
|
%t454 = load ptr, ptr %t422
|
|
%t455 = call ptr @fn_str_concat(ptr @.str2444, ptr %t454)
|
|
%t456 = call ptr @fn_str_concat(ptr %t455, ptr @.str2445)
|
|
%t457 = call ptr @fn_emit_bind(ptr %t456)
|
|
store ptr %t457, ptr %t458
|
|
%t459 = load ptr, ptr %t458
|
|
%t460 = load ptr, ptr %t408
|
|
call void @fn_store_at(ptr @.str2446, ptr %t459, ptr %t460)
|
|
call void @fn_emit(ptr @.str2447)
|
|
%t461 = load ptr, ptr %t412
|
|
call void @fn_emit(ptr %t461)
|
|
call void @fn_emit(ptr @.str2448)
|
|
%t462 = load ptr, ptr %t416
|
|
call void @fn_emit(ptr %t462)
|
|
call void @fn_emit(ptr @.str2449)
|
|
%t463 = load ptr, ptr %t84
|
|
%t464 = call ptr @fn_str_concat(ptr @.str2450, ptr %t463)
|
|
%t465 = call ptr @fn_str_concat(ptr %t464, ptr @.str2451)
|
|
%t466 = load ptr, ptr %t69
|
|
%t467 = call ptr @fn_str_concat(ptr %t465, ptr %t466)
|
|
%t468 = call ptr @fn_emit_bind(ptr %t467)
|
|
store ptr %t468, ptr %t469
|
|
%t470 = load ptr, ptr %t469
|
|
%t471 = load ptr, ptr %t71
|
|
call void @fn_store_at(ptr @.str2452, ptr %t470, ptr %t471)
|
|
call void @fn_emit(ptr @.str2453)
|
|
%t472 = load ptr, ptr %t74
|
|
call void @fn_emit(ptr %t472)
|
|
call void @fn_emit(ptr @.str2454)
|
|
%t473 = load ptr, ptr %t78
|
|
call void @fn_emit(ptr %t473)
|
|
call void @fn_emit(ptr @.str2455)
|
|
%t474 = load ptr, ptr %t69
|
|
%t475 = load ptr, ptr %t40
|
|
call void @fn_store_at(ptr @.str2456, ptr %t474, ptr %t475)
|
|
call void @fn_emit(ptr @.str2457)
|
|
%t476 = load ptr, ptr %t43
|
|
call void @fn_emit(ptr %t476)
|
|
call void @fn_emit(ptr @.str2458)
|
|
%t477 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t477)
|
|
call void @fn_emit(ptr @.str2459)
|
|
call void @fn_emit(ptr @.str2460)
|
|
%t478 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t478)
|
|
call void @fn_emit(ptr @.str2461)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_sort_fn_arg(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t37 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
%t2 = load ptr, ptr %t1
|
|
%t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
|
|
%t6 = load i32, ptr %t5
|
|
%t7 = icmp slt i32 %t6, 2
|
|
%t8 = zext i1 %t7 to i32
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then0, label %ifend2
|
|
then0:
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = call ptr @fn_str_concat(ptr @.str2462, ptr %t10)
|
|
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str2463)
|
|
call void @fn_perr(ptr %t12)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t13 = load ptr, ptr %t1
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0
|
|
%t17 = load ptr, ptr %t16
|
|
%t18 = getelementptr inbounds ptr, ptr %t17, i32 1
|
|
%t19 = load ptr, ptr %t18
|
|
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0
|
|
%t21 = load i32, ptr %t20
|
|
%t22 = icmp ne i32 %t21, 33
|
|
%t23 = zext i1 %t22 to i32
|
|
%t24 = icmp ne i32 %t23, 0
|
|
br i1 %t24, label %then3, label %ifend5
|
|
then3:
|
|
%t25 = load ptr, ptr %t0
|
|
%t26 = call ptr @fn_str_concat(ptr @.str2464, ptr %t25)
|
|
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str2465)
|
|
call void @fn_perr(ptr %t27)
|
|
br label %ifend5
|
|
ifend5:
|
|
%t28 = load ptr, ptr %t1
|
|
%t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 7
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = getelementptr inbounds ptr, ptr %t32, i32 1
|
|
%t34 = load ptr, ptr %t33
|
|
%t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1
|
|
%t36 = load ptr, ptr %t35
|
|
store ptr %t36, ptr %t37
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = call ptr @fn_find_fn(ptr %t38)
|
|
%t40 = icmp eq ptr %t39, null
|
|
%t41 = zext i1 %t40 to i32
|
|
%t42 = icmp ne i32 %t41, 0
|
|
br i1 %t42, label %then6, label %ifend8
|
|
then6:
|
|
%t43 = load ptr, ptr %t0
|
|
%t44 = call ptr @fn_str_concat(ptr @.str2466, ptr %t43)
|
|
%t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str2467)
|
|
%t46 = load ptr, ptr %t37
|
|
%t47 = call ptr @fn_str_concat(ptr %t45, ptr %t46)
|
|
%t48 = call ptr @fn_str_concat(ptr %t47, ptr @.str2468)
|
|
call void @fn_perr(ptr %t48)
|
|
br label %ifend8
|
|
ifend8:
|
|
%t49 = load ptr, ptr %t37
|
|
store ptr %t49, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t50 = load ptr, ptr %retval
|
|
ret ptr %t50
|
|
}
|
|
|
|
define ptr @fn_emit_list_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t20 = alloca ptr
|
|
%t35 = alloca ptr
|
|
%t38 = alloca ptr
|
|
%t42 = alloca ptr
|
|
%t45 = alloca ptr
|
|
%t57 = alloca ptr
|
|
%t72 = alloca ptr
|
|
%t77 = alloca ptr
|
|
%t82 = alloca ptr
|
|
%t97 = alloca ptr
|
|
%t102 = alloca ptr
|
|
%t107 = alloca ptr
|
|
%t114 = alloca ptr
|
|
%t131 = alloca ptr
|
|
%t140 = alloca ptr
|
|
%t147 = alloca ptr
|
|
%t154 = alloca ptr
|
|
%t161 = alloca ptr
|
|
%t168 = alloca ptr
|
|
%t176 = alloca i32
|
|
%t195 = alloca ptr
|
|
%t199 = alloca ptr
|
|
%t201 = alloca ptr
|
|
%t204 = alloca ptr
|
|
%t207 = alloca ptr
|
|
%t209 = alloca ptr
|
|
%t211 = alloca ptr
|
|
%t213 = alloca ptr
|
|
%t215 = alloca ptr
|
|
%t221 = alloca ptr
|
|
%t228 = alloca ptr
|
|
%t237 = alloca ptr
|
|
%t244 = alloca ptr
|
|
%t256 = alloca ptr
|
|
%t269 = alloca ptr
|
|
%t277 = alloca ptr
|
|
%t287 = alloca ptr
|
|
%t304 = alloca ptr
|
|
%t313 = alloca ptr
|
|
%t319 = alloca ptr
|
|
%t321 = alloca ptr
|
|
%t325 = alloca ptr
|
|
%t327 = alloca ptr
|
|
%t329 = alloca ptr
|
|
%t335 = alloca ptr
|
|
%t344 = alloca ptr
|
|
%t353 = alloca ptr
|
|
%t358 = alloca ptr
|
|
%t365 = alloca ptr
|
|
%t370 = alloca ptr
|
|
%t384 = alloca ptr
|
|
%t394 = alloca ptr
|
|
%t409 = alloca ptr
|
|
%t413 = alloca ptr
|
|
%t418 = alloca ptr
|
|
%t420 = alloca ptr
|
|
%t426 = alloca ptr
|
|
%t428 = alloca ptr
|
|
%t430 = alloca ptr
|
|
%t436 = alloca ptr
|
|
%t443 = alloca ptr
|
|
%t452 = alloca ptr
|
|
%t457 = alloca ptr
|
|
%t464 = alloca ptr
|
|
%t469 = alloca ptr
|
|
%t491 = alloca ptr
|
|
%t495 = alloca ptr
|
|
%t497 = alloca ptr
|
|
%t500 = alloca ptr
|
|
%t503 = alloca ptr
|
|
%t505 = alloca ptr
|
|
%t507 = alloca ptr
|
|
%t509 = alloca ptr
|
|
%t511 = alloca ptr
|
|
%t517 = alloca ptr
|
|
%t524 = alloca ptr
|
|
%t528 = alloca ptr
|
|
%t533 = alloca ptr
|
|
%t540 = alloca ptr
|
|
%t549 = alloca ptr
|
|
%t556 = alloca ptr
|
|
%t568 = alloca ptr
|
|
%t581 = alloca ptr
|
|
%t589 = alloca ptr
|
|
%t594 = alloca ptr
|
|
%t596 = alloca ptr
|
|
%t598 = alloca ptr
|
|
%t607 = alloca ptr
|
|
%t609 = alloca ptr
|
|
%t613 = alloca ptr
|
|
%t615 = alloca ptr
|
|
%t617 = alloca ptr
|
|
%t623 = alloca ptr
|
|
%t630 = alloca ptr
|
|
%t639 = alloca ptr
|
|
%t644 = alloca ptr
|
|
%t651 = alloca ptr
|
|
%t656 = alloca ptr
|
|
%t675 = alloca ptr
|
|
%t680 = alloca ptr
|
|
%t682 = alloca ptr
|
|
%t684 = alloca ptr
|
|
%t686 = alloca ptr
|
|
%t694 = alloca ptr
|
|
%t696 = alloca ptr
|
|
%t699 = alloca ptr
|
|
%t701 = alloca ptr
|
|
%t703 = alloca ptr
|
|
%t709 = alloca ptr
|
|
%t716 = alloca ptr
|
|
%t725 = alloca ptr
|
|
%t732 = alloca ptr
|
|
%t734 = alloca ptr
|
|
%t739 = alloca ptr
|
|
%t743 = alloca ptr
|
|
%t745 = alloca ptr
|
|
%t747 = alloca ptr
|
|
%t753 = alloca ptr
|
|
%t758 = alloca ptr
|
|
%t763 = alloca ptr
|
|
%t770 = alloca ptr
|
|
%t780 = alloca ptr
|
|
%t787 = alloca ptr
|
|
%t796 = alloca ptr
|
|
%t801 = alloca ptr
|
|
%t809 = alloca ptr
|
|
%t817 = alloca ptr
|
|
%t822 = alloca ptr
|
|
%t827 = alloca ptr
|
|
%t835 = alloca ptr
|
|
%t853 = alloca ptr
|
|
%t869 = alloca i32
|
|
%t883 = alloca ptr
|
|
%t886 = alloca ptr
|
|
%t904 = alloca ptr
|
|
%t905 = alloca i32
|
|
%t922 = alloca i32
|
|
%t935 = alloca ptr
|
|
%t937 = alloca ptr
|
|
%t940 = alloca ptr
|
|
%t945 = alloca ptr
|
|
%t949 = alloca ptr
|
|
%t951 = alloca ptr
|
|
%t953 = alloca ptr
|
|
%t959 = alloca ptr
|
|
%t963 = alloca ptr
|
|
%t970 = alloca ptr
|
|
%t979 = alloca ptr
|
|
%t984 = alloca ptr
|
|
%t991 = alloca ptr
|
|
%t998 = alloca ptr
|
|
%t1009 = alloca ptr
|
|
%t1016 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str2469)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = load ptr, ptr %t1
|
|
%t6 = call ptr @fn_emit_len(ptr %t5)
|
|
store ptr %t6, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2470)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then3, label %ifend5
|
|
then3:
|
|
%t10 = load ptr, ptr %t1
|
|
%t11 = call ptr @fn_emit_push(ptr %t10)
|
|
store ptr %t11, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t12 = load ptr, ptr %t1
|
|
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = getelementptr inbounds ptr, ptr %t16, i32 0
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = call ptr @fn_emit_expr(ptr %t18)
|
|
store ptr %t19, ptr %t20
|
|
%t21 = load ptr, ptr %t20
|
|
%t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 1
|
|
%t23 = load ptr, ptr %t22
|
|
%t24 = call i32 @fn_is_slice_ty(ptr %t23)
|
|
%t25 = icmp eq i32 %t24, 0
|
|
%t26 = zext i1 %t25 to i32
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then6, label %ifend8
|
|
then6:
|
|
%t28 = load ptr, ptr %t0
|
|
%t29 = call ptr @fn_str_concat(ptr @.str2471, ptr %t28)
|
|
%t30 = call ptr @fn_str_concat(ptr %t29, ptr @.str2472)
|
|
call void @fn_perr(ptr %t30)
|
|
br label %ifend8
|
|
ifend8:
|
|
%t31 = load ptr, ptr %t20
|
|
%t32 = getelementptr inbounds %Cmp_Val, ptr %t31, i32 0, i32 1
|
|
%t33 = load ptr, ptr %t32
|
|
%t34 = call ptr @fn_slice_elem(ptr %t33)
|
|
store ptr %t34, ptr %t35
|
|
%t36 = load ptr, ptr %t35
|
|
%t37 = call ptr @fn_llty(ptr %t36)
|
|
store ptr %t37, ptr %t38
|
|
%t39 = load ptr, ptr %t20
|
|
%t40 = getelementptr inbounds %Cmp_Val, ptr %t39, i32 0, i32 0
|
|
%t41 = load ptr, ptr %t40
|
|
store ptr %t41, ptr %t42
|
|
%t43 = load ptr, ptr %t42
|
|
%t44 = call ptr @fn_slice_field(ptr %t43, i32 1)
|
|
store ptr %t44, ptr %t45
|
|
%t46 = load ptr, ptr %t0
|
|
%t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str2473)
|
|
%t48 = icmp ne i32 %t47, 0
|
|
br i1 %t48, label %then9, label %ifend11
|
|
then9:
|
|
call void @fn_emit(ptr @.str2474)
|
|
%t49 = load ptr, ptr %t45
|
|
call void @fn_emit(ptr %t49)
|
|
call void @fn_emit(ptr @.str2475)
|
|
%t50 = call ptr @fn_val(ptr @.str2476, ptr @.str2477)
|
|
store ptr %t50, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t51 = load ptr, ptr %t0
|
|
%t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str2478)
|
|
%t53 = icmp ne i32 %t52, 0
|
|
br i1 %t53, label %then12, label %ifend14
|
|
then12:
|
|
%t54 = load ptr, ptr %t42
|
|
%t55 = load ptr, ptr %t38
|
|
%t56 = call ptr @fn_list_elem_addr(ptr %t54, ptr %t55, ptr @.str2479)
|
|
store ptr %t56, ptr %t57
|
|
%t58 = load ptr, ptr %t38
|
|
%t59 = call ptr @fn_str_concat(ptr @.str2480, ptr %t58)
|
|
%t60 = call ptr @fn_str_concat(ptr %t59, ptr @.str2481)
|
|
%t61 = load ptr, ptr %t57
|
|
%t62 = call ptr @fn_str_concat(ptr %t60, ptr %t61)
|
|
%t63 = call ptr @fn_emit_bind(ptr %t62)
|
|
%t64 = load ptr, ptr %t35
|
|
%t65 = call ptr @fn_val(ptr %t63, ptr %t64)
|
|
store ptr %t65, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t66 = load ptr, ptr %t0
|
|
%t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str2482)
|
|
%t68 = icmp ne i32 %t67, 0
|
|
br i1 %t68, label %then15, label %ifend17
|
|
then15:
|
|
%t69 = load ptr, ptr %t45
|
|
%t70 = call ptr @fn_str_concat(ptr @.str2483, ptr %t69)
|
|
%t71 = call ptr @fn_emit_bind(ptr %t70)
|
|
store ptr %t71, ptr %t72
|
|
%t73 = load ptr, ptr %t72
|
|
%t74 = call ptr @fn_str_concat(ptr @.str2484, ptr %t73)
|
|
%t75 = call ptr @fn_str_concat(ptr %t74, ptr @.str2485)
|
|
%t76 = call ptr @fn_emit_bind(ptr %t75)
|
|
store ptr %t76, ptr %t77
|
|
%t78 = load ptr, ptr %t42
|
|
%t79 = load ptr, ptr %t38
|
|
%t80 = load ptr, ptr %t77
|
|
%t81 = call ptr @fn_list_elem_addr(ptr %t78, ptr %t79, ptr %t80)
|
|
store ptr %t81, ptr %t82
|
|
%t83 = load ptr, ptr %t38
|
|
%t84 = call ptr @fn_str_concat(ptr @.str2486, ptr %t83)
|
|
%t85 = call ptr @fn_str_concat(ptr %t84, ptr @.str2487)
|
|
%t86 = load ptr, ptr %t82
|
|
%t87 = call ptr @fn_str_concat(ptr %t85, ptr %t86)
|
|
%t88 = call ptr @fn_emit_bind(ptr %t87)
|
|
%t89 = load ptr, ptr %t35
|
|
%t90 = call ptr @fn_val(ptr %t88, ptr %t89)
|
|
store ptr %t90, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t91 = load ptr, ptr %t0
|
|
%t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str2488)
|
|
%t93 = icmp ne i32 %t92, 0
|
|
br i1 %t93, label %then18, label %ifend20
|
|
then18:
|
|
%t94 = load ptr, ptr %t45
|
|
%t95 = call ptr @fn_str_concat(ptr @.str2489, ptr %t94)
|
|
%t96 = call ptr @fn_emit_bind(ptr %t95)
|
|
store ptr %t96, ptr %t97
|
|
%t98 = load ptr, ptr %t97
|
|
%t99 = call ptr @fn_str_concat(ptr @.str2490, ptr %t98)
|
|
%t100 = call ptr @fn_str_concat(ptr %t99, ptr @.str2491)
|
|
%t101 = call ptr @fn_emit_bind(ptr %t100)
|
|
store ptr %t101, ptr %t102
|
|
%t103 = load ptr, ptr %t42
|
|
%t104 = load ptr, ptr %t38
|
|
%t105 = load ptr, ptr %t102
|
|
%t106 = call ptr @fn_list_elem_addr(ptr %t103, ptr %t104, ptr %t105)
|
|
store ptr %t106, ptr %t107
|
|
%t108 = load ptr, ptr %t38
|
|
%t109 = call ptr @fn_str_concat(ptr @.str2492, ptr %t108)
|
|
%t110 = call ptr @fn_str_concat(ptr %t109, ptr @.str2493)
|
|
%t111 = load ptr, ptr %t107
|
|
%t112 = call ptr @fn_str_concat(ptr %t110, ptr %t111)
|
|
%t113 = call ptr @fn_emit_bind(ptr %t112)
|
|
store ptr %t113, ptr %t114
|
|
call void @fn_emit(ptr @.str2494)
|
|
%t115 = load ptr, ptr %t102
|
|
call void @fn_emit(ptr %t115)
|
|
call void @fn_emit(ptr @.str2495)
|
|
%t116 = load ptr, ptr %t45
|
|
call void @fn_emit(ptr %t116)
|
|
call void @fn_emit(ptr @.str2496)
|
|
%t117 = load ptr, ptr %t114
|
|
%t118 = load ptr, ptr %t35
|
|
%t119 = call ptr @fn_val(ptr %t117, ptr %t118)
|
|
store ptr %t119, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t120 = load ptr, ptr %t0
|
|
%t121 = call i32 @fn_str_eq(ptr %t120, ptr @.str2497)
|
|
%t122 = icmp ne i32 %t121, 0
|
|
br i1 %t122, label %then21, label %ifend23
|
|
then21:
|
|
%t123 = load ptr, ptr %t1
|
|
%t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 7
|
|
%t125 = load ptr, ptr %t124
|
|
%t126 = getelementptr inbounds %LSlice, ptr %t125, i32 0, i32 0
|
|
%t127 = load ptr, ptr %t126
|
|
%t128 = getelementptr inbounds ptr, ptr %t127, i32 1
|
|
%t129 = load ptr, ptr %t128
|
|
%t130 = call ptr @fn_emit_expr(ptr %t129)
|
|
store ptr %t130, ptr %t131
|
|
%t132 = load ptr, ptr %t1
|
|
%t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7
|
|
%t134 = load ptr, ptr %t133
|
|
%t135 = getelementptr inbounds %LSlice, ptr %t134, i32 0, i32 0
|
|
%t136 = load ptr, ptr %t135
|
|
%t137 = getelementptr inbounds ptr, ptr %t136, i32 2
|
|
%t138 = load ptr, ptr %t137
|
|
%t139 = call ptr @fn_emit_expr(ptr %t138)
|
|
store ptr %t139, ptr %t140
|
|
%t141 = load ptr, ptr %t42
|
|
%t142 = load ptr, ptr %t38
|
|
%t143 = load ptr, ptr %t131
|
|
%t144 = getelementptr inbounds %Cmp_Val, ptr %t143, i32 0, i32 0
|
|
%t145 = load ptr, ptr %t144
|
|
%t146 = call ptr @fn_list_elem_addr(ptr %t141, ptr %t142, ptr %t145)
|
|
store ptr %t146, ptr %t147
|
|
%t148 = load ptr, ptr %t42
|
|
%t149 = load ptr, ptr %t38
|
|
%t150 = load ptr, ptr %t140
|
|
%t151 = getelementptr inbounds %Cmp_Val, ptr %t150, i32 0, i32 0
|
|
%t152 = load ptr, ptr %t151
|
|
%t153 = call ptr @fn_list_elem_addr(ptr %t148, ptr %t149, ptr %t152)
|
|
store ptr %t153, ptr %t154
|
|
%t155 = load ptr, ptr %t38
|
|
%t156 = call ptr @fn_str_concat(ptr @.str2498, ptr %t155)
|
|
%t157 = call ptr @fn_str_concat(ptr %t156, ptr @.str2499)
|
|
%t158 = load ptr, ptr %t147
|
|
%t159 = call ptr @fn_str_concat(ptr %t157, ptr %t158)
|
|
%t160 = call ptr @fn_emit_bind(ptr %t159)
|
|
store ptr %t160, ptr %t161
|
|
%t162 = load ptr, ptr %t38
|
|
%t163 = call ptr @fn_str_concat(ptr @.str2500, ptr %t162)
|
|
%t164 = call ptr @fn_str_concat(ptr %t163, ptr @.str2501)
|
|
%t165 = load ptr, ptr %t154
|
|
%t166 = call ptr @fn_str_concat(ptr %t164, ptr %t165)
|
|
%t167 = call ptr @fn_emit_bind(ptr %t166)
|
|
store ptr %t167, ptr %t168
|
|
call void @fn_emit(ptr @.str2502)
|
|
%t169 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t169)
|
|
call void @fn_emit(ptr @.str2503)
|
|
%t170 = load ptr, ptr %t168
|
|
call void @fn_emit(ptr %t170)
|
|
call void @fn_emit(ptr @.str2504)
|
|
%t171 = load ptr, ptr %t147
|
|
call void @fn_emit(ptr %t171)
|
|
call void @fn_emit(ptr @.str2505)
|
|
call void @fn_emit(ptr @.str2506)
|
|
%t172 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t172)
|
|
call void @fn_emit(ptr @.str2507)
|
|
%t173 = load ptr, ptr %t161
|
|
call void @fn_emit(ptr %t173)
|
|
call void @fn_emit(ptr @.str2508)
|
|
%t174 = load ptr, ptr %t154
|
|
call void @fn_emit(ptr %t174)
|
|
call void @fn_emit(ptr @.str2509)
|
|
%t175 = call ptr @fn_val(ptr @.str2510, ptr @.str2511)
|
|
store ptr %t175, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t177 = load ptr, ptr %t0
|
|
%t178 = call i32 @fn_str_eq(ptr %t177, ptr @.str2512)
|
|
%t179 = icmp ne i32 %t178, 0
|
|
%t180 = zext i1 %t179 to i32
|
|
store i32 %t180, ptr %t176
|
|
br i1 %t179, label %scend25, label %sc24
|
|
sc24:
|
|
%t181 = load ptr, ptr %t0
|
|
%t182 = call i32 @fn_str_eq(ptr %t181, ptr @.str2513)
|
|
%t183 = icmp ne i32 %t182, 0
|
|
%t184 = zext i1 %t183 to i32
|
|
store i32 %t184, ptr %t176
|
|
br label %scend25
|
|
scend25:
|
|
%t185 = load i32, ptr %t176
|
|
%t186 = icmp ne i32 %t185, 0
|
|
br i1 %t186, label %then26, label %ifend28
|
|
then26:
|
|
%t187 = load ptr, ptr %t1
|
|
%t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 7
|
|
%t189 = load ptr, ptr %t188
|
|
%t190 = getelementptr inbounds %LSlice, ptr %t189, i32 0, i32 0
|
|
%t191 = load ptr, ptr %t190
|
|
%t192 = getelementptr inbounds ptr, ptr %t191, i32 1
|
|
%t193 = load ptr, ptr %t192
|
|
%t194 = call ptr @fn_emit_expr(ptr %t193)
|
|
store ptr %t194, ptr %t195
|
|
%t196 = load ptr, ptr %t45
|
|
%t197 = call ptr @fn_str_concat(ptr @.str2514, ptr %t196)
|
|
%t198 = call ptr @fn_emit_bind(ptr %t197)
|
|
store ptr %t198, ptr %t199
|
|
%t200 = call ptr @fn_emit_alloca(ptr @.str2515)
|
|
store ptr %t200, ptr %t201
|
|
%t202 = load ptr, ptr %t201
|
|
call void @fn_store_at(ptr @.str2516, ptr @.str2517, ptr %t202)
|
|
%t203 = call ptr @fn_emit_alloca(ptr @.str2518)
|
|
store ptr %t203, ptr %t204
|
|
%t205 = load ptr, ptr %t204
|
|
call void @fn_store_at(ptr @.str2519, ptr @.str2520, ptr %t205)
|
|
%t206 = call ptr @fn_lbl(ptr @.str2521)
|
|
store ptr %t206, ptr %t207
|
|
%t208 = call ptr @fn_lbl(ptr @.str2522)
|
|
store ptr %t208, ptr %t209
|
|
%t210 = call ptr @fn_lbl(ptr @.str2523)
|
|
store ptr %t210, ptr %t211
|
|
%t212 = call ptr @fn_lbl(ptr @.str2524)
|
|
store ptr %t212, ptr %t213
|
|
%t214 = call ptr @fn_lbl(ptr @.str2525)
|
|
store ptr %t214, ptr %t215
|
|
call void @fn_emit(ptr @.str2526)
|
|
%t216 = load ptr, ptr %t207
|
|
call void @fn_emit(ptr %t216)
|
|
call void @fn_emit(ptr @.str2527)
|
|
%t217 = load ptr, ptr %t207
|
|
call void @fn_emit(ptr %t217)
|
|
call void @fn_emit(ptr @.str2528)
|
|
%t218 = load ptr, ptr %t204
|
|
%t219 = call ptr @fn_str_concat(ptr @.str2529, ptr %t218)
|
|
%t220 = call ptr @fn_emit_bind(ptr %t219)
|
|
store ptr %t220, ptr %t221
|
|
%t222 = load ptr, ptr %t221
|
|
%t223 = call ptr @fn_str_concat(ptr @.str2530, ptr %t222)
|
|
%t224 = call ptr @fn_str_concat(ptr %t223, ptr @.str2531)
|
|
%t225 = load ptr, ptr %t199
|
|
%t226 = call ptr @fn_str_concat(ptr %t224, ptr %t225)
|
|
%t227 = call ptr @fn_emit_bind(ptr %t226)
|
|
store ptr %t227, ptr %t228
|
|
call void @fn_emit(ptr @.str2532)
|
|
%t229 = load ptr, ptr %t228
|
|
call void @fn_emit(ptr %t229)
|
|
call void @fn_emit(ptr @.str2533)
|
|
%t230 = load ptr, ptr %t209
|
|
call void @fn_emit(ptr %t230)
|
|
call void @fn_emit(ptr @.str2534)
|
|
%t231 = load ptr, ptr %t215
|
|
call void @fn_emit(ptr %t231)
|
|
call void @fn_emit(ptr @.str2535)
|
|
%t232 = load ptr, ptr %t209
|
|
call void @fn_emit(ptr %t232)
|
|
call void @fn_emit(ptr @.str2536)
|
|
%t233 = load ptr, ptr %t42
|
|
%t234 = load ptr, ptr %t38
|
|
%t235 = load ptr, ptr %t221
|
|
%t236 = call ptr @fn_list_elem_addr(ptr %t233, ptr %t234, ptr %t235)
|
|
store ptr %t236, ptr %t237
|
|
%t238 = load ptr, ptr %t38
|
|
%t239 = call ptr @fn_str_concat(ptr @.str2537, ptr %t238)
|
|
%t240 = call ptr @fn_str_concat(ptr %t239, ptr @.str2538)
|
|
%t241 = load ptr, ptr %t237
|
|
%t242 = call ptr @fn_str_concat(ptr %t240, ptr %t241)
|
|
%t243 = call ptr @fn_emit_bind(ptr %t242)
|
|
store ptr %t243, ptr %t244
|
|
%t245 = load ptr, ptr %t38
|
|
%t246 = call ptr @fn_str_concat(ptr @.str2539, ptr %t245)
|
|
%t247 = call ptr @fn_str_concat(ptr %t246, ptr @.str2540)
|
|
%t248 = load ptr, ptr %t244
|
|
%t249 = call ptr @fn_str_concat(ptr %t247, ptr %t248)
|
|
%t250 = call ptr @fn_str_concat(ptr %t249, ptr @.str2541)
|
|
%t251 = load ptr, ptr %t195
|
|
%t252 = getelementptr inbounds %Cmp_Val, ptr %t251, i32 0, i32 0
|
|
%t253 = load ptr, ptr %t252
|
|
%t254 = call ptr @fn_str_concat(ptr %t250, ptr %t253)
|
|
%t255 = call ptr @fn_emit_bind(ptr %t254)
|
|
store ptr %t255, ptr %t256
|
|
call void @fn_emit(ptr @.str2542)
|
|
%t257 = load ptr, ptr %t256
|
|
call void @fn_emit(ptr %t257)
|
|
call void @fn_emit(ptr @.str2543)
|
|
%t258 = load ptr, ptr %t211
|
|
call void @fn_emit(ptr %t258)
|
|
call void @fn_emit(ptr @.str2544)
|
|
%t259 = load ptr, ptr %t213
|
|
call void @fn_emit(ptr %t259)
|
|
call void @fn_emit(ptr @.str2545)
|
|
%t260 = load ptr, ptr %t211
|
|
call void @fn_emit(ptr %t260)
|
|
call void @fn_emit(ptr @.str2546)
|
|
%t261 = load ptr, ptr %t221
|
|
%t262 = load ptr, ptr %t201
|
|
call void @fn_store_at(ptr @.str2547, ptr %t261, ptr %t262)
|
|
call void @fn_emit(ptr @.str2548)
|
|
%t263 = load ptr, ptr %t215
|
|
call void @fn_emit(ptr %t263)
|
|
call void @fn_emit(ptr @.str2549)
|
|
%t264 = load ptr, ptr %t213
|
|
call void @fn_emit(ptr %t264)
|
|
call void @fn_emit(ptr @.str2550)
|
|
%t265 = load ptr, ptr %t221
|
|
%t266 = call ptr @fn_str_concat(ptr @.str2551, ptr %t265)
|
|
%t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str2552)
|
|
%t268 = call ptr @fn_emit_bind(ptr %t267)
|
|
store ptr %t268, ptr %t269
|
|
%t270 = load ptr, ptr %t269
|
|
%t271 = load ptr, ptr %t204
|
|
call void @fn_store_at(ptr @.str2553, ptr %t270, ptr %t271)
|
|
call void @fn_emit(ptr @.str2554)
|
|
%t272 = load ptr, ptr %t207
|
|
call void @fn_emit(ptr %t272)
|
|
call void @fn_emit(ptr @.str2555)
|
|
%t273 = load ptr, ptr %t215
|
|
call void @fn_emit(ptr %t273)
|
|
call void @fn_emit(ptr @.str2556)
|
|
%t274 = load ptr, ptr %t201
|
|
%t275 = call ptr @fn_str_concat(ptr @.str2557, ptr %t274)
|
|
%t276 = call ptr @fn_emit_bind(ptr %t275)
|
|
store ptr %t276, ptr %t277
|
|
%t278 = load ptr, ptr %t0
|
|
%t279 = call i32 @fn_str_eq(ptr %t278, ptr @.str2558)
|
|
%t280 = icmp ne i32 %t279, 0
|
|
br i1 %t280, label %then29, label %ifend31
|
|
then29:
|
|
%t281 = load ptr, ptr %t277
|
|
%t282 = call ptr @fn_val(ptr %t281, ptr @.str2559)
|
|
store ptr %t282, ptr %retval
|
|
br label %ret
|
|
ifend31:
|
|
%t283 = load ptr, ptr %t277
|
|
%t284 = call ptr @fn_str_concat(ptr @.str2560, ptr %t283)
|
|
%t285 = call ptr @fn_str_concat(ptr %t284, ptr @.str2561)
|
|
%t286 = call ptr @fn_emit_bind(ptr %t285)
|
|
store ptr %t286, ptr %t287
|
|
%t288 = load ptr, ptr %t287
|
|
%t289 = call ptr @fn_str_concat(ptr @.str2562, ptr %t288)
|
|
%t290 = call ptr @fn_str_concat(ptr %t289, ptr @.str2563)
|
|
%t291 = call ptr @fn_emit_bind(ptr %t290)
|
|
%t292 = call ptr @fn_val(ptr %t291, ptr @.str2564)
|
|
store ptr %t292, ptr %retval
|
|
br label %ret
|
|
ifend28:
|
|
%t293 = load ptr, ptr %t0
|
|
%t294 = call i32 @fn_str_eq(ptr %t293, ptr @.str2565)
|
|
%t295 = icmp ne i32 %t294, 0
|
|
br i1 %t295, label %then32, label %ifend34
|
|
then32:
|
|
%t296 = load ptr, ptr %t1
|
|
%t297 = getelementptr inbounds %Cmp_Node, ptr %t296, i32 0, i32 7
|
|
%t298 = load ptr, ptr %t297
|
|
%t299 = getelementptr inbounds %LSlice, ptr %t298, i32 0, i32 0
|
|
%t300 = load ptr, ptr %t299
|
|
%t301 = getelementptr inbounds ptr, ptr %t300, i32 1
|
|
%t302 = load ptr, ptr %t301
|
|
%t303 = call ptr @fn_emit_expr(ptr %t302)
|
|
store ptr %t303, ptr %t304
|
|
%t305 = load ptr, ptr %t1
|
|
%t306 = getelementptr inbounds %Cmp_Node, ptr %t305, i32 0, i32 7
|
|
%t307 = load ptr, ptr %t306
|
|
%t308 = getelementptr inbounds %LSlice, ptr %t307, i32 0, i32 0
|
|
%t309 = load ptr, ptr %t308
|
|
%t310 = getelementptr inbounds ptr, ptr %t309, i32 2
|
|
%t311 = load ptr, ptr %t310
|
|
%t312 = call ptr @fn_emit_expr(ptr %t311)
|
|
store ptr %t312, ptr %t313
|
|
%t314 = load ptr, ptr %t42
|
|
%t315 = load ptr, ptr %t38
|
|
call void @fn_list_grow_if_full(ptr %t314, ptr %t315)
|
|
%t316 = load ptr, ptr %t45
|
|
%t317 = call ptr @fn_str_concat(ptr @.str2566, ptr %t316)
|
|
%t318 = call ptr @fn_emit_bind(ptr %t317)
|
|
store ptr %t318, ptr %t319
|
|
%t320 = call ptr @fn_emit_alloca(ptr @.str2567)
|
|
store ptr %t320, ptr %t321
|
|
%t322 = load ptr, ptr %t319
|
|
%t323 = load ptr, ptr %t321
|
|
call void @fn_store_at(ptr @.str2568, ptr %t322, ptr %t323)
|
|
%t324 = call ptr @fn_lbl(ptr @.str2569)
|
|
store ptr %t324, ptr %t325
|
|
%t326 = call ptr @fn_lbl(ptr @.str2570)
|
|
store ptr %t326, ptr %t327
|
|
%t328 = call ptr @fn_lbl(ptr @.str2571)
|
|
store ptr %t328, ptr %t329
|
|
call void @fn_emit(ptr @.str2572)
|
|
%t330 = load ptr, ptr %t325
|
|
call void @fn_emit(ptr %t330)
|
|
call void @fn_emit(ptr @.str2573)
|
|
%t331 = load ptr, ptr %t325
|
|
call void @fn_emit(ptr %t331)
|
|
call void @fn_emit(ptr @.str2574)
|
|
%t332 = load ptr, ptr %t321
|
|
%t333 = call ptr @fn_str_concat(ptr @.str2575, ptr %t332)
|
|
%t334 = call ptr @fn_emit_bind(ptr %t333)
|
|
store ptr %t334, ptr %t335
|
|
%t336 = load ptr, ptr %t335
|
|
%t337 = call ptr @fn_str_concat(ptr @.str2576, ptr %t336)
|
|
%t338 = call ptr @fn_str_concat(ptr %t337, ptr @.str2577)
|
|
%t339 = load ptr, ptr %t304
|
|
%t340 = getelementptr inbounds %Cmp_Val, ptr %t339, i32 0, i32 0
|
|
%t341 = load ptr, ptr %t340
|
|
%t342 = call ptr @fn_str_concat(ptr %t338, ptr %t341)
|
|
%t343 = call ptr @fn_emit_bind(ptr %t342)
|
|
store ptr %t343, ptr %t344
|
|
call void @fn_emit(ptr @.str2578)
|
|
%t345 = load ptr, ptr %t344
|
|
call void @fn_emit(ptr %t345)
|
|
call void @fn_emit(ptr @.str2579)
|
|
%t346 = load ptr, ptr %t327
|
|
call void @fn_emit(ptr %t346)
|
|
call void @fn_emit(ptr @.str2580)
|
|
%t347 = load ptr, ptr %t329
|
|
call void @fn_emit(ptr %t347)
|
|
call void @fn_emit(ptr @.str2581)
|
|
%t348 = load ptr, ptr %t327
|
|
call void @fn_emit(ptr %t348)
|
|
call void @fn_emit(ptr @.str2582)
|
|
%t349 = load ptr, ptr %t335
|
|
%t350 = call ptr @fn_str_concat(ptr @.str2583, ptr %t349)
|
|
%t351 = call ptr @fn_str_concat(ptr %t350, ptr @.str2584)
|
|
%t352 = call ptr @fn_emit_bind(ptr %t351)
|
|
store ptr %t352, ptr %t353
|
|
%t354 = load ptr, ptr %t42
|
|
%t355 = load ptr, ptr %t38
|
|
%t356 = load ptr, ptr %t353
|
|
%t357 = call ptr @fn_list_elem_addr(ptr %t354, ptr %t355, ptr %t356)
|
|
store ptr %t357, ptr %t358
|
|
%t359 = load ptr, ptr %t38
|
|
%t360 = call ptr @fn_str_concat(ptr @.str2585, ptr %t359)
|
|
%t361 = call ptr @fn_str_concat(ptr %t360, ptr @.str2586)
|
|
%t362 = load ptr, ptr %t358
|
|
%t363 = call ptr @fn_str_concat(ptr %t361, ptr %t362)
|
|
%t364 = call ptr @fn_emit_bind(ptr %t363)
|
|
store ptr %t364, ptr %t365
|
|
%t366 = load ptr, ptr %t42
|
|
%t367 = load ptr, ptr %t38
|
|
%t368 = load ptr, ptr %t335
|
|
%t369 = call ptr @fn_list_elem_addr(ptr %t366, ptr %t367, ptr %t368)
|
|
store ptr %t369, ptr %t370
|
|
call void @fn_emit(ptr @.str2587)
|
|
%t371 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t371)
|
|
call void @fn_emit(ptr @.str2588)
|
|
%t372 = load ptr, ptr %t365
|
|
call void @fn_emit(ptr %t372)
|
|
call void @fn_emit(ptr @.str2589)
|
|
%t373 = load ptr, ptr %t370
|
|
call void @fn_emit(ptr %t373)
|
|
call void @fn_emit(ptr @.str2590)
|
|
%t374 = load ptr, ptr %t353
|
|
%t375 = load ptr, ptr %t321
|
|
call void @fn_store_at(ptr @.str2591, ptr %t374, ptr %t375)
|
|
call void @fn_emit(ptr @.str2592)
|
|
%t376 = load ptr, ptr %t325
|
|
call void @fn_emit(ptr %t376)
|
|
call void @fn_emit(ptr @.str2593)
|
|
%t377 = load ptr, ptr %t329
|
|
call void @fn_emit(ptr %t377)
|
|
call void @fn_emit(ptr @.str2594)
|
|
%t378 = load ptr, ptr %t42
|
|
%t379 = load ptr, ptr %t38
|
|
%t380 = load ptr, ptr %t304
|
|
%t381 = getelementptr inbounds %Cmp_Val, ptr %t380, i32 0, i32 0
|
|
%t382 = load ptr, ptr %t381
|
|
%t383 = call ptr @fn_list_elem_addr(ptr %t378, ptr %t379, ptr %t382)
|
|
store ptr %t383, ptr %t384
|
|
call void @fn_emit(ptr @.str2595)
|
|
%t385 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t385)
|
|
call void @fn_emit(ptr @.str2596)
|
|
%t386 = load ptr, ptr %t313
|
|
%t387 = getelementptr inbounds %Cmp_Val, ptr %t386, i32 0, i32 0
|
|
%t388 = load ptr, ptr %t387
|
|
call void @fn_emit(ptr %t388)
|
|
call void @fn_emit(ptr @.str2597)
|
|
%t389 = load ptr, ptr %t384
|
|
call void @fn_emit(ptr %t389)
|
|
call void @fn_emit(ptr @.str2598)
|
|
%t390 = load ptr, ptr %t319
|
|
%t391 = call ptr @fn_str_concat(ptr @.str2599, ptr %t390)
|
|
%t392 = call ptr @fn_str_concat(ptr %t391, ptr @.str2600)
|
|
%t393 = call ptr @fn_emit_bind(ptr %t392)
|
|
store ptr %t393, ptr %t394
|
|
call void @fn_emit(ptr @.str2601)
|
|
%t395 = load ptr, ptr %t394
|
|
call void @fn_emit(ptr %t395)
|
|
call void @fn_emit(ptr @.str2602)
|
|
%t396 = load ptr, ptr %t45
|
|
call void @fn_emit(ptr %t396)
|
|
call void @fn_emit(ptr @.str2603)
|
|
%t397 = call ptr @fn_val(ptr @.str2604, ptr @.str2605)
|
|
store ptr %t397, ptr %retval
|
|
br label %ret
|
|
ifend34:
|
|
%t398 = load ptr, ptr %t0
|
|
%t399 = call i32 @fn_str_eq(ptr %t398, ptr @.str2606)
|
|
%t400 = icmp ne i32 %t399, 0
|
|
br i1 %t400, label %then35, label %ifend37
|
|
then35:
|
|
%t401 = load ptr, ptr %t1
|
|
%t402 = getelementptr inbounds %Cmp_Node, ptr %t401, i32 0, i32 7
|
|
%t403 = load ptr, ptr %t402
|
|
%t404 = getelementptr inbounds %LSlice, ptr %t403, i32 0, i32 0
|
|
%t405 = load ptr, ptr %t404
|
|
%t406 = getelementptr inbounds ptr, ptr %t405, i32 1
|
|
%t407 = load ptr, ptr %t406
|
|
%t408 = call ptr @fn_emit_expr(ptr %t407)
|
|
store ptr %t408, ptr %t409
|
|
%t410 = load ptr, ptr %t45
|
|
%t411 = call ptr @fn_str_concat(ptr @.str2607, ptr %t410)
|
|
%t412 = call ptr @fn_emit_bind(ptr %t411)
|
|
store ptr %t412, ptr %t413
|
|
%t414 = load ptr, ptr %t413
|
|
%t415 = call ptr @fn_str_concat(ptr @.str2608, ptr %t414)
|
|
%t416 = call ptr @fn_str_concat(ptr %t415, ptr @.str2609)
|
|
%t417 = call ptr @fn_emit_bind(ptr %t416)
|
|
store ptr %t417, ptr %t418
|
|
%t419 = call ptr @fn_emit_alloca(ptr @.str2610)
|
|
store ptr %t419, ptr %t420
|
|
%t421 = load ptr, ptr %t409
|
|
%t422 = getelementptr inbounds %Cmp_Val, ptr %t421, i32 0, i32 0
|
|
%t423 = load ptr, ptr %t422
|
|
%t424 = load ptr, ptr %t420
|
|
call void @fn_store_at(ptr @.str2611, ptr %t423, ptr %t424)
|
|
%t425 = call ptr @fn_lbl(ptr @.str2612)
|
|
store ptr %t425, ptr %t426
|
|
%t427 = call ptr @fn_lbl(ptr @.str2613)
|
|
store ptr %t427, ptr %t428
|
|
%t429 = call ptr @fn_lbl(ptr @.str2614)
|
|
store ptr %t429, ptr %t430
|
|
call void @fn_emit(ptr @.str2615)
|
|
%t431 = load ptr, ptr %t426
|
|
call void @fn_emit(ptr %t431)
|
|
call void @fn_emit(ptr @.str2616)
|
|
%t432 = load ptr, ptr %t426
|
|
call void @fn_emit(ptr %t432)
|
|
call void @fn_emit(ptr @.str2617)
|
|
%t433 = load ptr, ptr %t420
|
|
%t434 = call ptr @fn_str_concat(ptr @.str2618, ptr %t433)
|
|
%t435 = call ptr @fn_emit_bind(ptr %t434)
|
|
store ptr %t435, ptr %t436
|
|
%t437 = load ptr, ptr %t436
|
|
%t438 = call ptr @fn_str_concat(ptr @.str2619, ptr %t437)
|
|
%t439 = call ptr @fn_str_concat(ptr %t438, ptr @.str2620)
|
|
%t440 = load ptr, ptr %t418
|
|
%t441 = call ptr @fn_str_concat(ptr %t439, ptr %t440)
|
|
%t442 = call ptr @fn_emit_bind(ptr %t441)
|
|
store ptr %t442, ptr %t443
|
|
call void @fn_emit(ptr @.str2621)
|
|
%t444 = load ptr, ptr %t443
|
|
call void @fn_emit(ptr %t444)
|
|
call void @fn_emit(ptr @.str2622)
|
|
%t445 = load ptr, ptr %t428
|
|
call void @fn_emit(ptr %t445)
|
|
call void @fn_emit(ptr @.str2623)
|
|
%t446 = load ptr, ptr %t430
|
|
call void @fn_emit(ptr %t446)
|
|
call void @fn_emit(ptr @.str2624)
|
|
%t447 = load ptr, ptr %t428
|
|
call void @fn_emit(ptr %t447)
|
|
call void @fn_emit(ptr @.str2625)
|
|
%t448 = load ptr, ptr %t436
|
|
%t449 = call ptr @fn_str_concat(ptr @.str2626, ptr %t448)
|
|
%t450 = call ptr @fn_str_concat(ptr %t449, ptr @.str2627)
|
|
%t451 = call ptr @fn_emit_bind(ptr %t450)
|
|
store ptr %t451, ptr %t452
|
|
%t453 = load ptr, ptr %t42
|
|
%t454 = load ptr, ptr %t38
|
|
%t455 = load ptr, ptr %t452
|
|
%t456 = call ptr @fn_list_elem_addr(ptr %t453, ptr %t454, ptr %t455)
|
|
store ptr %t456, ptr %t457
|
|
%t458 = load ptr, ptr %t38
|
|
%t459 = call ptr @fn_str_concat(ptr @.str2628, ptr %t458)
|
|
%t460 = call ptr @fn_str_concat(ptr %t459, ptr @.str2629)
|
|
%t461 = load ptr, ptr %t457
|
|
%t462 = call ptr @fn_str_concat(ptr %t460, ptr %t461)
|
|
%t463 = call ptr @fn_emit_bind(ptr %t462)
|
|
store ptr %t463, ptr %t464
|
|
%t465 = load ptr, ptr %t42
|
|
%t466 = load ptr, ptr %t38
|
|
%t467 = load ptr, ptr %t436
|
|
%t468 = call ptr @fn_list_elem_addr(ptr %t465, ptr %t466, ptr %t467)
|
|
store ptr %t468, ptr %t469
|
|
call void @fn_emit(ptr @.str2630)
|
|
%t470 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t470)
|
|
call void @fn_emit(ptr @.str2631)
|
|
%t471 = load ptr, ptr %t464
|
|
call void @fn_emit(ptr %t471)
|
|
call void @fn_emit(ptr @.str2632)
|
|
%t472 = load ptr, ptr %t469
|
|
call void @fn_emit(ptr %t472)
|
|
call void @fn_emit(ptr @.str2633)
|
|
%t473 = load ptr, ptr %t452
|
|
%t474 = load ptr, ptr %t420
|
|
call void @fn_store_at(ptr @.str2634, ptr %t473, ptr %t474)
|
|
call void @fn_emit(ptr @.str2635)
|
|
%t475 = load ptr, ptr %t426
|
|
call void @fn_emit(ptr %t475)
|
|
call void @fn_emit(ptr @.str2636)
|
|
%t476 = load ptr, ptr %t430
|
|
call void @fn_emit(ptr %t476)
|
|
call void @fn_emit(ptr @.str2637)
|
|
call void @fn_emit(ptr @.str2638)
|
|
%t477 = load ptr, ptr %t418
|
|
call void @fn_emit(ptr %t477)
|
|
call void @fn_emit(ptr @.str2639)
|
|
%t478 = load ptr, ptr %t45
|
|
call void @fn_emit(ptr %t478)
|
|
call void @fn_emit(ptr @.str2640)
|
|
%t479 = call ptr @fn_val(ptr @.str2641, ptr @.str2642)
|
|
store ptr %t479, ptr %retval
|
|
br label %ret
|
|
ifend37:
|
|
%t480 = load ptr, ptr %t0
|
|
%t481 = call i32 @fn_str_eq(ptr %t480, ptr @.str2643)
|
|
%t482 = icmp ne i32 %t481, 0
|
|
br i1 %t482, label %then38, label %ifend40
|
|
then38:
|
|
%t483 = load ptr, ptr %t1
|
|
%t484 = getelementptr inbounds %Cmp_Node, ptr %t483, i32 0, i32 7
|
|
%t485 = load ptr, ptr %t484
|
|
%t486 = getelementptr inbounds %LSlice, ptr %t485, i32 0, i32 0
|
|
%t487 = load ptr, ptr %t486
|
|
%t488 = getelementptr inbounds ptr, ptr %t487, i32 1
|
|
%t489 = load ptr, ptr %t488
|
|
%t490 = call ptr @fn_emit_expr(ptr %t489)
|
|
store ptr %t490, ptr %t491
|
|
%t492 = load ptr, ptr %t45
|
|
%t493 = call ptr @fn_str_concat(ptr @.str2644, ptr %t492)
|
|
%t494 = call ptr @fn_emit_bind(ptr %t493)
|
|
store ptr %t494, ptr %t495
|
|
%t496 = call ptr @fn_emit_alloca(ptr @.str2645)
|
|
store ptr %t496, ptr %t497
|
|
%t498 = load ptr, ptr %t497
|
|
call void @fn_store_at(ptr @.str2646, ptr @.str2647, ptr %t498)
|
|
%t499 = call ptr @fn_emit_alloca(ptr @.str2648)
|
|
store ptr %t499, ptr %t500
|
|
%t501 = load ptr, ptr %t500
|
|
call void @fn_store_at(ptr @.str2649, ptr @.str2650, ptr %t501)
|
|
%t502 = call ptr @fn_lbl(ptr @.str2651)
|
|
store ptr %t502, ptr %t503
|
|
%t504 = call ptr @fn_lbl(ptr @.str2652)
|
|
store ptr %t504, ptr %t505
|
|
%t506 = call ptr @fn_lbl(ptr @.str2653)
|
|
store ptr %t506, ptr %t507
|
|
%t508 = call ptr @fn_lbl(ptr @.str2654)
|
|
store ptr %t508, ptr %t509
|
|
%t510 = call ptr @fn_lbl(ptr @.str2655)
|
|
store ptr %t510, ptr %t511
|
|
call void @fn_emit(ptr @.str2656)
|
|
%t512 = load ptr, ptr %t503
|
|
call void @fn_emit(ptr %t512)
|
|
call void @fn_emit(ptr @.str2657)
|
|
%t513 = load ptr, ptr %t503
|
|
call void @fn_emit(ptr %t513)
|
|
call void @fn_emit(ptr @.str2658)
|
|
%t514 = load ptr, ptr %t500
|
|
%t515 = call ptr @fn_str_concat(ptr @.str2659, ptr %t514)
|
|
%t516 = call ptr @fn_emit_bind(ptr %t515)
|
|
store ptr %t516, ptr %t517
|
|
%t518 = load ptr, ptr %t517
|
|
%t519 = call ptr @fn_str_concat(ptr @.str2660, ptr %t518)
|
|
%t520 = call ptr @fn_str_concat(ptr %t519, ptr @.str2661)
|
|
%t521 = load ptr, ptr %t495
|
|
%t522 = call ptr @fn_str_concat(ptr %t520, ptr %t521)
|
|
%t523 = call ptr @fn_emit_bind(ptr %t522)
|
|
store ptr %t523, ptr %t524
|
|
%t525 = load ptr, ptr %t497
|
|
%t526 = call ptr @fn_str_concat(ptr @.str2662, ptr %t525)
|
|
%t527 = call ptr @fn_emit_bind(ptr %t526)
|
|
store ptr %t527, ptr %t528
|
|
%t529 = load ptr, ptr %t528
|
|
%t530 = call ptr @fn_str_concat(ptr @.str2663, ptr %t529)
|
|
%t531 = call ptr @fn_str_concat(ptr %t530, ptr @.str2664)
|
|
%t532 = call ptr @fn_emit_bind(ptr %t531)
|
|
store ptr %t532, ptr %t533
|
|
%t534 = load ptr, ptr %t524
|
|
%t535 = call ptr @fn_str_concat(ptr @.str2665, ptr %t534)
|
|
%t536 = call ptr @fn_str_concat(ptr %t535, ptr @.str2666)
|
|
%t537 = load ptr, ptr %t533
|
|
%t538 = call ptr @fn_str_concat(ptr %t536, ptr %t537)
|
|
%t539 = call ptr @fn_emit_bind(ptr %t538)
|
|
store ptr %t539, ptr %t540
|
|
call void @fn_emit(ptr @.str2667)
|
|
%t541 = load ptr, ptr %t540
|
|
call void @fn_emit(ptr %t541)
|
|
call void @fn_emit(ptr @.str2668)
|
|
%t542 = load ptr, ptr %t505
|
|
call void @fn_emit(ptr %t542)
|
|
call void @fn_emit(ptr @.str2669)
|
|
%t543 = load ptr, ptr %t511
|
|
call void @fn_emit(ptr %t543)
|
|
call void @fn_emit(ptr @.str2670)
|
|
%t544 = load ptr, ptr %t505
|
|
call void @fn_emit(ptr %t544)
|
|
call void @fn_emit(ptr @.str2671)
|
|
%t545 = load ptr, ptr %t42
|
|
%t546 = load ptr, ptr %t38
|
|
%t547 = load ptr, ptr %t517
|
|
%t548 = call ptr @fn_list_elem_addr(ptr %t545, ptr %t546, ptr %t547)
|
|
store ptr %t548, ptr %t549
|
|
%t550 = load ptr, ptr %t38
|
|
%t551 = call ptr @fn_str_concat(ptr @.str2672, ptr %t550)
|
|
%t552 = call ptr @fn_str_concat(ptr %t551, ptr @.str2673)
|
|
%t553 = load ptr, ptr %t549
|
|
%t554 = call ptr @fn_str_concat(ptr %t552, ptr %t553)
|
|
%t555 = call ptr @fn_emit_bind(ptr %t554)
|
|
store ptr %t555, ptr %t556
|
|
%t557 = load ptr, ptr %t38
|
|
%t558 = call ptr @fn_str_concat(ptr @.str2674, ptr %t557)
|
|
%t559 = call ptr @fn_str_concat(ptr %t558, ptr @.str2675)
|
|
%t560 = load ptr, ptr %t556
|
|
%t561 = call ptr @fn_str_concat(ptr %t559, ptr %t560)
|
|
%t562 = call ptr @fn_str_concat(ptr %t561, ptr @.str2676)
|
|
%t563 = load ptr, ptr %t491
|
|
%t564 = getelementptr inbounds %Cmp_Val, ptr %t563, i32 0, i32 0
|
|
%t565 = load ptr, ptr %t564
|
|
%t566 = call ptr @fn_str_concat(ptr %t562, ptr %t565)
|
|
%t567 = call ptr @fn_emit_bind(ptr %t566)
|
|
store ptr %t567, ptr %t568
|
|
call void @fn_emit(ptr @.str2677)
|
|
%t569 = load ptr, ptr %t568
|
|
call void @fn_emit(ptr %t569)
|
|
call void @fn_emit(ptr @.str2678)
|
|
%t570 = load ptr, ptr %t507
|
|
call void @fn_emit(ptr %t570)
|
|
call void @fn_emit(ptr @.str2679)
|
|
%t571 = load ptr, ptr %t509
|
|
call void @fn_emit(ptr %t571)
|
|
call void @fn_emit(ptr @.str2680)
|
|
%t572 = load ptr, ptr %t507
|
|
call void @fn_emit(ptr %t572)
|
|
call void @fn_emit(ptr @.str2681)
|
|
%t573 = load ptr, ptr %t517
|
|
%t574 = load ptr, ptr %t497
|
|
call void @fn_store_at(ptr @.str2682, ptr %t573, ptr %t574)
|
|
call void @fn_emit(ptr @.str2683)
|
|
%t575 = load ptr, ptr %t503
|
|
call void @fn_emit(ptr %t575)
|
|
call void @fn_emit(ptr @.str2684)
|
|
%t576 = load ptr, ptr %t509
|
|
call void @fn_emit(ptr %t576)
|
|
call void @fn_emit(ptr @.str2685)
|
|
%t577 = load ptr, ptr %t517
|
|
%t578 = call ptr @fn_str_concat(ptr @.str2686, ptr %t577)
|
|
%t579 = call ptr @fn_str_concat(ptr %t578, ptr @.str2687)
|
|
%t580 = call ptr @fn_emit_bind(ptr %t579)
|
|
store ptr %t580, ptr %t581
|
|
%t582 = load ptr, ptr %t581
|
|
%t583 = load ptr, ptr %t500
|
|
call void @fn_store_at(ptr @.str2688, ptr %t582, ptr %t583)
|
|
call void @fn_emit(ptr @.str2689)
|
|
%t584 = load ptr, ptr %t503
|
|
call void @fn_emit(ptr %t584)
|
|
call void @fn_emit(ptr @.str2690)
|
|
%t585 = load ptr, ptr %t511
|
|
call void @fn_emit(ptr %t585)
|
|
call void @fn_emit(ptr @.str2691)
|
|
%t586 = load ptr, ptr %t497
|
|
%t587 = call ptr @fn_str_concat(ptr @.str2692, ptr %t586)
|
|
%t588 = call ptr @fn_emit_bind(ptr %t587)
|
|
store ptr %t588, ptr %t589
|
|
%t590 = load ptr, ptr %t589
|
|
%t591 = call ptr @fn_str_concat(ptr @.str2693, ptr %t590)
|
|
%t592 = call ptr @fn_str_concat(ptr %t591, ptr @.str2694)
|
|
%t593 = call ptr @fn_emit_bind(ptr %t592)
|
|
store ptr %t593, ptr %t594
|
|
%t595 = call ptr @fn_lbl(ptr @.str2695)
|
|
store ptr %t595, ptr %t596
|
|
%t597 = call ptr @fn_lbl(ptr @.str2696)
|
|
store ptr %t597, ptr %t598
|
|
call void @fn_emit(ptr @.str2697)
|
|
%t599 = load ptr, ptr %t594
|
|
call void @fn_emit(ptr %t599)
|
|
call void @fn_emit(ptr @.str2698)
|
|
%t600 = load ptr, ptr %t596
|
|
call void @fn_emit(ptr %t600)
|
|
call void @fn_emit(ptr @.str2699)
|
|
%t601 = load ptr, ptr %t598
|
|
call void @fn_emit(ptr %t601)
|
|
call void @fn_emit(ptr @.str2700)
|
|
%t602 = load ptr, ptr %t596
|
|
call void @fn_emit(ptr %t602)
|
|
call void @fn_emit(ptr @.str2701)
|
|
%t603 = load ptr, ptr %t495
|
|
%t604 = call ptr @fn_str_concat(ptr @.str2702, ptr %t603)
|
|
%t605 = call ptr @fn_str_concat(ptr %t604, ptr @.str2703)
|
|
%t606 = call ptr @fn_emit_bind(ptr %t605)
|
|
store ptr %t606, ptr %t607
|
|
%t608 = call ptr @fn_emit_alloca(ptr @.str2704)
|
|
store ptr %t608, ptr %t609
|
|
%t610 = load ptr, ptr %t589
|
|
%t611 = load ptr, ptr %t609
|
|
call void @fn_store_at(ptr @.str2705, ptr %t610, ptr %t611)
|
|
%t612 = call ptr @fn_lbl(ptr @.str2706)
|
|
store ptr %t612, ptr %t613
|
|
%t614 = call ptr @fn_lbl(ptr @.str2707)
|
|
store ptr %t614, ptr %t615
|
|
%t616 = call ptr @fn_lbl(ptr @.str2708)
|
|
store ptr %t616, ptr %t617
|
|
call void @fn_emit(ptr @.str2709)
|
|
%t618 = load ptr, ptr %t613
|
|
call void @fn_emit(ptr %t618)
|
|
call void @fn_emit(ptr @.str2710)
|
|
%t619 = load ptr, ptr %t613
|
|
call void @fn_emit(ptr %t619)
|
|
call void @fn_emit(ptr @.str2711)
|
|
%t620 = load ptr, ptr %t609
|
|
%t621 = call ptr @fn_str_concat(ptr @.str2712, ptr %t620)
|
|
%t622 = call ptr @fn_emit_bind(ptr %t621)
|
|
store ptr %t622, ptr %t623
|
|
%t624 = load ptr, ptr %t623
|
|
%t625 = call ptr @fn_str_concat(ptr @.str2713, ptr %t624)
|
|
%t626 = call ptr @fn_str_concat(ptr %t625, ptr @.str2714)
|
|
%t627 = load ptr, ptr %t607
|
|
%t628 = call ptr @fn_str_concat(ptr %t626, ptr %t627)
|
|
%t629 = call ptr @fn_emit_bind(ptr %t628)
|
|
store ptr %t629, ptr %t630
|
|
call void @fn_emit(ptr @.str2715)
|
|
%t631 = load ptr, ptr %t630
|
|
call void @fn_emit(ptr %t631)
|
|
call void @fn_emit(ptr @.str2716)
|
|
%t632 = load ptr, ptr %t615
|
|
call void @fn_emit(ptr %t632)
|
|
call void @fn_emit(ptr @.str2717)
|
|
%t633 = load ptr, ptr %t617
|
|
call void @fn_emit(ptr %t633)
|
|
call void @fn_emit(ptr @.str2718)
|
|
%t634 = load ptr, ptr %t615
|
|
call void @fn_emit(ptr %t634)
|
|
call void @fn_emit(ptr @.str2719)
|
|
%t635 = load ptr, ptr %t623
|
|
%t636 = call ptr @fn_str_concat(ptr @.str2720, ptr %t635)
|
|
%t637 = call ptr @fn_str_concat(ptr %t636, ptr @.str2721)
|
|
%t638 = call ptr @fn_emit_bind(ptr %t637)
|
|
store ptr %t638, ptr %t639
|
|
%t640 = load ptr, ptr %t42
|
|
%t641 = load ptr, ptr %t38
|
|
%t642 = load ptr, ptr %t639
|
|
%t643 = call ptr @fn_list_elem_addr(ptr %t640, ptr %t641, ptr %t642)
|
|
store ptr %t643, ptr %t644
|
|
%t645 = load ptr, ptr %t38
|
|
%t646 = call ptr @fn_str_concat(ptr @.str2722, ptr %t645)
|
|
%t647 = call ptr @fn_str_concat(ptr %t646, ptr @.str2723)
|
|
%t648 = load ptr, ptr %t644
|
|
%t649 = call ptr @fn_str_concat(ptr %t647, ptr %t648)
|
|
%t650 = call ptr @fn_emit_bind(ptr %t649)
|
|
store ptr %t650, ptr %t651
|
|
%t652 = load ptr, ptr %t42
|
|
%t653 = load ptr, ptr %t38
|
|
%t654 = load ptr, ptr %t623
|
|
%t655 = call ptr @fn_list_elem_addr(ptr %t652, ptr %t653, ptr %t654)
|
|
store ptr %t655, ptr %t656
|
|
call void @fn_emit(ptr @.str2724)
|
|
%t657 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t657)
|
|
call void @fn_emit(ptr @.str2725)
|
|
%t658 = load ptr, ptr %t651
|
|
call void @fn_emit(ptr %t658)
|
|
call void @fn_emit(ptr @.str2726)
|
|
%t659 = load ptr, ptr %t656
|
|
call void @fn_emit(ptr %t659)
|
|
call void @fn_emit(ptr @.str2727)
|
|
%t660 = load ptr, ptr %t639
|
|
%t661 = load ptr, ptr %t609
|
|
call void @fn_store_at(ptr @.str2728, ptr %t660, ptr %t661)
|
|
call void @fn_emit(ptr @.str2729)
|
|
%t662 = load ptr, ptr %t613
|
|
call void @fn_emit(ptr %t662)
|
|
call void @fn_emit(ptr @.str2730)
|
|
%t663 = load ptr, ptr %t617
|
|
call void @fn_emit(ptr %t663)
|
|
call void @fn_emit(ptr @.str2731)
|
|
call void @fn_emit(ptr @.str2732)
|
|
%t664 = load ptr, ptr %t607
|
|
call void @fn_emit(ptr %t664)
|
|
call void @fn_emit(ptr @.str2733)
|
|
%t665 = load ptr, ptr %t45
|
|
call void @fn_emit(ptr %t665)
|
|
call void @fn_emit(ptr @.str2734)
|
|
call void @fn_emit(ptr @.str2735)
|
|
%t666 = load ptr, ptr %t598
|
|
call void @fn_emit(ptr %t666)
|
|
call void @fn_emit(ptr @.str2736)
|
|
%t667 = load ptr, ptr %t598
|
|
call void @fn_emit(ptr %t667)
|
|
call void @fn_emit(ptr @.str2737)
|
|
%t668 = call ptr @fn_val(ptr @.str2738, ptr @.str2739)
|
|
store ptr %t668, ptr %retval
|
|
br label %ret
|
|
ifend40:
|
|
%t669 = load ptr, ptr %t0
|
|
%t670 = call i32 @fn_str_eq(ptr %t669, ptr @.str2740)
|
|
%t671 = icmp ne i32 %t670, 0
|
|
br i1 %t671, label %then41, label %ifend43
|
|
then41:
|
|
%t672 = load ptr, ptr %t45
|
|
%t673 = call ptr @fn_str_concat(ptr @.str2741, ptr %t672)
|
|
%t674 = call ptr @fn_emit_bind(ptr %t673)
|
|
store ptr %t674, ptr %t675
|
|
%t676 = load ptr, ptr %t675
|
|
%t677 = call ptr @fn_str_concat(ptr @.str2742, ptr %t676)
|
|
%t678 = call ptr @fn_str_concat(ptr %t677, ptr @.str2743)
|
|
%t679 = call ptr @fn_emit_bind(ptr %t678)
|
|
store ptr %t679, ptr %t680
|
|
%t681 = call ptr @fn_lbl(ptr @.str2744)
|
|
store ptr %t681, ptr %t682
|
|
%t683 = call ptr @fn_lbl(ptr @.str2745)
|
|
store ptr %t683, ptr %t684
|
|
%t685 = call ptr @fn_lbl(ptr @.str2746)
|
|
store ptr %t685, ptr %t686
|
|
call void @fn_emit(ptr @.str2747)
|
|
%t687 = load ptr, ptr %t680
|
|
call void @fn_emit(ptr %t687)
|
|
call void @fn_emit(ptr @.str2748)
|
|
%t688 = load ptr, ptr %t682
|
|
call void @fn_emit(ptr %t688)
|
|
call void @fn_emit(ptr @.str2749)
|
|
%t689 = load ptr, ptr %t684
|
|
call void @fn_emit(ptr %t689)
|
|
call void @fn_emit(ptr @.str2750)
|
|
%t690 = load ptr, ptr %t682
|
|
call void @fn_emit(ptr %t690)
|
|
call void @fn_emit(ptr @.str2751)
|
|
%t691 = load ptr, ptr %t45
|
|
%t692 = call ptr @fn_str_concat(ptr @.str2752, ptr %t691)
|
|
%t693 = call ptr @fn_emit_bind(ptr %t692)
|
|
store ptr %t693, ptr %t694
|
|
%t695 = call ptr @fn_emit_alloca(ptr @.str2753)
|
|
store ptr %t695, ptr %t696
|
|
%t697 = load ptr, ptr %t696
|
|
call void @fn_store_at(ptr @.str2754, ptr @.str2755, ptr %t697)
|
|
%t698 = call ptr @fn_lbl(ptr @.str2756)
|
|
store ptr %t698, ptr %t699
|
|
%t700 = call ptr @fn_lbl(ptr @.str2757)
|
|
store ptr %t700, ptr %t701
|
|
%t702 = call ptr @fn_lbl(ptr @.str2758)
|
|
store ptr %t702, ptr %t703
|
|
call void @fn_emit(ptr @.str2759)
|
|
%t704 = load ptr, ptr %t699
|
|
call void @fn_emit(ptr %t704)
|
|
call void @fn_emit(ptr @.str2760)
|
|
%t705 = load ptr, ptr %t699
|
|
call void @fn_emit(ptr %t705)
|
|
call void @fn_emit(ptr @.str2761)
|
|
%t706 = load ptr, ptr %t696
|
|
%t707 = call ptr @fn_str_concat(ptr @.str2762, ptr %t706)
|
|
%t708 = call ptr @fn_emit_bind(ptr %t707)
|
|
store ptr %t708, ptr %t709
|
|
%t710 = load ptr, ptr %t709
|
|
%t711 = call ptr @fn_str_concat(ptr @.str2763, ptr %t710)
|
|
%t712 = call ptr @fn_str_concat(ptr %t711, ptr @.str2764)
|
|
%t713 = load ptr, ptr %t694
|
|
%t714 = call ptr @fn_str_concat(ptr %t712, ptr %t713)
|
|
%t715 = call ptr @fn_emit_bind(ptr %t714)
|
|
store ptr %t715, ptr %t716
|
|
call void @fn_emit(ptr @.str2765)
|
|
%t717 = load ptr, ptr %t716
|
|
call void @fn_emit(ptr %t717)
|
|
call void @fn_emit(ptr @.str2766)
|
|
%t718 = load ptr, ptr %t701
|
|
call void @fn_emit(ptr %t718)
|
|
call void @fn_emit(ptr @.str2767)
|
|
%t719 = load ptr, ptr %t703
|
|
call void @fn_emit(ptr %t719)
|
|
call void @fn_emit(ptr @.str2768)
|
|
%t720 = load ptr, ptr %t701
|
|
call void @fn_emit(ptr %t720)
|
|
call void @fn_emit(ptr @.str2769)
|
|
%t721 = load ptr, ptr %t42
|
|
%t722 = load ptr, ptr %t38
|
|
%t723 = load ptr, ptr %t709
|
|
%t724 = call ptr @fn_list_elem_addr(ptr %t721, ptr %t722, ptr %t723)
|
|
store ptr %t724, ptr %t725
|
|
%t726 = load ptr, ptr %t38
|
|
%t727 = call ptr @fn_str_concat(ptr @.str2770, ptr %t726)
|
|
%t728 = call ptr @fn_str_concat(ptr %t727, ptr @.str2771)
|
|
%t729 = load ptr, ptr %t725
|
|
%t730 = call ptr @fn_str_concat(ptr %t728, ptr %t729)
|
|
%t731 = call ptr @fn_emit_bind(ptr %t730)
|
|
store ptr %t731, ptr %t732
|
|
%t733 = call ptr @fn_emit_alloca(ptr @.str2772)
|
|
store ptr %t733, ptr %t734
|
|
%t735 = load ptr, ptr %t709
|
|
%t736 = call ptr @fn_str_concat(ptr @.str2773, ptr %t735)
|
|
%t737 = call ptr @fn_str_concat(ptr %t736, ptr @.str2774)
|
|
%t738 = call ptr @fn_emit_bind(ptr %t737)
|
|
store ptr %t738, ptr %t739
|
|
%t740 = load ptr, ptr %t739
|
|
%t741 = load ptr, ptr %t734
|
|
call void @fn_store_at(ptr @.str2775, ptr %t740, ptr %t741)
|
|
%t742 = call ptr @fn_lbl(ptr @.str2776)
|
|
store ptr %t742, ptr %t743
|
|
%t744 = call ptr @fn_lbl(ptr @.str2777)
|
|
store ptr %t744, ptr %t745
|
|
%t746 = call ptr @fn_lbl(ptr @.str2778)
|
|
store ptr %t746, ptr %t747
|
|
call void @fn_emit(ptr @.str2779)
|
|
%t748 = load ptr, ptr %t743
|
|
call void @fn_emit(ptr %t748)
|
|
call void @fn_emit(ptr @.str2780)
|
|
%t749 = load ptr, ptr %t743
|
|
call void @fn_emit(ptr %t749)
|
|
call void @fn_emit(ptr @.str2781)
|
|
%t750 = load ptr, ptr %t734
|
|
%t751 = call ptr @fn_str_concat(ptr @.str2782, ptr %t750)
|
|
%t752 = call ptr @fn_emit_bind(ptr %t751)
|
|
store ptr %t752, ptr %t753
|
|
%t754 = load ptr, ptr %t753
|
|
%t755 = call ptr @fn_str_concat(ptr @.str2783, ptr %t754)
|
|
%t756 = call ptr @fn_str_concat(ptr %t755, ptr @.str2784)
|
|
%t757 = call ptr @fn_emit_bind(ptr %t756)
|
|
store ptr %t757, ptr %t758
|
|
%t759 = load ptr, ptr %t42
|
|
%t760 = load ptr, ptr %t38
|
|
%t761 = load ptr, ptr %t753
|
|
%t762 = call ptr @fn_list_elem_addr(ptr %t759, ptr %t760, ptr %t761)
|
|
store ptr %t762, ptr %t763
|
|
%t764 = load ptr, ptr %t38
|
|
%t765 = call ptr @fn_str_concat(ptr @.str2785, ptr %t764)
|
|
%t766 = call ptr @fn_str_concat(ptr %t765, ptr @.str2786)
|
|
%t767 = load ptr, ptr %t763
|
|
%t768 = call ptr @fn_str_concat(ptr %t766, ptr %t767)
|
|
%t769 = call ptr @fn_emit_bind(ptr %t768)
|
|
store ptr %t769, ptr %t770
|
|
%t771 = load ptr, ptr %t38
|
|
%t772 = call ptr @fn_str_concat(ptr @.str2787, ptr %t771)
|
|
%t773 = call ptr @fn_str_concat(ptr %t772, ptr @.str2788)
|
|
%t774 = load ptr, ptr %t770
|
|
%t775 = call ptr @fn_str_concat(ptr %t773, ptr %t774)
|
|
%t776 = call ptr @fn_str_concat(ptr %t775, ptr @.str2789)
|
|
%t777 = load ptr, ptr %t732
|
|
%t778 = call ptr @fn_str_concat(ptr %t776, ptr %t777)
|
|
%t779 = call ptr @fn_emit_bind(ptr %t778)
|
|
store ptr %t779, ptr %t780
|
|
%t781 = load ptr, ptr %t758
|
|
%t782 = call ptr @fn_str_concat(ptr @.str2790, ptr %t781)
|
|
%t783 = call ptr @fn_str_concat(ptr %t782, ptr @.str2791)
|
|
%t784 = load ptr, ptr %t780
|
|
%t785 = call ptr @fn_str_concat(ptr %t783, ptr %t784)
|
|
%t786 = call ptr @fn_emit_bind(ptr %t785)
|
|
store ptr %t786, ptr %t787
|
|
call void @fn_emit(ptr @.str2792)
|
|
%t788 = load ptr, ptr %t787
|
|
call void @fn_emit(ptr %t788)
|
|
call void @fn_emit(ptr @.str2793)
|
|
%t789 = load ptr, ptr %t745
|
|
call void @fn_emit(ptr %t789)
|
|
call void @fn_emit(ptr @.str2794)
|
|
%t790 = load ptr, ptr %t747
|
|
call void @fn_emit(ptr %t790)
|
|
call void @fn_emit(ptr @.str2795)
|
|
%t791 = load ptr, ptr %t745
|
|
call void @fn_emit(ptr %t791)
|
|
call void @fn_emit(ptr @.str2796)
|
|
%t792 = load ptr, ptr %t753
|
|
%t793 = call ptr @fn_str_concat(ptr @.str2797, ptr %t792)
|
|
%t794 = call ptr @fn_str_concat(ptr %t793, ptr @.str2798)
|
|
%t795 = call ptr @fn_emit_bind(ptr %t794)
|
|
store ptr %t795, ptr %t796
|
|
%t797 = load ptr, ptr %t42
|
|
%t798 = load ptr, ptr %t38
|
|
%t799 = load ptr, ptr %t796
|
|
%t800 = call ptr @fn_list_elem_addr(ptr %t797, ptr %t798, ptr %t799)
|
|
store ptr %t800, ptr %t801
|
|
call void @fn_emit(ptr @.str2799)
|
|
%t802 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t802)
|
|
call void @fn_emit(ptr @.str2800)
|
|
%t803 = load ptr, ptr %t770
|
|
call void @fn_emit(ptr %t803)
|
|
call void @fn_emit(ptr @.str2801)
|
|
%t804 = load ptr, ptr %t801
|
|
call void @fn_emit(ptr %t804)
|
|
call void @fn_emit(ptr @.str2802)
|
|
%t805 = load ptr, ptr %t753
|
|
%t806 = call ptr @fn_str_concat(ptr @.str2803, ptr %t805)
|
|
%t807 = call ptr @fn_str_concat(ptr %t806, ptr @.str2804)
|
|
%t808 = call ptr @fn_emit_bind(ptr %t807)
|
|
store ptr %t808, ptr %t809
|
|
%t810 = load ptr, ptr %t809
|
|
%t811 = load ptr, ptr %t734
|
|
call void @fn_store_at(ptr @.str2805, ptr %t810, ptr %t811)
|
|
call void @fn_emit(ptr @.str2806)
|
|
%t812 = load ptr, ptr %t743
|
|
call void @fn_emit(ptr %t812)
|
|
call void @fn_emit(ptr @.str2807)
|
|
%t813 = load ptr, ptr %t747
|
|
call void @fn_emit(ptr %t813)
|
|
call void @fn_emit(ptr @.str2808)
|
|
%t814 = load ptr, ptr %t734
|
|
%t815 = call ptr @fn_str_concat(ptr @.str2809, ptr %t814)
|
|
%t816 = call ptr @fn_emit_bind(ptr %t815)
|
|
store ptr %t816, ptr %t817
|
|
%t818 = load ptr, ptr %t817
|
|
%t819 = call ptr @fn_str_concat(ptr @.str2810, ptr %t818)
|
|
%t820 = call ptr @fn_str_concat(ptr %t819, ptr @.str2811)
|
|
%t821 = call ptr @fn_emit_bind(ptr %t820)
|
|
store ptr %t821, ptr %t822
|
|
%t823 = load ptr, ptr %t42
|
|
%t824 = load ptr, ptr %t38
|
|
%t825 = load ptr, ptr %t822
|
|
%t826 = call ptr @fn_list_elem_addr(ptr %t823, ptr %t824, ptr %t825)
|
|
store ptr %t826, ptr %t827
|
|
call void @fn_emit(ptr @.str2812)
|
|
%t828 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t828)
|
|
call void @fn_emit(ptr @.str2813)
|
|
%t829 = load ptr, ptr %t732
|
|
call void @fn_emit(ptr %t829)
|
|
call void @fn_emit(ptr @.str2814)
|
|
%t830 = load ptr, ptr %t827
|
|
call void @fn_emit(ptr %t830)
|
|
call void @fn_emit(ptr @.str2815)
|
|
%t831 = load ptr, ptr %t709
|
|
%t832 = call ptr @fn_str_concat(ptr @.str2816, ptr %t831)
|
|
%t833 = call ptr @fn_str_concat(ptr %t832, ptr @.str2817)
|
|
%t834 = call ptr @fn_emit_bind(ptr %t833)
|
|
store ptr %t834, ptr %t835
|
|
%t836 = load ptr, ptr %t835
|
|
%t837 = load ptr, ptr %t696
|
|
call void @fn_store_at(ptr @.str2818, ptr %t836, ptr %t837)
|
|
call void @fn_emit(ptr @.str2819)
|
|
%t838 = load ptr, ptr %t699
|
|
call void @fn_emit(ptr %t838)
|
|
call void @fn_emit(ptr @.str2820)
|
|
%t839 = load ptr, ptr %t703
|
|
call void @fn_emit(ptr %t839)
|
|
call void @fn_emit(ptr @.str2821)
|
|
call void @fn_emit(ptr @.str2822)
|
|
%t840 = load ptr, ptr %t686
|
|
call void @fn_emit(ptr %t840)
|
|
call void @fn_emit(ptr @.str2823)
|
|
%t841 = load ptr, ptr %t684
|
|
call void @fn_emit(ptr %t841)
|
|
call void @fn_emit(ptr @.str2824)
|
|
%t842 = load ptr, ptr %t42
|
|
%t843 = load ptr, ptr %t38
|
|
call void @fn_emit_merge_sort(ptr %t842, ptr %t843, i32 3, ptr @.str2825, ptr @.str2826)
|
|
call void @fn_emit(ptr @.str2827)
|
|
%t844 = load ptr, ptr %t686
|
|
call void @fn_emit(ptr %t844)
|
|
call void @fn_emit(ptr @.str2828)
|
|
%t845 = load ptr, ptr %t686
|
|
call void @fn_emit(ptr %t845)
|
|
call void @fn_emit(ptr @.str2829)
|
|
%t846 = call ptr @fn_val(ptr @.str2830, ptr @.str2831)
|
|
store ptr %t846, ptr %retval
|
|
br label %ret
|
|
ifend43:
|
|
%t847 = load ptr, ptr %t0
|
|
%t848 = call i32 @fn_str_eq(ptr %t847, ptr @.str2832)
|
|
%t849 = icmp ne i32 %t848, 0
|
|
br i1 %t849, label %then44, label %ifend46
|
|
then44:
|
|
%t850 = load ptr, ptr %t0
|
|
%t851 = load ptr, ptr %t1
|
|
%t852 = call ptr @fn_sort_fn_arg(ptr %t850, ptr %t851)
|
|
store ptr %t852, ptr %t853
|
|
%t854 = load ptr, ptr %t853
|
|
%t855 = call ptr @fn_find_fn(ptr %t854)
|
|
%t856 = call ptr @fn_param_types(ptr %t855)
|
|
%t857 = getelementptr inbounds %LSlice, ptr %t856, i32 0, i32 1
|
|
%t858 = load i32, ptr %t857
|
|
%t859 = icmp ne i32 %t858, 2
|
|
%t860 = zext i1 %t859 to i32
|
|
%t861 = icmp ne i32 %t860, 0
|
|
br i1 %t861, label %then47, label %ifend49
|
|
then47:
|
|
%t862 = load ptr, ptr %t853
|
|
%t863 = call ptr @fn_str_concat(ptr @.str2833, ptr %t862)
|
|
%t864 = call ptr @fn_str_concat(ptr %t863, ptr @.str2834)
|
|
call void @fn_perr(ptr %t864)
|
|
br label %ifend49
|
|
ifend49:
|
|
%t865 = load ptr, ptr %t42
|
|
%t866 = load ptr, ptr %t38
|
|
%t867 = load ptr, ptr %t853
|
|
call void @fn_emit_merge_sort(ptr %t865, ptr %t866, i32 0, ptr %t867, ptr @.str2835)
|
|
%t868 = call ptr @fn_val(ptr @.str2836, ptr @.str2837)
|
|
store ptr %t868, ptr %retval
|
|
br label %ret
|
|
ifend46:
|
|
%t870 = load ptr, ptr %t0
|
|
%t871 = call i32 @fn_str_eq(ptr %t870, ptr @.str2838)
|
|
%t872 = icmp ne i32 %t871, 0
|
|
%t873 = zext i1 %t872 to i32
|
|
store i32 %t873, ptr %t869
|
|
br i1 %t872, label %scend51, label %sc50
|
|
sc50:
|
|
%t874 = load ptr, ptr %t0
|
|
%t875 = call i32 @fn_str_eq(ptr %t874, ptr @.str2839)
|
|
%t876 = icmp ne i32 %t875, 0
|
|
%t877 = zext i1 %t876 to i32
|
|
store i32 %t877, ptr %t869
|
|
br label %scend51
|
|
scend51:
|
|
%t878 = load i32, ptr %t869
|
|
%t879 = icmp ne i32 %t878, 0
|
|
br i1 %t879, label %then52, label %ifend54
|
|
then52:
|
|
%t880 = load ptr, ptr %t0
|
|
%t881 = load ptr, ptr %t1
|
|
%t882 = call ptr @fn_sort_fn_arg(ptr %t880, ptr %t881)
|
|
store ptr %t882, ptr %t883
|
|
%t884 = load ptr, ptr %t883
|
|
%t885 = call ptr @fn_find_fn(ptr %t884)
|
|
store ptr %t885, ptr %t886
|
|
%t887 = load ptr, ptr %t886
|
|
%t888 = call ptr @fn_param_types(ptr %t887)
|
|
%t889 = getelementptr inbounds %LSlice, ptr %t888, i32 0, i32 1
|
|
%t890 = load i32, ptr %t889
|
|
%t891 = icmp ne i32 %t890, 1
|
|
%t892 = zext i1 %t891 to i32
|
|
%t893 = icmp ne i32 %t892, 0
|
|
br i1 %t893, label %then55, label %ifend57
|
|
then55:
|
|
%t894 = load ptr, ptr %t0
|
|
%t895 = call ptr @fn_str_concat(ptr @.str2840, ptr %t894)
|
|
%t896 = call ptr @fn_str_concat(ptr %t895, ptr @.str2841)
|
|
%t897 = load ptr, ptr %t883
|
|
%t898 = call ptr @fn_str_concat(ptr %t896, ptr %t897)
|
|
%t899 = call ptr @fn_str_concat(ptr %t898, ptr @.str2842)
|
|
call void @fn_perr(ptr %t899)
|
|
br label %ifend57
|
|
ifend57:
|
|
%t900 = load ptr, ptr %t886
|
|
%t901 = getelementptr inbounds %Cmp_Node, ptr %t900, i32 0, i32 3
|
|
%t902 = load ptr, ptr %t901
|
|
%t903 = call ptr @fn_llty(ptr %t902)
|
|
store ptr %t903, ptr %t904
|
|
%t906 = load ptr, ptr %t904
|
|
%t907 = call i32 @fn_str_eq(ptr %t906, ptr @.str2843)
|
|
%t908 = icmp ne i32 %t907, 0
|
|
%t909 = zext i1 %t908 to i32
|
|
store i32 %t909, ptr %t905
|
|
br i1 %t908, label %scend59, label %sc58
|
|
sc58:
|
|
%t910 = load ptr, ptr %t904
|
|
%t911 = call i32 @fn_str_eq(ptr %t910, ptr @.str2844)
|
|
%t912 = icmp ne i32 %t911, 0
|
|
%t913 = zext i1 %t912 to i32
|
|
store i32 %t913, ptr %t905
|
|
br label %scend59
|
|
scend59:
|
|
%t914 = load i32, ptr %t905
|
|
%t915 = icmp ne i32 %t914, 0
|
|
br i1 %t915, label %then60, label %ifend62
|
|
then60:
|
|
%t916 = load ptr, ptr %t0
|
|
%t917 = call ptr @fn_str_concat(ptr @.str2845, ptr %t916)
|
|
%t918 = call ptr @fn_str_concat(ptr %t917, ptr @.str2846)
|
|
%t919 = load ptr, ptr %t883
|
|
%t920 = call ptr @fn_str_concat(ptr %t918, ptr %t919)
|
|
%t921 = call ptr @fn_str_concat(ptr %t920, ptr @.str2847)
|
|
call void @fn_perr(ptr %t921)
|
|
br label %ifend62
|
|
ifend62:
|
|
store i32 1, ptr %t922
|
|
%t923 = load ptr, ptr %t0
|
|
%t924 = call i32 @fn_str_eq(ptr %t923, ptr @.str2848)
|
|
%t925 = icmp ne i32 %t924, 0
|
|
br i1 %t925, label %then63, label %ifend65
|
|
then63:
|
|
store i32 2, ptr %t922
|
|
br label %ifend65
|
|
ifend65:
|
|
%t926 = load ptr, ptr %t42
|
|
%t927 = load ptr, ptr %t38
|
|
%t928 = load i32, ptr %t922
|
|
%t929 = load ptr, ptr %t883
|
|
%t930 = load ptr, ptr %t904
|
|
call void @fn_emit_merge_sort(ptr %t926, ptr %t927, i32 %t928, ptr %t929, ptr %t930)
|
|
%t931 = call ptr @fn_val(ptr @.str2849, ptr @.str2850)
|
|
store ptr %t931, ptr %retval
|
|
br label %ret
|
|
ifend54:
|
|
%t932 = load ptr, ptr %t45
|
|
%t933 = call ptr @fn_str_concat(ptr @.str2851, ptr %t932)
|
|
%t934 = call ptr @fn_emit_bind(ptr %t933)
|
|
store ptr %t934, ptr %t935
|
|
%t936 = call ptr @fn_emit_alloca(ptr @.str2852)
|
|
store ptr %t936, ptr %t937
|
|
%t938 = load ptr, ptr %t937
|
|
call void @fn_store_at(ptr @.str2853, ptr @.str2854, ptr %t938)
|
|
%t939 = call ptr @fn_emit_alloca(ptr @.str2855)
|
|
store ptr %t939, ptr %t940
|
|
%t941 = load ptr, ptr %t935
|
|
%t942 = call ptr @fn_str_concat(ptr @.str2856, ptr %t941)
|
|
%t943 = call ptr @fn_str_concat(ptr %t942, ptr @.str2857)
|
|
%t944 = call ptr @fn_emit_bind(ptr %t943)
|
|
store ptr %t944, ptr %t945
|
|
%t946 = load ptr, ptr %t945
|
|
%t947 = load ptr, ptr %t940
|
|
call void @fn_store_at(ptr @.str2858, ptr %t946, ptr %t947)
|
|
%t948 = call ptr @fn_lbl(ptr @.str2859)
|
|
store ptr %t948, ptr %t949
|
|
%t950 = call ptr @fn_lbl(ptr @.str2860)
|
|
store ptr %t950, ptr %t951
|
|
%t952 = call ptr @fn_lbl(ptr @.str2861)
|
|
store ptr %t952, ptr %t953
|
|
call void @fn_emit(ptr @.str2862)
|
|
%t954 = load ptr, ptr %t949
|
|
call void @fn_emit(ptr %t954)
|
|
call void @fn_emit(ptr @.str2863)
|
|
%t955 = load ptr, ptr %t949
|
|
call void @fn_emit(ptr %t955)
|
|
call void @fn_emit(ptr @.str2864)
|
|
%t956 = load ptr, ptr %t937
|
|
%t957 = call ptr @fn_str_concat(ptr @.str2865, ptr %t956)
|
|
%t958 = call ptr @fn_emit_bind(ptr %t957)
|
|
store ptr %t958, ptr %t959
|
|
%t960 = load ptr, ptr %t940
|
|
%t961 = call ptr @fn_str_concat(ptr @.str2866, ptr %t960)
|
|
%t962 = call ptr @fn_emit_bind(ptr %t961)
|
|
store ptr %t962, ptr %t963
|
|
%t964 = load ptr, ptr %t959
|
|
%t965 = call ptr @fn_str_concat(ptr @.str2867, ptr %t964)
|
|
%t966 = call ptr @fn_str_concat(ptr %t965, ptr @.str2868)
|
|
%t967 = load ptr, ptr %t963
|
|
%t968 = call ptr @fn_str_concat(ptr %t966, ptr %t967)
|
|
%t969 = call ptr @fn_emit_bind(ptr %t968)
|
|
store ptr %t969, ptr %t970
|
|
call void @fn_emit(ptr @.str2869)
|
|
%t971 = load ptr, ptr %t970
|
|
call void @fn_emit(ptr %t971)
|
|
call void @fn_emit(ptr @.str2870)
|
|
%t972 = load ptr, ptr %t951
|
|
call void @fn_emit(ptr %t972)
|
|
call void @fn_emit(ptr @.str2871)
|
|
%t973 = load ptr, ptr %t953
|
|
call void @fn_emit(ptr %t973)
|
|
call void @fn_emit(ptr @.str2872)
|
|
%t974 = load ptr, ptr %t951
|
|
call void @fn_emit(ptr %t974)
|
|
call void @fn_emit(ptr @.str2873)
|
|
%t975 = load ptr, ptr %t42
|
|
%t976 = load ptr, ptr %t38
|
|
%t977 = load ptr, ptr %t959
|
|
%t978 = call ptr @fn_list_elem_addr(ptr %t975, ptr %t976, ptr %t977)
|
|
store ptr %t978, ptr %t979
|
|
%t980 = load ptr, ptr %t42
|
|
%t981 = load ptr, ptr %t38
|
|
%t982 = load ptr, ptr %t963
|
|
%t983 = call ptr @fn_list_elem_addr(ptr %t980, ptr %t981, ptr %t982)
|
|
store ptr %t983, ptr %t984
|
|
%t985 = load ptr, ptr %t38
|
|
%t986 = call ptr @fn_str_concat(ptr @.str2874, ptr %t985)
|
|
%t987 = call ptr @fn_str_concat(ptr %t986, ptr @.str2875)
|
|
%t988 = load ptr, ptr %t979
|
|
%t989 = call ptr @fn_str_concat(ptr %t987, ptr %t988)
|
|
%t990 = call ptr @fn_emit_bind(ptr %t989)
|
|
store ptr %t990, ptr %t991
|
|
%t992 = load ptr, ptr %t38
|
|
%t993 = call ptr @fn_str_concat(ptr @.str2876, ptr %t992)
|
|
%t994 = call ptr @fn_str_concat(ptr %t993, ptr @.str2877)
|
|
%t995 = load ptr, ptr %t984
|
|
%t996 = call ptr @fn_str_concat(ptr %t994, ptr %t995)
|
|
%t997 = call ptr @fn_emit_bind(ptr %t996)
|
|
store ptr %t997, ptr %t998
|
|
call void @fn_emit(ptr @.str2878)
|
|
%t999 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t999)
|
|
call void @fn_emit(ptr @.str2879)
|
|
%t1000 = load ptr, ptr %t998
|
|
call void @fn_emit(ptr %t1000)
|
|
call void @fn_emit(ptr @.str2880)
|
|
%t1001 = load ptr, ptr %t979
|
|
call void @fn_emit(ptr %t1001)
|
|
call void @fn_emit(ptr @.str2881)
|
|
call void @fn_emit(ptr @.str2882)
|
|
%t1002 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t1002)
|
|
call void @fn_emit(ptr @.str2883)
|
|
%t1003 = load ptr, ptr %t991
|
|
call void @fn_emit(ptr %t1003)
|
|
call void @fn_emit(ptr @.str2884)
|
|
%t1004 = load ptr, ptr %t984
|
|
call void @fn_emit(ptr %t1004)
|
|
call void @fn_emit(ptr @.str2885)
|
|
%t1005 = load ptr, ptr %t959
|
|
%t1006 = call ptr @fn_str_concat(ptr @.str2886, ptr %t1005)
|
|
%t1007 = call ptr @fn_str_concat(ptr %t1006, ptr @.str2887)
|
|
%t1008 = call ptr @fn_emit_bind(ptr %t1007)
|
|
store ptr %t1008, ptr %t1009
|
|
%t1010 = load ptr, ptr %t1009
|
|
%t1011 = load ptr, ptr %t937
|
|
call void @fn_store_at(ptr @.str2888, ptr %t1010, ptr %t1011)
|
|
%t1012 = load ptr, ptr %t963
|
|
%t1013 = call ptr @fn_str_concat(ptr @.str2889, ptr %t1012)
|
|
%t1014 = call ptr @fn_str_concat(ptr %t1013, ptr @.str2890)
|
|
%t1015 = call ptr @fn_emit_bind(ptr %t1014)
|
|
store ptr %t1015, ptr %t1016
|
|
%t1017 = load ptr, ptr %t1016
|
|
%t1018 = load ptr, ptr %t940
|
|
call void @fn_store_at(ptr @.str2891, ptr %t1017, ptr %t1018)
|
|
call void @fn_emit(ptr @.str2892)
|
|
%t1019 = load ptr, ptr %t949
|
|
call void @fn_emit(ptr %t1019)
|
|
call void @fn_emit(ptr @.str2893)
|
|
%t1020 = load ptr, ptr %t953
|
|
call void @fn_emit(ptr %t1020)
|
|
call void @fn_emit(ptr @.str2894)
|
|
%t1021 = call ptr @fn_val(ptr @.str2895, ptr @.str2896)
|
|
store ptr %t1021, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t1022 = load ptr, ptr %retval
|
|
ret ptr %t1022
|
|
}
|
|
|
|
define i32 @fn_is_ease_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t20 = alloca i32
|
|
%t21 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str2897)
|
|
%t5 = icmp ne i32 %t4, 0
|
|
%t6 = zext i1 %t5 to i32
|
|
store i32 %t6, ptr %t2
|
|
br i1 %t5, label %scend1, label %sc0
|
|
sc0:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str2898)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
%t10 = zext i1 %t9 to i32
|
|
store i32 %t10, ptr %t2
|
|
br label %scend1
|
|
scend1:
|
|
%t11 = load i32, ptr %t2
|
|
%t12 = icmp ne i32 %t11, 0
|
|
%t13 = zext i1 %t12 to i32
|
|
store i32 %t13, ptr %t1
|
|
br i1 %t12, label %scend3, label %sc2
|
|
sc2:
|
|
%t14 = load ptr, ptr %t0
|
|
%t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str2899)
|
|
%t16 = icmp ne i32 %t15, 0
|
|
%t17 = zext i1 %t16 to i32
|
|
store i32 %t17, ptr %t1
|
|
br label %scend3
|
|
scend3:
|
|
%t18 = load i32, ptr %t1
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then4, label %ifend6
|
|
then4:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend6:
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str2900)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
store i32 %t25, ptr %t21
|
|
br i1 %t24, label %scend8, label %sc7
|
|
sc7:
|
|
%t26 = load ptr, ptr %t0
|
|
%t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str2901)
|
|
%t28 = icmp ne i32 %t27, 0
|
|
%t29 = zext i1 %t28 to i32
|
|
store i32 %t29, ptr %t21
|
|
br label %scend8
|
|
scend8:
|
|
%t30 = load i32, ptr %t21
|
|
%t31 = icmp ne i32 %t30, 0
|
|
%t32 = zext i1 %t31 to i32
|
|
store i32 %t32, ptr %t20
|
|
br i1 %t31, label %scend10, label %sc9
|
|
sc9:
|
|
%t33 = load ptr, ptr %t0
|
|
%t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str2902)
|
|
%t35 = icmp ne i32 %t34, 0
|
|
%t36 = zext i1 %t35 to i32
|
|
store i32 %t36, ptr %t20
|
|
br label %scend10
|
|
scend10:
|
|
%t37 = load i32, ptr %t20
|
|
%t38 = icmp ne i32 %t37, 0
|
|
br i1 %t38, label %then11, label %ifend13
|
|
then11:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend13:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t39 = load i32, ptr %retval
|
|
ret i32 %t39
|
|
}
|
|
|
|
define ptr @fn_ease_bounce_seg(ptr %arg_u) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t4 = alloca ptr
|
|
store ptr %arg_u, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call ptr @fn_fx_mul_code(ptr %t1, ptr %t2)
|
|
store ptr %t3, ptr %t4
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = call ptr @fn_fx_mul_code(ptr %t5, ptr @.str2903)
|
|
store ptr %t6, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t7 = load ptr, ptr %retval
|
|
ret ptr %t7
|
|
}
|
|
|
|
define ptr @fn_emit_ease_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t10 = alloca ptr
|
|
%t30 = alloca ptr
|
|
%t47 = alloca ptr
|
|
%t53 = alloca ptr
|
|
%t58 = alloca ptr
|
|
%t63 = alloca ptr
|
|
%t81 = alloca ptr
|
|
%t87 = alloca ptr
|
|
%t90 = alloca ptr
|
|
%t93 = alloca ptr
|
|
%t110 = alloca ptr
|
|
%t114 = alloca ptr
|
|
%t119 = alloca ptr
|
|
%t124 = alloca ptr
|
|
%t127 = alloca ptr
|
|
%t132 = alloca ptr
|
|
%t136 = alloca ptr
|
|
%t146 = alloca ptr
|
|
%t153 = alloca ptr
|
|
%t156 = alloca ptr
|
|
%t161 = alloca ptr
|
|
%t168 = alloca ptr
|
|
%t171 = alloca ptr
|
|
%t176 = alloca ptr
|
|
%t183 = alloca ptr
|
|
%t186 = alloca ptr
|
|
%t191 = alloca ptr
|
|
%t198 = alloca ptr
|
|
%t208 = alloca ptr
|
|
%t215 = alloca ptr
|
|
%t225 = alloca ptr
|
|
%t232 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
%t2 = load ptr, ptr %t1
|
|
%t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = getelementptr inbounds ptr, ptr %t6, i32 0
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = call ptr @fn_emit_expr(ptr %t8)
|
|
store ptr %t9, ptr %t10
|
|
%t11 = load ptr, ptr %t0
|
|
%t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str2904)
|
|
%t13 = icmp ne i32 %t12, 0
|
|
br i1 %t13, label %then0, label %ifend2
|
|
then0:
|
|
%t14 = load ptr, ptr %t10
|
|
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = load ptr, ptr %t10
|
|
%t18 = getelementptr inbounds %Cmp_Val, ptr %t17, i32 0, i32 0
|
|
%t19 = load ptr, ptr %t18
|
|
%t20 = call ptr @fn_fx_mul_code(ptr %t16, ptr %t19)
|
|
%t21 = call ptr @fn_val(ptr %t20, ptr @.str2905)
|
|
store ptr %t21, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str2906)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
br i1 %t24, label %then3, label %ifend5
|
|
then3:
|
|
%t25 = load ptr, ptr %t10
|
|
%t26 = getelementptr inbounds %Cmp_Val, ptr %t25, i32 0, i32 0
|
|
%t27 = load ptr, ptr %t26
|
|
%t28 = call ptr @fn_str_concat(ptr @.str2907, ptr %t27)
|
|
%t29 = call ptr @fn_emit_bind(ptr %t28)
|
|
store ptr %t29, ptr %t30
|
|
%t31 = load ptr, ptr %t10
|
|
%t32 = getelementptr inbounds %Cmp_Val, ptr %t31, i32 0, i32 0
|
|
%t33 = load ptr, ptr %t32
|
|
%t34 = load ptr, ptr %t30
|
|
%t35 = call ptr @fn_fx_mul_code(ptr %t33, ptr %t34)
|
|
%t36 = call ptr @fn_val(ptr %t35, ptr @.str2908)
|
|
store ptr %t36, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t37 = load ptr, ptr %t0
|
|
%t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str2909)
|
|
%t39 = icmp ne i32 %t38, 0
|
|
br i1 %t39, label %then6, label %ifend8
|
|
then6:
|
|
%t40 = load ptr, ptr %t10
|
|
%t41 = getelementptr inbounds %Cmp_Val, ptr %t40, i32 0, i32 0
|
|
%t42 = load ptr, ptr %t41
|
|
%t43 = load ptr, ptr %t10
|
|
%t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0
|
|
%t45 = load ptr, ptr %t44
|
|
%t46 = call ptr @fn_fx_mul_code(ptr %t42, ptr %t45)
|
|
store ptr %t46, ptr %t47
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = load ptr, ptr %t10
|
|
%t50 = getelementptr inbounds %Cmp_Val, ptr %t49, i32 0, i32 0
|
|
%t51 = load ptr, ptr %t50
|
|
%t52 = call ptr @fn_fx_mul_code(ptr %t48, ptr %t51)
|
|
store ptr %t52, ptr %t53
|
|
%t54 = load ptr, ptr %t47
|
|
%t55 = call ptr @fn_str_concat(ptr @.str2910, ptr %t54)
|
|
%t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str2911)
|
|
%t57 = call ptr @fn_emit_bind(ptr %t56)
|
|
store ptr %t57, ptr %t58
|
|
%t59 = load ptr, ptr %t53
|
|
%t60 = call ptr @fn_str_concat(ptr @.str2912, ptr %t59)
|
|
%t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str2913)
|
|
%t62 = call ptr @fn_emit_bind(ptr %t61)
|
|
store ptr %t62, ptr %t63
|
|
%t64 = load ptr, ptr %t58
|
|
%t65 = call ptr @fn_str_concat(ptr @.str2914, ptr %t64)
|
|
%t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str2915)
|
|
%t67 = load ptr, ptr %t63
|
|
%t68 = call ptr @fn_str_concat(ptr %t66, ptr %t67)
|
|
%t69 = call ptr @fn_emit_bind(ptr %t68)
|
|
%t70 = call ptr @fn_val(ptr %t69, ptr @.str2916)
|
|
store ptr %t70, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t71 = load ptr, ptr %t0
|
|
%t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str2917)
|
|
%t73 = icmp ne i32 %t72, 0
|
|
br i1 %t73, label %then9, label %ifend11
|
|
then9:
|
|
%t74 = load ptr, ptr %t10
|
|
%t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0
|
|
%t76 = load ptr, ptr %t75
|
|
%t77 = load ptr, ptr %t10
|
|
%t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0
|
|
%t79 = load ptr, ptr %t78
|
|
%t80 = call ptr @fn_fx_mul_code(ptr %t76, ptr %t79)
|
|
store ptr %t80, ptr %t81
|
|
%t82 = load ptr, ptr %t81
|
|
%t83 = load ptr, ptr %t10
|
|
%t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0
|
|
%t85 = load ptr, ptr %t84
|
|
%t86 = call ptr @fn_fx_mul_code(ptr %t82, ptr %t85)
|
|
store ptr %t86, ptr %t87
|
|
%t88 = load ptr, ptr %t87
|
|
%t89 = call ptr @fn_fx_mul_code(ptr %t88, ptr @.str2918)
|
|
store ptr %t89, ptr %t90
|
|
%t91 = load ptr, ptr %t81
|
|
%t92 = call ptr @fn_fx_mul_code(ptr %t91, ptr @.str2919)
|
|
store ptr %t92, ptr %t93
|
|
%t94 = load ptr, ptr %t90
|
|
%t95 = call ptr @fn_str_concat(ptr @.str2920, ptr %t94)
|
|
%t96 = call ptr @fn_str_concat(ptr %t95, ptr @.str2921)
|
|
%t97 = load ptr, ptr %t93
|
|
%t98 = call ptr @fn_str_concat(ptr %t96, ptr %t97)
|
|
%t99 = call ptr @fn_emit_bind(ptr %t98)
|
|
%t100 = call ptr @fn_val(ptr %t99, ptr @.str2922)
|
|
store ptr %t100, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t101 = load ptr, ptr %t0
|
|
%t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str2923)
|
|
%t103 = icmp ne i32 %t102, 0
|
|
br i1 %t103, label %then12, label %ifend14
|
|
then12:
|
|
store i32 1, ptr @g_g_uses_mathrt
|
|
%t104 = load ptr, ptr %t10
|
|
%t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 0
|
|
%t106 = load ptr, ptr %t105
|
|
%t107 = call ptr @fn_str_concat(ptr @.str2924, ptr %t106)
|
|
%t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str2925)
|
|
%t109 = call ptr @fn_emit_bind(ptr %t108)
|
|
store ptr %t109, ptr %t110
|
|
%t111 = load ptr, ptr %t110
|
|
%t112 = call ptr @fn_str_concat(ptr @.str2926, ptr %t111)
|
|
%t113 = call ptr @fn_emit_bind(ptr %t112)
|
|
store ptr %t113, ptr %t114
|
|
%t115 = load ptr, ptr %t114
|
|
%t116 = call ptr @fn_str_concat(ptr @.str2927, ptr %t115)
|
|
%t117 = call ptr @fn_str_concat(ptr %t116, ptr @.str2928)
|
|
%t118 = call ptr @fn_emit_bind(ptr %t117)
|
|
store ptr %t118, ptr %t119
|
|
%t120 = load ptr, ptr %t110
|
|
%t121 = call ptr @fn_str_concat(ptr @.str2929, ptr %t120)
|
|
%t122 = call ptr @fn_str_concat(ptr %t121, ptr @.str2930)
|
|
%t123 = call ptr @fn_emit_bind(ptr %t122)
|
|
store ptr %t123, ptr %t124
|
|
%t125 = load ptr, ptr %t124
|
|
%t126 = call ptr @fn_fx_mul_code(ptr %t125, ptr @.str2931)
|
|
store ptr %t126, ptr %t127
|
|
%t128 = load ptr, ptr %t127
|
|
%t129 = call ptr @fn_str_concat(ptr @.str2932, ptr %t128)
|
|
%t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str2933)
|
|
%t131 = call ptr @fn_emit_bind(ptr %t130)
|
|
store ptr %t131, ptr %t132
|
|
%t133 = load ptr, ptr %t119
|
|
%t134 = load ptr, ptr %t132
|
|
%t135 = call ptr @fn_fx_mul_code(ptr %t133, ptr %t134)
|
|
store ptr %t135, ptr %t136
|
|
%t137 = load ptr, ptr %t136
|
|
%t138 = call ptr @fn_str_concat(ptr @.str2934, ptr %t137)
|
|
%t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str2935)
|
|
%t140 = call ptr @fn_emit_bind(ptr %t139)
|
|
%t141 = call ptr @fn_val(ptr %t140, ptr @.str2936)
|
|
store ptr %t141, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t142 = load ptr, ptr %t10
|
|
%t143 = getelementptr inbounds %Cmp_Val, ptr %t142, i32 0, i32 0
|
|
%t144 = load ptr, ptr %t143
|
|
%t145 = call ptr @fn_ease_bounce_seg(ptr %t144)
|
|
store ptr %t145, ptr %t146
|
|
%t147 = load ptr, ptr %t10
|
|
%t148 = getelementptr inbounds %Cmp_Val, ptr %t147, i32 0, i32 0
|
|
%t149 = load ptr, ptr %t148
|
|
%t150 = call ptr @fn_str_concat(ptr @.str2937, ptr %t149)
|
|
%t151 = call ptr @fn_str_concat(ptr %t150, ptr @.str2938)
|
|
%t152 = call ptr @fn_emit_bind(ptr %t151)
|
|
store ptr %t152, ptr %t153
|
|
%t154 = load ptr, ptr %t153
|
|
%t155 = call ptr @fn_ease_bounce_seg(ptr %t154)
|
|
store ptr %t155, ptr %t156
|
|
%t157 = load ptr, ptr %t156
|
|
%t158 = call ptr @fn_str_concat(ptr @.str2939, ptr %t157)
|
|
%t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str2940)
|
|
%t160 = call ptr @fn_emit_bind(ptr %t159)
|
|
store ptr %t160, ptr %t161
|
|
%t162 = load ptr, ptr %t10
|
|
%t163 = getelementptr inbounds %Cmp_Val, ptr %t162, i32 0, i32 0
|
|
%t164 = load ptr, ptr %t163
|
|
%t165 = call ptr @fn_str_concat(ptr @.str2941, ptr %t164)
|
|
%t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str2942)
|
|
%t167 = call ptr @fn_emit_bind(ptr %t166)
|
|
store ptr %t167, ptr %t168
|
|
%t169 = load ptr, ptr %t168
|
|
%t170 = call ptr @fn_ease_bounce_seg(ptr %t169)
|
|
store ptr %t170, ptr %t171
|
|
%t172 = load ptr, ptr %t171
|
|
%t173 = call ptr @fn_str_concat(ptr @.str2943, ptr %t172)
|
|
%t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str2944)
|
|
%t175 = call ptr @fn_emit_bind(ptr %t174)
|
|
store ptr %t175, ptr %t176
|
|
%t177 = load ptr, ptr %t10
|
|
%t178 = getelementptr inbounds %Cmp_Val, ptr %t177, i32 0, i32 0
|
|
%t179 = load ptr, ptr %t178
|
|
%t180 = call ptr @fn_str_concat(ptr @.str2945, ptr %t179)
|
|
%t181 = call ptr @fn_str_concat(ptr %t180, ptr @.str2946)
|
|
%t182 = call ptr @fn_emit_bind(ptr %t181)
|
|
store ptr %t182, ptr %t183
|
|
%t184 = load ptr, ptr %t183
|
|
%t185 = call ptr @fn_ease_bounce_seg(ptr %t184)
|
|
store ptr %t185, ptr %t186
|
|
%t187 = load ptr, ptr %t186
|
|
%t188 = call ptr @fn_str_concat(ptr @.str2947, ptr %t187)
|
|
%t189 = call ptr @fn_str_concat(ptr %t188, ptr @.str2948)
|
|
%t190 = call ptr @fn_emit_bind(ptr %t189)
|
|
store ptr %t190, ptr %t191
|
|
%t192 = load ptr, ptr %t10
|
|
%t193 = getelementptr inbounds %Cmp_Val, ptr %t192, i32 0, i32 0
|
|
%t194 = load ptr, ptr %t193
|
|
%t195 = call ptr @fn_str_concat(ptr @.str2949, ptr %t194)
|
|
%t196 = call ptr @fn_str_concat(ptr %t195, ptr @.str2950)
|
|
%t197 = call ptr @fn_emit_bind(ptr %t196)
|
|
store ptr %t197, ptr %t198
|
|
%t199 = load ptr, ptr %t198
|
|
%t200 = call ptr @fn_str_concat(ptr @.str2951, ptr %t199)
|
|
%t201 = call ptr @fn_str_concat(ptr %t200, ptr @.str2952)
|
|
%t202 = load ptr, ptr %t176
|
|
%t203 = call ptr @fn_str_concat(ptr %t201, ptr %t202)
|
|
%t204 = call ptr @fn_str_concat(ptr %t203, ptr @.str2953)
|
|
%t205 = load ptr, ptr %t191
|
|
%t206 = call ptr @fn_str_concat(ptr %t204, ptr %t205)
|
|
%t207 = call ptr @fn_emit_bind(ptr %t206)
|
|
store ptr %t207, ptr %t208
|
|
%t209 = load ptr, ptr %t10
|
|
%t210 = getelementptr inbounds %Cmp_Val, ptr %t209, i32 0, i32 0
|
|
%t211 = load ptr, ptr %t210
|
|
%t212 = call ptr @fn_str_concat(ptr @.str2954, ptr %t211)
|
|
%t213 = call ptr @fn_str_concat(ptr %t212, ptr @.str2955)
|
|
%t214 = call ptr @fn_emit_bind(ptr %t213)
|
|
store ptr %t214, ptr %t215
|
|
%t216 = load ptr, ptr %t215
|
|
%t217 = call ptr @fn_str_concat(ptr @.str2956, ptr %t216)
|
|
%t218 = call ptr @fn_str_concat(ptr %t217, ptr @.str2957)
|
|
%t219 = load ptr, ptr %t161
|
|
%t220 = call ptr @fn_str_concat(ptr %t218, ptr %t219)
|
|
%t221 = call ptr @fn_str_concat(ptr %t220, ptr @.str2958)
|
|
%t222 = load ptr, ptr %t208
|
|
%t223 = call ptr @fn_str_concat(ptr %t221, ptr %t222)
|
|
%t224 = call ptr @fn_emit_bind(ptr %t223)
|
|
store ptr %t224, ptr %t225
|
|
%t226 = load ptr, ptr %t10
|
|
%t227 = getelementptr inbounds %Cmp_Val, ptr %t226, i32 0, i32 0
|
|
%t228 = load ptr, ptr %t227
|
|
%t229 = call ptr @fn_str_concat(ptr @.str2959, ptr %t228)
|
|
%t230 = call ptr @fn_str_concat(ptr %t229, ptr @.str2960)
|
|
%t231 = call ptr @fn_emit_bind(ptr %t230)
|
|
store ptr %t231, ptr %t232
|
|
%t233 = load ptr, ptr %t232
|
|
%t234 = call ptr @fn_str_concat(ptr @.str2961, ptr %t233)
|
|
%t235 = call ptr @fn_str_concat(ptr %t234, ptr @.str2962)
|
|
%t236 = load ptr, ptr %t146
|
|
%t237 = call ptr @fn_str_concat(ptr %t235, ptr %t236)
|
|
%t238 = call ptr @fn_str_concat(ptr %t237, ptr @.str2963)
|
|
%t239 = load ptr, ptr %t225
|
|
%t240 = call ptr @fn_str_concat(ptr %t238, ptr %t239)
|
|
%t241 = call ptr @fn_emit_bind(ptr %t240)
|
|
%t242 = call ptr @fn_val(ptr %t241, ptr @.str2964)
|
|
store ptr %t242, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t243 = load ptr, ptr %retval
|
|
ret ptr %t243
|
|
}
|
|
|
|
define i32 @fn_is_collide_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t12 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str2965)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
%t5 = zext i1 %t4 to i32
|
|
store i32 %t5, ptr %t1
|
|
br i1 %t4, label %scend1, label %sc0
|
|
sc0:
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str2966)
|
|
%t8 = icmp ne i32 %t7, 0
|
|
%t9 = zext i1 %t8 to i32
|
|
store i32 %t9, ptr %t1
|
|
br label %scend1
|
|
scend1:
|
|
%t10 = load i32, ptr %t1
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %then2, label %ifend4
|
|
then2:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend4:
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str2967)
|
|
%t15 = icmp ne i32 %t14, 0
|
|
%t16 = zext i1 %t15 to i32
|
|
store i32 %t16, ptr %t12
|
|
br i1 %t15, label %scend6, label %sc5
|
|
sc5:
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str2968)
|
|
%t19 = icmp ne i32 %t18, 0
|
|
%t20 = zext i1 %t19 to i32
|
|
store i32 %t20, ptr %t12
|
|
br label %scend6
|
|
scend6:
|
|
%t21 = load i32, ptr %t12
|
|
%t22 = icmp ne i32 %t21, 0
|
|
br i1 %t22, label %then7, label %ifend9
|
|
then7:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend9:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t23 = load i32, ptr %retval
|
|
ret i32 %t23
|
|
}
|
|
|
|
define ptr @fn_coll_sq_sum(ptr %arg_dx, ptr %arg_dy) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t6 = alloca ptr
|
|
%t11 = alloca ptr
|
|
%t18 = alloca ptr
|
|
%t25 = alloca ptr
|
|
store ptr %arg_dx, ptr %t0
|
|
store ptr %arg_dy, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call ptr @fn_str_concat(ptr @.str2969, ptr %t2)
|
|
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str2970)
|
|
%t5 = call ptr @fn_emit_bind(ptr %t4)
|
|
store ptr %t5, ptr %t6
|
|
%t7 = load ptr, ptr %t1
|
|
%t8 = call ptr @fn_str_concat(ptr @.str2971, ptr %t7)
|
|
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str2972)
|
|
%t10 = call ptr @fn_emit_bind(ptr %t9)
|
|
store ptr %t10, ptr %t11
|
|
%t12 = load ptr, ptr %t6
|
|
%t13 = call ptr @fn_str_concat(ptr @.str2973, ptr %t12)
|
|
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str2974)
|
|
%t15 = load ptr, ptr %t6
|
|
%t16 = call ptr @fn_str_concat(ptr %t14, ptr %t15)
|
|
%t17 = call ptr @fn_emit_bind(ptr %t16)
|
|
store ptr %t17, ptr %t18
|
|
%t19 = load ptr, ptr %t11
|
|
%t20 = call ptr @fn_str_concat(ptr @.str2975, ptr %t19)
|
|
%t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str2976)
|
|
%t22 = load ptr, ptr %t11
|
|
%t23 = call ptr @fn_str_concat(ptr %t21, ptr %t22)
|
|
%t24 = call ptr @fn_emit_bind(ptr %t23)
|
|
store ptr %t24, ptr %t25
|
|
%t26 = load ptr, ptr %t18
|
|
%t27 = call ptr @fn_str_concat(ptr @.str2977, ptr %t26)
|
|
%t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str2978)
|
|
%t29 = load ptr, ptr %t25
|
|
%t30 = call ptr @fn_str_concat(ptr %t28, ptr %t29)
|
|
%t31 = call ptr @fn_emit_bind(ptr %t30)
|
|
store ptr %t31, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t32 = load ptr, ptr %retval
|
|
ret ptr %t32
|
|
}
|
|
|
|
define ptr @fn_coll_clamp(ptr %arg_v, ptr %arg_lo, ptr %arg_hi) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t9 = alloca ptr
|
|
%t19 = alloca ptr
|
|
%t26 = alloca ptr
|
|
store ptr %arg_v, ptr %t0
|
|
store ptr %arg_lo, ptr %t1
|
|
store ptr %arg_hi, ptr %t2
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call ptr @fn_str_concat(ptr @.str2979, ptr %t3)
|
|
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str2980)
|
|
%t6 = load ptr, ptr %t2
|
|
%t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
|
|
%t8 = call ptr @fn_emit_bind(ptr %t7)
|
|
store ptr %t8, ptr %t9
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = call ptr @fn_str_concat(ptr @.str2981, ptr %t10)
|
|
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str2982)
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
|
|
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str2983)
|
|
%t16 = load ptr, ptr %t2
|
|
%t17 = call ptr @fn_str_concat(ptr %t15, ptr %t16)
|
|
%t18 = call ptr @fn_emit_bind(ptr %t17)
|
|
store ptr %t18, ptr %t19
|
|
%t20 = load ptr, ptr %t1
|
|
%t21 = call ptr @fn_str_concat(ptr @.str2984, ptr %t20)
|
|
%t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str2985)
|
|
%t23 = load ptr, ptr %t19
|
|
%t24 = call ptr @fn_str_concat(ptr %t22, ptr %t23)
|
|
%t25 = call ptr @fn_emit_bind(ptr %t24)
|
|
store ptr %t25, ptr %t26
|
|
%t27 = load ptr, ptr %t26
|
|
%t28 = call ptr @fn_str_concat(ptr @.str2986, ptr %t27)
|
|
%t29 = call ptr @fn_str_concat(ptr %t28, ptr @.str2987)
|
|
%t30 = load ptr, ptr %t1
|
|
%t31 = call ptr @fn_str_concat(ptr %t29, ptr %t30)
|
|
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str2988)
|
|
%t33 = load ptr, ptr %t19
|
|
%t34 = call ptr @fn_str_concat(ptr %t32, ptr %t33)
|
|
%t35 = call ptr @fn_emit_bind(ptr %t34)
|
|
store ptr %t35, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t36 = load ptr, ptr %retval
|
|
ret ptr %t36
|
|
}
|
|
|
|
define ptr @fn_emit_collide_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t13 = alloca ptr
|
|
%t22 = alloca ptr
|
|
%t31 = alloca ptr
|
|
%t40 = alloca ptr
|
|
%t49 = alloca ptr
|
|
%t58 = alloca ptr
|
|
%t67 = alloca ptr
|
|
%t76 = alloca ptr
|
|
%t87 = alloca ptr
|
|
%t98 = alloca ptr
|
|
%t109 = alloca ptr
|
|
%t120 = alloca ptr
|
|
%t129 = alloca ptr
|
|
%t138 = alloca ptr
|
|
%t147 = alloca ptr
|
|
%t156 = alloca ptr
|
|
%t163 = alloca ptr
|
|
%t170 = alloca ptr
|
|
%t177 = alloca ptr
|
|
%t194 = alloca ptr
|
|
%t203 = alloca ptr
|
|
%t212 = alloca ptr
|
|
%t221 = alloca ptr
|
|
%t230 = alloca ptr
|
|
%t239 = alloca ptr
|
|
%t250 = alloca ptr
|
|
%t261 = alloca ptr
|
|
%t272 = alloca ptr
|
|
%t281 = alloca ptr
|
|
%t292 = alloca ptr
|
|
%t301 = alloca ptr
|
|
%t308 = alloca ptr
|
|
%t315 = alloca ptr
|
|
%t322 = alloca ptr
|
|
%t339 = alloca ptr
|
|
%t348 = alloca ptr
|
|
%t357 = alloca ptr
|
|
%t366 = alloca ptr
|
|
%t375 = alloca ptr
|
|
%t384 = alloca ptr
|
|
%t395 = alloca ptr
|
|
%t406 = alloca ptr
|
|
%t410 = alloca ptr
|
|
%t421 = alloca ptr
|
|
%t426 = alloca ptr
|
|
%t433 = alloca ptr
|
|
%t440 = alloca ptr
|
|
%t454 = alloca ptr
|
|
%t463 = alloca ptr
|
|
%t472 = alloca ptr
|
|
%t481 = alloca ptr
|
|
%t490 = alloca ptr
|
|
%t499 = alloca ptr
|
|
%t508 = alloca ptr
|
|
%t519 = alloca ptr
|
|
%t530 = alloca ptr
|
|
%t539 = alloca ptr
|
|
%t548 = alloca ptr
|
|
%t557 = alloca ptr
|
|
%t566 = alloca ptr
|
|
%t570 = alloca ptr
|
|
%t577 = alloca ptr
|
|
%t584 = alloca ptr
|
|
%t591 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str2989)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = load ptr, ptr %t1
|
|
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
|
|
%t9 = load ptr, ptr %t8
|
|
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = call ptr @fn_emit_expr(ptr %t11)
|
|
store ptr %t12, ptr %t13
|
|
%t14 = load ptr, ptr %t1
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = getelementptr inbounds ptr, ptr %t18, i32 1
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = call ptr @fn_emit_expr(ptr %t20)
|
|
store ptr %t21, ptr %t22
|
|
%t23 = load ptr, ptr %t1
|
|
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0
|
|
%t27 = load ptr, ptr %t26
|
|
%t28 = getelementptr inbounds ptr, ptr %t27, i32 2
|
|
%t29 = load ptr, ptr %t28
|
|
%t30 = call ptr @fn_emit_expr(ptr %t29)
|
|
store ptr %t30, ptr %t31
|
|
%t32 = load ptr, ptr %t1
|
|
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7
|
|
%t34 = load ptr, ptr %t33
|
|
%t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0
|
|
%t36 = load ptr, ptr %t35
|
|
%t37 = getelementptr inbounds ptr, ptr %t36, i32 3
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = call ptr @fn_emit_expr(ptr %t38)
|
|
store ptr %t39, ptr %t40
|
|
%t41 = load ptr, ptr %t1
|
|
%t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 7
|
|
%t43 = load ptr, ptr %t42
|
|
%t44 = getelementptr inbounds %LSlice, ptr %t43, i32 0, i32 0
|
|
%t45 = load ptr, ptr %t44
|
|
%t46 = getelementptr inbounds ptr, ptr %t45, i32 4
|
|
%t47 = load ptr, ptr %t46
|
|
%t48 = call ptr @fn_emit_expr(ptr %t47)
|
|
store ptr %t48, ptr %t49
|
|
%t50 = load ptr, ptr %t1
|
|
%t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 7
|
|
%t52 = load ptr, ptr %t51
|
|
%t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 0
|
|
%t54 = load ptr, ptr %t53
|
|
%t55 = getelementptr inbounds ptr, ptr %t54, i32 5
|
|
%t56 = load ptr, ptr %t55
|
|
%t57 = call ptr @fn_emit_expr(ptr %t56)
|
|
store ptr %t57, ptr %t58
|
|
%t59 = load ptr, ptr %t1
|
|
%t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 7
|
|
%t61 = load ptr, ptr %t60
|
|
%t62 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0
|
|
%t63 = load ptr, ptr %t62
|
|
%t64 = getelementptr inbounds ptr, ptr %t63, i32 6
|
|
%t65 = load ptr, ptr %t64
|
|
%t66 = call ptr @fn_emit_expr(ptr %t65)
|
|
store ptr %t66, ptr %t67
|
|
%t68 = load ptr, ptr %t1
|
|
%t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 7
|
|
%t70 = load ptr, ptr %t69
|
|
%t71 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 0
|
|
%t72 = load ptr, ptr %t71
|
|
%t73 = getelementptr inbounds ptr, ptr %t72, i32 7
|
|
%t74 = load ptr, ptr %t73
|
|
%t75 = call ptr @fn_emit_expr(ptr %t74)
|
|
store ptr %t75, ptr %t76
|
|
%t77 = load ptr, ptr %t13
|
|
%t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0
|
|
%t79 = load ptr, ptr %t78
|
|
%t80 = call ptr @fn_str_concat(ptr @.str2990, ptr %t79)
|
|
%t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str2991)
|
|
%t82 = load ptr, ptr %t31
|
|
%t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0
|
|
%t84 = load ptr, ptr %t83
|
|
%t85 = call ptr @fn_str_concat(ptr %t81, ptr %t84)
|
|
%t86 = call ptr @fn_emit_bind(ptr %t85)
|
|
store ptr %t86, ptr %t87
|
|
%t88 = load ptr, ptr %t49
|
|
%t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0
|
|
%t90 = load ptr, ptr %t89
|
|
%t91 = call ptr @fn_str_concat(ptr @.str2992, ptr %t90)
|
|
%t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str2993)
|
|
%t93 = load ptr, ptr %t67
|
|
%t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0
|
|
%t95 = load ptr, ptr %t94
|
|
%t96 = call ptr @fn_str_concat(ptr %t92, ptr %t95)
|
|
%t97 = call ptr @fn_emit_bind(ptr %t96)
|
|
store ptr %t97, ptr %t98
|
|
%t99 = load ptr, ptr %t22
|
|
%t100 = getelementptr inbounds %Cmp_Val, ptr %t99, i32 0, i32 0
|
|
%t101 = load ptr, ptr %t100
|
|
%t102 = call ptr @fn_str_concat(ptr @.str2994, ptr %t101)
|
|
%t103 = call ptr @fn_str_concat(ptr %t102, ptr @.str2995)
|
|
%t104 = load ptr, ptr %t40
|
|
%t105 = getelementptr inbounds %Cmp_Val, ptr %t104, i32 0, i32 0
|
|
%t106 = load ptr, ptr %t105
|
|
%t107 = call ptr @fn_str_concat(ptr %t103, ptr %t106)
|
|
%t108 = call ptr @fn_emit_bind(ptr %t107)
|
|
store ptr %t108, ptr %t109
|
|
%t110 = load ptr, ptr %t58
|
|
%t111 = getelementptr inbounds %Cmp_Val, ptr %t110, i32 0, i32 0
|
|
%t112 = load ptr, ptr %t111
|
|
%t113 = call ptr @fn_str_concat(ptr @.str2996, ptr %t112)
|
|
%t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str2997)
|
|
%t115 = load ptr, ptr %t76
|
|
%t116 = getelementptr inbounds %Cmp_Val, ptr %t115, i32 0, i32 0
|
|
%t117 = load ptr, ptr %t116
|
|
%t118 = call ptr @fn_str_concat(ptr %t114, ptr %t117)
|
|
%t119 = call ptr @fn_emit_bind(ptr %t118)
|
|
store ptr %t119, ptr %t120
|
|
%t121 = load ptr, ptr %t13
|
|
%t122 = getelementptr inbounds %Cmp_Val, ptr %t121, i32 0, i32 0
|
|
%t123 = load ptr, ptr %t122
|
|
%t124 = call ptr @fn_str_concat(ptr @.str2998, ptr %t123)
|
|
%t125 = call ptr @fn_str_concat(ptr %t124, ptr @.str2999)
|
|
%t126 = load ptr, ptr %t98
|
|
%t127 = call ptr @fn_str_concat(ptr %t125, ptr %t126)
|
|
%t128 = call ptr @fn_emit_bind(ptr %t127)
|
|
store ptr %t128, ptr %t129
|
|
%t130 = load ptr, ptr %t49
|
|
%t131 = getelementptr inbounds %Cmp_Val, ptr %t130, i32 0, i32 0
|
|
%t132 = load ptr, ptr %t131
|
|
%t133 = call ptr @fn_str_concat(ptr @.str3000, ptr %t132)
|
|
%t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str3001)
|
|
%t135 = load ptr, ptr %t87
|
|
%t136 = call ptr @fn_str_concat(ptr %t134, ptr %t135)
|
|
%t137 = call ptr @fn_emit_bind(ptr %t136)
|
|
store ptr %t137, ptr %t138
|
|
%t139 = load ptr, ptr %t22
|
|
%t140 = getelementptr inbounds %Cmp_Val, ptr %t139, i32 0, i32 0
|
|
%t141 = load ptr, ptr %t140
|
|
%t142 = call ptr @fn_str_concat(ptr @.str3002, ptr %t141)
|
|
%t143 = call ptr @fn_str_concat(ptr %t142, ptr @.str3003)
|
|
%t144 = load ptr, ptr %t120
|
|
%t145 = call ptr @fn_str_concat(ptr %t143, ptr %t144)
|
|
%t146 = call ptr @fn_emit_bind(ptr %t145)
|
|
store ptr %t146, ptr %t147
|
|
%t148 = load ptr, ptr %t58
|
|
%t149 = getelementptr inbounds %Cmp_Val, ptr %t148, i32 0, i32 0
|
|
%t150 = load ptr, ptr %t149
|
|
%t151 = call ptr @fn_str_concat(ptr @.str3004, ptr %t150)
|
|
%t152 = call ptr @fn_str_concat(ptr %t151, ptr @.str3005)
|
|
%t153 = load ptr, ptr %t109
|
|
%t154 = call ptr @fn_str_concat(ptr %t152, ptr %t153)
|
|
%t155 = call ptr @fn_emit_bind(ptr %t154)
|
|
store ptr %t155, ptr %t156
|
|
%t157 = load ptr, ptr %t129
|
|
%t158 = call ptr @fn_str_concat(ptr @.str3006, ptr %t157)
|
|
%t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str3007)
|
|
%t160 = load ptr, ptr %t138
|
|
%t161 = call ptr @fn_str_concat(ptr %t159, ptr %t160)
|
|
%t162 = call ptr @fn_emit_bind(ptr %t161)
|
|
store ptr %t162, ptr %t163
|
|
%t164 = load ptr, ptr %t147
|
|
%t165 = call ptr @fn_str_concat(ptr @.str3008, ptr %t164)
|
|
%t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str3009)
|
|
%t167 = load ptr, ptr %t156
|
|
%t168 = call ptr @fn_str_concat(ptr %t166, ptr %t167)
|
|
%t169 = call ptr @fn_emit_bind(ptr %t168)
|
|
store ptr %t169, ptr %t170
|
|
%t171 = load ptr, ptr %t163
|
|
%t172 = call ptr @fn_str_concat(ptr @.str3010, ptr %t171)
|
|
%t173 = call ptr @fn_str_concat(ptr %t172, ptr @.str3011)
|
|
%t174 = load ptr, ptr %t170
|
|
%t175 = call ptr @fn_str_concat(ptr %t173, ptr %t174)
|
|
%t176 = call ptr @fn_emit_bind(ptr %t175)
|
|
store ptr %t176, ptr %t177
|
|
%t178 = load ptr, ptr %t177
|
|
%t179 = call ptr @fn_str_concat(ptr @.str3012, ptr %t178)
|
|
%t180 = call ptr @fn_str_concat(ptr %t179, ptr @.str3013)
|
|
%t181 = call ptr @fn_emit_bind(ptr %t180)
|
|
%t182 = call ptr @fn_val(ptr %t181, ptr @.str3014)
|
|
store ptr %t182, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t183 = load ptr, ptr %t0
|
|
%t184 = call i32 @fn_str_eq(ptr %t183, ptr @.str3015)
|
|
%t185 = icmp ne i32 %t184, 0
|
|
br i1 %t185, label %then3, label %ifend5
|
|
then3:
|
|
%t186 = load ptr, ptr %t1
|
|
%t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 7
|
|
%t188 = load ptr, ptr %t187
|
|
%t189 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 0
|
|
%t190 = load ptr, ptr %t189
|
|
%t191 = getelementptr inbounds ptr, ptr %t190, i32 0
|
|
%t192 = load ptr, ptr %t191
|
|
%t193 = call ptr @fn_emit_expr(ptr %t192)
|
|
store ptr %t193, ptr %t194
|
|
%t195 = load ptr, ptr %t1
|
|
%t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 7
|
|
%t197 = load ptr, ptr %t196
|
|
%t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0
|
|
%t199 = load ptr, ptr %t198
|
|
%t200 = getelementptr inbounds ptr, ptr %t199, i32 1
|
|
%t201 = load ptr, ptr %t200
|
|
%t202 = call ptr @fn_emit_expr(ptr %t201)
|
|
store ptr %t202, ptr %t203
|
|
%t204 = load ptr, ptr %t1
|
|
%t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 7
|
|
%t206 = load ptr, ptr %t205
|
|
%t207 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 0
|
|
%t208 = load ptr, ptr %t207
|
|
%t209 = getelementptr inbounds ptr, ptr %t208, i32 2
|
|
%t210 = load ptr, ptr %t209
|
|
%t211 = call ptr @fn_emit_expr(ptr %t210)
|
|
store ptr %t211, ptr %t212
|
|
%t213 = load ptr, ptr %t1
|
|
%t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 7
|
|
%t215 = load ptr, ptr %t214
|
|
%t216 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 0
|
|
%t217 = load ptr, ptr %t216
|
|
%t218 = getelementptr inbounds ptr, ptr %t217, i32 3
|
|
%t219 = load ptr, ptr %t218
|
|
%t220 = call ptr @fn_emit_expr(ptr %t219)
|
|
store ptr %t220, ptr %t221
|
|
%t222 = load ptr, ptr %t1
|
|
%t223 = getelementptr inbounds %Cmp_Node, ptr %t222, i32 0, i32 7
|
|
%t224 = load ptr, ptr %t223
|
|
%t225 = getelementptr inbounds %LSlice, ptr %t224, i32 0, i32 0
|
|
%t226 = load ptr, ptr %t225
|
|
%t227 = getelementptr inbounds ptr, ptr %t226, i32 4
|
|
%t228 = load ptr, ptr %t227
|
|
%t229 = call ptr @fn_emit_expr(ptr %t228)
|
|
store ptr %t229, ptr %t230
|
|
%t231 = load ptr, ptr %t1
|
|
%t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 7
|
|
%t233 = load ptr, ptr %t232
|
|
%t234 = getelementptr inbounds %LSlice, ptr %t233, i32 0, i32 0
|
|
%t235 = load ptr, ptr %t234
|
|
%t236 = getelementptr inbounds ptr, ptr %t235, i32 5
|
|
%t237 = load ptr, ptr %t236
|
|
%t238 = call ptr @fn_emit_expr(ptr %t237)
|
|
store ptr %t238, ptr %t239
|
|
%t240 = load ptr, ptr %t212
|
|
%t241 = getelementptr inbounds %Cmp_Val, ptr %t240, i32 0, i32 0
|
|
%t242 = load ptr, ptr %t241
|
|
%t243 = call ptr @fn_str_concat(ptr @.str3016, ptr %t242)
|
|
%t244 = call ptr @fn_str_concat(ptr %t243, ptr @.str3017)
|
|
%t245 = load ptr, ptr %t230
|
|
%t246 = getelementptr inbounds %Cmp_Val, ptr %t245, i32 0, i32 0
|
|
%t247 = load ptr, ptr %t246
|
|
%t248 = call ptr @fn_str_concat(ptr %t244, ptr %t247)
|
|
%t249 = call ptr @fn_emit_bind(ptr %t248)
|
|
store ptr %t249, ptr %t250
|
|
%t251 = load ptr, ptr %t221
|
|
%t252 = getelementptr inbounds %Cmp_Val, ptr %t251, i32 0, i32 0
|
|
%t253 = load ptr, ptr %t252
|
|
%t254 = call ptr @fn_str_concat(ptr @.str3018, ptr %t253)
|
|
%t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str3019)
|
|
%t256 = load ptr, ptr %t239
|
|
%t257 = getelementptr inbounds %Cmp_Val, ptr %t256, i32 0, i32 0
|
|
%t258 = load ptr, ptr %t257
|
|
%t259 = call ptr @fn_str_concat(ptr %t255, ptr %t258)
|
|
%t260 = call ptr @fn_emit_bind(ptr %t259)
|
|
store ptr %t260, ptr %t261
|
|
%t262 = load ptr, ptr %t194
|
|
%t263 = getelementptr inbounds %Cmp_Val, ptr %t262, i32 0, i32 0
|
|
%t264 = load ptr, ptr %t263
|
|
%t265 = call ptr @fn_str_concat(ptr @.str3020, ptr %t264)
|
|
%t266 = call ptr @fn_str_concat(ptr %t265, ptr @.str3021)
|
|
%t267 = load ptr, ptr %t212
|
|
%t268 = getelementptr inbounds %Cmp_Val, ptr %t267, i32 0, i32 0
|
|
%t269 = load ptr, ptr %t268
|
|
%t270 = call ptr @fn_str_concat(ptr %t266, ptr %t269)
|
|
%t271 = call ptr @fn_emit_bind(ptr %t270)
|
|
store ptr %t271, ptr %t272
|
|
%t273 = load ptr, ptr %t194
|
|
%t274 = getelementptr inbounds %Cmp_Val, ptr %t273, i32 0, i32 0
|
|
%t275 = load ptr, ptr %t274
|
|
%t276 = call ptr @fn_str_concat(ptr @.str3022, ptr %t275)
|
|
%t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str3023)
|
|
%t278 = load ptr, ptr %t250
|
|
%t279 = call ptr @fn_str_concat(ptr %t277, ptr %t278)
|
|
%t280 = call ptr @fn_emit_bind(ptr %t279)
|
|
store ptr %t280, ptr %t281
|
|
%t282 = load ptr, ptr %t203
|
|
%t283 = getelementptr inbounds %Cmp_Val, ptr %t282, i32 0, i32 0
|
|
%t284 = load ptr, ptr %t283
|
|
%t285 = call ptr @fn_str_concat(ptr @.str3024, ptr %t284)
|
|
%t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str3025)
|
|
%t287 = load ptr, ptr %t221
|
|
%t288 = getelementptr inbounds %Cmp_Val, ptr %t287, i32 0, i32 0
|
|
%t289 = load ptr, ptr %t288
|
|
%t290 = call ptr @fn_str_concat(ptr %t286, ptr %t289)
|
|
%t291 = call ptr @fn_emit_bind(ptr %t290)
|
|
store ptr %t291, ptr %t292
|
|
%t293 = load ptr, ptr %t203
|
|
%t294 = getelementptr inbounds %Cmp_Val, ptr %t293, i32 0, i32 0
|
|
%t295 = load ptr, ptr %t294
|
|
%t296 = call ptr @fn_str_concat(ptr @.str3026, ptr %t295)
|
|
%t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str3027)
|
|
%t298 = load ptr, ptr %t261
|
|
%t299 = call ptr @fn_str_concat(ptr %t297, ptr %t298)
|
|
%t300 = call ptr @fn_emit_bind(ptr %t299)
|
|
store ptr %t300, ptr %t301
|
|
%t302 = load ptr, ptr %t272
|
|
%t303 = call ptr @fn_str_concat(ptr @.str3028, ptr %t302)
|
|
%t304 = call ptr @fn_str_concat(ptr %t303, ptr @.str3029)
|
|
%t305 = load ptr, ptr %t281
|
|
%t306 = call ptr @fn_str_concat(ptr %t304, ptr %t305)
|
|
%t307 = call ptr @fn_emit_bind(ptr %t306)
|
|
store ptr %t307, ptr %t308
|
|
%t309 = load ptr, ptr %t292
|
|
%t310 = call ptr @fn_str_concat(ptr @.str3030, ptr %t309)
|
|
%t311 = call ptr @fn_str_concat(ptr %t310, ptr @.str3031)
|
|
%t312 = load ptr, ptr %t301
|
|
%t313 = call ptr @fn_str_concat(ptr %t311, ptr %t312)
|
|
%t314 = call ptr @fn_emit_bind(ptr %t313)
|
|
store ptr %t314, ptr %t315
|
|
%t316 = load ptr, ptr %t308
|
|
%t317 = call ptr @fn_str_concat(ptr @.str3032, ptr %t316)
|
|
%t318 = call ptr @fn_str_concat(ptr %t317, ptr @.str3033)
|
|
%t319 = load ptr, ptr %t315
|
|
%t320 = call ptr @fn_str_concat(ptr %t318, ptr %t319)
|
|
%t321 = call ptr @fn_emit_bind(ptr %t320)
|
|
store ptr %t321, ptr %t322
|
|
%t323 = load ptr, ptr %t322
|
|
%t324 = call ptr @fn_str_concat(ptr @.str3034, ptr %t323)
|
|
%t325 = call ptr @fn_str_concat(ptr %t324, ptr @.str3035)
|
|
%t326 = call ptr @fn_emit_bind(ptr %t325)
|
|
%t327 = call ptr @fn_val(ptr %t326, ptr @.str3036)
|
|
store ptr %t327, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t328 = load ptr, ptr %t0
|
|
%t329 = call i32 @fn_str_eq(ptr %t328, ptr @.str3037)
|
|
%t330 = icmp ne i32 %t329, 0
|
|
br i1 %t330, label %then6, label %ifend8
|
|
then6:
|
|
%t331 = load ptr, ptr %t1
|
|
%t332 = getelementptr inbounds %Cmp_Node, ptr %t331, i32 0, i32 7
|
|
%t333 = load ptr, ptr %t332
|
|
%t334 = getelementptr inbounds %LSlice, ptr %t333, i32 0, i32 0
|
|
%t335 = load ptr, ptr %t334
|
|
%t336 = getelementptr inbounds ptr, ptr %t335, i32 0
|
|
%t337 = load ptr, ptr %t336
|
|
%t338 = call ptr @fn_emit_expr(ptr %t337)
|
|
store ptr %t338, ptr %t339
|
|
%t340 = load ptr, ptr %t1
|
|
%t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 7
|
|
%t342 = load ptr, ptr %t341
|
|
%t343 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 0
|
|
%t344 = load ptr, ptr %t343
|
|
%t345 = getelementptr inbounds ptr, ptr %t344, i32 1
|
|
%t346 = load ptr, ptr %t345
|
|
%t347 = call ptr @fn_emit_expr(ptr %t346)
|
|
store ptr %t347, ptr %t348
|
|
%t349 = load ptr, ptr %t1
|
|
%t350 = getelementptr inbounds %Cmp_Node, ptr %t349, i32 0, i32 7
|
|
%t351 = load ptr, ptr %t350
|
|
%t352 = getelementptr inbounds %LSlice, ptr %t351, i32 0, i32 0
|
|
%t353 = load ptr, ptr %t352
|
|
%t354 = getelementptr inbounds ptr, ptr %t353, i32 2
|
|
%t355 = load ptr, ptr %t354
|
|
%t356 = call ptr @fn_emit_expr(ptr %t355)
|
|
store ptr %t356, ptr %t357
|
|
%t358 = load ptr, ptr %t1
|
|
%t359 = getelementptr inbounds %Cmp_Node, ptr %t358, i32 0, i32 7
|
|
%t360 = load ptr, ptr %t359
|
|
%t361 = getelementptr inbounds %LSlice, ptr %t360, i32 0, i32 0
|
|
%t362 = load ptr, ptr %t361
|
|
%t363 = getelementptr inbounds ptr, ptr %t362, i32 3
|
|
%t364 = load ptr, ptr %t363
|
|
%t365 = call ptr @fn_emit_expr(ptr %t364)
|
|
store ptr %t365, ptr %t366
|
|
%t367 = load ptr, ptr %t1
|
|
%t368 = getelementptr inbounds %Cmp_Node, ptr %t367, i32 0, i32 7
|
|
%t369 = load ptr, ptr %t368
|
|
%t370 = getelementptr inbounds %LSlice, ptr %t369, i32 0, i32 0
|
|
%t371 = load ptr, ptr %t370
|
|
%t372 = getelementptr inbounds ptr, ptr %t371, i32 4
|
|
%t373 = load ptr, ptr %t372
|
|
%t374 = call ptr @fn_emit_expr(ptr %t373)
|
|
store ptr %t374, ptr %t375
|
|
%t376 = load ptr, ptr %t1
|
|
%t377 = getelementptr inbounds %Cmp_Node, ptr %t376, i32 0, i32 7
|
|
%t378 = load ptr, ptr %t377
|
|
%t379 = getelementptr inbounds %LSlice, ptr %t378, i32 0, i32 0
|
|
%t380 = load ptr, ptr %t379
|
|
%t381 = getelementptr inbounds ptr, ptr %t380, i32 5
|
|
%t382 = load ptr, ptr %t381
|
|
%t383 = call ptr @fn_emit_expr(ptr %t382)
|
|
store ptr %t383, ptr %t384
|
|
%t385 = load ptr, ptr %t339
|
|
%t386 = getelementptr inbounds %Cmp_Val, ptr %t385, i32 0, i32 0
|
|
%t387 = load ptr, ptr %t386
|
|
%t388 = call ptr @fn_str_concat(ptr @.str3038, ptr %t387)
|
|
%t389 = call ptr @fn_str_concat(ptr %t388, ptr @.str3039)
|
|
%t390 = load ptr, ptr %t366
|
|
%t391 = getelementptr inbounds %Cmp_Val, ptr %t390, i32 0, i32 0
|
|
%t392 = load ptr, ptr %t391
|
|
%t393 = call ptr @fn_str_concat(ptr %t389, ptr %t392)
|
|
%t394 = call ptr @fn_emit_bind(ptr %t393)
|
|
store ptr %t394, ptr %t395
|
|
%t396 = load ptr, ptr %t348
|
|
%t397 = getelementptr inbounds %Cmp_Val, ptr %t396, i32 0, i32 0
|
|
%t398 = load ptr, ptr %t397
|
|
%t399 = call ptr @fn_str_concat(ptr @.str3040, ptr %t398)
|
|
%t400 = call ptr @fn_str_concat(ptr %t399, ptr @.str3041)
|
|
%t401 = load ptr, ptr %t375
|
|
%t402 = getelementptr inbounds %Cmp_Val, ptr %t401, i32 0, i32 0
|
|
%t403 = load ptr, ptr %t402
|
|
%t404 = call ptr @fn_str_concat(ptr %t400, ptr %t403)
|
|
%t405 = call ptr @fn_emit_bind(ptr %t404)
|
|
store ptr %t405, ptr %t406
|
|
%t407 = load ptr, ptr %t395
|
|
%t408 = load ptr, ptr %t406
|
|
%t409 = call ptr @fn_coll_sq_sum(ptr %t407, ptr %t408)
|
|
store ptr %t409, ptr %t410
|
|
%t411 = load ptr, ptr %t357
|
|
%t412 = getelementptr inbounds %Cmp_Val, ptr %t411, i32 0, i32 0
|
|
%t413 = load ptr, ptr %t412
|
|
%t414 = call ptr @fn_str_concat(ptr @.str3042, ptr %t413)
|
|
%t415 = call ptr @fn_str_concat(ptr %t414, ptr @.str3043)
|
|
%t416 = load ptr, ptr %t384
|
|
%t417 = getelementptr inbounds %Cmp_Val, ptr %t416, i32 0, i32 0
|
|
%t418 = load ptr, ptr %t417
|
|
%t419 = call ptr @fn_str_concat(ptr %t415, ptr %t418)
|
|
%t420 = call ptr @fn_emit_bind(ptr %t419)
|
|
store ptr %t420, ptr %t421
|
|
%t422 = load ptr, ptr %t421
|
|
%t423 = call ptr @fn_str_concat(ptr @.str3044, ptr %t422)
|
|
%t424 = call ptr @fn_str_concat(ptr %t423, ptr @.str3045)
|
|
%t425 = call ptr @fn_emit_bind(ptr %t424)
|
|
store ptr %t425, ptr %t426
|
|
%t427 = load ptr, ptr %t426
|
|
%t428 = call ptr @fn_str_concat(ptr @.str3046, ptr %t427)
|
|
%t429 = call ptr @fn_str_concat(ptr %t428, ptr @.str3047)
|
|
%t430 = load ptr, ptr %t426
|
|
%t431 = call ptr @fn_str_concat(ptr %t429, ptr %t430)
|
|
%t432 = call ptr @fn_emit_bind(ptr %t431)
|
|
store ptr %t432, ptr %t433
|
|
%t434 = load ptr, ptr %t410
|
|
%t435 = call ptr @fn_str_concat(ptr @.str3048, ptr %t434)
|
|
%t436 = call ptr @fn_str_concat(ptr %t435, ptr @.str3049)
|
|
%t437 = load ptr, ptr %t433
|
|
%t438 = call ptr @fn_str_concat(ptr %t436, ptr %t437)
|
|
%t439 = call ptr @fn_emit_bind(ptr %t438)
|
|
store ptr %t439, ptr %t440
|
|
%t441 = load ptr, ptr %t440
|
|
%t442 = call ptr @fn_str_concat(ptr @.str3050, ptr %t441)
|
|
%t443 = call ptr @fn_str_concat(ptr %t442, ptr @.str3051)
|
|
%t444 = call ptr @fn_emit_bind(ptr %t443)
|
|
%t445 = call ptr @fn_val(ptr %t444, ptr @.str3052)
|
|
store ptr %t445, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t446 = load ptr, ptr %t1
|
|
%t447 = getelementptr inbounds %Cmp_Node, ptr %t446, i32 0, i32 7
|
|
%t448 = load ptr, ptr %t447
|
|
%t449 = getelementptr inbounds %LSlice, ptr %t448, i32 0, i32 0
|
|
%t450 = load ptr, ptr %t449
|
|
%t451 = getelementptr inbounds ptr, ptr %t450, i32 0
|
|
%t452 = load ptr, ptr %t451
|
|
%t453 = call ptr @fn_emit_expr(ptr %t452)
|
|
store ptr %t453, ptr %t454
|
|
%t455 = load ptr, ptr %t1
|
|
%t456 = getelementptr inbounds %Cmp_Node, ptr %t455, i32 0, i32 7
|
|
%t457 = load ptr, ptr %t456
|
|
%t458 = getelementptr inbounds %LSlice, ptr %t457, i32 0, i32 0
|
|
%t459 = load ptr, ptr %t458
|
|
%t460 = getelementptr inbounds ptr, ptr %t459, i32 1
|
|
%t461 = load ptr, ptr %t460
|
|
%t462 = call ptr @fn_emit_expr(ptr %t461)
|
|
store ptr %t462, ptr %t463
|
|
%t464 = load ptr, ptr %t1
|
|
%t465 = getelementptr inbounds %Cmp_Node, ptr %t464, i32 0, i32 7
|
|
%t466 = load ptr, ptr %t465
|
|
%t467 = getelementptr inbounds %LSlice, ptr %t466, i32 0, i32 0
|
|
%t468 = load ptr, ptr %t467
|
|
%t469 = getelementptr inbounds ptr, ptr %t468, i32 2
|
|
%t470 = load ptr, ptr %t469
|
|
%t471 = call ptr @fn_emit_expr(ptr %t470)
|
|
store ptr %t471, ptr %t472
|
|
%t473 = load ptr, ptr %t1
|
|
%t474 = getelementptr inbounds %Cmp_Node, ptr %t473, i32 0, i32 7
|
|
%t475 = load ptr, ptr %t474
|
|
%t476 = getelementptr inbounds %LSlice, ptr %t475, i32 0, i32 0
|
|
%t477 = load ptr, ptr %t476
|
|
%t478 = getelementptr inbounds ptr, ptr %t477, i32 3
|
|
%t479 = load ptr, ptr %t478
|
|
%t480 = call ptr @fn_emit_expr(ptr %t479)
|
|
store ptr %t480, ptr %t481
|
|
%t482 = load ptr, ptr %t1
|
|
%t483 = getelementptr inbounds %Cmp_Node, ptr %t482, i32 0, i32 7
|
|
%t484 = load ptr, ptr %t483
|
|
%t485 = getelementptr inbounds %LSlice, ptr %t484, i32 0, i32 0
|
|
%t486 = load ptr, ptr %t485
|
|
%t487 = getelementptr inbounds ptr, ptr %t486, i32 4
|
|
%t488 = load ptr, ptr %t487
|
|
%t489 = call ptr @fn_emit_expr(ptr %t488)
|
|
store ptr %t489, ptr %t490
|
|
%t491 = load ptr, ptr %t1
|
|
%t492 = getelementptr inbounds %Cmp_Node, ptr %t491, i32 0, i32 7
|
|
%t493 = load ptr, ptr %t492
|
|
%t494 = getelementptr inbounds %LSlice, ptr %t493, i32 0, i32 0
|
|
%t495 = load ptr, ptr %t494
|
|
%t496 = getelementptr inbounds ptr, ptr %t495, i32 5
|
|
%t497 = load ptr, ptr %t496
|
|
%t498 = call ptr @fn_emit_expr(ptr %t497)
|
|
store ptr %t498, ptr %t499
|
|
%t500 = load ptr, ptr %t1
|
|
%t501 = getelementptr inbounds %Cmp_Node, ptr %t500, i32 0, i32 7
|
|
%t502 = load ptr, ptr %t501
|
|
%t503 = getelementptr inbounds %LSlice, ptr %t502, i32 0, i32 0
|
|
%t504 = load ptr, ptr %t503
|
|
%t505 = getelementptr inbounds ptr, ptr %t504, i32 6
|
|
%t506 = load ptr, ptr %t505
|
|
%t507 = call ptr @fn_emit_expr(ptr %t506)
|
|
store ptr %t507, ptr %t508
|
|
%t509 = load ptr, ptr %t454
|
|
%t510 = getelementptr inbounds %Cmp_Val, ptr %t509, i32 0, i32 0
|
|
%t511 = load ptr, ptr %t510
|
|
%t512 = call ptr @fn_str_concat(ptr @.str3053, ptr %t511)
|
|
%t513 = call ptr @fn_str_concat(ptr %t512, ptr @.str3054)
|
|
%t514 = load ptr, ptr %t472
|
|
%t515 = getelementptr inbounds %Cmp_Val, ptr %t514, i32 0, i32 0
|
|
%t516 = load ptr, ptr %t515
|
|
%t517 = call ptr @fn_str_concat(ptr %t513, ptr %t516)
|
|
%t518 = call ptr @fn_emit_bind(ptr %t517)
|
|
store ptr %t518, ptr %t519
|
|
%t520 = load ptr, ptr %t463
|
|
%t521 = getelementptr inbounds %Cmp_Val, ptr %t520, i32 0, i32 0
|
|
%t522 = load ptr, ptr %t521
|
|
%t523 = call ptr @fn_str_concat(ptr @.str3055, ptr %t522)
|
|
%t524 = call ptr @fn_str_concat(ptr %t523, ptr @.str3056)
|
|
%t525 = load ptr, ptr %t481
|
|
%t526 = getelementptr inbounds %Cmp_Val, ptr %t525, i32 0, i32 0
|
|
%t527 = load ptr, ptr %t526
|
|
%t528 = call ptr @fn_str_concat(ptr %t524, ptr %t527)
|
|
%t529 = call ptr @fn_emit_bind(ptr %t528)
|
|
store ptr %t529, ptr %t530
|
|
%t531 = load ptr, ptr %t490
|
|
%t532 = getelementptr inbounds %Cmp_Val, ptr %t531, i32 0, i32 0
|
|
%t533 = load ptr, ptr %t532
|
|
%t534 = load ptr, ptr %t454
|
|
%t535 = getelementptr inbounds %Cmp_Val, ptr %t534, i32 0, i32 0
|
|
%t536 = load ptr, ptr %t535
|
|
%t537 = load ptr, ptr %t519
|
|
%t538 = call ptr @fn_coll_clamp(ptr %t533, ptr %t536, ptr %t537)
|
|
store ptr %t538, ptr %t539
|
|
%t540 = load ptr, ptr %t499
|
|
%t541 = getelementptr inbounds %Cmp_Val, ptr %t540, i32 0, i32 0
|
|
%t542 = load ptr, ptr %t541
|
|
%t543 = load ptr, ptr %t463
|
|
%t544 = getelementptr inbounds %Cmp_Val, ptr %t543, i32 0, i32 0
|
|
%t545 = load ptr, ptr %t544
|
|
%t546 = load ptr, ptr %t530
|
|
%t547 = call ptr @fn_coll_clamp(ptr %t542, ptr %t545, ptr %t546)
|
|
store ptr %t547, ptr %t548
|
|
%t549 = load ptr, ptr %t490
|
|
%t550 = getelementptr inbounds %Cmp_Val, ptr %t549, i32 0, i32 0
|
|
%t551 = load ptr, ptr %t550
|
|
%t552 = call ptr @fn_str_concat(ptr @.str3057, ptr %t551)
|
|
%t553 = call ptr @fn_str_concat(ptr %t552, ptr @.str3058)
|
|
%t554 = load ptr, ptr %t539
|
|
%t555 = call ptr @fn_str_concat(ptr %t553, ptr %t554)
|
|
%t556 = call ptr @fn_emit_bind(ptr %t555)
|
|
store ptr %t556, ptr %t557
|
|
%t558 = load ptr, ptr %t499
|
|
%t559 = getelementptr inbounds %Cmp_Val, ptr %t558, i32 0, i32 0
|
|
%t560 = load ptr, ptr %t559
|
|
%t561 = call ptr @fn_str_concat(ptr @.str3059, ptr %t560)
|
|
%t562 = call ptr @fn_str_concat(ptr %t561, ptr @.str3060)
|
|
%t563 = load ptr, ptr %t548
|
|
%t564 = call ptr @fn_str_concat(ptr %t562, ptr %t563)
|
|
%t565 = call ptr @fn_emit_bind(ptr %t564)
|
|
store ptr %t565, ptr %t566
|
|
%t567 = load ptr, ptr %t557
|
|
%t568 = load ptr, ptr %t566
|
|
%t569 = call ptr @fn_coll_sq_sum(ptr %t567, ptr %t568)
|
|
store ptr %t569, ptr %t570
|
|
%t571 = load ptr, ptr %t508
|
|
%t572 = getelementptr inbounds %Cmp_Val, ptr %t571, i32 0, i32 0
|
|
%t573 = load ptr, ptr %t572
|
|
%t574 = call ptr @fn_str_concat(ptr @.str3061, ptr %t573)
|
|
%t575 = call ptr @fn_str_concat(ptr %t574, ptr @.str3062)
|
|
%t576 = call ptr @fn_emit_bind(ptr %t575)
|
|
store ptr %t576, ptr %t577
|
|
%t578 = load ptr, ptr %t577
|
|
%t579 = call ptr @fn_str_concat(ptr @.str3063, ptr %t578)
|
|
%t580 = call ptr @fn_str_concat(ptr %t579, ptr @.str3064)
|
|
%t581 = load ptr, ptr %t577
|
|
%t582 = call ptr @fn_str_concat(ptr %t580, ptr %t581)
|
|
%t583 = call ptr @fn_emit_bind(ptr %t582)
|
|
store ptr %t583, ptr %t584
|
|
%t585 = load ptr, ptr %t570
|
|
%t586 = call ptr @fn_str_concat(ptr @.str3065, ptr %t585)
|
|
%t587 = call ptr @fn_str_concat(ptr %t586, ptr @.str3066)
|
|
%t588 = load ptr, ptr %t584
|
|
%t589 = call ptr @fn_str_concat(ptr %t587, ptr %t588)
|
|
%t590 = call ptr @fn_emit_bind(ptr %t589)
|
|
store ptr %t590, ptr %t591
|
|
%t592 = load ptr, ptr %t591
|
|
%t593 = call ptr @fn_str_concat(ptr @.str3067, ptr %t592)
|
|
%t594 = call ptr @fn_str_concat(ptr %t593, ptr @.str3068)
|
|
%t595 = call ptr @fn_emit_bind(ptr %t594)
|
|
%t596 = call ptr @fn_val(ptr %t595, ptr @.str3069)
|
|
store ptr %t596, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t597 = load ptr, ptr %retval
|
|
ret ptr %t597
|
|
}
|
|
|
|
define i32 @fn_is_mem_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t12 = alloca i32
|
|
%t13 = alloca i32
|
|
%t14 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3070)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
%t5 = zext i1 %t4 to i32
|
|
store i32 %t5, ptr %t1
|
|
br i1 %t4, label %scend1, label %sc0
|
|
sc0:
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str3071)
|
|
%t8 = icmp ne i32 %t7, 0
|
|
%t9 = zext i1 %t8 to i32
|
|
store i32 %t9, ptr %t1
|
|
br label %scend1
|
|
scend1:
|
|
%t10 = load i32, ptr %t1
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %then2, label %ifend4
|
|
then2:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend4:
|
|
%t15 = load ptr, ptr %t0
|
|
%t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str3072)
|
|
%t17 = icmp ne i32 %t16, 0
|
|
%t18 = zext i1 %t17 to i32
|
|
store i32 %t18, ptr %t14
|
|
br i1 %t17, label %scend6, label %sc5
|
|
sc5:
|
|
%t19 = load ptr, ptr %t0
|
|
%t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str3073)
|
|
%t21 = icmp ne i32 %t20, 0
|
|
%t22 = zext i1 %t21 to i32
|
|
store i32 %t22, ptr %t14
|
|
br label %scend6
|
|
scend6:
|
|
%t23 = load i32, ptr %t14
|
|
%t24 = icmp ne i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
store i32 %t25, ptr %t13
|
|
br i1 %t24, label %scend8, label %sc7
|
|
sc7:
|
|
%t26 = load ptr, ptr %t0
|
|
%t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3074)
|
|
%t28 = icmp ne i32 %t27, 0
|
|
%t29 = zext i1 %t28 to i32
|
|
store i32 %t29, ptr %t13
|
|
br label %scend8
|
|
scend8:
|
|
%t30 = load i32, ptr %t13
|
|
%t31 = icmp ne i32 %t30, 0
|
|
%t32 = zext i1 %t31 to i32
|
|
store i32 %t32, ptr %t12
|
|
br i1 %t31, label %scend10, label %sc9
|
|
sc9:
|
|
%t33 = load ptr, ptr %t0
|
|
%t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3075)
|
|
%t35 = icmp ne i32 %t34, 0
|
|
%t36 = zext i1 %t35 to i32
|
|
store i32 %t36, ptr %t12
|
|
br label %scend10
|
|
scend10:
|
|
%t37 = load i32, ptr %t12
|
|
%t38 = icmp ne i32 %t37, 0
|
|
br i1 %t38, label %then11, label %ifend13
|
|
then11:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend13:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t39 = load i32, ptr %retval
|
|
ret i32 %t39
|
|
}
|
|
|
|
define ptr @fn_emit_mem_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t13 = alloca ptr
|
|
%t20 = alloca ptr
|
|
%t37 = alloca ptr
|
|
%t44 = alloca ptr
|
|
%t49 = alloca ptr
|
|
%t66 = alloca ptr
|
|
%t75 = alloca ptr
|
|
%t84 = alloca ptr
|
|
%t91 = alloca ptr
|
|
%t111 = alloca ptr
|
|
%t120 = alloca ptr
|
|
%t129 = alloca ptr
|
|
%t136 = alloca ptr
|
|
%t156 = alloca ptr
|
|
%t165 = alloca ptr
|
|
%t176 = alloca ptr
|
|
%t180 = alloca ptr
|
|
%t194 = alloca ptr
|
|
%t203 = alloca ptr
|
|
%t212 = alloca ptr
|
|
%t223 = alloca ptr
|
|
%t230 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3076)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = load ptr, ptr %t1
|
|
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
|
|
%t9 = load ptr, ptr %t8
|
|
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = call ptr @fn_emit_expr(ptr %t11)
|
|
store ptr %t12, ptr %t13
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = call ptr @fn_str_concat(ptr @.str3077, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3078)
|
|
%t19 = call ptr @fn_emit_bind(ptr %t18)
|
|
store ptr %t19, ptr %t20
|
|
%t21 = load ptr, ptr %t20
|
|
%t22 = call ptr @fn_str_concat(ptr @.str3079, ptr %t21)
|
|
%t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str3080)
|
|
%t24 = call ptr @fn_emit_bind(ptr %t23)
|
|
%t25 = call ptr @fn_val(ptr %t24, ptr @.str3081)
|
|
store ptr %t25, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t26 = load ptr, ptr %t0
|
|
%t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3082)
|
|
%t28 = icmp ne i32 %t27, 0
|
|
br i1 %t28, label %then3, label %ifend5
|
|
then3:
|
|
%t29 = load ptr, ptr %t1
|
|
%t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7
|
|
%t31 = load ptr, ptr %t30
|
|
%t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0
|
|
%t33 = load ptr, ptr %t32
|
|
%t34 = getelementptr inbounds ptr, ptr %t33, i32 0
|
|
%t35 = load ptr, ptr %t34
|
|
%t36 = call ptr @fn_emit_expr(ptr %t35)
|
|
store ptr %t36, ptr %t37
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = call ptr @fn_str_concat(ptr @.str3083, ptr %t40)
|
|
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str3084)
|
|
%t43 = call ptr @fn_emit_bind(ptr %t42)
|
|
store ptr %t43, ptr %t44
|
|
%t45 = load ptr, ptr %t44
|
|
%t46 = call ptr @fn_str_concat(ptr @.str3085, ptr %t45)
|
|
%t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str3086)
|
|
%t48 = call ptr @fn_emit_bind(ptr %t47)
|
|
store ptr %t48, ptr %t49
|
|
%t50 = load ptr, ptr %t49
|
|
%t51 = call ptr @fn_str_concat(ptr @.str3087, ptr %t50)
|
|
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str3088)
|
|
%t53 = call ptr @fn_emit_bind(ptr %t52)
|
|
%t54 = call ptr @fn_val(ptr %t53, ptr @.str3089)
|
|
store ptr %t54, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t55 = load ptr, ptr %t0
|
|
%t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str3090)
|
|
%t57 = icmp ne i32 %t56, 0
|
|
br i1 %t57, label %then6, label %ifend8
|
|
then6:
|
|
%t58 = load ptr, ptr %t1
|
|
%t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 7
|
|
%t60 = load ptr, ptr %t59
|
|
%t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0
|
|
%t62 = load ptr, ptr %t61
|
|
%t63 = getelementptr inbounds ptr, ptr %t62, i32 0
|
|
%t64 = load ptr, ptr %t63
|
|
%t65 = call ptr @fn_emit_expr(ptr %t64)
|
|
store ptr %t65, ptr %t66
|
|
%t67 = load ptr, ptr %t1
|
|
%t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 7
|
|
%t69 = load ptr, ptr %t68
|
|
%t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 0
|
|
%t71 = load ptr, ptr %t70
|
|
%t72 = getelementptr inbounds ptr, ptr %t71, i32 1
|
|
%t73 = load ptr, ptr %t72
|
|
%t74 = call ptr @fn_emit_expr(ptr %t73)
|
|
store ptr %t74, ptr %t75
|
|
%t76 = load ptr, ptr %t1
|
|
%t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7
|
|
%t78 = load ptr, ptr %t77
|
|
%t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0
|
|
%t80 = load ptr, ptr %t79
|
|
%t81 = getelementptr inbounds ptr, ptr %t80, i32 2
|
|
%t82 = load ptr, ptr %t81
|
|
%t83 = call ptr @fn_emit_expr(ptr %t82)
|
|
store ptr %t83, ptr %t84
|
|
%t85 = load ptr, ptr %t84
|
|
%t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0
|
|
%t87 = load ptr, ptr %t86
|
|
%t88 = call ptr @fn_str_concat(ptr @.str3091, ptr %t87)
|
|
%t89 = call ptr @fn_str_concat(ptr %t88, ptr @.str3092)
|
|
%t90 = call ptr @fn_emit_bind(ptr %t89)
|
|
store ptr %t90, ptr %t91
|
|
call void @fn_emit(ptr @.str3093)
|
|
%t92 = load ptr, ptr %t66
|
|
%t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0
|
|
%t94 = load ptr, ptr %t93
|
|
call void @fn_emit(ptr %t94)
|
|
call void @fn_emit(ptr @.str3094)
|
|
%t95 = load ptr, ptr %t75
|
|
%t96 = getelementptr inbounds %Cmp_Val, ptr %t95, i32 0, i32 0
|
|
%t97 = load ptr, ptr %t96
|
|
call void @fn_emit(ptr %t97)
|
|
call void @fn_emit(ptr @.str3095)
|
|
%t98 = load ptr, ptr %t91
|
|
call void @fn_emit(ptr %t98)
|
|
call void @fn_emit(ptr @.str3096)
|
|
%t99 = call ptr @fn_val(ptr @.str3097, ptr @.str3098)
|
|
store ptr %t99, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t100 = load ptr, ptr %t0
|
|
%t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str3099)
|
|
%t102 = icmp ne i32 %t101, 0
|
|
br i1 %t102, label %then9, label %ifend11
|
|
then9:
|
|
%t103 = load ptr, ptr %t1
|
|
%t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 7
|
|
%t105 = load ptr, ptr %t104
|
|
%t106 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0
|
|
%t107 = load ptr, ptr %t106
|
|
%t108 = getelementptr inbounds ptr, ptr %t107, i32 0
|
|
%t109 = load ptr, ptr %t108
|
|
%t110 = call ptr @fn_emit_expr(ptr %t109)
|
|
store ptr %t110, ptr %t111
|
|
%t112 = load ptr, ptr %t1
|
|
%t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 7
|
|
%t114 = load ptr, ptr %t113
|
|
%t115 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 0
|
|
%t116 = load ptr, ptr %t115
|
|
%t117 = getelementptr inbounds ptr, ptr %t116, i32 1
|
|
%t118 = load ptr, ptr %t117
|
|
%t119 = call ptr @fn_emit_expr(ptr %t118)
|
|
store ptr %t119, ptr %t120
|
|
%t121 = load ptr, ptr %t1
|
|
%t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 7
|
|
%t123 = load ptr, ptr %t122
|
|
%t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0
|
|
%t125 = load ptr, ptr %t124
|
|
%t126 = getelementptr inbounds ptr, ptr %t125, i32 2
|
|
%t127 = load ptr, ptr %t126
|
|
%t128 = call ptr @fn_emit_expr(ptr %t127)
|
|
store ptr %t128, ptr %t129
|
|
%t130 = load ptr, ptr %t129
|
|
%t131 = getelementptr inbounds %Cmp_Val, ptr %t130, i32 0, i32 0
|
|
%t132 = load ptr, ptr %t131
|
|
%t133 = call ptr @fn_str_concat(ptr @.str3100, ptr %t132)
|
|
%t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str3101)
|
|
%t135 = call ptr @fn_emit_bind(ptr %t134)
|
|
store ptr %t135, ptr %t136
|
|
call void @fn_emit(ptr @.str3102)
|
|
%t137 = load ptr, ptr %t111
|
|
%t138 = getelementptr inbounds %Cmp_Val, ptr %t137, i32 0, i32 0
|
|
%t139 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t139)
|
|
call void @fn_emit(ptr @.str3103)
|
|
%t140 = load ptr, ptr %t120
|
|
%t141 = getelementptr inbounds %Cmp_Val, ptr %t140, i32 0, i32 0
|
|
%t142 = load ptr, ptr %t141
|
|
call void @fn_emit(ptr %t142)
|
|
call void @fn_emit(ptr @.str3104)
|
|
%t143 = load ptr, ptr %t136
|
|
call void @fn_emit(ptr %t143)
|
|
call void @fn_emit(ptr @.str3105)
|
|
%t144 = call ptr @fn_val(ptr @.str3106, ptr @.str3107)
|
|
store ptr %t144, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t145 = load ptr, ptr %t0
|
|
%t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str3108)
|
|
%t147 = icmp ne i32 %t146, 0
|
|
br i1 %t147, label %then12, label %ifend14
|
|
then12:
|
|
%t148 = load ptr, ptr %t1
|
|
%t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 7
|
|
%t150 = load ptr, ptr %t149
|
|
%t151 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 0
|
|
%t152 = load ptr, ptr %t151
|
|
%t153 = getelementptr inbounds ptr, ptr %t152, i32 0
|
|
%t154 = load ptr, ptr %t153
|
|
%t155 = call ptr @fn_emit_expr(ptr %t154)
|
|
store ptr %t155, ptr %t156
|
|
%t157 = load ptr, ptr %t1
|
|
%t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 7
|
|
%t159 = load ptr, ptr %t158
|
|
%t160 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0
|
|
%t161 = load ptr, ptr %t160
|
|
%t162 = getelementptr inbounds ptr, ptr %t161, i32 1
|
|
%t163 = load ptr, ptr %t162
|
|
%t164 = call ptr @fn_emit_expr(ptr %t163)
|
|
store ptr %t164, ptr %t165
|
|
%t166 = load ptr, ptr %t156
|
|
%t167 = getelementptr inbounds %Cmp_Val, ptr %t166, i32 0, i32 0
|
|
%t168 = load ptr, ptr %t167
|
|
%t169 = call ptr @fn_str_concat(ptr @.str3109, ptr %t168)
|
|
%t170 = call ptr @fn_str_concat(ptr %t169, ptr @.str3110)
|
|
%t171 = load ptr, ptr %t165
|
|
%t172 = getelementptr inbounds %Cmp_Val, ptr %t171, i32 0, i32 0
|
|
%t173 = load ptr, ptr %t172
|
|
%t174 = call ptr @fn_str_concat(ptr %t170, ptr %t173)
|
|
%t175 = call ptr @fn_emit_bind(ptr %t174)
|
|
store ptr %t175, ptr %t176
|
|
%t177 = load ptr, ptr %t176
|
|
%t178 = call ptr @fn_str_concat(ptr @.str3111, ptr %t177)
|
|
%t179 = call ptr @fn_emit_bind(ptr %t178)
|
|
store ptr %t179, ptr %t180
|
|
%t181 = load ptr, ptr %t180
|
|
%t182 = call ptr @fn_str_concat(ptr @.str3112, ptr %t181)
|
|
%t183 = call ptr @fn_str_concat(ptr %t182, ptr @.str3113)
|
|
%t184 = call ptr @fn_emit_bind(ptr %t183)
|
|
%t185 = call ptr @fn_val(ptr %t184, ptr @.str3114)
|
|
store ptr %t185, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t186 = load ptr, ptr %t1
|
|
%t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 7
|
|
%t188 = load ptr, ptr %t187
|
|
%t189 = getelementptr inbounds %LSlice, ptr %t188, i32 0, i32 0
|
|
%t190 = load ptr, ptr %t189
|
|
%t191 = getelementptr inbounds ptr, ptr %t190, i32 0
|
|
%t192 = load ptr, ptr %t191
|
|
%t193 = call ptr @fn_emit_expr(ptr %t192)
|
|
store ptr %t193, ptr %t194
|
|
%t195 = load ptr, ptr %t1
|
|
%t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 7
|
|
%t197 = load ptr, ptr %t196
|
|
%t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0
|
|
%t199 = load ptr, ptr %t198
|
|
%t200 = getelementptr inbounds ptr, ptr %t199, i32 1
|
|
%t201 = load ptr, ptr %t200
|
|
%t202 = call ptr @fn_emit_expr(ptr %t201)
|
|
store ptr %t202, ptr %t203
|
|
%t204 = load ptr, ptr %t1
|
|
%t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 7
|
|
%t206 = load ptr, ptr %t205
|
|
%t207 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 0
|
|
%t208 = load ptr, ptr %t207
|
|
%t209 = getelementptr inbounds ptr, ptr %t208, i32 2
|
|
%t210 = load ptr, ptr %t209
|
|
%t211 = call ptr @fn_emit_expr(ptr %t210)
|
|
store ptr %t211, ptr %t212
|
|
%t213 = load ptr, ptr %t194
|
|
%t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0
|
|
%t215 = load ptr, ptr %t214
|
|
%t216 = call ptr @fn_str_concat(ptr @.str3115, ptr %t215)
|
|
%t217 = call ptr @fn_str_concat(ptr %t216, ptr @.str3116)
|
|
%t218 = load ptr, ptr %t203
|
|
%t219 = getelementptr inbounds %Cmp_Val, ptr %t218, i32 0, i32 0
|
|
%t220 = load ptr, ptr %t219
|
|
%t221 = call ptr @fn_str_concat(ptr %t217, ptr %t220)
|
|
%t222 = call ptr @fn_emit_bind(ptr %t221)
|
|
store ptr %t222, ptr %t223
|
|
%t224 = load ptr, ptr %t212
|
|
%t225 = getelementptr inbounds %Cmp_Val, ptr %t224, i32 0, i32 0
|
|
%t226 = load ptr, ptr %t225
|
|
%t227 = call ptr @fn_str_concat(ptr @.str3117, ptr %t226)
|
|
%t228 = call ptr @fn_str_concat(ptr %t227, ptr @.str3118)
|
|
%t229 = call ptr @fn_emit_bind(ptr %t228)
|
|
store ptr %t229, ptr %t230
|
|
call void @fn_emit(ptr @.str3119)
|
|
%t231 = load ptr, ptr %t230
|
|
call void @fn_emit(ptr %t231)
|
|
call void @fn_emit(ptr @.str3120)
|
|
%t232 = load ptr, ptr %t223
|
|
call void @fn_emit(ptr %t232)
|
|
call void @fn_emit(ptr @.str3121)
|
|
%t233 = call ptr @fn_val(ptr @.str3122, ptr @.str3123)
|
|
store ptr %t233, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t234 = load ptr, ptr %retval
|
|
ret ptr %t234
|
|
}
|
|
|
|
define i32 @fn_is_time_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str3124)
|
|
%t6 = icmp ne i32 %t5, 0
|
|
%t7 = zext i1 %t6 to i32
|
|
store i32 %t7, ptr %t3
|
|
br i1 %t6, label %scend1, label %sc0
|
|
sc0:
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str3125)
|
|
%t10 = icmp ne i32 %t9, 0
|
|
%t11 = zext i1 %t10 to i32
|
|
store i32 %t11, ptr %t3
|
|
br label %scend1
|
|
scend1:
|
|
%t12 = load i32, ptr %t3
|
|
%t13 = icmp ne i32 %t12, 0
|
|
%t14 = zext i1 %t13 to i32
|
|
store i32 %t14, ptr %t2
|
|
br i1 %t13, label %scend3, label %sc2
|
|
sc2:
|
|
%t15 = load ptr, ptr %t0
|
|
%t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str3126)
|
|
%t17 = icmp ne i32 %t16, 0
|
|
%t18 = zext i1 %t17 to i32
|
|
store i32 %t18, ptr %t2
|
|
br label %scend3
|
|
scend3:
|
|
%t19 = load i32, ptr %t2
|
|
%t20 = icmp ne i32 %t19, 0
|
|
%t21 = zext i1 %t20 to i32
|
|
store i32 %t21, ptr %t1
|
|
br i1 %t20, label %scend5, label %sc4
|
|
sc4:
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str3127)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
store i32 %t25, ptr %t1
|
|
br label %scend5
|
|
scend5:
|
|
%t26 = load i32, ptr %t1
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then6, label %ifend8
|
|
then6:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t28 = load ptr, ptr %t0
|
|
%t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str3128)
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then9, label %ifend11
|
|
then9:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t31 = load i32, ptr %retval
|
|
ret i32 %t31
|
|
}
|
|
|
|
define ptr @fn_emit_time_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t15 = alloca ptr
|
|
%t32 = alloca ptr
|
|
%t34 = alloca ptr
|
|
%t39 = alloca ptr
|
|
%t50 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3129)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = call ptr @fn_emit_bind(ptr @.str3130)
|
|
%t6 = call ptr @fn_val(ptr %t5, ptr @.str3131)
|
|
store ptr %t6, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3132)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then3, label %ifend5
|
|
then3:
|
|
%t10 = call ptr @fn_val(ptr @.str3133, ptr @.str3134)
|
|
store ptr %t10, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t11 = load ptr, ptr %t0
|
|
%t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str3135)
|
|
%t13 = icmp ne i32 %t12, 0
|
|
br i1 %t13, label %then6, label %ifend8
|
|
then6:
|
|
%t14 = call ptr @fn_emit_bind(ptr @.str3136)
|
|
store ptr %t14, ptr %t15
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = call ptr @fn_str_concat(ptr @.str3137, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str3138)
|
|
%t19 = call ptr @fn_emit_bind(ptr %t18)
|
|
%t20 = call ptr @fn_val(ptr %t19, ptr @.str3139)
|
|
store ptr %t20, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t21 = load ptr, ptr %t0
|
|
%t22 = call i32 @fn_str_eq(ptr %t21, ptr @.str3140)
|
|
%t23 = icmp ne i32 %t22, 0
|
|
br i1 %t23, label %then9, label %ifend11
|
|
then9:
|
|
%t24 = load ptr, ptr %t1
|
|
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = getelementptr inbounds ptr, ptr %t28, i32 0
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = call ptr @fn_emit_expr(ptr %t30)
|
|
store ptr %t31, ptr %t32
|
|
%t33 = call ptr @fn_emit_bind(ptr @.str3141)
|
|
store ptr %t33, ptr %t34
|
|
%t35 = load ptr, ptr %t34
|
|
%t36 = call ptr @fn_str_concat(ptr @.str3142, ptr %t35)
|
|
%t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str3143)
|
|
%t38 = call ptr @fn_emit_bind(ptr %t37)
|
|
store ptr %t38, ptr %t39
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = call ptr @fn_str_concat(ptr @.str3144, ptr %t40)
|
|
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str3145)
|
|
%t43 = load ptr, ptr %t32
|
|
%t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0
|
|
%t45 = load ptr, ptr %t44
|
|
%t46 = call ptr @fn_str_concat(ptr %t42, ptr %t45)
|
|
%t47 = call ptr @fn_emit_bind(ptr %t46)
|
|
%t48 = call ptr @fn_val(ptr %t47, ptr @.str3146)
|
|
store ptr %t48, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t49 = call ptr @fn_emit_bind(ptr @.str3147)
|
|
store ptr %t49, ptr %t50
|
|
%t51 = load ptr, ptr %t50
|
|
%t52 = call ptr @fn_str_concat(ptr @.str3148, ptr %t51)
|
|
%t53 = call ptr @fn_str_concat(ptr %t52, ptr @.str3149)
|
|
%t54 = call ptr @fn_emit_bind(ptr %t53)
|
|
%t55 = call ptr @fn_val(ptr %t54, ptr @.str3150)
|
|
store ptr %t55, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t56 = load ptr, ptr %retval
|
|
ret ptr %t56
|
|
}
|
|
|
|
define i32 @fn_is_duration_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
%t28 = alloca i32
|
|
%t29 = alloca i32
|
|
%t30 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str3151)
|
|
%t6 = icmp ne i32 %t5, 0
|
|
%t7 = zext i1 %t6 to i32
|
|
store i32 %t7, ptr %t3
|
|
br i1 %t6, label %scend1, label %sc0
|
|
sc0:
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str3152)
|
|
%t10 = icmp ne i32 %t9, 0
|
|
%t11 = zext i1 %t10 to i32
|
|
store i32 %t11, ptr %t3
|
|
br label %scend1
|
|
scend1:
|
|
%t12 = load i32, ptr %t3
|
|
%t13 = icmp ne i32 %t12, 0
|
|
%t14 = zext i1 %t13 to i32
|
|
store i32 %t14, ptr %t2
|
|
br i1 %t13, label %scend3, label %sc2
|
|
sc2:
|
|
%t15 = load ptr, ptr %t0
|
|
%t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str3153)
|
|
%t17 = icmp ne i32 %t16, 0
|
|
%t18 = zext i1 %t17 to i32
|
|
store i32 %t18, ptr %t2
|
|
br label %scend3
|
|
scend3:
|
|
%t19 = load i32, ptr %t2
|
|
%t20 = icmp ne i32 %t19, 0
|
|
%t21 = zext i1 %t20 to i32
|
|
store i32 %t21, ptr %t1
|
|
br i1 %t20, label %scend5, label %sc4
|
|
sc4:
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str3154)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
store i32 %t25, ptr %t1
|
|
br label %scend5
|
|
scend5:
|
|
%t26 = load i32, ptr %t1
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then6, label %ifend8
|
|
then6:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t31 = load ptr, ptr %t0
|
|
%t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str3155)
|
|
%t33 = icmp ne i32 %t32, 0
|
|
%t34 = zext i1 %t33 to i32
|
|
store i32 %t34, ptr %t30
|
|
br i1 %t33, label %scend10, label %sc9
|
|
sc9:
|
|
%t35 = load ptr, ptr %t0
|
|
%t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str3156)
|
|
%t37 = icmp ne i32 %t36, 0
|
|
%t38 = zext i1 %t37 to i32
|
|
store i32 %t38, ptr %t30
|
|
br label %scend10
|
|
scend10:
|
|
%t39 = load i32, ptr %t30
|
|
%t40 = icmp ne i32 %t39, 0
|
|
%t41 = zext i1 %t40 to i32
|
|
store i32 %t41, ptr %t29
|
|
br i1 %t40, label %scend12, label %sc11
|
|
sc11:
|
|
%t42 = load ptr, ptr %t0
|
|
%t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str3157)
|
|
%t44 = icmp ne i32 %t43, 0
|
|
%t45 = zext i1 %t44 to i32
|
|
store i32 %t45, ptr %t29
|
|
br label %scend12
|
|
scend12:
|
|
%t46 = load i32, ptr %t29
|
|
%t47 = icmp ne i32 %t46, 0
|
|
%t48 = zext i1 %t47 to i32
|
|
store i32 %t48, ptr %t28
|
|
br i1 %t47, label %scend14, label %sc13
|
|
sc13:
|
|
%t49 = load ptr, ptr %t0
|
|
%t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str3158)
|
|
%t51 = icmp ne i32 %t50, 0
|
|
%t52 = zext i1 %t51 to i32
|
|
store i32 %t52, ptr %t28
|
|
br label %scend14
|
|
scend14:
|
|
%t53 = load i32, ptr %t28
|
|
%t54 = icmp ne i32 %t53, 0
|
|
br i1 %t54, label %then15, label %ifend17
|
|
then15:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t55 = load i32, ptr %retval
|
|
ret i32 %t55
|
|
}
|
|
|
|
define ptr @fn_emit_duration_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t10 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
%t2 = load ptr, ptr %t1
|
|
%t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 7
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = getelementptr inbounds ptr, ptr %t6, i32 0
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = call ptr @fn_emit_expr(ptr %t8)
|
|
store ptr %t9, ptr %t10
|
|
%t11 = load ptr, ptr %t0
|
|
%t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str3159)
|
|
%t13 = icmp ne i32 %t12, 0
|
|
br i1 %t13, label %then0, label %ifend2
|
|
then0:
|
|
%t14 = load ptr, ptr %t10
|
|
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = call ptr @fn_val(ptr %t16, ptr @.str3160)
|
|
store ptr %t17, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t18 = load ptr, ptr %t0
|
|
%t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str3161)
|
|
%t20 = icmp ne i32 %t19, 0
|
|
br i1 %t20, label %then3, label %ifend5
|
|
then3:
|
|
%t21 = load ptr, ptr %t10
|
|
%t22 = getelementptr inbounds %Cmp_Val, ptr %t21, i32 0, i32 0
|
|
%t23 = load ptr, ptr %t22
|
|
%t24 = call ptr @fn_str_concat(ptr @.str3162, ptr %t23)
|
|
%t25 = call ptr @fn_str_concat(ptr %t24, ptr @.str3163)
|
|
%t26 = call ptr @fn_emit_bind(ptr %t25)
|
|
%t27 = call ptr @fn_val(ptr %t26, ptr @.str3164)
|
|
store ptr %t27, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t28 = load ptr, ptr %t0
|
|
%t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str3165)
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then6, label %ifend8
|
|
then6:
|
|
%t31 = load ptr, ptr %t10
|
|
%t32 = getelementptr inbounds %Cmp_Val, ptr %t31, i32 0, i32 0
|
|
%t33 = load ptr, ptr %t32
|
|
%t34 = call ptr @fn_str_concat(ptr @.str3166, ptr %t33)
|
|
%t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str3167)
|
|
%t36 = call ptr @fn_emit_bind(ptr %t35)
|
|
%t37 = call ptr @fn_val(ptr %t36, ptr @.str3168)
|
|
store ptr %t37, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t38 = load ptr, ptr %t0
|
|
%t39 = call i32 @fn_str_eq(ptr %t38, ptr @.str3169)
|
|
%t40 = icmp ne i32 %t39, 0
|
|
br i1 %t40, label %then9, label %ifend11
|
|
then9:
|
|
%t41 = load ptr, ptr %t10
|
|
%t42 = getelementptr inbounds %Cmp_Val, ptr %t41, i32 0, i32 0
|
|
%t43 = load ptr, ptr %t42
|
|
%t44 = call ptr @fn_str_concat(ptr @.str3170, ptr %t43)
|
|
%t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str3171)
|
|
%t46 = call ptr @fn_emit_bind(ptr %t45)
|
|
%t47 = call ptr @fn_val(ptr %t46, ptr @.str3172)
|
|
store ptr %t47, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t48 = load ptr, ptr %t0
|
|
%t49 = call i32 @fn_str_eq(ptr %t48, ptr @.str3173)
|
|
%t50 = icmp ne i32 %t49, 0
|
|
br i1 %t50, label %then12, label %ifend14
|
|
then12:
|
|
%t51 = load ptr, ptr %t10
|
|
%t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0
|
|
%t53 = load ptr, ptr %t52
|
|
%t54 = call ptr @fn_val(ptr %t53, ptr @.str3174)
|
|
store ptr %t54, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t55 = load ptr, ptr %t0
|
|
%t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str3175)
|
|
%t57 = icmp ne i32 %t56, 0
|
|
br i1 %t57, label %then15, label %ifend17
|
|
then15:
|
|
%t58 = load ptr, ptr %t10
|
|
%t59 = getelementptr inbounds %Cmp_Val, ptr %t58, i32 0, i32 0
|
|
%t60 = load ptr, ptr %t59
|
|
%t61 = call ptr @fn_str_concat(ptr @.str3176, ptr %t60)
|
|
%t62 = call ptr @fn_str_concat(ptr %t61, ptr @.str3177)
|
|
%t63 = call ptr @fn_emit_bind(ptr %t62)
|
|
%t64 = call ptr @fn_val(ptr %t63, ptr @.str3178)
|
|
store ptr %t64, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t65 = load ptr, ptr %t0
|
|
%t66 = call i32 @fn_str_eq(ptr %t65, ptr @.str3179)
|
|
%t67 = icmp ne i32 %t66, 0
|
|
br i1 %t67, label %then18, label %ifend20
|
|
then18:
|
|
%t68 = load ptr, ptr %t10
|
|
%t69 = getelementptr inbounds %Cmp_Val, ptr %t68, i32 0, i32 0
|
|
%t70 = load ptr, ptr %t69
|
|
%t71 = call ptr @fn_str_concat(ptr @.str3180, ptr %t70)
|
|
%t72 = call ptr @fn_str_concat(ptr %t71, ptr @.str3181)
|
|
%t73 = call ptr @fn_emit_bind(ptr %t72)
|
|
%t74 = call ptr @fn_val(ptr %t73, ptr @.str3182)
|
|
store ptr %t74, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t75 = load ptr, ptr %t10
|
|
%t76 = getelementptr inbounds %Cmp_Val, ptr %t75, i32 0, i32 0
|
|
%t77 = load ptr, ptr %t76
|
|
%t78 = call ptr @fn_str_concat(ptr @.str3183, ptr %t77)
|
|
%t79 = call ptr @fn_str_concat(ptr %t78, ptr @.str3184)
|
|
%t80 = call ptr @fn_emit_bind(ptr %t79)
|
|
%t81 = call ptr @fn_val(ptr %t80, ptr @.str3185)
|
|
store ptr %t81, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t82 = load ptr, ptr %retval
|
|
ret ptr %t82
|
|
}
|
|
|
|
define ptr @fn_date_component(ptr %arg_ed, i32 %arg_which) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t3 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t21 = alloca ptr
|
|
store ptr %arg_ed, ptr %t0
|
|
store i32 %arg_which, ptr %t1
|
|
store i32 1, ptr @g_g_uses_datert
|
|
%t2 = call ptr @fn_emit_alloca(ptr @.str3186)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = call ptr @fn_emit_alloca(ptr @.str3187)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = call ptr @fn_emit_alloca(ptr @.str3188)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = call ptr @fn_str_concat(ptr @.str3189, ptr %t8)
|
|
%t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str3190)
|
|
%t11 = load ptr, ptr %t3
|
|
%t12 = call ptr @fn_str_concat(ptr %t10, ptr %t11)
|
|
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str3191)
|
|
%t14 = load ptr, ptr %t5
|
|
%t15 = call ptr @fn_str_concat(ptr %t13, ptr %t14)
|
|
%t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str3192)
|
|
%t17 = load ptr, ptr %t7
|
|
%t18 = call ptr @fn_str_concat(ptr %t16, ptr %t17)
|
|
%t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str3193)
|
|
call void @fn_emit(ptr %t19)
|
|
%t20 = load ptr, ptr %t3
|
|
store ptr %t20, ptr %t21
|
|
%t22 = load i32, ptr %t1
|
|
%t23 = icmp eq i32 %t22, 1
|
|
%t24 = zext i1 %t23 to i32
|
|
%t25 = icmp ne i32 %t24, 0
|
|
br i1 %t25, label %then0, label %ifend2
|
|
then0:
|
|
%t26 = load ptr, ptr %t5
|
|
store ptr %t26, ptr %t21
|
|
br label %ifend2
|
|
ifend2:
|
|
%t27 = load i32, ptr %t1
|
|
%t28 = icmp eq i32 %t27, 2
|
|
%t29 = zext i1 %t28 to i32
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then3, label %ifend5
|
|
then3:
|
|
%t31 = load ptr, ptr %t7
|
|
store ptr %t31, ptr %t21
|
|
br label %ifend5
|
|
ifend5:
|
|
%t32 = load ptr, ptr %t21
|
|
%t33 = call ptr @fn_str_concat(ptr @.str3194, ptr %t32)
|
|
%t34 = call ptr @fn_emit_bind(ptr %t33)
|
|
store ptr %t34, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t35 = load ptr, ptr %retval
|
|
ret ptr %t35
|
|
}
|
|
|
|
define i32 @fn_is_date_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
%t28 = alloca i32
|
|
%t29 = alloca i32
|
|
%t47 = alloca i32
|
|
%t48 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str3195)
|
|
%t6 = icmp ne i32 %t5, 0
|
|
%t7 = zext i1 %t6 to i32
|
|
store i32 %t7, ptr %t3
|
|
br i1 %t6, label %scend1, label %sc0
|
|
sc0:
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str3196)
|
|
%t10 = icmp ne i32 %t9, 0
|
|
%t11 = zext i1 %t10 to i32
|
|
store i32 %t11, ptr %t3
|
|
br label %scend1
|
|
scend1:
|
|
%t12 = load i32, ptr %t3
|
|
%t13 = icmp ne i32 %t12, 0
|
|
%t14 = zext i1 %t13 to i32
|
|
store i32 %t14, ptr %t2
|
|
br i1 %t13, label %scend3, label %sc2
|
|
sc2:
|
|
%t15 = load ptr, ptr %t0
|
|
%t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str3197)
|
|
%t17 = icmp ne i32 %t16, 0
|
|
%t18 = zext i1 %t17 to i32
|
|
store i32 %t18, ptr %t2
|
|
br label %scend3
|
|
scend3:
|
|
%t19 = load i32, ptr %t2
|
|
%t20 = icmp ne i32 %t19, 0
|
|
%t21 = zext i1 %t20 to i32
|
|
store i32 %t21, ptr %t1
|
|
br i1 %t20, label %scend5, label %sc4
|
|
sc4:
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str3198)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
store i32 %t25, ptr %t1
|
|
br label %scend5
|
|
scend5:
|
|
%t26 = load i32, ptr %t1
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then6, label %ifend8
|
|
then6:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t30 = load ptr, ptr %t0
|
|
%t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str3199)
|
|
%t32 = icmp ne i32 %t31, 0
|
|
%t33 = zext i1 %t32 to i32
|
|
store i32 %t33, ptr %t29
|
|
br i1 %t32, label %scend10, label %sc9
|
|
sc9:
|
|
%t34 = load ptr, ptr %t0
|
|
%t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str3200)
|
|
%t36 = icmp ne i32 %t35, 0
|
|
%t37 = zext i1 %t36 to i32
|
|
store i32 %t37, ptr %t29
|
|
br label %scend10
|
|
scend10:
|
|
%t38 = load i32, ptr %t29
|
|
%t39 = icmp ne i32 %t38, 0
|
|
%t40 = zext i1 %t39 to i32
|
|
store i32 %t40, ptr %t28
|
|
br i1 %t39, label %scend12, label %sc11
|
|
sc11:
|
|
%t41 = load ptr, ptr %t0
|
|
%t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str3201)
|
|
%t43 = icmp ne i32 %t42, 0
|
|
%t44 = zext i1 %t43 to i32
|
|
store i32 %t44, ptr %t28
|
|
br label %scend12
|
|
scend12:
|
|
%t45 = load i32, ptr %t28
|
|
%t46 = icmp ne i32 %t45, 0
|
|
br i1 %t46, label %then13, label %ifend15
|
|
then13:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend15:
|
|
%t49 = load ptr, ptr %t0
|
|
%t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str3202)
|
|
%t51 = icmp ne i32 %t50, 0
|
|
%t52 = zext i1 %t51 to i32
|
|
store i32 %t52, ptr %t48
|
|
br i1 %t51, label %scend17, label %sc16
|
|
sc16:
|
|
%t53 = load ptr, ptr %t0
|
|
%t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str3203)
|
|
%t55 = icmp ne i32 %t54, 0
|
|
%t56 = zext i1 %t55 to i32
|
|
store i32 %t56, ptr %t48
|
|
br label %scend17
|
|
scend17:
|
|
%t57 = load i32, ptr %t48
|
|
%t58 = icmp ne i32 %t57, 0
|
|
%t59 = zext i1 %t58 to i32
|
|
store i32 %t59, ptr %t47
|
|
br i1 %t58, label %scend19, label %sc18
|
|
sc18:
|
|
%t60 = load ptr, ptr %t0
|
|
%t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str3204)
|
|
%t62 = icmp ne i32 %t61, 0
|
|
%t63 = zext i1 %t62 to i32
|
|
store i32 %t63, ptr %t47
|
|
br label %scend19
|
|
scend19:
|
|
%t64 = load i32, ptr %t47
|
|
%t65 = icmp ne i32 %t64, 0
|
|
br i1 %t65, label %then20, label %ifend22
|
|
then20:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend22:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t66 = load i32, ptr %retval
|
|
ret i32 %t66
|
|
}
|
|
|
|
define ptr @fn_emit_date_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t13 = alloca ptr
|
|
%t22 = alloca ptr
|
|
%t31 = alloca ptr
|
|
%t60 = alloca ptr
|
|
%t77 = alloca ptr
|
|
%t94 = alloca ptr
|
|
%t111 = alloca ptr
|
|
%t118 = alloca ptr
|
|
%t123 = alloca ptr
|
|
%t128 = alloca ptr
|
|
%t145 = alloca ptr
|
|
%t152 = alloca ptr
|
|
%t157 = alloca ptr
|
|
%t164 = alloca ptr
|
|
%t169 = alloca ptr
|
|
%t176 = alloca ptr
|
|
%t181 = alloca ptr
|
|
%t188 = alloca ptr
|
|
%t195 = alloca ptr
|
|
%t212 = alloca ptr
|
|
%t221 = alloca ptr
|
|
%t233 = alloca ptr
|
|
%t240 = alloca ptr
|
|
%t247 = alloca ptr
|
|
%t259 = alloca ptr
|
|
%t266 = alloca ptr
|
|
%t273 = alloca ptr
|
|
%t281 = alloca ptr
|
|
%t300 = alloca ptr
|
|
%t319 = alloca ptr
|
|
%t328 = alloca ptr
|
|
%t348 = alloca ptr
|
|
%t357 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3205)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
store i32 1, ptr @g_g_uses_datert
|
|
%t5 = load ptr, ptr %t1
|
|
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
|
|
%t9 = load ptr, ptr %t8
|
|
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = call ptr @fn_emit_expr(ptr %t11)
|
|
store ptr %t12, ptr %t13
|
|
%t14 = load ptr, ptr %t1
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = getelementptr inbounds ptr, ptr %t18, i32 1
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = call ptr @fn_emit_expr(ptr %t20)
|
|
store ptr %t21, ptr %t22
|
|
%t23 = load ptr, ptr %t1
|
|
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0
|
|
%t27 = load ptr, ptr %t26
|
|
%t28 = getelementptr inbounds ptr, ptr %t27, i32 2
|
|
%t29 = load ptr, ptr %t28
|
|
%t30 = call ptr @fn_emit_expr(ptr %t29)
|
|
store ptr %t30, ptr %t31
|
|
%t32 = load ptr, ptr %t13
|
|
%t33 = getelementptr inbounds %Cmp_Val, ptr %t32, i32 0, i32 0
|
|
%t34 = load ptr, ptr %t33
|
|
%t35 = call ptr @fn_str_concat(ptr @.str3206, ptr %t34)
|
|
%t36 = call ptr @fn_str_concat(ptr %t35, ptr @.str3207)
|
|
%t37 = load ptr, ptr %t22
|
|
%t38 = getelementptr inbounds %Cmp_Val, ptr %t37, i32 0, i32 0
|
|
%t39 = load ptr, ptr %t38
|
|
%t40 = call ptr @fn_str_concat(ptr %t36, ptr %t39)
|
|
%t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str3208)
|
|
%t42 = load ptr, ptr %t31
|
|
%t43 = getelementptr inbounds %Cmp_Val, ptr %t42, i32 0, i32 0
|
|
%t44 = load ptr, ptr %t43
|
|
%t45 = call ptr @fn_str_concat(ptr %t41, ptr %t44)
|
|
%t46 = call ptr @fn_str_concat(ptr %t45, ptr @.str3209)
|
|
%t47 = call ptr @fn_emit_bind(ptr %t46)
|
|
%t48 = call ptr @fn_val(ptr %t47, ptr @.str3210)
|
|
store ptr %t48, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t49 = load ptr, ptr %t0
|
|
%t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str3211)
|
|
%t51 = icmp ne i32 %t50, 0
|
|
br i1 %t51, label %then3, label %ifend5
|
|
then3:
|
|
%t52 = load ptr, ptr %t1
|
|
%t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 7
|
|
%t54 = load ptr, ptr %t53
|
|
%t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 0
|
|
%t56 = load ptr, ptr %t55
|
|
%t57 = getelementptr inbounds ptr, ptr %t56, i32 0
|
|
%t58 = load ptr, ptr %t57
|
|
%t59 = call ptr @fn_emit_expr(ptr %t58)
|
|
store ptr %t59, ptr %t60
|
|
%t61 = load ptr, ptr %t60
|
|
%t62 = getelementptr inbounds %Cmp_Val, ptr %t61, i32 0, i32 0
|
|
%t63 = load ptr, ptr %t62
|
|
%t64 = call ptr @fn_date_component(ptr %t63, i32 0)
|
|
%t65 = call ptr @fn_val(ptr %t64, ptr @.str3212)
|
|
store ptr %t65, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t66 = load ptr, ptr %t0
|
|
%t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str3213)
|
|
%t68 = icmp ne i32 %t67, 0
|
|
br i1 %t68, label %then6, label %ifend8
|
|
then6:
|
|
%t69 = load ptr, ptr %t1
|
|
%t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 7
|
|
%t71 = load ptr, ptr %t70
|
|
%t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0
|
|
%t73 = load ptr, ptr %t72
|
|
%t74 = getelementptr inbounds ptr, ptr %t73, i32 0
|
|
%t75 = load ptr, ptr %t74
|
|
%t76 = call ptr @fn_emit_expr(ptr %t75)
|
|
store ptr %t76, ptr %t77
|
|
%t78 = load ptr, ptr %t77
|
|
%t79 = getelementptr inbounds %Cmp_Val, ptr %t78, i32 0, i32 0
|
|
%t80 = load ptr, ptr %t79
|
|
%t81 = call ptr @fn_date_component(ptr %t80, i32 1)
|
|
%t82 = call ptr @fn_val(ptr %t81, ptr @.str3214)
|
|
store ptr %t82, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t83 = load ptr, ptr %t0
|
|
%t84 = call i32 @fn_str_eq(ptr %t83, ptr @.str3215)
|
|
%t85 = icmp ne i32 %t84, 0
|
|
br i1 %t85, label %then9, label %ifend11
|
|
then9:
|
|
%t86 = load ptr, ptr %t1
|
|
%t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 7
|
|
%t88 = load ptr, ptr %t87
|
|
%t89 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 0
|
|
%t90 = load ptr, ptr %t89
|
|
%t91 = getelementptr inbounds ptr, ptr %t90, i32 0
|
|
%t92 = load ptr, ptr %t91
|
|
%t93 = call ptr @fn_emit_expr(ptr %t92)
|
|
store ptr %t93, ptr %t94
|
|
%t95 = load ptr, ptr %t94
|
|
%t96 = getelementptr inbounds %Cmp_Val, ptr %t95, i32 0, i32 0
|
|
%t97 = load ptr, ptr %t96
|
|
%t98 = call ptr @fn_date_component(ptr %t97, i32 2)
|
|
%t99 = call ptr @fn_val(ptr %t98, ptr @.str3216)
|
|
store ptr %t99, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t100 = load ptr, ptr %t0
|
|
%t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str3217)
|
|
%t102 = icmp ne i32 %t101, 0
|
|
br i1 %t102, label %then12, label %ifend14
|
|
then12:
|
|
%t103 = load ptr, ptr %t1
|
|
%t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 7
|
|
%t105 = load ptr, ptr %t104
|
|
%t106 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0
|
|
%t107 = load ptr, ptr %t106
|
|
%t108 = getelementptr inbounds ptr, ptr %t107, i32 0
|
|
%t109 = load ptr, ptr %t108
|
|
%t110 = call ptr @fn_emit_expr(ptr %t109)
|
|
store ptr %t110, ptr %t111
|
|
%t112 = load ptr, ptr %t111
|
|
%t113 = getelementptr inbounds %Cmp_Val, ptr %t112, i32 0, i32 0
|
|
%t114 = load ptr, ptr %t113
|
|
%t115 = call ptr @fn_str_concat(ptr @.str3218, ptr %t114)
|
|
%t116 = call ptr @fn_str_concat(ptr %t115, ptr @.str3219)
|
|
%t117 = call ptr @fn_emit_bind(ptr %t116)
|
|
store ptr %t117, ptr %t118
|
|
%t119 = load ptr, ptr %t118
|
|
%t120 = call ptr @fn_str_concat(ptr @.str3220, ptr %t119)
|
|
%t121 = call ptr @fn_str_concat(ptr %t120, ptr @.str3221)
|
|
%t122 = call ptr @fn_emit_bind(ptr %t121)
|
|
store ptr %t122, ptr %t123
|
|
%t124 = load ptr, ptr %t123
|
|
%t125 = call ptr @fn_str_concat(ptr @.str3222, ptr %t124)
|
|
%t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str3223)
|
|
%t127 = call ptr @fn_emit_bind(ptr %t126)
|
|
store ptr %t127, ptr %t128
|
|
%t129 = load ptr, ptr %t128
|
|
%t130 = call ptr @fn_str_concat(ptr @.str3224, ptr %t129)
|
|
%t131 = call ptr @fn_str_concat(ptr %t130, ptr @.str3225)
|
|
%t132 = call ptr @fn_emit_bind(ptr %t131)
|
|
%t133 = call ptr @fn_val(ptr %t132, ptr @.str3226)
|
|
store ptr %t133, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t134 = load ptr, ptr %t0
|
|
%t135 = call i32 @fn_str_eq(ptr %t134, ptr @.str3227)
|
|
%t136 = icmp ne i32 %t135, 0
|
|
br i1 %t136, label %then15, label %ifend17
|
|
then15:
|
|
%t137 = load ptr, ptr %t1
|
|
%t138 = getelementptr inbounds %Cmp_Node, ptr %t137, i32 0, i32 7
|
|
%t139 = load ptr, ptr %t138
|
|
%t140 = getelementptr inbounds %LSlice, ptr %t139, i32 0, i32 0
|
|
%t141 = load ptr, ptr %t140
|
|
%t142 = getelementptr inbounds ptr, ptr %t141, i32 0
|
|
%t143 = load ptr, ptr %t142
|
|
%t144 = call ptr @fn_emit_expr(ptr %t143)
|
|
store ptr %t144, ptr %t145
|
|
%t146 = load ptr, ptr %t145
|
|
%t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0
|
|
%t148 = load ptr, ptr %t147
|
|
%t149 = call ptr @fn_str_concat(ptr @.str3228, ptr %t148)
|
|
%t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str3229)
|
|
%t151 = call ptr @fn_emit_bind(ptr %t150)
|
|
store ptr %t151, ptr %t152
|
|
%t153 = load ptr, ptr %t152
|
|
%t154 = call ptr @fn_str_concat(ptr @.str3230, ptr %t153)
|
|
%t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str3231)
|
|
%t156 = call ptr @fn_emit_bind(ptr %t155)
|
|
store ptr %t156, ptr %t157
|
|
%t158 = load ptr, ptr %t145
|
|
%t159 = getelementptr inbounds %Cmp_Val, ptr %t158, i32 0, i32 0
|
|
%t160 = load ptr, ptr %t159
|
|
%t161 = call ptr @fn_str_concat(ptr @.str3232, ptr %t160)
|
|
%t162 = call ptr @fn_str_concat(ptr %t161, ptr @.str3233)
|
|
%t163 = call ptr @fn_emit_bind(ptr %t162)
|
|
store ptr %t163, ptr %t164
|
|
%t165 = load ptr, ptr %t164
|
|
%t166 = call ptr @fn_str_concat(ptr @.str3234, ptr %t165)
|
|
%t167 = call ptr @fn_str_concat(ptr %t166, ptr @.str3235)
|
|
%t168 = call ptr @fn_emit_bind(ptr %t167)
|
|
store ptr %t168, ptr %t169
|
|
%t170 = load ptr, ptr %t145
|
|
%t171 = getelementptr inbounds %Cmp_Val, ptr %t170, i32 0, i32 0
|
|
%t172 = load ptr, ptr %t171
|
|
%t173 = call ptr @fn_str_concat(ptr @.str3236, ptr %t172)
|
|
%t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str3237)
|
|
%t175 = call ptr @fn_emit_bind(ptr %t174)
|
|
store ptr %t175, ptr %t176
|
|
%t177 = load ptr, ptr %t176
|
|
%t178 = call ptr @fn_str_concat(ptr @.str3238, ptr %t177)
|
|
%t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str3239)
|
|
%t180 = call ptr @fn_emit_bind(ptr %t179)
|
|
store ptr %t180, ptr %t181
|
|
%t182 = load ptr, ptr %t157
|
|
%t183 = call ptr @fn_str_concat(ptr @.str3240, ptr %t182)
|
|
%t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str3241)
|
|
%t185 = load ptr, ptr %t169
|
|
%t186 = call ptr @fn_str_concat(ptr %t184, ptr %t185)
|
|
%t187 = call ptr @fn_emit_bind(ptr %t186)
|
|
store ptr %t187, ptr %t188
|
|
%t189 = load ptr, ptr %t188
|
|
%t190 = call ptr @fn_str_concat(ptr @.str3242, ptr %t189)
|
|
%t191 = call ptr @fn_str_concat(ptr %t190, ptr @.str3243)
|
|
%t192 = load ptr, ptr %t181
|
|
%t193 = call ptr @fn_str_concat(ptr %t191, ptr %t192)
|
|
%t194 = call ptr @fn_emit_bind(ptr %t193)
|
|
store ptr %t194, ptr %t195
|
|
%t196 = load ptr, ptr %t195
|
|
%t197 = call ptr @fn_str_concat(ptr @.str3244, ptr %t196)
|
|
%t198 = call ptr @fn_str_concat(ptr %t197, ptr @.str3245)
|
|
%t199 = call ptr @fn_emit_bind(ptr %t198)
|
|
%t200 = call ptr @fn_val(ptr %t199, ptr @.str3246)
|
|
store ptr %t200, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t201 = load ptr, ptr %t0
|
|
%t202 = call i32 @fn_str_eq(ptr %t201, ptr @.str3247)
|
|
%t203 = icmp ne i32 %t202, 0
|
|
br i1 %t203, label %then18, label %ifend20
|
|
then18:
|
|
store i32 1, ptr @g_g_uses_datert
|
|
%t204 = load ptr, ptr %t1
|
|
%t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 7
|
|
%t206 = load ptr, ptr %t205
|
|
%t207 = getelementptr inbounds %LSlice, ptr %t206, i32 0, i32 0
|
|
%t208 = load ptr, ptr %t207
|
|
%t209 = getelementptr inbounds ptr, ptr %t208, i32 0
|
|
%t210 = load ptr, ptr %t209
|
|
%t211 = call ptr @fn_emit_expr(ptr %t210)
|
|
store ptr %t211, ptr %t212
|
|
%t213 = load ptr, ptr %t1
|
|
%t214 = getelementptr inbounds %Cmp_Node, ptr %t213, i32 0, i32 7
|
|
%t215 = load ptr, ptr %t214
|
|
%t216 = getelementptr inbounds %LSlice, ptr %t215, i32 0, i32 0
|
|
%t217 = load ptr, ptr %t216
|
|
%t218 = getelementptr inbounds ptr, ptr %t217, i32 1
|
|
%t219 = load ptr, ptr %t218
|
|
%t220 = call ptr @fn_emit_expr(ptr %t219)
|
|
store ptr %t220, ptr %t221
|
|
%t222 = load ptr, ptr %t212
|
|
%t223 = getelementptr inbounds %Cmp_Val, ptr %t222, i32 0, i32 0
|
|
%t224 = load ptr, ptr %t223
|
|
%t225 = call ptr @fn_str_concat(ptr @.str3248, ptr %t224)
|
|
%t226 = call ptr @fn_str_concat(ptr %t225, ptr @.str3249)
|
|
%t227 = load ptr, ptr %t221
|
|
%t228 = getelementptr inbounds %Cmp_Val, ptr %t227, i32 0, i32 0
|
|
%t229 = load ptr, ptr %t228
|
|
%t230 = call ptr @fn_str_concat(ptr %t226, ptr %t229)
|
|
%t231 = call ptr @fn_str_concat(ptr %t230, ptr @.str3250)
|
|
%t232 = call ptr @fn_emit_bind(ptr %t231)
|
|
store ptr %t232, ptr %t233
|
|
%t234 = load ptr, ptr %t221
|
|
%t235 = getelementptr inbounds %Cmp_Val, ptr %t234, i32 0, i32 0
|
|
%t236 = load ptr, ptr %t235
|
|
%t237 = call ptr @fn_str_concat(ptr @.str3251, ptr %t236)
|
|
%t238 = call ptr @fn_str_concat(ptr %t237, ptr @.str3252)
|
|
%t239 = call ptr @fn_emit_bind(ptr %t238)
|
|
store ptr %t239, ptr %t240
|
|
%t241 = load ptr, ptr %t212
|
|
%t242 = getelementptr inbounds %Cmp_Val, ptr %t241, i32 0, i32 0
|
|
%t243 = load ptr, ptr %t242
|
|
%t244 = call ptr @fn_str_concat(ptr @.str3253, ptr %t243)
|
|
%t245 = call ptr @fn_str_concat(ptr %t244, ptr @.str3254)
|
|
%t246 = call ptr @fn_emit_bind(ptr %t245)
|
|
store ptr %t246, ptr %t247
|
|
%t248 = load ptr, ptr %t240
|
|
%t249 = call ptr @fn_str_concat(ptr @.str3255, ptr %t248)
|
|
%t250 = call ptr @fn_str_concat(ptr %t249, ptr @.str3256)
|
|
%t251 = load ptr, ptr %t247
|
|
%t252 = call ptr @fn_str_concat(ptr %t250, ptr %t251)
|
|
%t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str3257)
|
|
%t254 = load ptr, ptr %t212
|
|
%t255 = getelementptr inbounds %Cmp_Val, ptr %t254, i32 0, i32 0
|
|
%t256 = load ptr, ptr %t255
|
|
%t257 = call ptr @fn_str_concat(ptr %t253, ptr %t256)
|
|
%t258 = call ptr @fn_emit_bind(ptr %t257)
|
|
store ptr %t258, ptr %t259
|
|
%t260 = load ptr, ptr %t221
|
|
%t261 = getelementptr inbounds %Cmp_Val, ptr %t260, i32 0, i32 0
|
|
%t262 = load ptr, ptr %t261
|
|
%t263 = call ptr @fn_str_concat(ptr @.str3258, ptr %t262)
|
|
%t264 = call ptr @fn_str_concat(ptr %t263, ptr @.str3259)
|
|
%t265 = call ptr @fn_emit_bind(ptr %t264)
|
|
store ptr %t265, ptr %t266
|
|
%t267 = load ptr, ptr %t240
|
|
%t268 = call ptr @fn_str_concat(ptr @.str3260, ptr %t267)
|
|
%t269 = call ptr @fn_str_concat(ptr %t268, ptr @.str3261)
|
|
%t270 = load ptr, ptr %t266
|
|
%t271 = call ptr @fn_str_concat(ptr %t269, ptr %t270)
|
|
%t272 = call ptr @fn_emit_bind(ptr %t271)
|
|
store ptr %t272, ptr %t273
|
|
%t274 = load ptr, ptr %t259
|
|
%t275 = call ptr @fn_str_concat(ptr @.str3262, ptr %t274)
|
|
%t276 = call ptr @fn_str_concat(ptr %t275, ptr @.str3263)
|
|
%t277 = load ptr, ptr %t273
|
|
%t278 = call ptr @fn_str_concat(ptr %t276, ptr %t277)
|
|
%t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str3264)
|
|
%t280 = call ptr @fn_emit_bind(ptr %t279)
|
|
store ptr %t280, ptr %t281
|
|
%t282 = load ptr, ptr %t281
|
|
%t283 = call ptr @fn_str_concat(ptr @.str3265, ptr %t282)
|
|
%t284 = call ptr @fn_str_concat(ptr %t283, ptr @.str3266)
|
|
%t285 = load ptr, ptr %t233
|
|
%t286 = call ptr @fn_str_concat(ptr %t284, ptr %t285)
|
|
%t287 = call ptr @fn_emit_bind(ptr %t286)
|
|
%t288 = call ptr @fn_val(ptr %t287, ptr @.str3267)
|
|
store ptr %t288, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t289 = load ptr, ptr %t0
|
|
%t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str3268)
|
|
%t291 = icmp ne i32 %t290, 0
|
|
br i1 %t291, label %then21, label %ifend23
|
|
then21:
|
|
%t292 = load ptr, ptr %t1
|
|
%t293 = getelementptr inbounds %Cmp_Node, ptr %t292, i32 0, i32 7
|
|
%t294 = load ptr, ptr %t293
|
|
%t295 = getelementptr inbounds %LSlice, ptr %t294, i32 0, i32 0
|
|
%t296 = load ptr, ptr %t295
|
|
%t297 = getelementptr inbounds ptr, ptr %t296, i32 0
|
|
%t298 = load ptr, ptr %t297
|
|
%t299 = call ptr @fn_emit_expr(ptr %t298)
|
|
store ptr %t299, ptr %t300
|
|
%t301 = load ptr, ptr %t300
|
|
%t302 = getelementptr inbounds %Cmp_Val, ptr %t301, i32 0, i32 0
|
|
%t303 = load ptr, ptr %t302
|
|
%t304 = call ptr @fn_str_concat(ptr @.str3269, ptr %t303)
|
|
%t305 = call ptr @fn_str_concat(ptr %t304, ptr @.str3270)
|
|
%t306 = call ptr @fn_emit_bind(ptr %t305)
|
|
%t307 = call ptr @fn_val(ptr %t306, ptr @.str3271)
|
|
store ptr %t307, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t308 = load ptr, ptr %t0
|
|
%t309 = call i32 @fn_str_eq(ptr %t308, ptr @.str3272)
|
|
%t310 = icmp ne i32 %t309, 0
|
|
br i1 %t310, label %then24, label %ifend26
|
|
then24:
|
|
%t311 = load ptr, ptr %t1
|
|
%t312 = getelementptr inbounds %Cmp_Node, ptr %t311, i32 0, i32 7
|
|
%t313 = load ptr, ptr %t312
|
|
%t314 = getelementptr inbounds %LSlice, ptr %t313, i32 0, i32 0
|
|
%t315 = load ptr, ptr %t314
|
|
%t316 = getelementptr inbounds ptr, ptr %t315, i32 0
|
|
%t317 = load ptr, ptr %t316
|
|
%t318 = call ptr @fn_emit_expr(ptr %t317)
|
|
store ptr %t318, ptr %t319
|
|
%t320 = load ptr, ptr %t1
|
|
%t321 = getelementptr inbounds %Cmp_Node, ptr %t320, i32 0, i32 7
|
|
%t322 = load ptr, ptr %t321
|
|
%t323 = getelementptr inbounds %LSlice, ptr %t322, i32 0, i32 0
|
|
%t324 = load ptr, ptr %t323
|
|
%t325 = getelementptr inbounds ptr, ptr %t324, i32 1
|
|
%t326 = load ptr, ptr %t325
|
|
%t327 = call ptr @fn_emit_expr(ptr %t326)
|
|
store ptr %t327, ptr %t328
|
|
%t329 = load ptr, ptr %t319
|
|
%t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0
|
|
%t331 = load ptr, ptr %t330
|
|
%t332 = call ptr @fn_str_concat(ptr @.str3273, ptr %t331)
|
|
%t333 = call ptr @fn_str_concat(ptr %t332, ptr @.str3274)
|
|
%t334 = load ptr, ptr %t328
|
|
%t335 = getelementptr inbounds %Cmp_Val, ptr %t334, i32 0, i32 0
|
|
%t336 = load ptr, ptr %t335
|
|
%t337 = call ptr @fn_str_concat(ptr %t333, ptr %t336)
|
|
%t338 = call ptr @fn_emit_bind(ptr %t337)
|
|
%t339 = call ptr @fn_val(ptr %t338, ptr @.str3275)
|
|
store ptr %t339, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t340 = load ptr, ptr %t1
|
|
%t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 7
|
|
%t342 = load ptr, ptr %t341
|
|
%t343 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 0
|
|
%t344 = load ptr, ptr %t343
|
|
%t345 = getelementptr inbounds ptr, ptr %t344, i32 0
|
|
%t346 = load ptr, ptr %t345
|
|
%t347 = call ptr @fn_emit_expr(ptr %t346)
|
|
store ptr %t347, ptr %t348
|
|
%t349 = load ptr, ptr %t1
|
|
%t350 = getelementptr inbounds %Cmp_Node, ptr %t349, i32 0, i32 7
|
|
%t351 = load ptr, ptr %t350
|
|
%t352 = getelementptr inbounds %LSlice, ptr %t351, i32 0, i32 0
|
|
%t353 = load ptr, ptr %t352
|
|
%t354 = getelementptr inbounds ptr, ptr %t353, i32 1
|
|
%t355 = load ptr, ptr %t354
|
|
%t356 = call ptr @fn_emit_expr(ptr %t355)
|
|
store ptr %t356, ptr %t357
|
|
%t358 = load ptr, ptr %t348
|
|
%t359 = getelementptr inbounds %Cmp_Val, ptr %t358, i32 0, i32 0
|
|
%t360 = load ptr, ptr %t359
|
|
%t361 = call ptr @fn_str_concat(ptr @.str3276, ptr %t360)
|
|
%t362 = call ptr @fn_str_concat(ptr %t361, ptr @.str3277)
|
|
%t363 = load ptr, ptr %t357
|
|
%t364 = getelementptr inbounds %Cmp_Val, ptr %t363, i32 0, i32 0
|
|
%t365 = load ptr, ptr %t364
|
|
%t366 = call ptr @fn_str_concat(ptr %t362, ptr %t365)
|
|
%t367 = call ptr @fn_emit_bind(ptr %t366)
|
|
%t368 = call ptr @fn_val(ptr %t367, ptr @.str3278)
|
|
store ptr %t368, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t369 = load ptr, ptr %retval
|
|
ret ptr %t369
|
|
}
|
|
|
|
define ptr @fn_dt_secofday(ptr %arg_t) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t10 = alloca ptr
|
|
store ptr %arg_t, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call ptr @fn_str_concat(ptr @.str3279, ptr %t1)
|
|
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str3280)
|
|
%t4 = call ptr @fn_emit_bind(ptr %t3)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = call ptr @fn_str_concat(ptr @.str3281, ptr %t6)
|
|
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str3282)
|
|
%t9 = call ptr @fn_emit_bind(ptr %t8)
|
|
store ptr %t9, ptr %t10
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = call ptr @fn_str_concat(ptr @.str3283, ptr %t11)
|
|
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str3284)
|
|
%t14 = call ptr @fn_emit_bind(ptr %t13)
|
|
store ptr %t14, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t15 = load ptr, ptr %retval
|
|
ret ptr %t15
|
|
}
|
|
|
|
define ptr @fn_dt_epochday(ptr %arg_t) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t10 = alloca ptr
|
|
store ptr %arg_t, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call ptr @fn_dt_secofday(ptr %t1)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call ptr @fn_str_concat(ptr @.str3285, ptr %t4)
|
|
%t6 = call ptr @fn_str_concat(ptr %t5, ptr @.str3286)
|
|
%t7 = load ptr, ptr %t3
|
|
%t8 = call ptr @fn_str_concat(ptr %t6, ptr %t7)
|
|
%t9 = call ptr @fn_emit_bind(ptr %t8)
|
|
store ptr %t9, ptr %t10
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = call ptr @fn_str_concat(ptr @.str3287, ptr %t11)
|
|
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str3288)
|
|
%t14 = call ptr @fn_emit_bind(ptr %t13)
|
|
store ptr %t14, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t15 = load ptr, ptr %retval
|
|
ret ptr %t15
|
|
}
|
|
|
|
define i32 @fn_is_datetime_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t20 = alloca i32
|
|
%t21 = alloca i32
|
|
%t22 = alloca i32
|
|
%t47 = alloca i32
|
|
%t48 = alloca i32
|
|
%t66 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3289)
|
|
%t5 = icmp ne i32 %t4, 0
|
|
%t6 = zext i1 %t5 to i32
|
|
store i32 %t6, ptr %t2
|
|
br i1 %t5, label %scend1, label %sc0
|
|
sc0:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3290)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
%t10 = zext i1 %t9 to i32
|
|
store i32 %t10, ptr %t2
|
|
br label %scend1
|
|
scend1:
|
|
%t11 = load i32, ptr %t2
|
|
%t12 = icmp ne i32 %t11, 0
|
|
%t13 = zext i1 %t12 to i32
|
|
store i32 %t13, ptr %t1
|
|
br i1 %t12, label %scend3, label %sc2
|
|
sc2:
|
|
%t14 = load ptr, ptr %t0
|
|
%t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3291)
|
|
%t16 = icmp ne i32 %t15, 0
|
|
%t17 = zext i1 %t16 to i32
|
|
store i32 %t17, ptr %t1
|
|
br label %scend3
|
|
scend3:
|
|
%t18 = load i32, ptr %t1
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then4, label %ifend6
|
|
then4:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend6:
|
|
%t23 = load ptr, ptr %t0
|
|
%t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str3292)
|
|
%t25 = icmp ne i32 %t24, 0
|
|
%t26 = zext i1 %t25 to i32
|
|
store i32 %t26, ptr %t22
|
|
br i1 %t25, label %scend8, label %sc7
|
|
sc7:
|
|
%t27 = load ptr, ptr %t0
|
|
%t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str3293)
|
|
%t29 = icmp ne i32 %t28, 0
|
|
%t30 = zext i1 %t29 to i32
|
|
store i32 %t30, ptr %t22
|
|
br label %scend8
|
|
scend8:
|
|
%t31 = load i32, ptr %t22
|
|
%t32 = icmp ne i32 %t31, 0
|
|
%t33 = zext i1 %t32 to i32
|
|
store i32 %t33, ptr %t21
|
|
br i1 %t32, label %scend10, label %sc9
|
|
sc9:
|
|
%t34 = load ptr, ptr %t0
|
|
%t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str3294)
|
|
%t36 = icmp ne i32 %t35, 0
|
|
%t37 = zext i1 %t36 to i32
|
|
store i32 %t37, ptr %t21
|
|
br label %scend10
|
|
scend10:
|
|
%t38 = load i32, ptr %t21
|
|
%t39 = icmp ne i32 %t38, 0
|
|
%t40 = zext i1 %t39 to i32
|
|
store i32 %t40, ptr %t20
|
|
br i1 %t39, label %scend12, label %sc11
|
|
sc11:
|
|
%t41 = load ptr, ptr %t0
|
|
%t42 = call i32 @fn_str_eq(ptr %t41, ptr @.str3295)
|
|
%t43 = icmp ne i32 %t42, 0
|
|
%t44 = zext i1 %t43 to i32
|
|
store i32 %t44, ptr %t20
|
|
br label %scend12
|
|
scend12:
|
|
%t45 = load i32, ptr %t20
|
|
%t46 = icmp ne i32 %t45, 0
|
|
br i1 %t46, label %then13, label %ifend15
|
|
then13:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend15:
|
|
%t49 = load ptr, ptr %t0
|
|
%t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str3296)
|
|
%t51 = icmp ne i32 %t50, 0
|
|
%t52 = zext i1 %t51 to i32
|
|
store i32 %t52, ptr %t48
|
|
br i1 %t51, label %scend17, label %sc16
|
|
sc16:
|
|
%t53 = load ptr, ptr %t0
|
|
%t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str3297)
|
|
%t55 = icmp ne i32 %t54, 0
|
|
%t56 = zext i1 %t55 to i32
|
|
store i32 %t56, ptr %t48
|
|
br label %scend17
|
|
scend17:
|
|
%t57 = load i32, ptr %t48
|
|
%t58 = icmp ne i32 %t57, 0
|
|
%t59 = zext i1 %t58 to i32
|
|
store i32 %t59, ptr %t47
|
|
br i1 %t58, label %scend19, label %sc18
|
|
sc18:
|
|
%t60 = load ptr, ptr %t0
|
|
%t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str3298)
|
|
%t62 = icmp ne i32 %t61, 0
|
|
%t63 = zext i1 %t62 to i32
|
|
store i32 %t63, ptr %t47
|
|
br label %scend19
|
|
scend19:
|
|
%t64 = load i32, ptr %t47
|
|
%t65 = icmp ne i32 %t64, 0
|
|
br i1 %t65, label %then20, label %ifend22
|
|
then20:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend22:
|
|
%t67 = load ptr, ptr %t0
|
|
%t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str3299)
|
|
%t69 = icmp ne i32 %t68, 0
|
|
%t70 = zext i1 %t69 to i32
|
|
store i32 %t70, ptr %t66
|
|
br i1 %t69, label %scend24, label %sc23
|
|
sc23:
|
|
%t71 = load ptr, ptr %t0
|
|
%t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str3300)
|
|
%t73 = icmp ne i32 %t72, 0
|
|
%t74 = zext i1 %t73 to i32
|
|
store i32 %t74, ptr %t66
|
|
br label %scend24
|
|
scend24:
|
|
%t75 = load i32, ptr %t66
|
|
%t76 = icmp ne i32 %t75, 0
|
|
br i1 %t76, label %then25, label %ifend27
|
|
then25:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend27:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t77 = load i32, ptr %retval
|
|
ret i32 %t77
|
|
}
|
|
|
|
define ptr @fn_dt_concat(ptr %arg_a, ptr %arg_b) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
store ptr %arg_a, ptr %t0
|
|
store ptr %arg_b, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call ptr @fn_str_concat(ptr @.str3301, ptr %t2)
|
|
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str3302)
|
|
%t5 = load ptr, ptr %t1
|
|
%t6 = call ptr @fn_str_concat(ptr %t4, ptr %t5)
|
|
%t7 = call ptr @fn_str_concat(ptr %t6, ptr @.str3303)
|
|
%t8 = call ptr @fn_emit_bind(ptr %t7)
|
|
store ptr %t8, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t9 = load ptr, ptr %retval
|
|
ret ptr %t9
|
|
}
|
|
|
|
define i32 @fn_dt_tok_at(ptr %arg_pat, i32 %arg_n, i32 %arg_i, ptr %arg_tok, i32 %arg_tlen) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t3 = alloca ptr
|
|
%t4 = alloca i32
|
|
%t12 = alloca i32
|
|
store ptr %arg_pat, ptr %t0
|
|
store i32 %arg_n, ptr %t1
|
|
store i32 %arg_i, ptr %t2
|
|
store ptr %arg_tok, ptr %t3
|
|
store i32 %arg_tlen, ptr %t4
|
|
%t5 = load i32, ptr %t2
|
|
%t6 = load i32, ptr %t4
|
|
%t7 = add i32 %t5, %t6
|
|
%t8 = load i32, ptr %t1
|
|
%t9 = icmp sgt i32 %t7, %t8
|
|
%t10 = zext i1 %t9 to i32
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %then0, label %ifend2
|
|
then0:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
store i32 0, ptr %t12
|
|
br label %wcond3
|
|
wcond3:
|
|
%t13 = load i32, ptr %t12
|
|
%t14 = load i32, ptr %t4
|
|
%t15 = icmp slt i32 %t13, %t14
|
|
%t16 = zext i1 %t15 to i32
|
|
%t17 = icmp ne i32 %t16, 0
|
|
br i1 %t17, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t18 = load ptr, ptr %t0
|
|
%t19 = load i32, ptr %t2
|
|
%t20 = load i32, ptr %t12
|
|
%t21 = add i32 %t19, %t20
|
|
%t22 = getelementptr inbounds i8, ptr %t18, i32 %t21
|
|
%t23 = load i8, ptr %t22
|
|
%t24 = zext i8 %t23 to i32
|
|
%t25 = load ptr, ptr %t3
|
|
%t26 = load i32, ptr %t12
|
|
%t27 = getelementptr inbounds i8, ptr %t25, i32 %t26
|
|
%t28 = load i8, ptr %t27
|
|
%t29 = zext i8 %t28 to i32
|
|
%t30 = icmp ne i32 %t24, %t29
|
|
%t31 = zext i1 %t30 to i32
|
|
%t32 = icmp ne i32 %t31, 0
|
|
br i1 %t32, label %then6, label %ifend8
|
|
then6:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t33 = load i32, ptr %t12
|
|
%t34 = add i32 %t33, 1
|
|
store i32 %t34, ptr %t12
|
|
br label %wcond3
|
|
wend5:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t35 = load i32, ptr %retval
|
|
ret i32 %t35
|
|
}
|
|
|
|
define ptr @fn_emit_datetime_format(ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t21 = alloca ptr
|
|
%t31 = alloca ptr
|
|
%t35 = alloca i32
|
|
%t40 = alloca ptr
|
|
%t42 = alloca ptr
|
|
%t44 = alloca ptr
|
|
%t46 = alloca ptr
|
|
%t62 = alloca ptr
|
|
%t66 = alloca ptr
|
|
%t70 = alloca ptr
|
|
%t75 = alloca ptr
|
|
%t80 = alloca ptr
|
|
%t85 = alloca ptr
|
|
%t90 = alloca ptr
|
|
%t95 = alloca ptr
|
|
%t100 = alloca ptr
|
|
%t102 = alloca ptr
|
|
%t104 = alloca ptr
|
|
%t105 = alloca i32
|
|
%t111 = alloca ptr
|
|
%t112 = alloca i32
|
|
%t113 = alloca i32
|
|
%t170 = alloca ptr
|
|
%t189 = alloca ptr
|
|
%t200 = alloca ptr
|
|
store ptr %arg_e, ptr %t0
|
|
store i32 1, ptr @g_g_uses_datert
|
|
store i32 1, ptr @g_g_uses_str
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = getelementptr inbounds ptr, ptr %t5, i32 1
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0
|
|
%t9 = load i32, ptr %t8
|
|
%t10 = icmp ne i32 %t9, 31
|
|
%t11 = zext i1 %t10 to i32
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_perr(ptr @.str3304)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0
|
|
%t17 = load ptr, ptr %t16
|
|
%t18 = getelementptr inbounds ptr, ptr %t17, i32 0
|
|
%t19 = load ptr, ptr %t18
|
|
%t20 = call ptr @fn_emit_expr(ptr %t19)
|
|
store ptr %t20, ptr %t21
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 7
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = getelementptr inbounds ptr, ptr %t26, i32 1
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1
|
|
%t30 = load ptr, ptr %t29
|
|
store ptr %t30, ptr %t31
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = call i64 @strlen(ptr %t32)
|
|
%t34 = trunc i64 %t33 to i32
|
|
store i32 %t34, ptr %t35
|
|
%t36 = load ptr, ptr %t21
|
|
%t37 = getelementptr inbounds %Cmp_Val, ptr %t36, i32 0, i32 0
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = call ptr @fn_dt_epochday(ptr %t38)
|
|
store ptr %t39, ptr %t40
|
|
%t41 = call ptr @fn_emit_alloca(ptr @.str3305)
|
|
store ptr %t41, ptr %t42
|
|
%t43 = call ptr @fn_emit_alloca(ptr @.str3306)
|
|
store ptr %t43, ptr %t44
|
|
%t45 = call ptr @fn_emit_alloca(ptr @.str3307)
|
|
store ptr %t45, ptr %t46
|
|
%t47 = load ptr, ptr %t40
|
|
%t48 = call ptr @fn_str_concat(ptr @.str3308, ptr %t47)
|
|
%t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str3309)
|
|
%t50 = load ptr, ptr %t42
|
|
%t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50)
|
|
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str3310)
|
|
%t53 = load ptr, ptr %t44
|
|
%t54 = call ptr @fn_str_concat(ptr %t52, ptr %t53)
|
|
%t55 = call ptr @fn_str_concat(ptr %t54, ptr @.str3311)
|
|
%t56 = load ptr, ptr %t46
|
|
%t57 = call ptr @fn_str_concat(ptr %t55, ptr %t56)
|
|
%t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str3312)
|
|
call void @fn_emit(ptr %t58)
|
|
%t59 = load ptr, ptr %t42
|
|
%t60 = call ptr @fn_str_concat(ptr @.str3313, ptr %t59)
|
|
%t61 = call ptr @fn_emit_bind(ptr %t60)
|
|
store ptr %t61, ptr %t62
|
|
%t63 = load ptr, ptr %t44
|
|
%t64 = call ptr @fn_str_concat(ptr @.str3314, ptr %t63)
|
|
%t65 = call ptr @fn_emit_bind(ptr %t64)
|
|
store ptr %t65, ptr %t66
|
|
%t67 = load ptr, ptr %t46
|
|
%t68 = call ptr @fn_str_concat(ptr @.str3315, ptr %t67)
|
|
%t69 = call ptr @fn_emit_bind(ptr %t68)
|
|
store ptr %t69, ptr %t70
|
|
%t71 = load ptr, ptr %t21
|
|
%t72 = getelementptr inbounds %Cmp_Val, ptr %t71, i32 0, i32 0
|
|
%t73 = load ptr, ptr %t72
|
|
%t74 = call ptr @fn_dt_secofday(ptr %t73)
|
|
store ptr %t74, ptr %t75
|
|
%t76 = load ptr, ptr %t75
|
|
%t77 = call ptr @fn_str_concat(ptr @.str3316, ptr %t76)
|
|
%t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str3317)
|
|
%t79 = call ptr @fn_emit_bind(ptr %t78)
|
|
store ptr %t79, ptr %t80
|
|
%t81 = load ptr, ptr %t75
|
|
%t82 = call ptr @fn_str_concat(ptr @.str3318, ptr %t81)
|
|
%t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str3319)
|
|
%t84 = call ptr @fn_emit_bind(ptr %t83)
|
|
store ptr %t84, ptr %t85
|
|
%t86 = load ptr, ptr %t85
|
|
%t87 = call ptr @fn_str_concat(ptr @.str3320, ptr %t86)
|
|
%t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str3321)
|
|
%t89 = call ptr @fn_emit_bind(ptr %t88)
|
|
store ptr %t89, ptr %t90
|
|
%t91 = load ptr, ptr %t75
|
|
%t92 = call ptr @fn_str_concat(ptr @.str3322, ptr %t91)
|
|
%t93 = call ptr @fn_str_concat(ptr %t92, ptr @.str3323)
|
|
%t94 = call ptr @fn_emit_bind(ptr %t93)
|
|
store ptr %t94, ptr %t95
|
|
%t96 = load ptr, ptr %t62
|
|
%t97 = call ptr @fn_str_concat(ptr @.str3324, ptr %t96)
|
|
%t98 = call ptr @fn_str_concat(ptr %t97, ptr @.str3325)
|
|
%t99 = call ptr @fn_emit_bind(ptr %t98)
|
|
store ptr %t99, ptr %t100
|
|
%t101 = call ptr @fn_emit_str_const(ptr @.str3326)
|
|
store ptr %t101, ptr %t102
|
|
%t103 = call ptr @fn_buf_new()
|
|
store ptr %t103, ptr %t104
|
|
store i32 0, ptr %t105
|
|
br label %wcond3
|
|
wcond3:
|
|
%t106 = load i32, ptr %t105
|
|
%t107 = load i32, ptr %t35
|
|
%t108 = icmp slt i32 %t106, %t107
|
|
%t109 = zext i1 %t108 to i32
|
|
%t110 = icmp ne i32 %t109, 0
|
|
br i1 %t110, label %wbody4, label %wend5
|
|
wbody4:
|
|
store ptr null, ptr %t111
|
|
store i32 0, ptr %t112
|
|
store i32 0, ptr %t113
|
|
%t114 = load ptr, ptr %t31
|
|
%t115 = load i32, ptr %t35
|
|
%t116 = load i32, ptr %t105
|
|
%t117 = call i32 @fn_dt_tok_at(ptr %t114, i32 %t115, i32 %t116, ptr @.str3327, i32 4)
|
|
%t118 = icmp ne i32 %t117, 0
|
|
br i1 %t118, label %then6, label %else7
|
|
then6:
|
|
%t119 = load ptr, ptr %t62
|
|
store ptr %t119, ptr %t111
|
|
store i32 4, ptr %t112
|
|
store i32 4, ptr %t113
|
|
br label %ifend8
|
|
else7:
|
|
%t120 = load ptr, ptr %t31
|
|
%t121 = load i32, ptr %t35
|
|
%t122 = load i32, ptr %t105
|
|
%t123 = call i32 @fn_dt_tok_at(ptr %t120, i32 %t121, i32 %t122, ptr @.str3328, i32 2)
|
|
%t124 = icmp ne i32 %t123, 0
|
|
br i1 %t124, label %then9, label %else10
|
|
then9:
|
|
%t125 = load ptr, ptr %t100
|
|
store ptr %t125, ptr %t111
|
|
store i32 2, ptr %t112
|
|
store i32 2, ptr %t113
|
|
br label %ifend11
|
|
else10:
|
|
%t126 = load ptr, ptr %t31
|
|
%t127 = load i32, ptr %t35
|
|
%t128 = load i32, ptr %t105
|
|
%t129 = call i32 @fn_dt_tok_at(ptr %t126, i32 %t127, i32 %t128, ptr @.str3329, i32 2)
|
|
%t130 = icmp ne i32 %t129, 0
|
|
br i1 %t130, label %then12, label %else13
|
|
then12:
|
|
%t131 = load ptr, ptr %t66
|
|
store ptr %t131, ptr %t111
|
|
store i32 2, ptr %t112
|
|
store i32 2, ptr %t113
|
|
br label %ifend14
|
|
else13:
|
|
%t132 = load ptr, ptr %t31
|
|
%t133 = load i32, ptr %t35
|
|
%t134 = load i32, ptr %t105
|
|
%t135 = call i32 @fn_dt_tok_at(ptr %t132, i32 %t133, i32 %t134, ptr @.str3330, i32 2)
|
|
%t136 = icmp ne i32 %t135, 0
|
|
br i1 %t136, label %then15, label %else16
|
|
then15:
|
|
%t137 = load ptr, ptr %t70
|
|
store ptr %t137, ptr %t111
|
|
store i32 2, ptr %t112
|
|
store i32 2, ptr %t113
|
|
br label %ifend17
|
|
else16:
|
|
%t138 = load ptr, ptr %t31
|
|
%t139 = load i32, ptr %t35
|
|
%t140 = load i32, ptr %t105
|
|
%t141 = call i32 @fn_dt_tok_at(ptr %t138, i32 %t139, i32 %t140, ptr @.str3331, i32 2)
|
|
%t142 = icmp ne i32 %t141, 0
|
|
br i1 %t142, label %then18, label %else19
|
|
then18:
|
|
%t143 = load ptr, ptr %t80
|
|
store ptr %t143, ptr %t111
|
|
store i32 2, ptr %t112
|
|
store i32 2, ptr %t113
|
|
br label %ifend20
|
|
else19:
|
|
%t144 = load ptr, ptr %t31
|
|
%t145 = load i32, ptr %t35
|
|
%t146 = load i32, ptr %t105
|
|
%t147 = call i32 @fn_dt_tok_at(ptr %t144, i32 %t145, i32 %t146, ptr @.str3332, i32 2)
|
|
%t148 = icmp ne i32 %t147, 0
|
|
br i1 %t148, label %then21, label %else22
|
|
then21:
|
|
%t149 = load ptr, ptr %t90
|
|
store ptr %t149, ptr %t111
|
|
store i32 2, ptr %t112
|
|
store i32 2, ptr %t113
|
|
br label %ifend23
|
|
else22:
|
|
%t150 = load ptr, ptr %t31
|
|
%t151 = load i32, ptr %t35
|
|
%t152 = load i32, ptr %t105
|
|
%t153 = call i32 @fn_dt_tok_at(ptr %t150, i32 %t151, i32 %t152, ptr @.str3333, i32 2)
|
|
%t154 = icmp ne i32 %t153, 0
|
|
br i1 %t154, label %then24, label %ifend26
|
|
then24:
|
|
%t155 = load ptr, ptr %t95
|
|
store ptr %t155, ptr %t111
|
|
store i32 2, ptr %t112
|
|
store i32 2, ptr %t113
|
|
br label %ifend26
|
|
ifend26:
|
|
br label %ifend23
|
|
ifend23:
|
|
br label %ifend20
|
|
ifend20:
|
|
br label %ifend17
|
|
ifend17:
|
|
br label %ifend14
|
|
ifend14:
|
|
br label %ifend11
|
|
ifend11:
|
|
br label %ifend8
|
|
ifend8:
|
|
%t156 = load ptr, ptr %t111
|
|
%t157 = icmp eq ptr %t156, null
|
|
%t158 = zext i1 %t157 to i32
|
|
%t159 = icmp ne i32 %t158, 0
|
|
br i1 %t159, label %then27, label %else28
|
|
then27:
|
|
%t160 = load ptr, ptr %t104
|
|
%t161 = load ptr, ptr %t31
|
|
%t162 = load i32, ptr %t105
|
|
%t163 = getelementptr inbounds i8, ptr %t161, i32 %t162
|
|
%t164 = load i8, ptr %t163
|
|
%t165 = zext i8 %t164 to i32
|
|
call void @fn_buf_putc(ptr %t160, i32 %t165)
|
|
%t166 = load i32, ptr %t105
|
|
%t167 = add i32 %t166, 1
|
|
store i32 %t167, ptr %t105
|
|
br label %ifend29
|
|
else28:
|
|
%t168 = load ptr, ptr %t104
|
|
%t169 = call ptr @fn_buf_str(ptr %t168)
|
|
store ptr %t169, ptr %t170
|
|
%t171 = load ptr, ptr %t170
|
|
%t172 = call i64 @strlen(ptr %t171)
|
|
%t173 = trunc i64 %t172 to i32
|
|
%t174 = icmp sgt i32 %t173, 0
|
|
%t175 = zext i1 %t174 to i32
|
|
%t176 = icmp ne i32 %t175, 0
|
|
br i1 %t176, label %then30, label %ifend32
|
|
then30:
|
|
%t177 = load ptr, ptr %t102
|
|
%t178 = load ptr, ptr %t170
|
|
%t179 = call ptr @fn_emit_str_const(ptr %t178)
|
|
%t180 = call ptr @fn_dt_concat(ptr %t177, ptr %t179)
|
|
store ptr %t180, ptr %t102
|
|
br label %ifend32
|
|
ifend32:
|
|
%t181 = load ptr, ptr %t111
|
|
%t182 = call ptr @fn_str_concat(ptr @.str3334, ptr %t181)
|
|
%t183 = call ptr @fn_str_concat(ptr %t182, ptr @.str3335)
|
|
%t184 = load i32, ptr %t112
|
|
%t185 = call ptr @fn_int_str(i32 %t184)
|
|
%t186 = call ptr @fn_str_concat(ptr %t183, ptr %t185)
|
|
%t187 = call ptr @fn_str_concat(ptr %t186, ptr @.str3336)
|
|
%t188 = call ptr @fn_emit_bind(ptr %t187)
|
|
store ptr %t188, ptr %t189
|
|
%t190 = load ptr, ptr %t102
|
|
%t191 = load ptr, ptr %t189
|
|
%t192 = call ptr @fn_dt_concat(ptr %t190, ptr %t191)
|
|
store ptr %t192, ptr %t102
|
|
%t193 = load ptr, ptr %t104
|
|
%t194 = getelementptr inbounds %Cmp_Buf, ptr %t193, i32 0, i32 1
|
|
store i32 0, ptr %t194
|
|
%t195 = load i32, ptr %t105
|
|
%t196 = load i32, ptr %t113
|
|
%t197 = add i32 %t195, %t196
|
|
store i32 %t197, ptr %t105
|
|
br label %ifend29
|
|
ifend29:
|
|
br label %wcond3
|
|
wend5:
|
|
%t198 = load ptr, ptr %t104
|
|
%t199 = call ptr @fn_buf_str(ptr %t198)
|
|
store ptr %t199, ptr %t200
|
|
%t201 = load ptr, ptr %t200
|
|
%t202 = call i64 @strlen(ptr %t201)
|
|
%t203 = trunc i64 %t202 to i32
|
|
%t204 = icmp sgt i32 %t203, 0
|
|
%t205 = zext i1 %t204 to i32
|
|
%t206 = icmp ne i32 %t205, 0
|
|
br i1 %t206, label %then33, label %ifend35
|
|
then33:
|
|
%t207 = load ptr, ptr %t102
|
|
%t208 = load ptr, ptr %t200
|
|
%t209 = call ptr @fn_emit_str_const(ptr %t208)
|
|
%t210 = call ptr @fn_dt_concat(ptr %t207, ptr %t209)
|
|
store ptr %t210, ptr %t102
|
|
br label %ifend35
|
|
ifend35:
|
|
%t211 = load ptr, ptr %t102
|
|
%t212 = call ptr @fn_val(ptr %t211, ptr @.str3337)
|
|
store ptr %t212, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t213 = load ptr, ptr %retval
|
|
ret ptr %t213
|
|
}
|
|
|
|
define ptr @fn_emit_datetime_parse(ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t21 = alloca ptr
|
|
%t31 = alloca ptr
|
|
%t35 = alloca i32
|
|
%t37 = alloca ptr
|
|
%t40 = alloca ptr
|
|
%t43 = alloca ptr
|
|
%t46 = alloca ptr
|
|
%t49 = alloca ptr
|
|
%t52 = alloca ptr
|
|
%t55 = alloca ptr
|
|
%t57 = alloca i32
|
|
%t58 = alloca i32
|
|
%t64 = alloca ptr
|
|
%t65 = alloca i32
|
|
%t66 = alloca i32
|
|
%t128 = alloca ptr
|
|
%t140 = alloca ptr
|
|
%t144 = alloca ptr
|
|
%t148 = alloca ptr
|
|
%t152 = alloca ptr
|
|
%t156 = alloca ptr
|
|
%t160 = alloca ptr
|
|
%t171 = alloca ptr
|
|
%t176 = alloca ptr
|
|
%t181 = alloca ptr
|
|
%t186 = alloca ptr
|
|
%t193 = alloca ptr
|
|
%t200 = alloca ptr
|
|
%t207 = alloca ptr
|
|
%t211 = alloca ptr
|
|
%t216 = alloca ptr
|
|
store ptr %arg_e, ptr %t0
|
|
store i32 1, ptr @g_g_uses_datert
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = getelementptr inbounds ptr, ptr %t5, i32 1
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0
|
|
%t9 = load i32, ptr %t8
|
|
%t10 = icmp ne i32 %t9, 31
|
|
%t11 = zext i1 %t10 to i32
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_perr(ptr @.str3338)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0
|
|
%t17 = load ptr, ptr %t16
|
|
%t18 = getelementptr inbounds ptr, ptr %t17, i32 0
|
|
%t19 = load ptr, ptr %t18
|
|
%t20 = call ptr @fn_emit_expr(ptr %t19)
|
|
store ptr %t20, ptr %t21
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 7
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = getelementptr inbounds %LSlice, ptr %t24, i32 0, i32 0
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = getelementptr inbounds ptr, ptr %t26, i32 1
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1
|
|
%t30 = load ptr, ptr %t29
|
|
store ptr %t30, ptr %t31
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = call i64 @strlen(ptr %t32)
|
|
%t34 = trunc i64 %t33 to i32
|
|
store i32 %t34, ptr %t35
|
|
%t36 = call ptr @fn_emit_alloca(ptr @.str3339)
|
|
store ptr %t36, ptr %t37
|
|
%t38 = load ptr, ptr %t37
|
|
call void @fn_store_at(ptr @.str3340, ptr @.str3341, ptr %t38)
|
|
%t39 = call ptr @fn_emit_alloca(ptr @.str3342)
|
|
store ptr %t39, ptr %t40
|
|
%t41 = load ptr, ptr %t40
|
|
call void @fn_store_at(ptr @.str3343, ptr @.str3344, ptr %t41)
|
|
%t42 = call ptr @fn_emit_alloca(ptr @.str3345)
|
|
store ptr %t42, ptr %t43
|
|
%t44 = load ptr, ptr %t43
|
|
call void @fn_store_at(ptr @.str3346, ptr @.str3347, ptr %t44)
|
|
%t45 = call ptr @fn_emit_alloca(ptr @.str3348)
|
|
store ptr %t45, ptr %t46
|
|
%t47 = load ptr, ptr %t46
|
|
call void @fn_store_at(ptr @.str3349, ptr @.str3350, ptr %t47)
|
|
%t48 = call ptr @fn_emit_alloca(ptr @.str3351)
|
|
store ptr %t48, ptr %t49
|
|
%t50 = load ptr, ptr %t49
|
|
call void @fn_store_at(ptr @.str3352, ptr @.str3353, ptr %t50)
|
|
%t51 = call ptr @fn_emit_alloca(ptr @.str3354)
|
|
store ptr %t51, ptr %t52
|
|
%t53 = load ptr, ptr %t52
|
|
call void @fn_store_at(ptr @.str3355, ptr @.str3356, ptr %t53)
|
|
%t54 = call ptr @fn_emit_alloca(ptr @.str3357)
|
|
store ptr %t54, ptr %t55
|
|
%t56 = load ptr, ptr %t55
|
|
call void @fn_store_at(ptr @.str3358, ptr @.str3359, ptr %t56)
|
|
store i32 0, ptr %t57
|
|
store i32 0, ptr %t58
|
|
br label %wcond3
|
|
wcond3:
|
|
%t59 = load i32, ptr %t58
|
|
%t60 = load i32, ptr %t35
|
|
%t61 = icmp slt i32 %t59, %t60
|
|
%t62 = zext i1 %t61 to i32
|
|
%t63 = icmp ne i32 %t62, 0
|
|
br i1 %t63, label %wbody4, label %wend5
|
|
wbody4:
|
|
store ptr null, ptr %t64
|
|
store i32 0, ptr %t65
|
|
store i32 0, ptr %t66
|
|
%t67 = load ptr, ptr %t31
|
|
%t68 = load i32, ptr %t35
|
|
%t69 = load i32, ptr %t58
|
|
%t70 = call i32 @fn_dt_tok_at(ptr %t67, i32 %t68, i32 %t69, ptr @.str3360, i32 4)
|
|
%t71 = icmp ne i32 %t70, 0
|
|
br i1 %t71, label %then6, label %else7
|
|
then6:
|
|
%t72 = load ptr, ptr %t40
|
|
store ptr %t72, ptr %t64
|
|
store i32 4, ptr %t65
|
|
store i32 4, ptr %t66
|
|
br label %ifend8
|
|
else7:
|
|
%t73 = load ptr, ptr %t31
|
|
%t74 = load i32, ptr %t35
|
|
%t75 = load i32, ptr %t58
|
|
%t76 = call i32 @fn_dt_tok_at(ptr %t73, i32 %t74, i32 %t75, ptr @.str3361, i32 2)
|
|
%t77 = icmp ne i32 %t76, 0
|
|
br i1 %t77, label %then9, label %else10
|
|
then9:
|
|
%t78 = load ptr, ptr %t43
|
|
store ptr %t78, ptr %t64
|
|
store i32 2, ptr %t65
|
|
store i32 2, ptr %t66
|
|
br label %ifend11
|
|
else10:
|
|
%t79 = load ptr, ptr %t31
|
|
%t80 = load i32, ptr %t35
|
|
%t81 = load i32, ptr %t58
|
|
%t82 = call i32 @fn_dt_tok_at(ptr %t79, i32 %t80, i32 %t81, ptr @.str3362, i32 2)
|
|
%t83 = icmp ne i32 %t82, 0
|
|
br i1 %t83, label %then12, label %else13
|
|
then12:
|
|
%t84 = load ptr, ptr %t46
|
|
store ptr %t84, ptr %t64
|
|
store i32 2, ptr %t65
|
|
store i32 2, ptr %t66
|
|
br label %ifend14
|
|
else13:
|
|
%t85 = load ptr, ptr %t31
|
|
%t86 = load i32, ptr %t35
|
|
%t87 = load i32, ptr %t58
|
|
%t88 = call i32 @fn_dt_tok_at(ptr %t85, i32 %t86, i32 %t87, ptr @.str3363, i32 2)
|
|
%t89 = icmp ne i32 %t88, 0
|
|
br i1 %t89, label %then15, label %else16
|
|
then15:
|
|
%t90 = load ptr, ptr %t49
|
|
store ptr %t90, ptr %t64
|
|
store i32 2, ptr %t65
|
|
store i32 2, ptr %t66
|
|
br label %ifend17
|
|
else16:
|
|
%t91 = load ptr, ptr %t31
|
|
%t92 = load i32, ptr %t35
|
|
%t93 = load i32, ptr %t58
|
|
%t94 = call i32 @fn_dt_tok_at(ptr %t91, i32 %t92, i32 %t93, ptr @.str3364, i32 2)
|
|
%t95 = icmp ne i32 %t94, 0
|
|
br i1 %t95, label %then18, label %else19
|
|
then18:
|
|
%t96 = load ptr, ptr %t52
|
|
store ptr %t96, ptr %t64
|
|
store i32 2, ptr %t65
|
|
store i32 2, ptr %t66
|
|
br label %ifend20
|
|
else19:
|
|
%t97 = load ptr, ptr %t31
|
|
%t98 = load i32, ptr %t35
|
|
%t99 = load i32, ptr %t58
|
|
%t100 = call i32 @fn_dt_tok_at(ptr %t97, i32 %t98, i32 %t99, ptr @.str3365, i32 2)
|
|
%t101 = icmp ne i32 %t100, 0
|
|
br i1 %t101, label %then21, label %ifend23
|
|
then21:
|
|
%t102 = load ptr, ptr %t55
|
|
store ptr %t102, ptr %t64
|
|
store i32 2, ptr %t65
|
|
store i32 2, ptr %t66
|
|
br label %ifend23
|
|
ifend23:
|
|
br label %ifend20
|
|
ifend20:
|
|
br label %ifend17
|
|
ifend17:
|
|
br label %ifend14
|
|
ifend14:
|
|
br label %ifend11
|
|
ifend11:
|
|
br label %ifend8
|
|
ifend8:
|
|
%t103 = load ptr, ptr %t64
|
|
%t104 = icmp eq ptr %t103, null
|
|
%t105 = zext i1 %t104 to i32
|
|
%t106 = icmp ne i32 %t105, 0
|
|
br i1 %t106, label %then24, label %else25
|
|
then24:
|
|
%t107 = load i32, ptr %t57
|
|
%t108 = add i32 %t107, 1
|
|
store i32 %t108, ptr %t57
|
|
%t109 = load i32, ptr %t58
|
|
%t110 = add i32 %t109, 1
|
|
store i32 %t110, ptr %t58
|
|
br label %ifend26
|
|
else25:
|
|
%t111 = load ptr, ptr %t21
|
|
%t112 = getelementptr inbounds %Cmp_Val, ptr %t111, i32 0, i32 0
|
|
%t113 = load ptr, ptr %t112
|
|
%t114 = call ptr @fn_str_concat(ptr @.str3366, ptr %t113)
|
|
%t115 = call ptr @fn_str_concat(ptr %t114, ptr @.str3367)
|
|
%t116 = load i32, ptr %t57
|
|
%t117 = call ptr @fn_itoa(i32 %t116)
|
|
%t118 = call ptr @fn_str_concat(ptr %t115, ptr %t117)
|
|
%t119 = call ptr @fn_str_concat(ptr %t118, ptr @.str3368)
|
|
%t120 = load i32, ptr %t65
|
|
%t121 = call ptr @fn_int_str(i32 %t120)
|
|
%t122 = call ptr @fn_str_concat(ptr %t119, ptr %t121)
|
|
%t123 = call ptr @fn_str_concat(ptr %t122, ptr @.str3369)
|
|
%t124 = load ptr, ptr %t37
|
|
%t125 = call ptr @fn_str_concat(ptr %t123, ptr %t124)
|
|
%t126 = call ptr @fn_str_concat(ptr %t125, ptr @.str3370)
|
|
%t127 = call ptr @fn_emit_bind(ptr %t126)
|
|
store ptr %t127, ptr %t128
|
|
%t129 = load ptr, ptr %t128
|
|
%t130 = load ptr, ptr %t64
|
|
call void @fn_store_at(ptr @.str3371, ptr %t129, ptr %t130)
|
|
%t131 = load i32, ptr %t57
|
|
%t132 = load i32, ptr %t65
|
|
%t133 = add i32 %t131, %t132
|
|
store i32 %t133, ptr %t57
|
|
%t134 = load i32, ptr %t58
|
|
%t135 = load i32, ptr %t66
|
|
%t136 = add i32 %t134, %t135
|
|
store i32 %t136, ptr %t58
|
|
br label %ifend26
|
|
ifend26:
|
|
br label %wcond3
|
|
wend5:
|
|
%t137 = load ptr, ptr %t40
|
|
%t138 = call ptr @fn_str_concat(ptr @.str3372, ptr %t137)
|
|
%t139 = call ptr @fn_emit_bind(ptr %t138)
|
|
store ptr %t139, ptr %t140
|
|
%t141 = load ptr, ptr %t43
|
|
%t142 = call ptr @fn_str_concat(ptr @.str3373, ptr %t141)
|
|
%t143 = call ptr @fn_emit_bind(ptr %t142)
|
|
store ptr %t143, ptr %t144
|
|
%t145 = load ptr, ptr %t46
|
|
%t146 = call ptr @fn_str_concat(ptr @.str3374, ptr %t145)
|
|
%t147 = call ptr @fn_emit_bind(ptr %t146)
|
|
store ptr %t147, ptr %t148
|
|
%t149 = load ptr, ptr %t49
|
|
%t150 = call ptr @fn_str_concat(ptr @.str3375, ptr %t149)
|
|
%t151 = call ptr @fn_emit_bind(ptr %t150)
|
|
store ptr %t151, ptr %t152
|
|
%t153 = load ptr, ptr %t52
|
|
%t154 = call ptr @fn_str_concat(ptr @.str3376, ptr %t153)
|
|
%t155 = call ptr @fn_emit_bind(ptr %t154)
|
|
store ptr %t155, ptr %t156
|
|
%t157 = load ptr, ptr %t55
|
|
%t158 = call ptr @fn_str_concat(ptr @.str3377, ptr %t157)
|
|
%t159 = call ptr @fn_emit_bind(ptr %t158)
|
|
store ptr %t159, ptr %t160
|
|
%t161 = load ptr, ptr %t140
|
|
%t162 = call ptr @fn_str_concat(ptr @.str3378, ptr %t161)
|
|
%t163 = call ptr @fn_str_concat(ptr %t162, ptr @.str3379)
|
|
%t164 = load ptr, ptr %t144
|
|
%t165 = call ptr @fn_str_concat(ptr %t163, ptr %t164)
|
|
%t166 = call ptr @fn_str_concat(ptr %t165, ptr @.str3380)
|
|
%t167 = load ptr, ptr %t148
|
|
%t168 = call ptr @fn_str_concat(ptr %t166, ptr %t167)
|
|
%t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str3381)
|
|
%t170 = call ptr @fn_emit_bind(ptr %t169)
|
|
store ptr %t170, ptr %t171
|
|
%t172 = load ptr, ptr %t171
|
|
%t173 = call ptr @fn_str_concat(ptr @.str3382, ptr %t172)
|
|
%t174 = call ptr @fn_str_concat(ptr %t173, ptr @.str3383)
|
|
%t175 = call ptr @fn_emit_bind(ptr %t174)
|
|
store ptr %t175, ptr %t176
|
|
%t177 = load ptr, ptr %t152
|
|
%t178 = call ptr @fn_str_concat(ptr @.str3384, ptr %t177)
|
|
%t179 = call ptr @fn_str_concat(ptr %t178, ptr @.str3385)
|
|
%t180 = call ptr @fn_emit_bind(ptr %t179)
|
|
store ptr %t180, ptr %t181
|
|
%t182 = load ptr, ptr %t156
|
|
%t183 = call ptr @fn_str_concat(ptr @.str3386, ptr %t182)
|
|
%t184 = call ptr @fn_str_concat(ptr %t183, ptr @.str3387)
|
|
%t185 = call ptr @fn_emit_bind(ptr %t184)
|
|
store ptr %t185, ptr %t186
|
|
%t187 = load ptr, ptr %t176
|
|
%t188 = call ptr @fn_str_concat(ptr @.str3388, ptr %t187)
|
|
%t189 = call ptr @fn_str_concat(ptr %t188, ptr @.str3389)
|
|
%t190 = load ptr, ptr %t181
|
|
%t191 = call ptr @fn_str_concat(ptr %t189, ptr %t190)
|
|
%t192 = call ptr @fn_emit_bind(ptr %t191)
|
|
store ptr %t192, ptr %t193
|
|
%t194 = load ptr, ptr %t193
|
|
%t195 = call ptr @fn_str_concat(ptr @.str3390, ptr %t194)
|
|
%t196 = call ptr @fn_str_concat(ptr %t195, ptr @.str3391)
|
|
%t197 = load ptr, ptr %t186
|
|
%t198 = call ptr @fn_str_concat(ptr %t196, ptr %t197)
|
|
%t199 = call ptr @fn_emit_bind(ptr %t198)
|
|
store ptr %t199, ptr %t200
|
|
%t201 = load ptr, ptr %t200
|
|
%t202 = call ptr @fn_str_concat(ptr @.str3392, ptr %t201)
|
|
%t203 = call ptr @fn_str_concat(ptr %t202, ptr @.str3393)
|
|
%t204 = load ptr, ptr %t160
|
|
%t205 = call ptr @fn_str_concat(ptr %t203, ptr %t204)
|
|
%t206 = call ptr @fn_emit_bind(ptr %t205)
|
|
store ptr %t206, ptr %t207
|
|
%t208 = load ptr, ptr %t37
|
|
%t209 = call ptr @fn_str_concat(ptr @.str3394, ptr %t208)
|
|
%t210 = call ptr @fn_emit_bind(ptr %t209)
|
|
store ptr %t210, ptr %t211
|
|
%t212 = load ptr, ptr %t211
|
|
%t213 = call ptr @fn_str_concat(ptr @.str3395, ptr %t212)
|
|
%t214 = call ptr @fn_str_concat(ptr %t213, ptr @.str3396)
|
|
%t215 = call ptr @fn_emit_bind(ptr %t214)
|
|
store ptr %t215, ptr %t216
|
|
%t217 = load ptr, ptr %t216
|
|
%t218 = call ptr @fn_str_concat(ptr @.str3397, ptr %t217)
|
|
%t219 = call ptr @fn_str_concat(ptr %t218, ptr @.str3398)
|
|
%t220 = load ptr, ptr %t207
|
|
%t221 = call ptr @fn_str_concat(ptr %t219, ptr %t220)
|
|
%t222 = call ptr @fn_emit_bind(ptr %t221)
|
|
%t223 = call ptr @fn_val(ptr %t222, ptr @.str3399)
|
|
store ptr %t223, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t224 = load ptr, ptr %retval
|
|
ret ptr %t224
|
|
}
|
|
|
|
define ptr @fn_emit_datetime_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t23 = alloca ptr
|
|
%t32 = alloca ptr
|
|
%t41 = alloca ptr
|
|
%t50 = alloca ptr
|
|
%t59 = alloca ptr
|
|
%t68 = alloca ptr
|
|
%t85 = alloca ptr
|
|
%t90 = alloca ptr
|
|
%t97 = alloca ptr
|
|
%t104 = alloca ptr
|
|
%t111 = alloca ptr
|
|
%t118 = alloca ptr
|
|
%t139 = alloca ptr
|
|
%t156 = alloca ptr
|
|
%t165 = alloca ptr
|
|
%t188 = alloca ptr
|
|
%t206 = alloca ptr
|
|
%t224 = alloca ptr
|
|
%t242 = alloca ptr
|
|
%t247 = alloca ptr
|
|
%t252 = alloca ptr
|
|
%t257 = alloca ptr
|
|
%t262 = alloca ptr
|
|
%t279 = alloca ptr
|
|
%t284 = alloca ptr
|
|
%t301 = alloca ptr
|
|
%t306 = alloca ptr
|
|
%t311 = alloca ptr
|
|
%t325 = alloca ptr
|
|
%t330 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3400)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = load ptr, ptr %t1
|
|
%t6 = call ptr @fn_emit_datetime_format(ptr %t5)
|
|
store ptr %t6, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3401)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then3, label %ifend5
|
|
then3:
|
|
%t10 = load ptr, ptr %t1
|
|
%t11 = call ptr @fn_emit_datetime_parse(ptr %t10)
|
|
store ptr %t11, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t12 = load ptr, ptr %t0
|
|
%t13 = call i32 @fn_str_eq(ptr %t12, ptr @.str3402)
|
|
%t14 = icmp ne i32 %t13, 0
|
|
br i1 %t14, label %then6, label %ifend8
|
|
then6:
|
|
store i32 1, ptr @g_g_uses_datert
|
|
%t15 = load ptr, ptr %t1
|
|
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 7
|
|
%t17 = load ptr, ptr %t16
|
|
%t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0
|
|
%t19 = load ptr, ptr %t18
|
|
%t20 = getelementptr inbounds ptr, ptr %t19, i32 0
|
|
%t21 = load ptr, ptr %t20
|
|
%t22 = call ptr @fn_emit_expr(ptr %t21)
|
|
store ptr %t22, ptr %t23
|
|
%t24 = load ptr, ptr %t1
|
|
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = getelementptr inbounds ptr, ptr %t28, i32 1
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = call ptr @fn_emit_expr(ptr %t30)
|
|
store ptr %t31, ptr %t32
|
|
%t33 = load ptr, ptr %t1
|
|
%t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 7
|
|
%t35 = load ptr, ptr %t34
|
|
%t36 = getelementptr inbounds %LSlice, ptr %t35, i32 0, i32 0
|
|
%t37 = load ptr, ptr %t36
|
|
%t38 = getelementptr inbounds ptr, ptr %t37, i32 2
|
|
%t39 = load ptr, ptr %t38
|
|
%t40 = call ptr @fn_emit_expr(ptr %t39)
|
|
store ptr %t40, ptr %t41
|
|
%t42 = load ptr, ptr %t1
|
|
%t43 = getelementptr inbounds %Cmp_Node, ptr %t42, i32 0, i32 7
|
|
%t44 = load ptr, ptr %t43
|
|
%t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0
|
|
%t46 = load ptr, ptr %t45
|
|
%t47 = getelementptr inbounds ptr, ptr %t46, i32 3
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = call ptr @fn_emit_expr(ptr %t48)
|
|
store ptr %t49, ptr %t50
|
|
%t51 = load ptr, ptr %t1
|
|
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 7
|
|
%t53 = load ptr, ptr %t52
|
|
%t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0
|
|
%t55 = load ptr, ptr %t54
|
|
%t56 = getelementptr inbounds ptr, ptr %t55, i32 4
|
|
%t57 = load ptr, ptr %t56
|
|
%t58 = call ptr @fn_emit_expr(ptr %t57)
|
|
store ptr %t58, ptr %t59
|
|
%t60 = load ptr, ptr %t1
|
|
%t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 7
|
|
%t62 = load ptr, ptr %t61
|
|
%t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0
|
|
%t64 = load ptr, ptr %t63
|
|
%t65 = getelementptr inbounds ptr, ptr %t64, i32 5
|
|
%t66 = load ptr, ptr %t65
|
|
%t67 = call ptr @fn_emit_expr(ptr %t66)
|
|
store ptr %t67, ptr %t68
|
|
%t69 = load ptr, ptr %t23
|
|
%t70 = getelementptr inbounds %Cmp_Val, ptr %t69, i32 0, i32 0
|
|
%t71 = load ptr, ptr %t70
|
|
%t72 = call ptr @fn_str_concat(ptr @.str3403, ptr %t71)
|
|
%t73 = call ptr @fn_str_concat(ptr %t72, ptr @.str3404)
|
|
%t74 = load ptr, ptr %t32
|
|
%t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0
|
|
%t76 = load ptr, ptr %t75
|
|
%t77 = call ptr @fn_str_concat(ptr %t73, ptr %t76)
|
|
%t78 = call ptr @fn_str_concat(ptr %t77, ptr @.str3405)
|
|
%t79 = load ptr, ptr %t41
|
|
%t80 = getelementptr inbounds %Cmp_Val, ptr %t79, i32 0, i32 0
|
|
%t81 = load ptr, ptr %t80
|
|
%t82 = call ptr @fn_str_concat(ptr %t78, ptr %t81)
|
|
%t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str3406)
|
|
%t84 = call ptr @fn_emit_bind(ptr %t83)
|
|
store ptr %t84, ptr %t85
|
|
%t86 = load ptr, ptr %t85
|
|
%t87 = call ptr @fn_str_concat(ptr @.str3407, ptr %t86)
|
|
%t88 = call ptr @fn_str_concat(ptr %t87, ptr @.str3408)
|
|
%t89 = call ptr @fn_emit_bind(ptr %t88)
|
|
store ptr %t89, ptr %t90
|
|
%t91 = load ptr, ptr %t50
|
|
%t92 = getelementptr inbounds %Cmp_Val, ptr %t91, i32 0, i32 0
|
|
%t93 = load ptr, ptr %t92
|
|
%t94 = call ptr @fn_str_concat(ptr @.str3409, ptr %t93)
|
|
%t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str3410)
|
|
%t96 = call ptr @fn_emit_bind(ptr %t95)
|
|
store ptr %t96, ptr %t97
|
|
%t98 = load ptr, ptr %t59
|
|
%t99 = getelementptr inbounds %Cmp_Val, ptr %t98, i32 0, i32 0
|
|
%t100 = load ptr, ptr %t99
|
|
%t101 = call ptr @fn_str_concat(ptr @.str3411, ptr %t100)
|
|
%t102 = call ptr @fn_str_concat(ptr %t101, ptr @.str3412)
|
|
%t103 = call ptr @fn_emit_bind(ptr %t102)
|
|
store ptr %t103, ptr %t104
|
|
%t105 = load ptr, ptr %t90
|
|
%t106 = call ptr @fn_str_concat(ptr @.str3413, ptr %t105)
|
|
%t107 = call ptr @fn_str_concat(ptr %t106, ptr @.str3414)
|
|
%t108 = load ptr, ptr %t97
|
|
%t109 = call ptr @fn_str_concat(ptr %t107, ptr %t108)
|
|
%t110 = call ptr @fn_emit_bind(ptr %t109)
|
|
store ptr %t110, ptr %t111
|
|
%t112 = load ptr, ptr %t111
|
|
%t113 = call ptr @fn_str_concat(ptr @.str3415, ptr %t112)
|
|
%t114 = call ptr @fn_str_concat(ptr %t113, ptr @.str3416)
|
|
%t115 = load ptr, ptr %t104
|
|
%t116 = call ptr @fn_str_concat(ptr %t114, ptr %t115)
|
|
%t117 = call ptr @fn_emit_bind(ptr %t116)
|
|
store ptr %t117, ptr %t118
|
|
%t119 = load ptr, ptr %t118
|
|
%t120 = call ptr @fn_str_concat(ptr @.str3417, ptr %t119)
|
|
%t121 = call ptr @fn_str_concat(ptr %t120, ptr @.str3418)
|
|
%t122 = load ptr, ptr %t68
|
|
%t123 = getelementptr inbounds %Cmp_Val, ptr %t122, i32 0, i32 0
|
|
%t124 = load ptr, ptr %t123
|
|
%t125 = call ptr @fn_str_concat(ptr %t121, ptr %t124)
|
|
%t126 = call ptr @fn_emit_bind(ptr %t125)
|
|
%t127 = call ptr @fn_val(ptr %t126, ptr @.str3419)
|
|
store ptr %t127, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t128 = load ptr, ptr %t0
|
|
%t129 = call i32 @fn_str_eq(ptr %t128, ptr @.str3420)
|
|
%t130 = icmp ne i32 %t129, 0
|
|
br i1 %t130, label %then9, label %ifend11
|
|
then9:
|
|
%t131 = load ptr, ptr %t1
|
|
%t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 7
|
|
%t133 = load ptr, ptr %t132
|
|
%t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0
|
|
%t135 = load ptr, ptr %t134
|
|
%t136 = getelementptr inbounds ptr, ptr %t135, i32 0
|
|
%t137 = load ptr, ptr %t136
|
|
%t138 = call ptr @fn_emit_expr(ptr %t137)
|
|
store ptr %t138, ptr %t139
|
|
%t140 = load ptr, ptr %t139
|
|
%t141 = getelementptr inbounds %Cmp_Val, ptr %t140, i32 0, i32 0
|
|
%t142 = load ptr, ptr %t141
|
|
%t143 = call ptr @fn_dt_epochday(ptr %t142)
|
|
%t144 = call ptr @fn_val(ptr %t143, ptr @.str3421)
|
|
store ptr %t144, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t145 = load ptr, ptr %t0
|
|
%t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str3422)
|
|
%t147 = icmp ne i32 %t146, 0
|
|
br i1 %t147, label %then12, label %ifend14
|
|
then12:
|
|
%t148 = load ptr, ptr %t1
|
|
%t149 = getelementptr inbounds %Cmp_Node, ptr %t148, i32 0, i32 7
|
|
%t150 = load ptr, ptr %t149
|
|
%t151 = getelementptr inbounds %LSlice, ptr %t150, i32 0, i32 0
|
|
%t152 = load ptr, ptr %t151
|
|
%t153 = getelementptr inbounds ptr, ptr %t152, i32 0
|
|
%t154 = load ptr, ptr %t153
|
|
%t155 = call ptr @fn_emit_expr(ptr %t154)
|
|
store ptr %t155, ptr %t156
|
|
%t157 = load ptr, ptr %t1
|
|
%t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 7
|
|
%t159 = load ptr, ptr %t158
|
|
%t160 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0
|
|
%t161 = load ptr, ptr %t160
|
|
%t162 = getelementptr inbounds ptr, ptr %t161, i32 1
|
|
%t163 = load ptr, ptr %t162
|
|
%t164 = call ptr @fn_emit_expr(ptr %t163)
|
|
store ptr %t164, ptr %t165
|
|
%t166 = load ptr, ptr %t156
|
|
%t167 = getelementptr inbounds %Cmp_Val, ptr %t166, i32 0, i32 0
|
|
%t168 = load ptr, ptr %t167
|
|
%t169 = call ptr @fn_str_concat(ptr @.str3423, ptr %t168)
|
|
%t170 = call ptr @fn_str_concat(ptr %t169, ptr @.str3424)
|
|
%t171 = load ptr, ptr %t165
|
|
%t172 = getelementptr inbounds %Cmp_Val, ptr %t171, i32 0, i32 0
|
|
%t173 = load ptr, ptr %t172
|
|
%t174 = call ptr @fn_str_concat(ptr %t170, ptr %t173)
|
|
%t175 = call ptr @fn_emit_bind(ptr %t174)
|
|
%t176 = call ptr @fn_val(ptr %t175, ptr @.str3425)
|
|
store ptr %t176, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t177 = load ptr, ptr %t0
|
|
%t178 = call i32 @fn_str_eq(ptr %t177, ptr @.str3426)
|
|
%t179 = icmp ne i32 %t178, 0
|
|
br i1 %t179, label %then15, label %ifend17
|
|
then15:
|
|
%t180 = load ptr, ptr %t1
|
|
%t181 = getelementptr inbounds %Cmp_Node, ptr %t180, i32 0, i32 7
|
|
%t182 = load ptr, ptr %t181
|
|
%t183 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0
|
|
%t184 = load ptr, ptr %t183
|
|
%t185 = getelementptr inbounds ptr, ptr %t184, i32 0
|
|
%t186 = load ptr, ptr %t185
|
|
%t187 = call ptr @fn_emit_expr(ptr %t186)
|
|
store ptr %t187, ptr %t188
|
|
%t189 = load ptr, ptr %t188
|
|
%t190 = getelementptr inbounds %Cmp_Val, ptr %t189, i32 0, i32 0
|
|
%t191 = load ptr, ptr %t190
|
|
%t192 = call ptr @fn_dt_epochday(ptr %t191)
|
|
%t193 = call ptr @fn_date_component(ptr %t192, i32 0)
|
|
%t194 = call ptr @fn_val(ptr %t193, ptr @.str3427)
|
|
store ptr %t194, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t195 = load ptr, ptr %t0
|
|
%t196 = call i32 @fn_str_eq(ptr %t195, ptr @.str3428)
|
|
%t197 = icmp ne i32 %t196, 0
|
|
br i1 %t197, label %then18, label %ifend20
|
|
then18:
|
|
%t198 = load ptr, ptr %t1
|
|
%t199 = getelementptr inbounds %Cmp_Node, ptr %t198, i32 0, i32 7
|
|
%t200 = load ptr, ptr %t199
|
|
%t201 = getelementptr inbounds %LSlice, ptr %t200, i32 0, i32 0
|
|
%t202 = load ptr, ptr %t201
|
|
%t203 = getelementptr inbounds ptr, ptr %t202, i32 0
|
|
%t204 = load ptr, ptr %t203
|
|
%t205 = call ptr @fn_emit_expr(ptr %t204)
|
|
store ptr %t205, ptr %t206
|
|
%t207 = load ptr, ptr %t206
|
|
%t208 = getelementptr inbounds %Cmp_Val, ptr %t207, i32 0, i32 0
|
|
%t209 = load ptr, ptr %t208
|
|
%t210 = call ptr @fn_dt_epochday(ptr %t209)
|
|
%t211 = call ptr @fn_date_component(ptr %t210, i32 1)
|
|
%t212 = call ptr @fn_val(ptr %t211, ptr @.str3429)
|
|
store ptr %t212, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t213 = load ptr, ptr %t0
|
|
%t214 = call i32 @fn_str_eq(ptr %t213, ptr @.str3430)
|
|
%t215 = icmp ne i32 %t214, 0
|
|
br i1 %t215, label %then21, label %ifend23
|
|
then21:
|
|
%t216 = load ptr, ptr %t1
|
|
%t217 = getelementptr inbounds %Cmp_Node, ptr %t216, i32 0, i32 7
|
|
%t218 = load ptr, ptr %t217
|
|
%t219 = getelementptr inbounds %LSlice, ptr %t218, i32 0, i32 0
|
|
%t220 = load ptr, ptr %t219
|
|
%t221 = getelementptr inbounds ptr, ptr %t220, i32 0
|
|
%t222 = load ptr, ptr %t221
|
|
%t223 = call ptr @fn_emit_expr(ptr %t222)
|
|
store ptr %t223, ptr %t224
|
|
%t225 = load ptr, ptr %t224
|
|
%t226 = getelementptr inbounds %Cmp_Val, ptr %t225, i32 0, i32 0
|
|
%t227 = load ptr, ptr %t226
|
|
%t228 = call ptr @fn_dt_epochday(ptr %t227)
|
|
%t229 = call ptr @fn_date_component(ptr %t228, i32 2)
|
|
%t230 = call ptr @fn_val(ptr %t229, ptr @.str3431)
|
|
store ptr %t230, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t231 = load ptr, ptr %t0
|
|
%t232 = call i32 @fn_str_eq(ptr %t231, ptr @.str3432)
|
|
%t233 = icmp ne i32 %t232, 0
|
|
br i1 %t233, label %then24, label %ifend26
|
|
then24:
|
|
%t234 = load ptr, ptr %t1
|
|
%t235 = getelementptr inbounds %Cmp_Node, ptr %t234, i32 0, i32 7
|
|
%t236 = load ptr, ptr %t235
|
|
%t237 = getelementptr inbounds %LSlice, ptr %t236, i32 0, i32 0
|
|
%t238 = load ptr, ptr %t237
|
|
%t239 = getelementptr inbounds ptr, ptr %t238, i32 0
|
|
%t240 = load ptr, ptr %t239
|
|
%t241 = call ptr @fn_emit_expr(ptr %t240)
|
|
store ptr %t241, ptr %t242
|
|
%t243 = load ptr, ptr %t242
|
|
%t244 = getelementptr inbounds %Cmp_Val, ptr %t243, i32 0, i32 0
|
|
%t245 = load ptr, ptr %t244
|
|
%t246 = call ptr @fn_dt_epochday(ptr %t245)
|
|
store ptr %t246, ptr %t247
|
|
%t248 = load ptr, ptr %t247
|
|
%t249 = call ptr @fn_str_concat(ptr @.str3433, ptr %t248)
|
|
%t250 = call ptr @fn_str_concat(ptr %t249, ptr @.str3434)
|
|
%t251 = call ptr @fn_emit_bind(ptr %t250)
|
|
store ptr %t251, ptr %t252
|
|
%t253 = load ptr, ptr %t252
|
|
%t254 = call ptr @fn_str_concat(ptr @.str3435, ptr %t253)
|
|
%t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str3436)
|
|
%t256 = call ptr @fn_emit_bind(ptr %t255)
|
|
store ptr %t256, ptr %t257
|
|
%t258 = load ptr, ptr %t257
|
|
%t259 = call ptr @fn_str_concat(ptr @.str3437, ptr %t258)
|
|
%t260 = call ptr @fn_str_concat(ptr %t259, ptr @.str3438)
|
|
%t261 = call ptr @fn_emit_bind(ptr %t260)
|
|
store ptr %t261, ptr %t262
|
|
%t263 = load ptr, ptr %t262
|
|
%t264 = call ptr @fn_str_concat(ptr @.str3439, ptr %t263)
|
|
%t265 = call ptr @fn_str_concat(ptr %t264, ptr @.str3440)
|
|
%t266 = call ptr @fn_emit_bind(ptr %t265)
|
|
%t267 = call ptr @fn_val(ptr %t266, ptr @.str3441)
|
|
store ptr %t267, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t268 = load ptr, ptr %t0
|
|
%t269 = call i32 @fn_str_eq(ptr %t268, ptr @.str3442)
|
|
%t270 = icmp ne i32 %t269, 0
|
|
br i1 %t270, label %then27, label %ifend29
|
|
then27:
|
|
%t271 = load ptr, ptr %t1
|
|
%t272 = getelementptr inbounds %Cmp_Node, ptr %t271, i32 0, i32 7
|
|
%t273 = load ptr, ptr %t272
|
|
%t274 = getelementptr inbounds %LSlice, ptr %t273, i32 0, i32 0
|
|
%t275 = load ptr, ptr %t274
|
|
%t276 = getelementptr inbounds ptr, ptr %t275, i32 0
|
|
%t277 = load ptr, ptr %t276
|
|
%t278 = call ptr @fn_emit_expr(ptr %t277)
|
|
store ptr %t278, ptr %t279
|
|
%t280 = load ptr, ptr %t279
|
|
%t281 = getelementptr inbounds %Cmp_Val, ptr %t280, i32 0, i32 0
|
|
%t282 = load ptr, ptr %t281
|
|
%t283 = call ptr @fn_dt_secofday(ptr %t282)
|
|
store ptr %t283, ptr %t284
|
|
%t285 = load ptr, ptr %t284
|
|
%t286 = call ptr @fn_str_concat(ptr @.str3443, ptr %t285)
|
|
%t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str3444)
|
|
%t288 = call ptr @fn_emit_bind(ptr %t287)
|
|
%t289 = call ptr @fn_val(ptr %t288, ptr @.str3445)
|
|
store ptr %t289, ptr %retval
|
|
br label %ret
|
|
ifend29:
|
|
%t290 = load ptr, ptr %t0
|
|
%t291 = call i32 @fn_str_eq(ptr %t290, ptr @.str3446)
|
|
%t292 = icmp ne i32 %t291, 0
|
|
br i1 %t292, label %then30, label %ifend32
|
|
then30:
|
|
%t293 = load ptr, ptr %t1
|
|
%t294 = getelementptr inbounds %Cmp_Node, ptr %t293, i32 0, i32 7
|
|
%t295 = load ptr, ptr %t294
|
|
%t296 = getelementptr inbounds %LSlice, ptr %t295, i32 0, i32 0
|
|
%t297 = load ptr, ptr %t296
|
|
%t298 = getelementptr inbounds ptr, ptr %t297, i32 0
|
|
%t299 = load ptr, ptr %t298
|
|
%t300 = call ptr @fn_emit_expr(ptr %t299)
|
|
store ptr %t300, ptr %t301
|
|
%t302 = load ptr, ptr %t301
|
|
%t303 = getelementptr inbounds %Cmp_Val, ptr %t302, i32 0, i32 0
|
|
%t304 = load ptr, ptr %t303
|
|
%t305 = call ptr @fn_dt_secofday(ptr %t304)
|
|
store ptr %t305, ptr %t306
|
|
%t307 = load ptr, ptr %t306
|
|
%t308 = call ptr @fn_str_concat(ptr @.str3447, ptr %t307)
|
|
%t309 = call ptr @fn_str_concat(ptr %t308, ptr @.str3448)
|
|
%t310 = call ptr @fn_emit_bind(ptr %t309)
|
|
store ptr %t310, ptr %t311
|
|
%t312 = load ptr, ptr %t311
|
|
%t313 = call ptr @fn_str_concat(ptr @.str3449, ptr %t312)
|
|
%t314 = call ptr @fn_str_concat(ptr %t313, ptr @.str3450)
|
|
%t315 = call ptr @fn_emit_bind(ptr %t314)
|
|
%t316 = call ptr @fn_val(ptr %t315, ptr @.str3451)
|
|
store ptr %t316, ptr %retval
|
|
br label %ret
|
|
ifend32:
|
|
%t317 = load ptr, ptr %t1
|
|
%t318 = getelementptr inbounds %Cmp_Node, ptr %t317, i32 0, i32 7
|
|
%t319 = load ptr, ptr %t318
|
|
%t320 = getelementptr inbounds %LSlice, ptr %t319, i32 0, i32 0
|
|
%t321 = load ptr, ptr %t320
|
|
%t322 = getelementptr inbounds ptr, ptr %t321, i32 0
|
|
%t323 = load ptr, ptr %t322
|
|
%t324 = call ptr @fn_emit_expr(ptr %t323)
|
|
store ptr %t324, ptr %t325
|
|
%t326 = load ptr, ptr %t325
|
|
%t327 = getelementptr inbounds %Cmp_Val, ptr %t326, i32 0, i32 0
|
|
%t328 = load ptr, ptr %t327
|
|
%t329 = call ptr @fn_dt_secofday(ptr %t328)
|
|
store ptr %t329, ptr %t330
|
|
%t331 = load ptr, ptr %t330
|
|
%t332 = call ptr @fn_str_concat(ptr @.str3452, ptr %t331)
|
|
%t333 = call ptr @fn_str_concat(ptr %t332, ptr @.str3453)
|
|
%t334 = call ptr @fn_emit_bind(ptr %t333)
|
|
%t335 = call ptr @fn_val(ptr %t334, ptr @.str3454)
|
|
store ptr %t335, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t336 = load ptr, ptr %retval
|
|
ret ptr %t336
|
|
}
|
|
|
|
define void @fn_emit_datetime_prelude() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str3455)
|
|
call void @fn_emith(ptr @.str3456)
|
|
call void @fn_emith(ptr @.str3457)
|
|
call void @fn_emith(ptr @.str3458)
|
|
call void @fn_emith(ptr @.str3459)
|
|
call void @fn_emith(ptr @.str3460)
|
|
call void @fn_emith(ptr @.str3461)
|
|
call void @fn_emith(ptr @.str3462)
|
|
call void @fn_emith(ptr @.str3463)
|
|
call void @fn_emith(ptr @.str3464)
|
|
call void @fn_emith(ptr @.str3465)
|
|
call void @fn_emith(ptr @.str3466)
|
|
call void @fn_emith(ptr @.str3467)
|
|
call void @fn_emith(ptr @.str3468)
|
|
call void @fn_emith(ptr @.str3469)
|
|
call void @fn_emith(ptr @.str3470)
|
|
call void @fn_emith(ptr @.str3471)
|
|
call void @fn_emith(ptr @.str3472)
|
|
call void @fn_emith(ptr @.str3473)
|
|
call void @fn_emith(ptr @.str3474)
|
|
call void @fn_emith(ptr @.str3475)
|
|
call void @fn_emith(ptr @.str3476)
|
|
call void @fn_emith(ptr @.str3477)
|
|
call void @fn_emith(ptr @.str3478)
|
|
call void @fn_emith(ptr @.str3479)
|
|
call void @fn_emith(ptr @.str3480)
|
|
call void @fn_emith(ptr @.str3481)
|
|
call void @fn_emith(ptr @.str3482)
|
|
call void @fn_emith(ptr @.str3483)
|
|
call void @fn_emith(ptr @.str3484)
|
|
call void @fn_emith(ptr @.str3485)
|
|
call void @fn_emith(ptr @.str3486)
|
|
call void @fn_emith(ptr @.str3487)
|
|
call void @fn_emith(ptr @.str3488)
|
|
call void @fn_emith(ptr @.str3489)
|
|
call void @fn_emith(ptr @.str3490)
|
|
call void @fn_emith(ptr @.str3491)
|
|
call void @fn_emith(ptr @.str3492)
|
|
call void @fn_emith(ptr @.str3493)
|
|
call void @fn_emith(ptr @.str3494)
|
|
call void @fn_emith(ptr @.str3495)
|
|
call void @fn_emith(ptr @.str3496)
|
|
call void @fn_emith(ptr @.str3497)
|
|
call void @fn_emith(ptr @.str3498)
|
|
call void @fn_emith(ptr @.str3499)
|
|
call void @fn_emith(ptr @.str3500)
|
|
call void @fn_emith(ptr @.str3501)
|
|
call void @fn_emith(ptr @.str3502)
|
|
call void @fn_emith(ptr @.str3503)
|
|
call void @fn_emith(ptr @.str3504)
|
|
call void @fn_emith(ptr @.str3505)
|
|
call void @fn_emith(ptr @.str3506)
|
|
call void @fn_emith(ptr @.str3507)
|
|
call void @fn_emith(ptr @.str3508)
|
|
call void @fn_emith(ptr @.str3509)
|
|
call void @fn_emith(ptr @.str3510)
|
|
call void @fn_emith(ptr @.str3511)
|
|
call void @fn_emith(ptr @.str3512)
|
|
call void @fn_emith(ptr @.str3513)
|
|
call void @fn_emith(ptr @.str3514)
|
|
call void @fn_emith(ptr @.str3515)
|
|
call void @fn_emith(ptr @.str3516)
|
|
call void @fn_emith(ptr @.str3517)
|
|
call void @fn_emith(ptr @.str3518)
|
|
call void @fn_emith(ptr @.str3519)
|
|
call void @fn_emith(ptr @.str3520)
|
|
call void @fn_emith(ptr @.str3521)
|
|
call void @fn_emith(ptr @.str3522)
|
|
call void @fn_emith(ptr @.str3523)
|
|
call void @fn_emith(ptr @.str3524)
|
|
call void @fn_emith(ptr @.str3525)
|
|
call void @fn_emith(ptr @.str3526)
|
|
call void @fn_emith(ptr @.str3527)
|
|
call void @fn_emith(ptr @.str3528)
|
|
call void @fn_emith(ptr @.str3529)
|
|
call void @fn_emith(ptr @.str3530)
|
|
call void @fn_emith(ptr @.str3531)
|
|
call void @fn_emith(ptr @.str3532)
|
|
call void @fn_emith(ptr @.str3533)
|
|
call void @fn_emith(ptr @.str3534)
|
|
call void @fn_emith(ptr @.str3535)
|
|
call void @fn_emith(ptr @.str3536)
|
|
call void @fn_emith(ptr @.str3537)
|
|
call void @fn_emith(ptr @.str3538)
|
|
call void @fn_emith(ptr @.str3539)
|
|
call void @fn_emith(ptr @.str3540)
|
|
call void @fn_emith(ptr @.str3541)
|
|
call void @fn_emith(ptr @.str3542)
|
|
call void @fn_emith(ptr @.str3543)
|
|
call void @fn_emith(ptr @.str3544)
|
|
call void @fn_emith(ptr @.str3545)
|
|
call void @fn_emith(ptr @.str3546)
|
|
call void @fn_emith(ptr @.str3547)
|
|
call void @fn_emith(ptr @.str3548)
|
|
call void @fn_emith(ptr @.str3549)
|
|
call void @fn_emith(ptr @.str3550)
|
|
call void @fn_emith(ptr @.str3551)
|
|
call void @fn_emith(ptr @.str3552)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_is_clock_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str3553)
|
|
%t6 = icmp ne i32 %t5, 0
|
|
%t7 = zext i1 %t6 to i32
|
|
store i32 %t7, ptr %t3
|
|
br i1 %t6, label %scend1, label %sc0
|
|
sc0:
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str3554)
|
|
%t10 = icmp ne i32 %t9, 0
|
|
%t11 = zext i1 %t10 to i32
|
|
store i32 %t11, ptr %t3
|
|
br label %scend1
|
|
scend1:
|
|
%t12 = load i32, ptr %t3
|
|
%t13 = icmp ne i32 %t12, 0
|
|
%t14 = zext i1 %t13 to i32
|
|
store i32 %t14, ptr %t2
|
|
br i1 %t13, label %scend3, label %sc2
|
|
sc2:
|
|
%t15 = load ptr, ptr %t0
|
|
%t16 = call i32 @fn_str_eq(ptr %t15, ptr @.str3555)
|
|
%t17 = icmp ne i32 %t16, 0
|
|
%t18 = zext i1 %t17 to i32
|
|
store i32 %t18, ptr %t2
|
|
br label %scend3
|
|
scend3:
|
|
%t19 = load i32, ptr %t2
|
|
%t20 = icmp ne i32 %t19, 0
|
|
%t21 = zext i1 %t20 to i32
|
|
store i32 %t21, ptr %t1
|
|
br i1 %t20, label %scend5, label %sc4
|
|
sc4:
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str3556)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
store i32 %t25, ptr %t1
|
|
br label %scend5
|
|
scend5:
|
|
%t26 = load i32, ptr %t1
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then6, label %ifend8
|
|
then6:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t28 = load i32, ptr %retval
|
|
ret i32 %t28
|
|
}
|
|
|
|
define ptr @fn_emit_clock_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t22 = alloca ptr
|
|
%t37 = alloca ptr
|
|
%t39 = alloca ptr
|
|
%t48 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3557)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = call ptr @fn_emit_bind(ptr @.str3558)
|
|
%t6 = call ptr @fn_val(ptr %t5, ptr @.str3559)
|
|
store ptr %t6, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3560)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then3, label %ifend5
|
|
then3:
|
|
call void @fn_emit(ptr @.str3561)
|
|
%t10 = call ptr @fn_val(ptr @.str3562, ptr @.str3563)
|
|
store ptr %t10, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t11 = load ptr, ptr %t0
|
|
%t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str3564)
|
|
%t13 = icmp ne i32 %t12, 0
|
|
br i1 %t13, label %then6, label %ifend8
|
|
then6:
|
|
%t14 = load ptr, ptr %t1
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = getelementptr inbounds ptr, ptr %t18, i32 0
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = call ptr @fn_emit_expr(ptr %t20)
|
|
store ptr %t21, ptr %t22
|
|
%t23 = load ptr, ptr %t22
|
|
%t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = call ptr @fn_str_concat(ptr @.str3565, ptr %t25)
|
|
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str3566)
|
|
call void @fn_emit(ptr %t27)
|
|
%t28 = call ptr @fn_val(ptr @.str3567, ptr @.str3568)
|
|
store ptr %t28, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t29 = load ptr, ptr %t1
|
|
%t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7
|
|
%t31 = load ptr, ptr %t30
|
|
%t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0
|
|
%t33 = load ptr, ptr %t32
|
|
%t34 = getelementptr inbounds ptr, ptr %t33, i32 0
|
|
%t35 = load ptr, ptr %t34
|
|
%t36 = call ptr @fn_emit_expr(ptr %t35)
|
|
store ptr %t36, ptr %t37
|
|
%t38 = call ptr @fn_emit_bind(ptr @.str3569)
|
|
store ptr %t38, ptr %t39
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = call ptr @fn_str_concat(ptr @.str3570, ptr %t40)
|
|
%t42 = call ptr @fn_str_concat(ptr %t41, ptr @.str3571)
|
|
%t43 = load ptr, ptr %t37
|
|
%t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0
|
|
%t45 = load ptr, ptr %t44
|
|
%t46 = call ptr @fn_str_concat(ptr %t42, ptr %t45)
|
|
%t47 = call ptr @fn_emit_bind(ptr %t46)
|
|
store ptr %t47, ptr %t48
|
|
%t49 = load ptr, ptr %t48
|
|
%t50 = call ptr @fn_str_concat(ptr @.str3572, ptr %t49)
|
|
%t51 = call ptr @fn_str_concat(ptr %t50, ptr @.str3573)
|
|
call void @fn_emit(ptr %t51)
|
|
%t52 = call ptr @fn_val(ptr @.str3574, ptr @.str3575)
|
|
store ptr %t52, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t53 = load ptr, ptr %retval
|
|
ret ptr %t53
|
|
}
|
|
|
|
define i32 @fn_is_colorfn_ns(ptr %arg_meth) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t20 = alloca i32
|
|
%t21 = alloca i32
|
|
store ptr %arg_meth, ptr %t0
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str3576)
|
|
%t5 = icmp ne i32 %t4, 0
|
|
%t6 = zext i1 %t5 to i32
|
|
store i32 %t6, ptr %t2
|
|
br i1 %t5, label %scend1, label %sc0
|
|
sc0:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3577)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
%t10 = zext i1 %t9 to i32
|
|
store i32 %t10, ptr %t2
|
|
br label %scend1
|
|
scend1:
|
|
%t11 = load i32, ptr %t2
|
|
%t12 = icmp ne i32 %t11, 0
|
|
%t13 = zext i1 %t12 to i32
|
|
store i32 %t13, ptr %t1
|
|
br i1 %t12, label %scend3, label %sc2
|
|
sc2:
|
|
%t14 = load ptr, ptr %t0
|
|
%t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str3578)
|
|
%t16 = icmp ne i32 %t15, 0
|
|
%t17 = zext i1 %t16 to i32
|
|
store i32 %t17, ptr %t1
|
|
br label %scend3
|
|
scend3:
|
|
%t18 = load i32, ptr %t1
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then4, label %ifend6
|
|
then4:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend6:
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str3579)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
store i32 %t25, ptr %t21
|
|
br i1 %t24, label %scend8, label %sc7
|
|
sc7:
|
|
%t26 = load ptr, ptr %t0
|
|
%t27 = call i32 @fn_str_eq(ptr %t26, ptr @.str3580)
|
|
%t28 = icmp ne i32 %t27, 0
|
|
%t29 = zext i1 %t28 to i32
|
|
store i32 %t29, ptr %t21
|
|
br label %scend8
|
|
scend8:
|
|
%t30 = load i32, ptr %t21
|
|
%t31 = icmp ne i32 %t30, 0
|
|
%t32 = zext i1 %t31 to i32
|
|
store i32 %t32, ptr %t20
|
|
br i1 %t31, label %scend10, label %sc9
|
|
sc9:
|
|
%t33 = load ptr, ptr %t0
|
|
%t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str3581)
|
|
%t35 = icmp ne i32 %t34, 0
|
|
%t36 = zext i1 %t35 to i32
|
|
store i32 %t36, ptr %t20
|
|
br label %scend10
|
|
scend10:
|
|
%t37 = load i32, ptr %t20
|
|
%t38 = icmp ne i32 %t37, 0
|
|
br i1 %t38, label %then11, label %ifend13
|
|
then11:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend13:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t39 = load i32, ptr %retval
|
|
ret i32 %t39
|
|
}
|
|
|
|
define ptr @fn_color_ch(ptr %arg_c, ptr %arg_shift) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t8 = alloca ptr
|
|
store ptr %arg_c, ptr %t0
|
|
store ptr %arg_shift, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call ptr @fn_str_concat(ptr @.str3582, ptr %t2)
|
|
%t4 = call ptr @fn_str_concat(ptr %t3, ptr @.str3583)
|
|
%t5 = load ptr, ptr %t1
|
|
%t6 = call ptr @fn_str_concat(ptr %t4, ptr %t5)
|
|
%t7 = call ptr @fn_emit_bind(ptr %t6)
|
|
store ptr %t7, ptr %t8
|
|
%t9 = load ptr, ptr %t8
|
|
%t10 = call ptr @fn_str_concat(ptr @.str3584, ptr %t9)
|
|
%t11 = call ptr @fn_str_concat(ptr %t10, ptr @.str3585)
|
|
%t12 = call ptr @fn_emit_bind(ptr %t11)
|
|
store ptr %t12, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t13 = load ptr, ptr %retval
|
|
ret ptr %t13
|
|
}
|
|
|
|
define ptr @fn_color_pack(ptr %arg_r, ptr %arg_g, ptr %arg_b) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t12 = alloca ptr
|
|
%t19 = alloca ptr
|
|
store ptr %arg_r, ptr %t0
|
|
store ptr %arg_g, ptr %t1
|
|
store ptr %arg_b, ptr %t2
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call ptr @fn_str_concat(ptr @.str3586, ptr %t3)
|
|
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str3587)
|
|
%t6 = call ptr @fn_emit_bind(ptr %t5)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = load ptr, ptr %t1
|
|
%t9 = call ptr @fn_str_concat(ptr @.str3588, ptr %t8)
|
|
%t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str3589)
|
|
%t11 = call ptr @fn_emit_bind(ptr %t10)
|
|
store ptr %t11, ptr %t12
|
|
%t13 = load ptr, ptr %t7
|
|
%t14 = call ptr @fn_str_concat(ptr @.str3590, ptr %t13)
|
|
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str3591)
|
|
%t16 = load ptr, ptr %t12
|
|
%t17 = call ptr @fn_str_concat(ptr %t15, ptr %t16)
|
|
%t18 = call ptr @fn_emit_bind(ptr %t17)
|
|
store ptr %t18, ptr %t19
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = call ptr @fn_str_concat(ptr @.str3592, ptr %t20)
|
|
%t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str3593)
|
|
%t23 = load ptr, ptr %t2
|
|
%t24 = call ptr @fn_str_concat(ptr %t22, ptr %t23)
|
|
%t25 = call ptr @fn_emit_bind(ptr %t24)
|
|
store ptr %t25, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t26 = load ptr, ptr %retval
|
|
ret ptr %t26
|
|
}
|
|
|
|
define ptr @fn_color_lerp_ch(ptr %arg_ch0, ptr %arg_ch1, ptr %arg_t) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t9 = alloca ptr
|
|
%t16 = alloca ptr
|
|
%t21 = alloca ptr
|
|
store ptr %arg_ch0, ptr %t0
|
|
store ptr %arg_ch1, ptr %t1
|
|
store ptr %arg_t, ptr %t2
|
|
%t3 = load ptr, ptr %t1
|
|
%t4 = call ptr @fn_str_concat(ptr @.str3594, ptr %t3)
|
|
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str3595)
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
|
|
%t8 = call ptr @fn_emit_bind(ptr %t7)
|
|
store ptr %t8, ptr %t9
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = call ptr @fn_str_concat(ptr @.str3596, ptr %t10)
|
|
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str3597)
|
|
%t13 = load ptr, ptr %t2
|
|
%t14 = call ptr @fn_str_concat(ptr %t12, ptr %t13)
|
|
%t15 = call ptr @fn_emit_bind(ptr %t14)
|
|
store ptr %t15, ptr %t16
|
|
%t17 = load ptr, ptr %t16
|
|
%t18 = call ptr @fn_str_concat(ptr @.str3598, ptr %t17)
|
|
%t19 = call ptr @fn_str_concat(ptr %t18, ptr @.str3599)
|
|
%t20 = call ptr @fn_emit_bind(ptr %t19)
|
|
store ptr %t20, ptr %t21
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = call ptr @fn_str_concat(ptr @.str3600, ptr %t22)
|
|
%t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str3601)
|
|
%t25 = load ptr, ptr %t21
|
|
%t26 = call ptr @fn_str_concat(ptr %t24, ptr %t25)
|
|
%t27 = call ptr @fn_emit_bind(ptr %t26)
|
|
store ptr %t27, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t28 = load ptr, ptr %retval
|
|
ret ptr %t28
|
|
}
|
|
|
|
define ptr @fn_emit_colorfn_ns(ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t13 = alloca ptr
|
|
%t22 = alloca ptr
|
|
%t31 = alloca ptr
|
|
%t54 = alloca ptr
|
|
%t63 = alloca ptr
|
|
%t72 = alloca ptr
|
|
%t81 = alloca ptr
|
|
%t92 = alloca ptr
|
|
%t99 = alloca ptr
|
|
%t118 = alloca ptr
|
|
%t127 = alloca ptr
|
|
%t134 = alloca ptr
|
|
%t141 = alloca ptr
|
|
%t160 = alloca ptr
|
|
%t169 = alloca ptr
|
|
%t178 = alloca ptr
|
|
%t191 = alloca ptr
|
|
%t204 = alloca ptr
|
|
%t217 = alloca ptr
|
|
%t234 = alloca ptr
|
|
%t243 = alloca ptr
|
|
%t249 = alloca ptr
|
|
%t254 = alloca ptr
|
|
%t259 = alloca ptr
|
|
%t264 = alloca ptr
|
|
%t271 = alloca ptr
|
|
%t276 = alloca ptr
|
|
%t283 = alloca ptr
|
|
%t288 = alloca ptr
|
|
%t295 = alloca ptr
|
|
%t300 = alloca ptr
|
|
%t314 = alloca ptr
|
|
%t323 = alloca ptr
|
|
%t328 = alloca ptr
|
|
%t333 = alloca ptr
|
|
%t338 = alloca ptr
|
|
%t342 = alloca ptr
|
|
%t351 = alloca ptr
|
|
%t356 = alloca ptr
|
|
%t363 = alloca ptr
|
|
%t367 = alloca ptr
|
|
%t376 = alloca ptr
|
|
%t381 = alloca ptr
|
|
%t388 = alloca ptr
|
|
%t392 = alloca ptr
|
|
%t401 = alloca ptr
|
|
%t406 = alloca ptr
|
|
%t413 = alloca ptr
|
|
store ptr %arg_meth, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str3602)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = load ptr, ptr %t1
|
|
%t6 = getelementptr inbounds %Cmp_Node, ptr %t5, i32 0, i32 7
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 0
|
|
%t9 = load ptr, ptr %t8
|
|
%t10 = getelementptr inbounds ptr, ptr %t9, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = call ptr @fn_emit_expr(ptr %t11)
|
|
store ptr %t12, ptr %t13
|
|
%t14 = load ptr, ptr %t1
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = getelementptr inbounds ptr, ptr %t18, i32 1
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = call ptr @fn_emit_expr(ptr %t20)
|
|
store ptr %t21, ptr %t22
|
|
%t23 = load ptr, ptr %t1
|
|
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 7
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0
|
|
%t27 = load ptr, ptr %t26
|
|
%t28 = getelementptr inbounds ptr, ptr %t27, i32 2
|
|
%t29 = load ptr, ptr %t28
|
|
%t30 = call ptr @fn_emit_expr(ptr %t29)
|
|
store ptr %t30, ptr %t31
|
|
%t32 = load ptr, ptr %t13
|
|
%t33 = getelementptr inbounds %Cmp_Val, ptr %t32, i32 0, i32 0
|
|
%t34 = load ptr, ptr %t33
|
|
%t35 = load ptr, ptr %t22
|
|
%t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0
|
|
%t37 = load ptr, ptr %t36
|
|
%t38 = load ptr, ptr %t31
|
|
%t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = call ptr @fn_color_pack(ptr %t34, ptr %t37, ptr %t40)
|
|
%t42 = call ptr @fn_val(ptr %t41, ptr @.str3603)
|
|
store ptr %t42, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t43 = load ptr, ptr %t0
|
|
%t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str3604)
|
|
%t45 = icmp ne i32 %t44, 0
|
|
br i1 %t45, label %then3, label %ifend5
|
|
then3:
|
|
%t46 = load ptr, ptr %t1
|
|
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 7
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 0
|
|
%t50 = load ptr, ptr %t49
|
|
%t51 = getelementptr inbounds ptr, ptr %t50, i32 0
|
|
%t52 = load ptr, ptr %t51
|
|
%t53 = call ptr @fn_emit_expr(ptr %t52)
|
|
store ptr %t53, ptr %t54
|
|
%t55 = load ptr, ptr %t1
|
|
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7
|
|
%t57 = load ptr, ptr %t56
|
|
%t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 0
|
|
%t59 = load ptr, ptr %t58
|
|
%t60 = getelementptr inbounds ptr, ptr %t59, i32 1
|
|
%t61 = load ptr, ptr %t60
|
|
%t62 = call ptr @fn_emit_expr(ptr %t61)
|
|
store ptr %t62, ptr %t63
|
|
%t64 = load ptr, ptr %t1
|
|
%t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7
|
|
%t66 = load ptr, ptr %t65
|
|
%t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0
|
|
%t68 = load ptr, ptr %t67
|
|
%t69 = getelementptr inbounds ptr, ptr %t68, i32 2
|
|
%t70 = load ptr, ptr %t69
|
|
%t71 = call ptr @fn_emit_expr(ptr %t70)
|
|
store ptr %t71, ptr %t72
|
|
%t73 = load ptr, ptr %t1
|
|
%t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 7
|
|
%t75 = load ptr, ptr %t74
|
|
%t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0
|
|
%t77 = load ptr, ptr %t76
|
|
%t78 = getelementptr inbounds ptr, ptr %t77, i32 3
|
|
%t79 = load ptr, ptr %t78
|
|
%t80 = call ptr @fn_emit_expr(ptr %t79)
|
|
store ptr %t80, ptr %t81
|
|
%t82 = load ptr, ptr %t54
|
|
%t83 = getelementptr inbounds %Cmp_Val, ptr %t82, i32 0, i32 0
|
|
%t84 = load ptr, ptr %t83
|
|
%t85 = load ptr, ptr %t63
|
|
%t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0
|
|
%t87 = load ptr, ptr %t86
|
|
%t88 = load ptr, ptr %t72
|
|
%t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0
|
|
%t90 = load ptr, ptr %t89
|
|
%t91 = call ptr @fn_color_pack(ptr %t84, ptr %t87, ptr %t90)
|
|
store ptr %t91, ptr %t92
|
|
%t93 = load ptr, ptr %t81
|
|
%t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0
|
|
%t95 = load ptr, ptr %t94
|
|
%t96 = call ptr @fn_str_concat(ptr @.str3605, ptr %t95)
|
|
%t97 = call ptr @fn_str_concat(ptr %t96, ptr @.str3606)
|
|
%t98 = call ptr @fn_emit_bind(ptr %t97)
|
|
store ptr %t98, ptr %t99
|
|
%t100 = load ptr, ptr %t92
|
|
%t101 = call ptr @fn_str_concat(ptr @.str3607, ptr %t100)
|
|
%t102 = call ptr @fn_str_concat(ptr %t101, ptr @.str3608)
|
|
%t103 = load ptr, ptr %t99
|
|
%t104 = call ptr @fn_str_concat(ptr %t102, ptr %t103)
|
|
%t105 = call ptr @fn_emit_bind(ptr %t104)
|
|
%t106 = call ptr @fn_val(ptr %t105, ptr @.str3609)
|
|
store ptr %t106, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t107 = load ptr, ptr %t0
|
|
%t108 = call i32 @fn_str_eq(ptr %t107, ptr @.str3610)
|
|
%t109 = icmp ne i32 %t108, 0
|
|
br i1 %t109, label %then6, label %ifend8
|
|
then6:
|
|
%t110 = load ptr, ptr %t1
|
|
%t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 7
|
|
%t112 = load ptr, ptr %t111
|
|
%t113 = getelementptr inbounds %LSlice, ptr %t112, i32 0, i32 0
|
|
%t114 = load ptr, ptr %t113
|
|
%t115 = getelementptr inbounds ptr, ptr %t114, i32 0
|
|
%t116 = load ptr, ptr %t115
|
|
%t117 = call ptr @fn_emit_expr(ptr %t116)
|
|
store ptr %t117, ptr %t118
|
|
%t119 = load ptr, ptr %t1
|
|
%t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 7
|
|
%t121 = load ptr, ptr %t120
|
|
%t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 0
|
|
%t123 = load ptr, ptr %t122
|
|
%t124 = getelementptr inbounds ptr, ptr %t123, i32 1
|
|
%t125 = load ptr, ptr %t124
|
|
%t126 = call ptr @fn_emit_expr(ptr %t125)
|
|
store ptr %t126, ptr %t127
|
|
%t128 = load ptr, ptr %t118
|
|
%t129 = getelementptr inbounds %Cmp_Val, ptr %t128, i32 0, i32 0
|
|
%t130 = load ptr, ptr %t129
|
|
%t131 = call ptr @fn_str_concat(ptr @.str3611, ptr %t130)
|
|
%t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str3612)
|
|
%t133 = call ptr @fn_emit_bind(ptr %t132)
|
|
store ptr %t133, ptr %t134
|
|
%t135 = load ptr, ptr %t127
|
|
%t136 = getelementptr inbounds %Cmp_Val, ptr %t135, i32 0, i32 0
|
|
%t137 = load ptr, ptr %t136
|
|
%t138 = call ptr @fn_str_concat(ptr @.str3613, ptr %t137)
|
|
%t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str3614)
|
|
%t140 = call ptr @fn_emit_bind(ptr %t139)
|
|
store ptr %t140, ptr %t141
|
|
%t142 = load ptr, ptr %t134
|
|
%t143 = call ptr @fn_str_concat(ptr @.str3615, ptr %t142)
|
|
%t144 = call ptr @fn_str_concat(ptr %t143, ptr @.str3616)
|
|
%t145 = load ptr, ptr %t141
|
|
%t146 = call ptr @fn_str_concat(ptr %t144, ptr %t145)
|
|
%t147 = call ptr @fn_emit_bind(ptr %t146)
|
|
%t148 = call ptr @fn_val(ptr %t147, ptr @.str3617)
|
|
store ptr %t148, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t149 = load ptr, ptr %t0
|
|
%t150 = call i32 @fn_str_eq(ptr %t149, ptr @.str3618)
|
|
%t151 = icmp ne i32 %t150, 0
|
|
br i1 %t151, label %then9, label %ifend11
|
|
then9:
|
|
%t152 = load ptr, ptr %t1
|
|
%t153 = getelementptr inbounds %Cmp_Node, ptr %t152, i32 0, i32 7
|
|
%t154 = load ptr, ptr %t153
|
|
%t155 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 0
|
|
%t156 = load ptr, ptr %t155
|
|
%t157 = getelementptr inbounds ptr, ptr %t156, i32 0
|
|
%t158 = load ptr, ptr %t157
|
|
%t159 = call ptr @fn_emit_expr(ptr %t158)
|
|
store ptr %t159, ptr %t160
|
|
%t161 = load ptr, ptr %t1
|
|
%t162 = getelementptr inbounds %Cmp_Node, ptr %t161, i32 0, i32 7
|
|
%t163 = load ptr, ptr %t162
|
|
%t164 = getelementptr inbounds %LSlice, ptr %t163, i32 0, i32 0
|
|
%t165 = load ptr, ptr %t164
|
|
%t166 = getelementptr inbounds ptr, ptr %t165, i32 1
|
|
%t167 = load ptr, ptr %t166
|
|
%t168 = call ptr @fn_emit_expr(ptr %t167)
|
|
store ptr %t168, ptr %t169
|
|
%t170 = load ptr, ptr %t1
|
|
%t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 7
|
|
%t172 = load ptr, ptr %t171
|
|
%t173 = getelementptr inbounds %LSlice, ptr %t172, i32 0, i32 0
|
|
%t174 = load ptr, ptr %t173
|
|
%t175 = getelementptr inbounds ptr, ptr %t174, i32 2
|
|
%t176 = load ptr, ptr %t175
|
|
%t177 = call ptr @fn_emit_expr(ptr %t176)
|
|
store ptr %t177, ptr %t178
|
|
%t179 = load ptr, ptr %t160
|
|
%t180 = getelementptr inbounds %Cmp_Val, ptr %t179, i32 0, i32 0
|
|
%t181 = load ptr, ptr %t180
|
|
%t182 = call ptr @fn_color_ch(ptr %t181, ptr @.str3619)
|
|
%t183 = load ptr, ptr %t169
|
|
%t184 = getelementptr inbounds %Cmp_Val, ptr %t183, i32 0, i32 0
|
|
%t185 = load ptr, ptr %t184
|
|
%t186 = call ptr @fn_color_ch(ptr %t185, ptr @.str3620)
|
|
%t187 = load ptr, ptr %t178
|
|
%t188 = getelementptr inbounds %Cmp_Val, ptr %t187, i32 0, i32 0
|
|
%t189 = load ptr, ptr %t188
|
|
%t190 = call ptr @fn_color_lerp_ch(ptr %t182, ptr %t186, ptr %t189)
|
|
store ptr %t190, ptr %t191
|
|
%t192 = load ptr, ptr %t160
|
|
%t193 = getelementptr inbounds %Cmp_Val, ptr %t192, i32 0, i32 0
|
|
%t194 = load ptr, ptr %t193
|
|
%t195 = call ptr @fn_color_ch(ptr %t194, ptr @.str3621)
|
|
%t196 = load ptr, ptr %t169
|
|
%t197 = getelementptr inbounds %Cmp_Val, ptr %t196, i32 0, i32 0
|
|
%t198 = load ptr, ptr %t197
|
|
%t199 = call ptr @fn_color_ch(ptr %t198, ptr @.str3622)
|
|
%t200 = load ptr, ptr %t178
|
|
%t201 = getelementptr inbounds %Cmp_Val, ptr %t200, i32 0, i32 0
|
|
%t202 = load ptr, ptr %t201
|
|
%t203 = call ptr @fn_color_lerp_ch(ptr %t195, ptr %t199, ptr %t202)
|
|
store ptr %t203, ptr %t204
|
|
%t205 = load ptr, ptr %t160
|
|
%t206 = getelementptr inbounds %Cmp_Val, ptr %t205, i32 0, i32 0
|
|
%t207 = load ptr, ptr %t206
|
|
%t208 = call ptr @fn_color_ch(ptr %t207, ptr @.str3623)
|
|
%t209 = load ptr, ptr %t169
|
|
%t210 = getelementptr inbounds %Cmp_Val, ptr %t209, i32 0, i32 0
|
|
%t211 = load ptr, ptr %t210
|
|
%t212 = call ptr @fn_color_ch(ptr %t211, ptr @.str3624)
|
|
%t213 = load ptr, ptr %t178
|
|
%t214 = getelementptr inbounds %Cmp_Val, ptr %t213, i32 0, i32 0
|
|
%t215 = load ptr, ptr %t214
|
|
%t216 = call ptr @fn_color_lerp_ch(ptr %t208, ptr %t212, ptr %t215)
|
|
store ptr %t216, ptr %t217
|
|
%t218 = load ptr, ptr %t191
|
|
%t219 = load ptr, ptr %t204
|
|
%t220 = load ptr, ptr %t217
|
|
%t221 = call ptr @fn_color_pack(ptr %t218, ptr %t219, ptr %t220)
|
|
%t222 = call ptr @fn_val(ptr %t221, ptr @.str3625)
|
|
store ptr %t222, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t223 = load ptr, ptr %t0
|
|
%t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str3626)
|
|
%t225 = icmp ne i32 %t224, 0
|
|
br i1 %t225, label %then12, label %ifend14
|
|
then12:
|
|
%t226 = load ptr, ptr %t1
|
|
%t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 7
|
|
%t228 = load ptr, ptr %t227
|
|
%t229 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 0
|
|
%t230 = load ptr, ptr %t229
|
|
%t231 = getelementptr inbounds ptr, ptr %t230, i32 0
|
|
%t232 = load ptr, ptr %t231
|
|
%t233 = call ptr @fn_emit_expr(ptr %t232)
|
|
store ptr %t233, ptr %t234
|
|
%t235 = load ptr, ptr %t1
|
|
%t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 7
|
|
%t237 = load ptr, ptr %t236
|
|
%t238 = getelementptr inbounds %LSlice, ptr %t237, i32 0, i32 0
|
|
%t239 = load ptr, ptr %t238
|
|
%t240 = getelementptr inbounds ptr, ptr %t239, i32 1
|
|
%t241 = load ptr, ptr %t240
|
|
%t242 = call ptr @fn_emit_expr(ptr %t241)
|
|
store ptr %t242, ptr %t243
|
|
%t244 = load ptr, ptr %t243
|
|
%t245 = getelementptr inbounds %Cmp_Val, ptr %t244, i32 0, i32 0
|
|
%t246 = load ptr, ptr %t245
|
|
%t247 = call ptr @fn_str_concat(ptr @.str3627, ptr %t246)
|
|
%t248 = call ptr @fn_emit_bind(ptr %t247)
|
|
store ptr %t248, ptr %t249
|
|
%t250 = load ptr, ptr %t234
|
|
%t251 = getelementptr inbounds %Cmp_Val, ptr %t250, i32 0, i32 0
|
|
%t252 = load ptr, ptr %t251
|
|
%t253 = call ptr @fn_color_ch(ptr %t252, ptr @.str3628)
|
|
store ptr %t253, ptr %t254
|
|
%t255 = load ptr, ptr %t234
|
|
%t256 = getelementptr inbounds %Cmp_Val, ptr %t255, i32 0, i32 0
|
|
%t257 = load ptr, ptr %t256
|
|
%t258 = call ptr @fn_color_ch(ptr %t257, ptr @.str3629)
|
|
store ptr %t258, ptr %t259
|
|
%t260 = load ptr, ptr %t234
|
|
%t261 = getelementptr inbounds %Cmp_Val, ptr %t260, i32 0, i32 0
|
|
%t262 = load ptr, ptr %t261
|
|
%t263 = call ptr @fn_color_ch(ptr %t262, ptr @.str3630)
|
|
store ptr %t263, ptr %t264
|
|
%t265 = load ptr, ptr %t254
|
|
%t266 = call ptr @fn_str_concat(ptr @.str3631, ptr %t265)
|
|
%t267 = call ptr @fn_str_concat(ptr %t266, ptr @.str3632)
|
|
%t268 = load ptr, ptr %t249
|
|
%t269 = call ptr @fn_str_concat(ptr %t267, ptr %t268)
|
|
%t270 = call ptr @fn_emit_bind(ptr %t269)
|
|
store ptr %t270, ptr %t271
|
|
%t272 = load ptr, ptr %t271
|
|
%t273 = call ptr @fn_str_concat(ptr @.str3633, ptr %t272)
|
|
%t274 = call ptr @fn_str_concat(ptr %t273, ptr @.str3634)
|
|
%t275 = call ptr @fn_emit_bind(ptr %t274)
|
|
store ptr %t275, ptr %t276
|
|
%t277 = load ptr, ptr %t259
|
|
%t278 = call ptr @fn_str_concat(ptr @.str3635, ptr %t277)
|
|
%t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str3636)
|
|
%t280 = load ptr, ptr %t249
|
|
%t281 = call ptr @fn_str_concat(ptr %t279, ptr %t280)
|
|
%t282 = call ptr @fn_emit_bind(ptr %t281)
|
|
store ptr %t282, ptr %t283
|
|
%t284 = load ptr, ptr %t283
|
|
%t285 = call ptr @fn_str_concat(ptr @.str3637, ptr %t284)
|
|
%t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str3638)
|
|
%t287 = call ptr @fn_emit_bind(ptr %t286)
|
|
store ptr %t287, ptr %t288
|
|
%t289 = load ptr, ptr %t264
|
|
%t290 = call ptr @fn_str_concat(ptr @.str3639, ptr %t289)
|
|
%t291 = call ptr @fn_str_concat(ptr %t290, ptr @.str3640)
|
|
%t292 = load ptr, ptr %t249
|
|
%t293 = call ptr @fn_str_concat(ptr %t291, ptr %t292)
|
|
%t294 = call ptr @fn_emit_bind(ptr %t293)
|
|
store ptr %t294, ptr %t295
|
|
%t296 = load ptr, ptr %t295
|
|
%t297 = call ptr @fn_str_concat(ptr @.str3641, ptr %t296)
|
|
%t298 = call ptr @fn_str_concat(ptr %t297, ptr @.str3642)
|
|
%t299 = call ptr @fn_emit_bind(ptr %t298)
|
|
store ptr %t299, ptr %t300
|
|
%t301 = load ptr, ptr %t276
|
|
%t302 = load ptr, ptr %t288
|
|
%t303 = load ptr, ptr %t300
|
|
%t304 = call ptr @fn_color_pack(ptr %t301, ptr %t302, ptr %t303)
|
|
%t305 = call ptr @fn_val(ptr %t304, ptr @.str3643)
|
|
store ptr %t305, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t306 = load ptr, ptr %t1
|
|
%t307 = getelementptr inbounds %Cmp_Node, ptr %t306, i32 0, i32 7
|
|
%t308 = load ptr, ptr %t307
|
|
%t309 = getelementptr inbounds %LSlice, ptr %t308, i32 0, i32 0
|
|
%t310 = load ptr, ptr %t309
|
|
%t311 = getelementptr inbounds ptr, ptr %t310, i32 0
|
|
%t312 = load ptr, ptr %t311
|
|
%t313 = call ptr @fn_emit_expr(ptr %t312)
|
|
store ptr %t313, ptr %t314
|
|
%t315 = load ptr, ptr %t1
|
|
%t316 = getelementptr inbounds %Cmp_Node, ptr %t315, i32 0, i32 7
|
|
%t317 = load ptr, ptr %t316
|
|
%t318 = getelementptr inbounds %LSlice, ptr %t317, i32 0, i32 0
|
|
%t319 = load ptr, ptr %t318
|
|
%t320 = getelementptr inbounds ptr, ptr %t319, i32 1
|
|
%t321 = load ptr, ptr %t320
|
|
%t322 = call ptr @fn_emit_expr(ptr %t321)
|
|
store ptr %t322, ptr %t323
|
|
%t324 = load ptr, ptr %t314
|
|
%t325 = getelementptr inbounds %Cmp_Val, ptr %t324, i32 0, i32 0
|
|
%t326 = load ptr, ptr %t325
|
|
%t327 = call ptr @fn_color_ch(ptr %t326, ptr @.str3644)
|
|
store ptr %t327, ptr %t328
|
|
%t329 = load ptr, ptr %t314
|
|
%t330 = getelementptr inbounds %Cmp_Val, ptr %t329, i32 0, i32 0
|
|
%t331 = load ptr, ptr %t330
|
|
%t332 = call ptr @fn_color_ch(ptr %t331, ptr @.str3645)
|
|
store ptr %t332, ptr %t333
|
|
%t334 = load ptr, ptr %t314
|
|
%t335 = getelementptr inbounds %Cmp_Val, ptr %t334, i32 0, i32 0
|
|
%t336 = load ptr, ptr %t335
|
|
%t337 = call ptr @fn_color_ch(ptr %t336, ptr @.str3646)
|
|
store ptr %t337, ptr %t338
|
|
%t339 = load ptr, ptr %t328
|
|
%t340 = call ptr @fn_str_concat(ptr @.str3647, ptr %t339)
|
|
%t341 = call ptr @fn_emit_bind(ptr %t340)
|
|
store ptr %t341, ptr %t342
|
|
%t343 = load ptr, ptr %t342
|
|
%t344 = call ptr @fn_str_concat(ptr @.str3648, ptr %t343)
|
|
%t345 = call ptr @fn_str_concat(ptr %t344, ptr @.str3649)
|
|
%t346 = load ptr, ptr %t323
|
|
%t347 = getelementptr inbounds %Cmp_Val, ptr %t346, i32 0, i32 0
|
|
%t348 = load ptr, ptr %t347
|
|
%t349 = call ptr @fn_str_concat(ptr %t345, ptr %t348)
|
|
%t350 = call ptr @fn_emit_bind(ptr %t349)
|
|
store ptr %t350, ptr %t351
|
|
%t352 = load ptr, ptr %t351
|
|
%t353 = call ptr @fn_str_concat(ptr @.str3650, ptr %t352)
|
|
%t354 = call ptr @fn_str_concat(ptr %t353, ptr @.str3651)
|
|
%t355 = call ptr @fn_emit_bind(ptr %t354)
|
|
store ptr %t355, ptr %t356
|
|
%t357 = load ptr, ptr %t328
|
|
%t358 = call ptr @fn_str_concat(ptr @.str3652, ptr %t357)
|
|
%t359 = call ptr @fn_str_concat(ptr %t358, ptr @.str3653)
|
|
%t360 = load ptr, ptr %t356
|
|
%t361 = call ptr @fn_str_concat(ptr %t359, ptr %t360)
|
|
%t362 = call ptr @fn_emit_bind(ptr %t361)
|
|
store ptr %t362, ptr %t363
|
|
%t364 = load ptr, ptr %t333
|
|
%t365 = call ptr @fn_str_concat(ptr @.str3654, ptr %t364)
|
|
%t366 = call ptr @fn_emit_bind(ptr %t365)
|
|
store ptr %t366, ptr %t367
|
|
%t368 = load ptr, ptr %t367
|
|
%t369 = call ptr @fn_str_concat(ptr @.str3655, ptr %t368)
|
|
%t370 = call ptr @fn_str_concat(ptr %t369, ptr @.str3656)
|
|
%t371 = load ptr, ptr %t323
|
|
%t372 = getelementptr inbounds %Cmp_Val, ptr %t371, i32 0, i32 0
|
|
%t373 = load ptr, ptr %t372
|
|
%t374 = call ptr @fn_str_concat(ptr %t370, ptr %t373)
|
|
%t375 = call ptr @fn_emit_bind(ptr %t374)
|
|
store ptr %t375, ptr %t376
|
|
%t377 = load ptr, ptr %t376
|
|
%t378 = call ptr @fn_str_concat(ptr @.str3657, ptr %t377)
|
|
%t379 = call ptr @fn_str_concat(ptr %t378, ptr @.str3658)
|
|
%t380 = call ptr @fn_emit_bind(ptr %t379)
|
|
store ptr %t380, ptr %t381
|
|
%t382 = load ptr, ptr %t333
|
|
%t383 = call ptr @fn_str_concat(ptr @.str3659, ptr %t382)
|
|
%t384 = call ptr @fn_str_concat(ptr %t383, ptr @.str3660)
|
|
%t385 = load ptr, ptr %t381
|
|
%t386 = call ptr @fn_str_concat(ptr %t384, ptr %t385)
|
|
%t387 = call ptr @fn_emit_bind(ptr %t386)
|
|
store ptr %t387, ptr %t388
|
|
%t389 = load ptr, ptr %t338
|
|
%t390 = call ptr @fn_str_concat(ptr @.str3661, ptr %t389)
|
|
%t391 = call ptr @fn_emit_bind(ptr %t390)
|
|
store ptr %t391, ptr %t392
|
|
%t393 = load ptr, ptr %t392
|
|
%t394 = call ptr @fn_str_concat(ptr @.str3662, ptr %t393)
|
|
%t395 = call ptr @fn_str_concat(ptr %t394, ptr @.str3663)
|
|
%t396 = load ptr, ptr %t323
|
|
%t397 = getelementptr inbounds %Cmp_Val, ptr %t396, i32 0, i32 0
|
|
%t398 = load ptr, ptr %t397
|
|
%t399 = call ptr @fn_str_concat(ptr %t395, ptr %t398)
|
|
%t400 = call ptr @fn_emit_bind(ptr %t399)
|
|
store ptr %t400, ptr %t401
|
|
%t402 = load ptr, ptr %t401
|
|
%t403 = call ptr @fn_str_concat(ptr @.str3664, ptr %t402)
|
|
%t404 = call ptr @fn_str_concat(ptr %t403, ptr @.str3665)
|
|
%t405 = call ptr @fn_emit_bind(ptr %t404)
|
|
store ptr %t405, ptr %t406
|
|
%t407 = load ptr, ptr %t338
|
|
%t408 = call ptr @fn_str_concat(ptr @.str3666, ptr %t407)
|
|
%t409 = call ptr @fn_str_concat(ptr %t408, ptr @.str3667)
|
|
%t410 = load ptr, ptr %t406
|
|
%t411 = call ptr @fn_str_concat(ptr %t409, ptr %t410)
|
|
%t412 = call ptr @fn_emit_bind(ptr %t411)
|
|
store ptr %t412, ptr %t413
|
|
%t414 = load ptr, ptr %t363
|
|
%t415 = load ptr, ptr %t388
|
|
%t416 = load ptr, ptr %t413
|
|
%t417 = call ptr @fn_color_pack(ptr %t414, ptr %t415, ptr %t416)
|
|
%t418 = call ptr @fn_val(ptr %t417, ptr @.str3668)
|
|
store ptr %t418, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t419 = load ptr, ptr %retval
|
|
ret ptr %t419
|
|
}
|
|
|
|
define i32 @fn_color_lookup(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
store ptr %arg_name, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str3669)
|
|
%t3 = icmp ne i32 %t2, 0
|
|
br i1 %t3, label %then0, label %ifend2
|
|
then0:
|
|
store i32 16777215, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str3670)
|
|
%t6 = icmp ne i32 %t5, 0
|
|
br i1 %t6, label %then3, label %ifend5
|
|
then3:
|
|
store i32 16775930, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str3671)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then6, label %ifend8
|
|
then6:
|
|
store i32 16777200, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str3672)
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then9, label %ifend11
|
|
then9:
|
|
store i32 15788758, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str3673)
|
|
%t15 = icmp ne i32 %t14, 0
|
|
br i1 %t15, label %then12, label %ifend14
|
|
then12:
|
|
store i32 16775920, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t16 = load ptr, ptr %t0
|
|
%t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str3674)
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then15, label %ifend17
|
|
then15:
|
|
store i32 16774638, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t19 = load ptr, ptr %t0
|
|
%t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str3675)
|
|
%t21 = icmp ne i32 %t20, 0
|
|
br i1 %t21, label %then18, label %ifend20
|
|
then18:
|
|
store i32 16445670, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str3676)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
br i1 %t24, label %then21, label %ifend23
|
|
then21:
|
|
store i32 16444375, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t25 = load ptr, ptr %t0
|
|
%t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str3677)
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then24, label %ifend26
|
|
then24:
|
|
store i32 16643558, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t28 = load ptr, ptr %t0
|
|
%t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str3678)
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then27, label %ifend29
|
|
then27:
|
|
store i32 16119260, ptr %retval
|
|
br label %ret
|
|
ifend29:
|
|
%t31 = load ptr, ptr %t0
|
|
%t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str3679)
|
|
%t33 = icmp ne i32 %t32, 0
|
|
br i1 %t33, label %then30, label %ifend32
|
|
then30:
|
|
store i32 16776656, ptr %retval
|
|
br label %ret
|
|
ifend32:
|
|
%t34 = load ptr, ptr %t0
|
|
%t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str3680)
|
|
%t36 = icmp ne i32 %t35, 0
|
|
br i1 %t36, label %then33, label %ifend35
|
|
then33:
|
|
store i32 15794160, ptr %retval
|
|
br label %ret
|
|
ifend35:
|
|
%t37 = load ptr, ptr %t0
|
|
%t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str3681)
|
|
%t39 = icmp ne i32 %t38, 0
|
|
br i1 %t39, label %then36, label %ifend38
|
|
then36:
|
|
store i32 16121850, ptr %retval
|
|
br label %ret
|
|
ifend38:
|
|
%t40 = load ptr, ptr %t0
|
|
%t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str3682)
|
|
%t42 = icmp ne i32 %t41, 0
|
|
br i1 %t42, label %then39, label %ifend41
|
|
then39:
|
|
store i32 15794175, ptr %retval
|
|
br label %ret
|
|
ifend41:
|
|
%t43 = load ptr, ptr %t0
|
|
%t44 = call i32 @fn_str_eq(ptr %t43, ptr @.str3683)
|
|
%t45 = icmp ne i32 %t44, 0
|
|
br i1 %t45, label %then42, label %ifend44
|
|
then42:
|
|
store i32 15792383, ptr %retval
|
|
br label %ret
|
|
ifend44:
|
|
%t46 = load ptr, ptr %t0
|
|
%t47 = call i32 @fn_str_eq(ptr %t46, ptr @.str3684)
|
|
%t48 = icmp ne i32 %t47, 0
|
|
br i1 %t48, label %then45, label %ifend47
|
|
then45:
|
|
store i32 16316671, ptr %retval
|
|
br label %ret
|
|
ifend47:
|
|
%t49 = load ptr, ptr %t0
|
|
%t50 = call i32 @fn_str_eq(ptr %t49, ptr @.str3685)
|
|
%t51 = icmp ne i32 %t50, 0
|
|
br i1 %t51, label %then48, label %ifend50
|
|
then48:
|
|
store i32 16119285, ptr %retval
|
|
br label %ret
|
|
ifend50:
|
|
%t52 = load ptr, ptr %t0
|
|
%t53 = call i32 @fn_str_eq(ptr %t52, ptr @.str3686)
|
|
%t54 = icmp ne i32 %t53, 0
|
|
br i1 %t54, label %then51, label %ifend53
|
|
then51:
|
|
store i32 15132410, ptr %retval
|
|
br label %ret
|
|
ifend53:
|
|
%t55 = load ptr, ptr %t0
|
|
%t56 = call i32 @fn_str_eq(ptr %t55, ptr @.str3687)
|
|
%t57 = icmp ne i32 %t56, 0
|
|
br i1 %t57, label %then54, label %ifend56
|
|
then54:
|
|
store i32 14932681, ptr %retval
|
|
br label %ret
|
|
ifend56:
|
|
%t58 = load ptr, ptr %t0
|
|
%t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str3688)
|
|
%t60 = icmp ne i32 %t59, 0
|
|
br i1 %t60, label %then57, label %ifend59
|
|
then57:
|
|
store i32 15854034, ptr %retval
|
|
br label %ret
|
|
ifend59:
|
|
%t61 = load ptr, ptr %t0
|
|
%t62 = call i32 @fn_str_eq(ptr %t61, ptr @.str3689)
|
|
%t63 = icmp ne i32 %t62, 0
|
|
br i1 %t63, label %then60, label %ifend62
|
|
then60:
|
|
store i32 14474460, ptr %retval
|
|
br label %ret
|
|
ifend62:
|
|
%t64 = load ptr, ptr %t0
|
|
%t65 = call i32 @fn_str_eq(ptr %t64, ptr @.str3690)
|
|
%t66 = icmp ne i32 %t65, 0
|
|
br i1 %t66, label %then63, label %ifend65
|
|
then63:
|
|
store i32 13882323, ptr %retval
|
|
br label %ret
|
|
ifend65:
|
|
%t67 = load ptr, ptr %t0
|
|
%t68 = call i32 @fn_str_eq(ptr %t67, ptr @.str3691)
|
|
%t69 = icmp ne i32 %t68, 0
|
|
br i1 %t69, label %then66, label %ifend68
|
|
then66:
|
|
store i32 12632256, ptr %retval
|
|
br label %ret
|
|
ifend68:
|
|
%t70 = load ptr, ptr %t0
|
|
%t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str3692)
|
|
%t72 = icmp ne i32 %t71, 0
|
|
br i1 %t72, label %then69, label %ifend71
|
|
then69:
|
|
store i32 11714229, ptr %retval
|
|
br label %ret
|
|
ifend71:
|
|
%t73 = load ptr, ptr %t0
|
|
%t74 = call i32 @fn_str_eq(ptr %t73, ptr @.str3693)
|
|
%t75 = icmp ne i32 %t74, 0
|
|
br i1 %t75, label %then72, label %ifend74
|
|
then72:
|
|
store i32 11119017, ptr %retval
|
|
br label %ret
|
|
ifend74:
|
|
%t76 = load ptr, ptr %t0
|
|
%t77 = call i32 @fn_str_eq(ptr %t76, ptr @.str3694)
|
|
%t78 = icmp ne i32 %t77, 0
|
|
br i1 %t78, label %then75, label %ifend77
|
|
then75:
|
|
store i32 8421504, ptr %retval
|
|
br label %ret
|
|
ifend77:
|
|
%t79 = load ptr, ptr %t0
|
|
%t80 = call i32 @fn_str_eq(ptr %t79, ptr @.str3695)
|
|
%t81 = icmp ne i32 %t80, 0
|
|
br i1 %t81, label %then78, label %ifend80
|
|
then78:
|
|
store i32 6908265, ptr %retval
|
|
br label %ret
|
|
ifend80:
|
|
%t82 = load ptr, ptr %t0
|
|
%t83 = call i32 @fn_str_eq(ptr %t82, ptr @.str3696)
|
|
%t84 = icmp ne i32 %t83, 0
|
|
br i1 %t84, label %then81, label %ifend83
|
|
then81:
|
|
store i32 7500914, ptr %retval
|
|
br label %ret
|
|
ifend83:
|
|
%t85 = load ptr, ptr %t0
|
|
%t86 = call i32 @fn_str_eq(ptr %t85, ptr @.str3697)
|
|
%t87 = icmp ne i32 %t86, 0
|
|
br i1 %t87, label %then84, label %ifend86
|
|
then84:
|
|
store i32 7372944, ptr %retval
|
|
br label %ret
|
|
ifend86:
|
|
%t88 = load ptr, ptr %t0
|
|
%t89 = call i32 @fn_str_eq(ptr %t88, ptr @.str3698)
|
|
%t90 = icmp ne i32 %t89, 0
|
|
br i1 %t90, label %then87, label %ifend89
|
|
then87:
|
|
store i32 7372944, ptr %retval
|
|
br label %ret
|
|
ifend89:
|
|
%t91 = load ptr, ptr %t0
|
|
%t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str3699)
|
|
%t93 = icmp ne i32 %t92, 0
|
|
br i1 %t93, label %then90, label %ifend92
|
|
then90:
|
|
store i32 7833753, ptr %retval
|
|
br label %ret
|
|
ifend92:
|
|
%t94 = load ptr, ptr %t0
|
|
%t95 = call i32 @fn_str_eq(ptr %t94, ptr @.str3700)
|
|
%t96 = icmp ne i32 %t95, 0
|
|
br i1 %t96, label %then93, label %ifend95
|
|
then93:
|
|
store i32 2765881, ptr %retval
|
|
br label %ret
|
|
ifend95:
|
|
%t97 = load ptr, ptr %t0
|
|
%t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str3701)
|
|
%t99 = icmp ne i32 %t98, 0
|
|
br i1 %t99, label %then96, label %ifend98
|
|
then96:
|
|
store i32 3556687, ptr %retval
|
|
br label %ret
|
|
ifend98:
|
|
%t100 = load ptr, ptr %t0
|
|
%t101 = call i32 @fn_str_eq(ptr %t100, ptr @.str3702)
|
|
%t102 = icmp ne i32 %t101, 0
|
|
br i1 %t102, label %then99, label %ifend101
|
|
then99:
|
|
store i32 1842204, ptr %retval
|
|
br label %ret
|
|
ifend101:
|
|
%t103 = load ptr, ptr %t0
|
|
%t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str3703)
|
|
%t105 = icmp ne i32 %t104, 0
|
|
br i1 %t105, label %then102, label %ifend104
|
|
then102:
|
|
store i32 3487801, ptr %retval
|
|
br label %ret
|
|
ifend104:
|
|
%t106 = load ptr, ptr %t0
|
|
%t107 = call i32 @fn_str_eq(ptr %t106, ptr @.str3704)
|
|
%t108 = icmp ne i32 %t107, 0
|
|
br i1 %t108, label %then105, label %ifend107
|
|
then105:
|
|
store i32 3421236, ptr %retval
|
|
br label %ret
|
|
ifend107:
|
|
%t109 = load ptr, ptr %t0
|
|
%t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str3705)
|
|
%t111 = icmp ne i32 %t110, 0
|
|
br i1 %t111, label %then108, label %ifend110
|
|
then108:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ifend110:
|
|
%t112 = load ptr, ptr %t0
|
|
%t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str3706)
|
|
%t114 = icmp ne i32 %t113, 0
|
|
br i1 %t114, label %then111, label %ifend113
|
|
then111:
|
|
store i32 1776411, ptr %retval
|
|
br label %ret
|
|
ifend113:
|
|
%t115 = load ptr, ptr %t0
|
|
%t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str3707)
|
|
%t117 = icmp ne i32 %t116, 0
|
|
br i1 %t117, label %then114, label %ifend116
|
|
then114:
|
|
store i32 2367780, ptr %retval
|
|
br label %ret
|
|
ifend116:
|
|
%t118 = load ptr, ptr %t0
|
|
%t119 = call i32 @fn_str_eq(ptr %t118, ptr @.str3708)
|
|
%t120 = icmp ne i32 %t119, 0
|
|
br i1 %t120, label %then117, label %ifend119
|
|
then117:
|
|
store i32 5594448, ptr %retval
|
|
br label %ret
|
|
ifend119:
|
|
%t121 = load ptr, ptr %t0
|
|
%t122 = call i32 @fn_str_eq(ptr %t121, ptr @.str3709)
|
|
%t123 = icmp ne i32 %t122, 0
|
|
br i1 %t123, label %then120, label %ifend122
|
|
then120:
|
|
store i32 16711680, ptr %retval
|
|
br label %ret
|
|
ifend122:
|
|
%t124 = load ptr, ptr %t0
|
|
%t125 = call i32 @fn_str_eq(ptr %t124, ptr @.str3710)
|
|
%t126 = icmp ne i32 %t125, 0
|
|
br i1 %t126, label %then123, label %ifend125
|
|
then123:
|
|
store i32 14423100, ptr %retval
|
|
br label %ret
|
|
ifend125:
|
|
%t127 = load ptr, ptr %t0
|
|
%t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str3711)
|
|
%t129 = icmp ne i32 %t128, 0
|
|
br i1 %t129, label %then126, label %ifend128
|
|
then126:
|
|
store i32 16720896, ptr %retval
|
|
br label %ret
|
|
ifend128:
|
|
%t130 = load ptr, ptr %t0
|
|
%t131 = call i32 @fn_str_eq(ptr %t130, ptr @.str3712)
|
|
%t132 = icmp ne i32 %t131, 0
|
|
br i1 %t132, label %then129, label %ifend131
|
|
then129:
|
|
store i32 14893620, ptr %retval
|
|
br label %ret
|
|
ifend131:
|
|
%t133 = load ptr, ptr %t0
|
|
%t134 = call i32 @fn_str_eq(ptr %t133, ptr @.str3713)
|
|
%t135 = icmp ne i32 %t134, 0
|
|
br i1 %t135, label %then132, label %ifend134
|
|
then132:
|
|
store i32 11674146, ptr %retval
|
|
br label %ret
|
|
ifend134:
|
|
%t136 = load ptr, ptr %t0
|
|
%t137 = call i32 @fn_str_eq(ptr %t136, ptr @.str3714)
|
|
%t138 = icmp ne i32 %t137, 0
|
|
br i1 %t138, label %then135, label %ifend137
|
|
then135:
|
|
store i32 14961966, ptr %retval
|
|
br label %ret
|
|
ifend137:
|
|
%t139 = load ptr, ptr %t0
|
|
%t140 = call i32 @fn_str_eq(ptr %t139, ptr @.str3715)
|
|
%t141 = icmp ne i32 %t140, 0
|
|
br i1 %t141, label %then138, label %ifend140
|
|
then138:
|
|
store i32 9109504, ptr %retval
|
|
br label %ret
|
|
ifend140:
|
|
%t142 = load ptr, ptr %t0
|
|
%t143 = call i32 @fn_str_eq(ptr %t142, ptr @.str3716)
|
|
%t144 = icmp ne i32 %t143, 0
|
|
br i1 %t144, label %then141, label %ifend143
|
|
then141:
|
|
store i32 8388608, ptr %retval
|
|
br label %ret
|
|
ifend143:
|
|
%t145 = load ptr, ptr %t0
|
|
%t146 = call i32 @fn_str_eq(ptr %t145, ptr @.str3717)
|
|
%t147 = icmp ne i32 %t146, 0
|
|
br i1 %t147, label %then144, label %ifend146
|
|
then144:
|
|
store i32 14684511, ptr %retval
|
|
br label %ret
|
|
ifend146:
|
|
%t148 = load ptr, ptr %t0
|
|
%t149 = call i32 @fn_str_eq(ptr %t148, ptr @.str3718)
|
|
%t150 = icmp ne i32 %t149, 0
|
|
br i1 %t150, label %then147, label %ifend149
|
|
then147:
|
|
store i32 12852794, ptr %retval
|
|
br label %ret
|
|
ifend149:
|
|
%t151 = load ptr, ptr %t0
|
|
%t152 = call i32 @fn_str_eq(ptr %t151, ptr @.str3719)
|
|
%t153 = icmp ne i32 %t152, 0
|
|
br i1 %t153, label %then150, label %ifend152
|
|
then150:
|
|
store i32 13458524, ptr %retval
|
|
br label %ret
|
|
ifend152:
|
|
%t154 = load ptr, ptr %t0
|
|
%t155 = call i32 @fn_str_eq(ptr %t154, ptr @.str3720)
|
|
%t156 = icmp ne i32 %t155, 0
|
|
br i1 %t156, label %then153, label %ifend155
|
|
then153:
|
|
store i32 12009742, ptr %retval
|
|
br label %ret
|
|
ifend155:
|
|
%t157 = load ptr, ptr %t0
|
|
%t158 = call i32 @fn_str_eq(ptr %t157, ptr @.str3721)
|
|
%t159 = icmp ne i32 %t158, 0
|
|
br i1 %t159, label %then156, label %ifend158
|
|
then156:
|
|
store i32 9568266, ptr %retval
|
|
br label %ret
|
|
ifend158:
|
|
%t160 = load ptr, ptr %t0
|
|
%t161 = call i32 @fn_str_eq(ptr %t160, ptr @.str3722)
|
|
%t162 = icmp ne i32 %t161, 0
|
|
br i1 %t162, label %then159, label %ifend161
|
|
then159:
|
|
store i32 10771026, ptr %retval
|
|
br label %ret
|
|
ifend161:
|
|
%t163 = load ptr, ptr %t0
|
|
%t164 = call i32 @fn_str_eq(ptr %t163, ptr @.str3723)
|
|
%t165 = icmp ne i32 %t164, 0
|
|
br i1 %t165, label %then162, label %ifend164
|
|
then162:
|
|
store i32 14561635, ptr %retval
|
|
br label %ret
|
|
ifend164:
|
|
%t166 = load ptr, ptr %t0
|
|
%t167 = call i32 @fn_str_eq(ptr %t166, ptr @.str3724)
|
|
%t168 = icmp ne i32 %t167, 0
|
|
br i1 %t168, label %then165, label %ifend167
|
|
then165:
|
|
store i32 15018832, ptr %retval
|
|
br label %ret
|
|
ifend167:
|
|
%t169 = load ptr, ptr %t0
|
|
%t170 = call i32 @fn_str_eq(ptr %t169, ptr @.str3725)
|
|
%t171 = icmp ne i32 %t170, 0
|
|
br i1 %t171, label %then168, label %ifend170
|
|
then168:
|
|
store i32 9830424, ptr %retval
|
|
br label %ret
|
|
ifend170:
|
|
%t172 = load ptr, ptr %t0
|
|
%t173 = call i32 @fn_str_eq(ptr %t172, ptr @.str3726)
|
|
%t174 = icmp ne i32 %t173, 0
|
|
br i1 %t174, label %then171, label %ifend173
|
|
then171:
|
|
store i32 9782581, ptr %retval
|
|
br label %ret
|
|
ifend173:
|
|
%t175 = load ptr, ptr %t0
|
|
%t176 = call i32 @fn_str_eq(ptr %t175, ptr @.str3727)
|
|
%t177 = icmp ne i32 %t176, 0
|
|
br i1 %t177, label %then174, label %ifend176
|
|
then174:
|
|
store i32 13320532, ptr %retval
|
|
br label %ret
|
|
ifend176:
|
|
%t178 = load ptr, ptr %t0
|
|
%t179 = call i32 @fn_str_eq(ptr %t178, ptr @.str3728)
|
|
%t180 = icmp ne i32 %t179, 0
|
|
br i1 %t180, label %then177, label %ifend179
|
|
then177:
|
|
store i32 14840411, ptr %retval
|
|
br label %ret
|
|
ifend179:
|
|
%t181 = load ptr, ptr %t0
|
|
%t182 = call i32 @fn_str_eq(ptr %t181, ptr @.str3729)
|
|
%t183 = icmp ne i32 %t182, 0
|
|
br i1 %t183, label %then180, label %ifend182
|
|
then180:
|
|
store i32 16761035, ptr %retval
|
|
br label %ret
|
|
ifend182:
|
|
%t184 = load ptr, ptr %t0
|
|
%t185 = call i32 @fn_str_eq(ptr %t184, ptr @.str3730)
|
|
%t186 = icmp ne i32 %t185, 0
|
|
br i1 %t186, label %then183, label %ifend185
|
|
then183:
|
|
store i32 16758465, ptr %retval
|
|
br label %ret
|
|
ifend185:
|
|
%t187 = load ptr, ptr %t0
|
|
%t188 = call i32 @fn_str_eq(ptr %t187, ptr @.str3731)
|
|
%t189 = icmp ne i32 %t188, 0
|
|
br i1 %t189, label %then186, label %ifend188
|
|
then186:
|
|
store i32 16738740, ptr %retval
|
|
br label %ret
|
|
ifend188:
|
|
%t190 = load ptr, ptr %t0
|
|
%t191 = call i32 @fn_str_eq(ptr %t190, ptr @.str3732)
|
|
%t192 = icmp ne i32 %t191, 0
|
|
br i1 %t192, label %then189, label %ifend191
|
|
then189:
|
|
store i32 16716947, ptr %retval
|
|
br label %ret
|
|
ifend191:
|
|
%t193 = load ptr, ptr %t0
|
|
%t194 = call i32 @fn_str_eq(ptr %t193, ptr @.str3733)
|
|
%t195 = icmp ne i32 %t194, 0
|
|
br i1 %t195, label %then192, label %ifend194
|
|
then192:
|
|
store i32 14381203, ptr %retval
|
|
br label %ret
|
|
ifend194:
|
|
%t196 = load ptr, ptr %t0
|
|
%t197 = call i32 @fn_str_eq(ptr %t196, ptr @.str3734)
|
|
%t198 = icmp ne i32 %t197, 0
|
|
br i1 %t198, label %then195, label %ifend197
|
|
then195:
|
|
store i32 16711807, ptr %retval
|
|
br label %ret
|
|
ifend197:
|
|
%t199 = load ptr, ptr %t0
|
|
%t200 = call i32 @fn_str_eq(ptr %t199, ptr @.str3735)
|
|
%t201 = icmp ne i32 %t200, 0
|
|
br i1 %t201, label %then198, label %ifend200
|
|
then198:
|
|
store i32 14572931, ptr %retval
|
|
br label %ret
|
|
ifend200:
|
|
%t202 = load ptr, ptr %t0
|
|
%t203 = call i32 @fn_str_eq(ptr %t202, ptr @.str3736)
|
|
%t204 = icmp ne i32 %t203, 0
|
|
br i1 %t204, label %then201, label %ifend203
|
|
then201:
|
|
store i32 16416882, ptr %retval
|
|
br label %ret
|
|
ifend203:
|
|
%t205 = load ptr, ptr %t0
|
|
%t206 = call i32 @fn_str_eq(ptr %t205, ptr @.str3737)
|
|
%t207 = icmp ne i32 %t206, 0
|
|
br i1 %t207, label %then204, label %ifend206
|
|
then204:
|
|
store i32 16752762, ptr %retval
|
|
br label %ret
|
|
ifend206:
|
|
%t208 = load ptr, ptr %t0
|
|
%t209 = call i32 @fn_str_eq(ptr %t208, ptr @.str3738)
|
|
%t210 = icmp ne i32 %t209, 0
|
|
br i1 %t210, label %then207, label %ifend209
|
|
then207:
|
|
store i32 15308410, ptr %retval
|
|
br label %ret
|
|
ifend209:
|
|
%t211 = load ptr, ptr %t0
|
|
%t212 = call i32 @fn_str_eq(ptr %t211, ptr @.str3739)
|
|
%t213 = icmp ne i32 %t212, 0
|
|
br i1 %t213, label %then210, label %ifend212
|
|
then210:
|
|
store i32 16744272, ptr %retval
|
|
br label %ret
|
|
ifend212:
|
|
%t214 = load ptr, ptr %t0
|
|
%t215 = call i32 @fn_str_eq(ptr %t214, ptr @.str3740)
|
|
%t216 = icmp ne i32 %t215, 0
|
|
br i1 %t216, label %then213, label %ifend215
|
|
then213:
|
|
store i32 16542853, ptr %retval
|
|
br label %ret
|
|
ifend215:
|
|
%t217 = load ptr, ptr %t0
|
|
%t218 = call i32 @fn_str_eq(ptr %t217, ptr @.str3741)
|
|
%t219 = icmp ne i32 %t218, 0
|
|
br i1 %t219, label %then216, label %ifend218
|
|
then216:
|
|
store i32 16551596, ptr %retval
|
|
br label %ret
|
|
ifend218:
|
|
%t220 = load ptr, ptr %t0
|
|
%t221 = call i32 @fn_str_eq(ptr %t220, ptr @.str3742)
|
|
%t222 = icmp ne i32 %t221, 0
|
|
br i1 %t222, label %then219, label %ifend221
|
|
then219:
|
|
store i32 16761292, ptr %retval
|
|
br label %ret
|
|
ifend221:
|
|
%t223 = load ptr, ptr %t0
|
|
%t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str3743)
|
|
%t225 = icmp ne i32 %t224, 0
|
|
br i1 %t225, label %then222, label %ifend224
|
|
then222:
|
|
store i32 16711935, ptr %retval
|
|
br label %ret
|
|
ifend224:
|
|
%t226 = load ptr, ptr %t0
|
|
%t227 = call i32 @fn_str_eq(ptr %t226, ptr @.str3744)
|
|
%t228 = icmp ne i32 %t227, 0
|
|
br i1 %t228, label %then225, label %ifend227
|
|
then225:
|
|
store i32 16711935, ptr %retval
|
|
br label %ret
|
|
ifend227:
|
|
%t229 = load ptr, ptr %t0
|
|
%t230 = call i32 @fn_str_eq(ptr %t229, ptr @.str3745)
|
|
%t231 = icmp ne i32 %t230, 0
|
|
br i1 %t231, label %then228, label %ifend230
|
|
then228:
|
|
store i32 14725375, ptr %retval
|
|
br label %ret
|
|
ifend230:
|
|
%t232 = load ptr, ptr %t0
|
|
%t233 = call i32 @fn_str_eq(ptr %t232, ptr @.str3746)
|
|
%t234 = icmp ne i32 %t233, 0
|
|
br i1 %t234, label %then231, label %ifend233
|
|
then231:
|
|
store i32 13404313, ptr %retval
|
|
br label %ret
|
|
ifend233:
|
|
%t235 = load ptr, ptr %t0
|
|
%t236 = call i32 @fn_str_eq(ptr %t235, ptr @.str3747)
|
|
%t237 = icmp ne i32 %t236, 0
|
|
br i1 %t237, label %then234, label %ifend236
|
|
then234:
|
|
store i32 14204888, ptr %retval
|
|
br label %ret
|
|
ifend236:
|
|
%t238 = load ptr, ptr %t0
|
|
%t239 = call i32 @fn_str_eq(ptr %t238, ptr @.str3748)
|
|
%t240 = icmp ne i32 %t239, 0
|
|
br i1 %t240, label %then237, label %ifend239
|
|
then237:
|
|
store i32 14315734, ptr %retval
|
|
br label %ret
|
|
ifend239:
|
|
%t241 = load ptr, ptr %t0
|
|
%t242 = call i32 @fn_str_eq(ptr %t241, ptr @.str3749)
|
|
%t243 = icmp ne i32 %t242, 0
|
|
br i1 %t243, label %then240, label %ifend242
|
|
then240:
|
|
store i32 16753920, ptr %retval
|
|
br label %ret
|
|
ifend242:
|
|
%t244 = load ptr, ptr %t0
|
|
%t245 = call i32 @fn_str_eq(ptr %t244, ptr @.str3750)
|
|
%t246 = icmp ne i32 %t245, 0
|
|
br i1 %t246, label %then243, label %ifend245
|
|
then243:
|
|
store i32 16747520, ptr %retval
|
|
br label %ret
|
|
ifend245:
|
|
%t247 = load ptr, ptr %t0
|
|
%t248 = call i32 @fn_str_eq(ptr %t247, ptr @.str3751)
|
|
%t249 = icmp ne i32 %t248, 0
|
|
br i1 %t249, label %then246, label %ifend248
|
|
then246:
|
|
store i32 15893760, ptr %retval
|
|
br label %ret
|
|
ifend248:
|
|
%t250 = load ptr, ptr %t0
|
|
%t251 = call i32 @fn_str_eq(ptr %t250, ptr @.str3752)
|
|
%t252 = icmp ne i32 %t251, 0
|
|
br i1 %t252, label %then249, label %ifend251
|
|
then249:
|
|
store i32 16741656, ptr %retval
|
|
br label %ret
|
|
ifend251:
|
|
%t253 = load ptr, ptr %t0
|
|
%t254 = call i32 @fn_str_eq(ptr %t253, ptr @.str3753)
|
|
%t255 = icmp ne i32 %t254, 0
|
|
br i1 %t255, label %then252, label %ifend254
|
|
then252:
|
|
store i32 16502449, ptr %retval
|
|
br label %ret
|
|
ifend254:
|
|
%t256 = load ptr, ptr %t0
|
|
%t257 = call i32 @fn_str_eq(ptr %t256, ptr @.str3754)
|
|
%t258 = icmp ne i32 %t257, 0
|
|
br i1 %t258, label %then255, label %ifend257
|
|
then255:
|
|
store i32 16770484, ptr %retval
|
|
br label %ret
|
|
ifend257:
|
|
%t259 = load ptr, ptr %t0
|
|
%t260 = call i32 @fn_str_eq(ptr %t259, ptr @.str3755)
|
|
%t261 = icmp ne i32 %t260, 0
|
|
br i1 %t261, label %then258, label %ifend260
|
|
then258:
|
|
store i32 16754219, ptr %retval
|
|
br label %ret
|
|
ifend260:
|
|
%t262 = load ptr, ptr %t0
|
|
%t263 = call i32 @fn_str_eq(ptr %t262, ptr @.str3756)
|
|
%t264 = icmp ne i32 %t263, 0
|
|
br i1 %t264, label %then261, label %ifend263
|
|
then261:
|
|
store i32 16760576, ptr %retval
|
|
br label %ret
|
|
ifend263:
|
|
%t265 = load ptr, ptr %t0
|
|
%t266 = call i32 @fn_str_eq(ptr %t265, ptr @.str3757)
|
|
%t267 = icmp ne i32 %t266, 0
|
|
br i1 %t267, label %then264, label %ifend266
|
|
then264:
|
|
store i32 13467442, ptr %retval
|
|
br label %ret
|
|
ifend266:
|
|
%t268 = load ptr, ptr %t0
|
|
%t269 = call i32 @fn_str_eq(ptr %t268, ptr @.str3758)
|
|
%t270 = icmp ne i32 %t269, 0
|
|
br i1 %t270, label %then267, label %ifend269
|
|
then267:
|
|
store i32 12088115, ptr %retval
|
|
br label %ret
|
|
ifend269:
|
|
%t271 = load ptr, ptr %t0
|
|
%t272 = call i32 @fn_str_eq(ptr %t271, ptr @.str3759)
|
|
%t273 = icmp ne i32 %t272, 0
|
|
br i1 %t273, label %then270, label %ifend272
|
|
then270:
|
|
store i32 15376929, ptr %retval
|
|
br label %ret
|
|
ifend272:
|
|
%t274 = load ptr, ptr %t0
|
|
%t275 = call i32 @fn_str_eq(ptr %t274, ptr @.str3760)
|
|
%t276 = icmp ne i32 %t275, 0
|
|
br i1 %t276, label %then273, label %ifend275
|
|
then273:
|
|
store i32 15569185, ptr %retval
|
|
br label %ret
|
|
ifend275:
|
|
%t277 = load ptr, ptr %t0
|
|
%t278 = call i32 @fn_str_eq(ptr %t277, ptr @.str3761)
|
|
%t279 = icmp ne i32 %t278, 0
|
|
br i1 %t279, label %then276, label %ifend278
|
|
then276:
|
|
store i32 15489024, ptr %retval
|
|
br label %ret
|
|
ifend278:
|
|
%t280 = load ptr, ptr %t0
|
|
%t281 = call i32 @fn_str_eq(ptr %t280, ptr @.str3762)
|
|
%t282 = icmp ne i32 %t281, 0
|
|
br i1 %t282, label %then279, label %ifend281
|
|
then279:
|
|
store i32 16752172, ptr %retval
|
|
br label %ret
|
|
ifend281:
|
|
%t283 = load ptr, ptr %t0
|
|
%t284 = call i32 @fn_str_eq(ptr %t283, ptr @.str3763)
|
|
%t285 = icmp ne i32 %t284, 0
|
|
br i1 %t285, label %then282, label %ifend284
|
|
then282:
|
|
store i32 16438949, ptr %retval
|
|
br label %ret
|
|
ifend284:
|
|
%t286 = load ptr, ptr %t0
|
|
%t287 = call i32 @fn_str_eq(ptr %t286, ptr @.str3764)
|
|
%t288 = icmp ne i32 %t287, 0
|
|
br i1 %t288, label %then285, label %ifend287
|
|
then285:
|
|
store i32 16776960, ptr %retval
|
|
br label %ret
|
|
ifend287:
|
|
%t289 = load ptr, ptr %t0
|
|
%t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str3765)
|
|
%t291 = icmp ne i32 %t290, 0
|
|
br i1 %t291, label %then288, label %ifend290
|
|
then288:
|
|
store i32 16777184, ptr %retval
|
|
br label %ret
|
|
ifend290:
|
|
%t292 = load ptr, ptr %t0
|
|
%t293 = call i32 @fn_str_eq(ptr %t292, ptr @.str3766)
|
|
%t294 = icmp ne i32 %t293, 0
|
|
br i1 %t294, label %then291, label %ifend293
|
|
then291:
|
|
store i32 16766720, ptr %retval
|
|
br label %ret
|
|
ifend293:
|
|
%t295 = load ptr, ptr %t0
|
|
%t296 = call i32 @fn_str_eq(ptr %t295, ptr @.str3767)
|
|
%t297 = icmp ne i32 %t296, 0
|
|
br i1 %t297, label %then294, label %ifend296
|
|
then294:
|
|
store i32 14329120, ptr %retval
|
|
br label %ret
|
|
ifend296:
|
|
%t298 = load ptr, ptr %t0
|
|
%t299 = call i32 @fn_str_eq(ptr %t298, ptr @.str3768)
|
|
%t300 = icmp ne i32 %t299, 0
|
|
br i1 %t300, label %then297, label %ifend299
|
|
then297:
|
|
store i32 16774912, ptr %retval
|
|
br label %ret
|
|
ifend299:
|
|
%t301 = load ptr, ptr %t0
|
|
%t302 = call i32 @fn_str_eq(ptr %t301, ptr @.str3769)
|
|
%t303 = icmp ne i32 %t302, 0
|
|
br i1 %t303, label %then300, label %ifend302
|
|
then300:
|
|
store i32 16772864, ptr %retval
|
|
br label %ret
|
|
ifend302:
|
|
%t304 = load ptr, ptr %t0
|
|
%t305 = call i32 @fn_str_eq(ptr %t304, ptr @.str3770)
|
|
%t306 = icmp ne i32 %t305, 0
|
|
br i1 %t306, label %then303, label %ifend305
|
|
then303:
|
|
store i32 16767832, ptr %retval
|
|
br label %ret
|
|
ifend305:
|
|
%t307 = load ptr, ptr %t0
|
|
%t308 = call i32 @fn_str_eq(ptr %t307, ptr @.str3771)
|
|
%t309 = icmp ne i32 %t308, 0
|
|
br i1 %t309, label %then306, label %ifend308
|
|
then306:
|
|
store i32 15654018, ptr %retval
|
|
br label %ret
|
|
ifend308:
|
|
%t310 = load ptr, ptr %t0
|
|
%t311 = call i32 @fn_str_eq(ptr %t310, ptr @.str3772)
|
|
%t312 = icmp ne i32 %t311, 0
|
|
br i1 %t312, label %then309, label %ifend311
|
|
then309:
|
|
store i32 16113331, ptr %retval
|
|
br label %ret
|
|
ifend311:
|
|
%t313 = load ptr, ptr %t0
|
|
%t314 = call i32 @fn_str_eq(ptr %t313, ptr @.str3773)
|
|
%t315 = icmp ne i32 %t314, 0
|
|
br i1 %t315, label %then312, label %ifend314
|
|
then312:
|
|
store i32 16510045, ptr %retval
|
|
br label %ret
|
|
ifend314:
|
|
%t316 = load ptr, ptr %t0
|
|
%t317 = call i32 @fn_str_eq(ptr %t316, ptr @.str3774)
|
|
%t318 = icmp ne i32 %t317, 0
|
|
br i1 %t318, label %then315, label %ifend317
|
|
then315:
|
|
store i32 15786288, ptr %retval
|
|
br label %ret
|
|
ifend317:
|
|
%t319 = load ptr, ptr %t0
|
|
%t320 = call i32 @fn_str_eq(ptr %t319, ptr @.str3775)
|
|
%t321 = icmp ne i32 %t320, 0
|
|
br i1 %t321, label %then318, label %ifend320
|
|
then318:
|
|
store i32 16041008, ptr %retval
|
|
br label %ret
|
|
ifend320:
|
|
%t322 = load ptr, ptr %t0
|
|
%t323 = call i32 @fn_str_eq(ptr %t322, ptr @.str3776)
|
|
%t324 = icmp ne i32 %t323, 0
|
|
br i1 %t324, label %then321, label %ifend323
|
|
then321:
|
|
store i32 15787660, ptr %retval
|
|
br label %ret
|
|
ifend323:
|
|
%t325 = load ptr, ptr %t0
|
|
%t326 = call i32 @fn_str_eq(ptr %t325, ptr @.str3777)
|
|
%t327 = icmp ne i32 %t326, 0
|
|
br i1 %t327, label %then324, label %ifend326
|
|
then324:
|
|
store i32 12433259, ptr %retval
|
|
br label %ret
|
|
ifend326:
|
|
%t328 = load ptr, ptr %t0
|
|
%t329 = call i32 @fn_str_eq(ptr %t328, ptr @.str3778)
|
|
%t330 = icmp ne i32 %t329, 0
|
|
br i1 %t330, label %then327, label %ifend329
|
|
then327:
|
|
store i32 14997871, ptr %retval
|
|
br label %ret
|
|
ifend329:
|
|
%t331 = load ptr, ptr %t0
|
|
%t332 = call i32 @fn_str_eq(ptr %t331, ptr @.str3779)
|
|
%t333 = icmp ne i32 %t332, 0
|
|
br i1 %t333, label %then330, label %ifend332
|
|
then330:
|
|
store i32 9127187, ptr %retval
|
|
br label %ret
|
|
ifend332:
|
|
%t334 = load ptr, ptr %t0
|
|
%t335 = call i32 @fn_str_eq(ptr %t334, ptr @.str3780)
|
|
%t336 = icmp ne i32 %t335, 0
|
|
br i1 %t336, label %then333, label %ifend335
|
|
then333:
|
|
store i32 9127187, ptr %retval
|
|
br label %ret
|
|
ifend335:
|
|
%t337 = load ptr, ptr %t0
|
|
%t338 = call i32 @fn_str_eq(ptr %t337, ptr @.str3781)
|
|
%t339 = icmp ne i32 %t338, 0
|
|
br i1 %t339, label %then336, label %ifend338
|
|
then336:
|
|
store i32 10506797, ptr %retval
|
|
br label %ret
|
|
ifend338:
|
|
%t340 = load ptr, ptr %t0
|
|
%t341 = call i32 @fn_str_eq(ptr %t340, ptr @.str3782)
|
|
%t342 = icmp ne i32 %t341, 0
|
|
br i1 %t342, label %then339, label %ifend341
|
|
then339:
|
|
store i32 13789470, ptr %retval
|
|
br label %ret
|
|
ifend341:
|
|
%t343 = load ptr, ptr %t0
|
|
%t344 = call i32 @fn_str_eq(ptr %t343, ptr @.str3783)
|
|
%t345 = icmp ne i32 %t344, 0
|
|
br i1 %t345, label %then342, label %ifend344
|
|
then342:
|
|
store i32 13468991, ptr %retval
|
|
br label %ret
|
|
ifend344:
|
|
%t346 = load ptr, ptr %t0
|
|
%t347 = call i32 @fn_str_eq(ptr %t346, ptr @.str3784)
|
|
%t348 = icmp ne i32 %t347, 0
|
|
br i1 %t348, label %then345, label %ifend347
|
|
then345:
|
|
store i32 13808780, ptr %retval
|
|
br label %ret
|
|
ifend347:
|
|
%t349 = load ptr, ptr %t0
|
|
%t350 = call i32 @fn_str_eq(ptr %t349, ptr @.str3785)
|
|
%t351 = icmp ne i32 %t350, 0
|
|
br i1 %t351, label %then348, label %ifend350
|
|
then348:
|
|
store i32 14596231, ptr %retval
|
|
br label %ret
|
|
ifend350:
|
|
%t352 = load ptr, ptr %t0
|
|
%t353 = call i32 @fn_str_eq(ptr %t352, ptr @.str3786)
|
|
%t354 = icmp ne i32 %t353, 0
|
|
br i1 %t354, label %then351, label %ifend353
|
|
then351:
|
|
store i32 12759680, ptr %retval
|
|
br label %ret
|
|
ifend353:
|
|
%t355 = load ptr, ptr %t0
|
|
%t356 = call i32 @fn_str_eq(ptr %t355, ptr @.str3787)
|
|
%t357 = icmp ne i32 %t356, 0
|
|
br i1 %t357, label %then354, label %ifend356
|
|
then354:
|
|
store i32 7294519, ptr %retval
|
|
br label %ret
|
|
ifend356:
|
|
%t358 = load ptr, ptr %t0
|
|
%t359 = call i32 @fn_str_eq(ptr %t358, ptr @.str3788)
|
|
%t360 = icmp ne i32 %t359, 0
|
|
br i1 %t360, label %then357, label %ifend359
|
|
then357:
|
|
store i32 4929057, ptr %retval
|
|
br label %ret
|
|
ifend359:
|
|
%t361 = load ptr, ptr %t0
|
|
%t362 = call i32 @fn_str_eq(ptr %t361, ptr @.str3789)
|
|
%t363 = icmp ne i32 %t362, 0
|
|
br i1 %t363, label %then360, label %ifend362
|
|
then360:
|
|
store i32 12599296, ptr %retval
|
|
br label %ret
|
|
ifend362:
|
|
%t364 = load ptr, ptr %t0
|
|
%t365 = call i32 @fn_str_eq(ptr %t364, ptr @.str3790)
|
|
%t366 = icmp ne i32 %t365, 0
|
|
br i1 %t366, label %then363, label %ifend365
|
|
then363:
|
|
store i32 7814938, ptr %retval
|
|
br label %ret
|
|
ifend365:
|
|
%t367 = load ptr, ptr %t0
|
|
%t368 = call i32 @fn_str_eq(ptr %t367, ptr @.str3791)
|
|
%t369 = icmp ne i32 %t368, 0
|
|
br i1 %t369, label %then366, label %ifend368
|
|
then366:
|
|
store i32 6508871, ptr %retval
|
|
br label %ret
|
|
ifend368:
|
|
%t370 = load ptr, ptr %t0
|
|
%t371 = call i32 @fn_str_eq(ptr %t370, ptr @.str3792)
|
|
%t372 = icmp ne i32 %t371, 0
|
|
br i1 %t372, label %then369, label %ifend371
|
|
then369:
|
|
store i32 7356948, ptr %retval
|
|
br label %ret
|
|
ifend371:
|
|
%t373 = load ptr, ptr %t0
|
|
%t374 = call i32 @fn_str_eq(ptr %t373, ptr @.str3793)
|
|
%t375 = icmp ne i32 %t374, 0
|
|
br i1 %t375, label %then372, label %ifend374
|
|
then372:
|
|
store i32 4734002, ptr %retval
|
|
br label %ret
|
|
ifend374:
|
|
%t376 = load ptr, ptr %t0
|
|
%t377 = call i32 @fn_str_eq(ptr %t376, ptr @.str3794)
|
|
%t378 = icmp ne i32 %t377, 0
|
|
br i1 %t378, label %then375, label %ifend377
|
|
then375:
|
|
store i32 15051376, ptr %retval
|
|
br label %ret
|
|
ifend377:
|
|
%t379 = load ptr, ptr %t0
|
|
%t380 = call i32 @fn_str_eq(ptr %t379, ptr @.str3795)
|
|
%t381 = icmp ne i32 %t380, 0
|
|
br i1 %t381, label %then378, label %ifend380
|
|
then378:
|
|
store i32 13012503, ptr %retval
|
|
br label %ret
|
|
ifend380:
|
|
%t382 = load ptr, ptr %t0
|
|
%t383 = call i32 @fn_str_eq(ptr %t382, ptr @.str3796)
|
|
%t384 = icmp ne i32 %t383, 0
|
|
br i1 %t384, label %then381, label %ifend383
|
|
then381:
|
|
store i32 13789470, ptr %retval
|
|
br label %ret
|
|
ifend383:
|
|
%t385 = load ptr, ptr %t0
|
|
%t386 = call i32 @fn_str_eq(ptr %t385, ptr @.str3797)
|
|
%t387 = icmp ne i32 %t386, 0
|
|
br i1 %t387, label %then384, label %ifend386
|
|
then384:
|
|
store i32 9336344, ptr %retval
|
|
br label %ret
|
|
ifend386:
|
|
%t388 = load ptr, ptr %t0
|
|
%t389 = call i32 @fn_str_eq(ptr %t388, ptr @.str3798)
|
|
%t390 = icmp ne i32 %t389, 0
|
|
br i1 %t390, label %then387, label %ifend389
|
|
then387:
|
|
store i32 6575186, ptr %retval
|
|
br label %ret
|
|
ifend389:
|
|
%t391 = load ptr, ptr %t0
|
|
%t392 = call i32 @fn_str_eq(ptr %t391, ptr @.str3799)
|
|
%t393 = icmp ne i32 %t392, 0
|
|
br i1 %t393, label %then390, label %ifend392
|
|
then390:
|
|
store i32 32768, ptr %retval
|
|
br label %ret
|
|
ifend392:
|
|
%t394 = load ptr, ptr %t0
|
|
%t395 = call i32 @fn_str_eq(ptr %t394, ptr @.str3800)
|
|
%t396 = icmp ne i32 %t395, 0
|
|
br i1 %t396, label %then393, label %ifend395
|
|
then393:
|
|
store i32 65280, ptr %retval
|
|
br label %ret
|
|
ifend395:
|
|
%t397 = load ptr, ptr %t0
|
|
%t398 = call i32 @fn_str_eq(ptr %t397, ptr @.str3801)
|
|
%t399 = icmp ne i32 %t398, 0
|
|
br i1 %t399, label %then396, label %ifend398
|
|
then396:
|
|
store i32 3329330, ptr %retval
|
|
br label %ret
|
|
ifend398:
|
|
%t400 = load ptr, ptr %t0
|
|
%t401 = call i32 @fn_str_eq(ptr %t400, ptr @.str3802)
|
|
%t402 = icmp ne i32 %t401, 0
|
|
br i1 %t402, label %then399, label %ifend401
|
|
then399:
|
|
store i32 8190976, ptr %retval
|
|
br label %ret
|
|
ifend401:
|
|
%t403 = load ptr, ptr %t0
|
|
%t404 = call i32 @fn_str_eq(ptr %t403, ptr @.str3803)
|
|
%t405 = icmp ne i32 %t404, 0
|
|
br i1 %t405, label %then402, label %ifend404
|
|
then402:
|
|
store i32 8388352, ptr %retval
|
|
br label %ret
|
|
ifend404:
|
|
%t406 = load ptr, ptr %t0
|
|
%t407 = call i32 @fn_str_eq(ptr %t406, ptr @.str3804)
|
|
%t408 = icmp ne i32 %t407, 0
|
|
br i1 %t408, label %then405, label %ifend407
|
|
then405:
|
|
store i32 11403055, ptr %retval
|
|
br label %ret
|
|
ifend407:
|
|
%t409 = load ptr, ptr %t0
|
|
%t410 = call i32 @fn_str_eq(ptr %t409, ptr @.str3805)
|
|
%t411 = icmp ne i32 %t410, 0
|
|
br i1 %t411, label %then408, label %ifend410
|
|
then408:
|
|
store i32 65407, ptr %retval
|
|
br label %ret
|
|
ifend410:
|
|
%t412 = load ptr, ptr %t0
|
|
%t413 = call i32 @fn_str_eq(ptr %t412, ptr @.str3806)
|
|
%t414 = icmp ne i32 %t413, 0
|
|
br i1 %t414, label %then411, label %ifend413
|
|
then411:
|
|
store i32 10026904, ptr %retval
|
|
br label %ret
|
|
ifend413:
|
|
%t415 = load ptr, ptr %t0
|
|
%t416 = call i32 @fn_str_eq(ptr %t415, ptr @.str3807)
|
|
%t417 = icmp ne i32 %t416, 0
|
|
br i1 %t417, label %then414, label %ifend416
|
|
then414:
|
|
store i32 3050327, ptr %retval
|
|
br label %ret
|
|
ifend416:
|
|
%t418 = load ptr, ptr %t0
|
|
%t419 = call i32 @fn_str_eq(ptr %t418, ptr @.str3808)
|
|
%t420 = icmp ne i32 %t419, 0
|
|
br i1 %t420, label %then417, label %ifend419
|
|
then417:
|
|
store i32 3978097, ptr %retval
|
|
br label %ret
|
|
ifend419:
|
|
%t421 = load ptr, ptr %t0
|
|
%t422 = call i32 @fn_str_eq(ptr %t421, ptr @.str3809)
|
|
%t423 = icmp ne i32 %t422, 0
|
|
br i1 %t423, label %then420, label %ifend422
|
|
then420:
|
|
store i32 2263842, ptr %retval
|
|
br label %ret
|
|
ifend422:
|
|
%t424 = load ptr, ptr %t0
|
|
%t425 = call i32 @fn_str_eq(ptr %t424, ptr @.str3810)
|
|
%t426 = icmp ne i32 %t425, 0
|
|
br i1 %t426, label %then423, label %ifend425
|
|
then423:
|
|
store i32 25600, ptr %retval
|
|
br label %ret
|
|
ifend425:
|
|
%t427 = load ptr, ptr %t0
|
|
%t428 = call i32 @fn_str_eq(ptr %t427, ptr @.str3811)
|
|
%t429 = icmp ne i32 %t428, 0
|
|
br i1 %t429, label %then426, label %ifend428
|
|
then426:
|
|
store i32 7048739, ptr %retval
|
|
br label %ret
|
|
ifend428:
|
|
%t430 = load ptr, ptr %t0
|
|
%t431 = call i32 @fn_str_eq(ptr %t430, ptr @.str3812)
|
|
%t432 = icmp ne i32 %t431, 0
|
|
br i1 %t432, label %then429, label %ifend431
|
|
then429:
|
|
store i32 8421376, ptr %retval
|
|
br label %ret
|
|
ifend431:
|
|
%t433 = load ptr, ptr %t0
|
|
%t434 = call i32 @fn_str_eq(ptr %t433, ptr @.str3813)
|
|
%t435 = icmp ne i32 %t434, 0
|
|
br i1 %t435, label %then432, label %ifend434
|
|
then432:
|
|
store i32 9083483, ptr %retval
|
|
br label %ret
|
|
ifend434:
|
|
%t436 = load ptr, ptr %t0
|
|
%t437 = call i32 @fn_str_eq(ptr %t436, ptr @.str3814)
|
|
%t438 = icmp ne i32 %t437, 0
|
|
br i1 %t438, label %then435, label %ifend437
|
|
then435:
|
|
store i32 5208386, ptr %retval
|
|
br label %ret
|
|
ifend437:
|
|
%t439 = load ptr, ptr %t0
|
|
%t440 = call i32 @fn_str_eq(ptr %t439, ptr @.str3815)
|
|
%t441 = icmp ne i32 %t440, 0
|
|
br i1 %t441, label %then438, label %ifend440
|
|
then438:
|
|
store i32 5294200, ptr %retval
|
|
br label %ret
|
|
ifend440:
|
|
%t442 = load ptr, ptr %t0
|
|
%t443 = call i32 @fn_str_eq(ptr %t442, ptr @.str3816)
|
|
%t444 = icmp ne i32 %t443, 0
|
|
br i1 %t444, label %then441, label %ifend443
|
|
then441:
|
|
store i32 43115, ptr %retval
|
|
br label %ret
|
|
ifend443:
|
|
%t445 = load ptr, ptr %t0
|
|
%t446 = call i32 @fn_str_eq(ptr %t445, ptr @.str3817)
|
|
%t447 = icmp ne i32 %t446, 0
|
|
br i1 %t447, label %then444, label %ifend446
|
|
then444:
|
|
store i32 776785, ptr %retval
|
|
br label %ret
|
|
ifend446:
|
|
%t448 = load ptr, ptr %t0
|
|
%t449 = call i32 @fn_str_eq(ptr %t448, ptr @.str3818)
|
|
%t450 = icmp ne i32 %t449, 0
|
|
br i1 %t450, label %then447, label %ifend449
|
|
then447:
|
|
store i32 40544, ptr %retval
|
|
br label %ret
|
|
ifend449:
|
|
%t451 = load ptr, ptr %t0
|
|
%t452 = call i32 @fn_str_eq(ptr %t451, ptr @.str3819)
|
|
%t453 = icmp ne i32 %t452, 0
|
|
br i1 %t453, label %then450, label %ifend452
|
|
then450:
|
|
store i32 9684338, ptr %retval
|
|
br label %ret
|
|
ifend452:
|
|
%t454 = load ptr, ptr %t0
|
|
%t455 = call i32 @fn_str_eq(ptr %t454, ptr @.str3820)
|
|
%t456 = icmp ne i32 %t455, 0
|
|
br i1 %t456, label %then453, label %ifend455
|
|
then453:
|
|
store i32 5669379, ptr %retval
|
|
br label %ret
|
|
ifend455:
|
|
%t457 = load ptr, ptr %t0
|
|
%t458 = call i32 @fn_str_eq(ptr %t457, ptr @.str3821)
|
|
%t459 = icmp ne i32 %t458, 0
|
|
br i1 %t459, label %then456, label %ifend458
|
|
then456:
|
|
store i32 96623, ptr %retval
|
|
br label %ret
|
|
ifend458:
|
|
%t460 = load ptr, ptr %t0
|
|
%t461 = call i32 @fn_str_eq(ptr %t460, ptr @.str3822)
|
|
%t462 = icmp ne i32 %t461, 0
|
|
br i1 %t462, label %then459, label %ifend461
|
|
then459:
|
|
store i32 10268552, ptr %retval
|
|
br label %ret
|
|
ifend461:
|
|
%t463 = load ptr, ptr %t0
|
|
%t464 = call i32 @fn_str_eq(ptr %t463, ptr @.str3823)
|
|
%t465 = icmp ne i32 %t464, 0
|
|
br i1 %t465, label %then462, label %ifend464
|
|
then462:
|
|
store i32 5028631, ptr %retval
|
|
br label %ret
|
|
ifend464:
|
|
%t466 = load ptr, ptr %t0
|
|
%t467 = call i32 @fn_str_eq(ptr %t466, ptr @.str3824)
|
|
%t468 = icmp ne i32 %t467, 0
|
|
br i1 %t468, label %then465, label %ifend467
|
|
then465:
|
|
store i32 3497531, ptr %retval
|
|
br label %ret
|
|
ifend467:
|
|
%t469 = load ptr, ptr %t0
|
|
%t470 = call i32 @fn_str_eq(ptr %t469, ptr @.str3825)
|
|
%t471 = icmp ne i32 %t470, 0
|
|
br i1 %t471, label %then468, label %ifend470
|
|
then468:
|
|
store i32 5739049, ptr %retval
|
|
br label %ret
|
|
ifend470:
|
|
%t472 = load ptr, ptr %t0
|
|
%t473 = call i32 @fn_str_eq(ptr %t472, ptr @.str3826)
|
|
%t474 = icmp ne i32 %t473, 0
|
|
br i1 %t474, label %then471, label %ifend473
|
|
then471:
|
|
store i32 3050327, ptr %retval
|
|
br label %ret
|
|
ifend473:
|
|
%t475 = load ptr, ptr %t0
|
|
%t476 = call i32 @fn_str_eq(ptr %t475, ptr @.str3827)
|
|
%t477 = icmp ne i32 %t476, 0
|
|
br i1 %t477, label %then474, label %ifend476
|
|
then474:
|
|
store i32 7182969, ptr %retval
|
|
br label %ret
|
|
ifend476:
|
|
%t478 = load ptr, ptr %t0
|
|
%t479 = call i32 @fn_str_eq(ptr %t478, ptr @.str3828)
|
|
%t480 = icmp ne i32 %t479, 0
|
|
br i1 %t480, label %then477, label %ifend479
|
|
then477:
|
|
store i32 3800852, ptr %retval
|
|
br label %ret
|
|
ifend479:
|
|
%t481 = load ptr, ptr %t0
|
|
%t482 = call i32 @fn_str_eq(ptr %t481, ptr @.str3829)
|
|
%t483 = icmp ne i32 %t482, 0
|
|
br i1 %t483, label %then480, label %ifend482
|
|
then480:
|
|
store i32 65535, ptr %retval
|
|
br label %ret
|
|
ifend482:
|
|
%t484 = load ptr, ptr %t0
|
|
%t485 = call i32 @fn_str_eq(ptr %t484, ptr @.str3830)
|
|
%t486 = icmp ne i32 %t485, 0
|
|
br i1 %t486, label %then483, label %ifend485
|
|
then483:
|
|
store i32 65535, ptr %retval
|
|
br label %ret
|
|
ifend485:
|
|
%t487 = load ptr, ptr %t0
|
|
%t488 = call i32 @fn_str_eq(ptr %t487, ptr @.str3831)
|
|
%t489 = icmp ne i32 %t488, 0
|
|
br i1 %t489, label %then486, label %ifend488
|
|
then486:
|
|
store i32 14745599, ptr %retval
|
|
br label %ret
|
|
ifend488:
|
|
%t490 = load ptr, ptr %t0
|
|
%t491 = call i32 @fn_str_eq(ptr %t490, ptr @.str3832)
|
|
%t492 = icmp ne i32 %t491, 0
|
|
br i1 %t492, label %then489, label %ifend491
|
|
then489:
|
|
store i32 11529966, ptr %retval
|
|
br label %ret
|
|
ifend491:
|
|
%t493 = load ptr, ptr %t0
|
|
%t494 = call i32 @fn_str_eq(ptr %t493, ptr @.str3833)
|
|
%t495 = icmp ne i32 %t494, 0
|
|
br i1 %t495, label %then492, label %ifend494
|
|
then492:
|
|
store i32 8388564, ptr %retval
|
|
br label %ret
|
|
ifend494:
|
|
%t496 = load ptr, ptr %t0
|
|
%t497 = call i32 @fn_str_eq(ptr %t496, ptr @.str3834)
|
|
%t498 = icmp ne i32 %t497, 0
|
|
br i1 %t498, label %then495, label %ifend497
|
|
then495:
|
|
store i32 4251856, ptr %retval
|
|
br label %ret
|
|
ifend497:
|
|
%t499 = load ptr, ptr %t0
|
|
%t500 = call i32 @fn_str_eq(ptr %t499, ptr @.str3835)
|
|
%t501 = icmp ne i32 %t500, 0
|
|
br i1 %t501, label %then498, label %ifend500
|
|
then498:
|
|
store i32 4772300, ptr %retval
|
|
br label %ret
|
|
ifend500:
|
|
%t502 = load ptr, ptr %t0
|
|
%t503 = call i32 @fn_str_eq(ptr %t502, ptr @.str3836)
|
|
%t504 = icmp ne i32 %t503, 0
|
|
br i1 %t504, label %then501, label %ifend503
|
|
then501:
|
|
store i32 52945, ptr %retval
|
|
br label %ret
|
|
ifend503:
|
|
%t505 = load ptr, ptr %t0
|
|
%t506 = call i32 @fn_str_eq(ptr %t505, ptr @.str3837)
|
|
%t507 = icmp ne i32 %t506, 0
|
|
br i1 %t507, label %then504, label %ifend506
|
|
then504:
|
|
store i32 32896, ptr %retval
|
|
br label %ret
|
|
ifend506:
|
|
%t508 = load ptr, ptr %t0
|
|
%t509 = call i32 @fn_str_eq(ptr %t508, ptr @.str3838)
|
|
%t510 = icmp ne i32 %t509, 0
|
|
br i1 %t510, label %then507, label %ifend509
|
|
then507:
|
|
store i32 35723, ptr %retval
|
|
br label %ret
|
|
ifend509:
|
|
%t511 = load ptr, ptr %t0
|
|
%t512 = call i32 @fn_str_eq(ptr %t511, ptr @.str3839)
|
|
%t513 = icmp ne i32 %t512, 0
|
|
br i1 %t513, label %then510, label %ifend512
|
|
then510:
|
|
store i32 6266528, ptr %retval
|
|
br label %ret
|
|
ifend512:
|
|
%t514 = load ptr, ptr %t0
|
|
%t515 = call i32 @fn_str_eq(ptr %t514, ptr @.str3840)
|
|
%t516 = icmp ne i32 %t515, 0
|
|
br i1 %t516, label %then513, label %ifend515
|
|
then513:
|
|
store i32 102030, ptr %retval
|
|
br label %ret
|
|
ifend515:
|
|
%t517 = load ptr, ptr %t0
|
|
%t518 = call i32 @fn_str_eq(ptr %t517, ptr @.str3841)
|
|
%t519 = icmp ne i32 %t518, 0
|
|
br i1 %t519, label %then516, label %ifend518
|
|
then516:
|
|
store i32 9693630, ptr %retval
|
|
br label %ret
|
|
ifend518:
|
|
%t520 = load ptr, ptr %t0
|
|
%t521 = call i32 @fn_str_eq(ptr %t520, ptr @.str3842)
|
|
%t522 = icmp ne i32 %t521, 0
|
|
br i1 %t522, label %then519, label %ifend521
|
|
then519:
|
|
store i32 31655, ptr %retval
|
|
br label %ret
|
|
ifend521:
|
|
%t523 = load ptr, ptr %t0
|
|
%t524 = call i32 @fn_str_eq(ptr %t523, ptr @.str3843)
|
|
%t525 = icmp ne i32 %t524, 0
|
|
br i1 %t525, label %then522, label %ifend524
|
|
then522:
|
|
store i32 8444651, ptr %retval
|
|
br label %ret
|
|
ifend524:
|
|
%t526 = load ptr, ptr %t0
|
|
%t527 = call i32 @fn_str_eq(ptr %t526, ptr @.str3844)
|
|
%t528 = icmp ne i32 %t527, 0
|
|
br i1 %t528, label %then525, label %ifend527
|
|
then525:
|
|
store i32 52428, ptr %retval
|
|
br label %ret
|
|
ifend527:
|
|
%t529 = load ptr, ptr %t0
|
|
%t530 = call i32 @fn_str_eq(ptr %t529, ptr @.str3845)
|
|
%t531 = icmp ne i32 %t530, 0
|
|
br i1 %t531, label %then528, label %ifend530
|
|
then528:
|
|
store i32 4436910, ptr %retval
|
|
br label %ret
|
|
ifend530:
|
|
%t532 = load ptr, ptr %t0
|
|
%t533 = call i32 @fn_str_eq(ptr %t532, ptr @.str3846)
|
|
%t534 = icmp ne i32 %t533, 0
|
|
br i1 %t534, label %then531, label %ifend533
|
|
then531:
|
|
store i32 11329967, ptr %retval
|
|
br label %ret
|
|
ifend533:
|
|
%t535 = load ptr, ptr %t0
|
|
%t536 = call i32 @fn_str_eq(ptr %t535, ptr @.str3847)
|
|
%t537 = icmp ne i32 %t536, 0
|
|
br i1 %t537, label %then534, label %ifend536
|
|
then534:
|
|
store i32 255, ptr %retval
|
|
br label %ret
|
|
ifend536:
|
|
%t538 = load ptr, ptr %t0
|
|
%t539 = call i32 @fn_str_eq(ptr %t538, ptr @.str3848)
|
|
%t540 = icmp ne i32 %t539, 0
|
|
br i1 %t540, label %then537, label %ifend539
|
|
then537:
|
|
store i32 11393254, ptr %retval
|
|
br label %ret
|
|
ifend539:
|
|
%t541 = load ptr, ptr %t0
|
|
%t542 = call i32 @fn_str_eq(ptr %t541, ptr @.str3849)
|
|
%t543 = icmp ne i32 %t542, 0
|
|
br i1 %t543, label %then540, label %ifend542
|
|
then540:
|
|
store i32 11591910, ptr %retval
|
|
br label %ret
|
|
ifend542:
|
|
%t544 = load ptr, ptr %t0
|
|
%t545 = call i32 @fn_str_eq(ptr %t544, ptr @.str3850)
|
|
%t546 = icmp ne i32 %t545, 0
|
|
br i1 %t546, label %then543, label %ifend545
|
|
then543:
|
|
store i32 8900331, ptr %retval
|
|
br label %ret
|
|
ifend545:
|
|
%t547 = load ptr, ptr %t0
|
|
%t548 = call i32 @fn_str_eq(ptr %t547, ptr @.str3851)
|
|
%t549 = icmp ne i32 %t548, 0
|
|
br i1 %t549, label %then546, label %ifend548
|
|
then546:
|
|
store i32 8900346, ptr %retval
|
|
br label %ret
|
|
ifend548:
|
|
%t550 = load ptr, ptr %t0
|
|
%t551 = call i32 @fn_str_eq(ptr %t550, ptr @.str3852)
|
|
%t552 = icmp ne i32 %t551, 0
|
|
br i1 %t552, label %then549, label %ifend551
|
|
then549:
|
|
store i32 49151, ptr %retval
|
|
br label %ret
|
|
ifend551:
|
|
%t553 = load ptr, ptr %t0
|
|
%t554 = call i32 @fn_str_eq(ptr %t553, ptr @.str3853)
|
|
%t555 = icmp ne i32 %t554, 0
|
|
br i1 %t555, label %then552, label %ifend554
|
|
then552:
|
|
store i32 2003199, ptr %retval
|
|
br label %ret
|
|
ifend554:
|
|
%t556 = load ptr, ptr %t0
|
|
%t557 = call i32 @fn_str_eq(ptr %t556, ptr @.str3854)
|
|
%t558 = icmp ne i32 %t557, 0
|
|
br i1 %t558, label %then555, label %ifend557
|
|
then555:
|
|
store i32 6591981, ptr %retval
|
|
br label %ret
|
|
ifend557:
|
|
%t559 = load ptr, ptr %t0
|
|
%t560 = call i32 @fn_str_eq(ptr %t559, ptr @.str3855)
|
|
%t561 = icmp ne i32 %t560, 0
|
|
br i1 %t561, label %then558, label %ifend560
|
|
then558:
|
|
store i32 4620980, ptr %retval
|
|
br label %ret
|
|
ifend560:
|
|
%t562 = load ptr, ptr %t0
|
|
%t563 = call i32 @fn_str_eq(ptr %t562, ptr @.str3856)
|
|
%t564 = icmp ne i32 %t563, 0
|
|
br i1 %t564, label %then561, label %ifend563
|
|
then561:
|
|
store i32 4286945, ptr %retval
|
|
br label %ret
|
|
ifend563:
|
|
%t565 = load ptr, ptr %t0
|
|
%t566 = call i32 @fn_str_eq(ptr %t565, ptr @.str3857)
|
|
%t567 = icmp ne i32 %t566, 0
|
|
br i1 %t567, label %then564, label %ifend566
|
|
then564:
|
|
store i32 205, ptr %retval
|
|
br label %ret
|
|
ifend566:
|
|
%t568 = load ptr, ptr %t0
|
|
%t569 = call i32 @fn_str_eq(ptr %t568, ptr @.str3858)
|
|
%t570 = icmp ne i32 %t569, 0
|
|
br i1 %t570, label %then567, label %ifend569
|
|
then567:
|
|
store i32 139, ptr %retval
|
|
br label %ret
|
|
ifend569:
|
|
%t571 = load ptr, ptr %t0
|
|
%t572 = call i32 @fn_str_eq(ptr %t571, ptr @.str3859)
|
|
%t573 = icmp ne i32 %t572, 0
|
|
br i1 %t573, label %then570, label %ifend572
|
|
then570:
|
|
store i32 128, ptr %retval
|
|
br label %ret
|
|
ifend572:
|
|
%t574 = load ptr, ptr %t0
|
|
%t575 = call i32 @fn_str_eq(ptr %t574, ptr @.str3860)
|
|
%t576 = icmp ne i32 %t575, 0
|
|
br i1 %t576, label %then573, label %ifend575
|
|
then573:
|
|
store i32 1644912, ptr %retval
|
|
br label %ret
|
|
ifend575:
|
|
%t577 = load ptr, ptr %t0
|
|
%t578 = call i32 @fn_str_eq(ptr %t577, ptr @.str3861)
|
|
%t579 = icmp ne i32 %t578, 0
|
|
br i1 %t579, label %then576, label %ifend578
|
|
then576:
|
|
store i32 18347, ptr %retval
|
|
br label %ret
|
|
ifend578:
|
|
%t580 = load ptr, ptr %t0
|
|
%t581 = call i32 @fn_str_eq(ptr %t580, ptr @.str3862)
|
|
%t582 = icmp ne i32 %t581, 0
|
|
br i1 %t582, label %then579, label %ifend581
|
|
then579:
|
|
store i32 1004218, ptr %retval
|
|
br label %ret
|
|
ifend581:
|
|
%t583 = load ptr, ptr %t0
|
|
%t584 = call i32 @fn_str_eq(ptr %t583, ptr @.str3863)
|
|
%t585 = icmp ne i32 %t584, 0
|
|
br i1 %t585, label %then582, label %ifend584
|
|
then582:
|
|
store i32 1401021, ptr %retval
|
|
br label %ret
|
|
ifend584:
|
|
%t586 = load ptr, ptr %t0
|
|
%t587 = call i32 @fn_str_eq(ptr %t586, ptr @.str3864)
|
|
%t588 = icmp ne i32 %t587, 0
|
|
br i1 %t588, label %then585, label %ifend587
|
|
then585:
|
|
store i32 4915330, ptr %retval
|
|
br label %ret
|
|
ifend587:
|
|
%t589 = load ptr, ptr %t0
|
|
%t590 = call i32 @fn_str_eq(ptr %t589, ptr @.str3865)
|
|
%t591 = icmp ne i32 %t590, 0
|
|
br i1 %t591, label %then588, label %ifend590
|
|
then588:
|
|
store i32 12627, ptr %retval
|
|
br label %ret
|
|
ifend590:
|
|
%t592 = load ptr, ptr %t0
|
|
%t593 = call i32 @fn_str_eq(ptr %t592, ptr @.str3866)
|
|
%t594 = icmp ne i32 %t593, 0
|
|
br i1 %t594, label %then591, label %ifend593
|
|
then591:
|
|
store i32 4129023, ptr %retval
|
|
br label %ret
|
|
ifend593:
|
|
%t595 = load ptr, ptr %t0
|
|
%t596 = call i32 @fn_str_eq(ptr %t595, ptr @.str3867)
|
|
%t597 = icmp ne i32 %t596, 0
|
|
br i1 %t597, label %then594, label %ifend596
|
|
then594:
|
|
store i32 13421823, ptr %retval
|
|
br label %ret
|
|
ifend596:
|
|
%t598 = load ptr, ptr %t0
|
|
%t599 = call i32 @fn_str_eq(ptr %t598, ptr @.str3868)
|
|
%t600 = icmp ne i32 %t599, 0
|
|
br i1 %t600, label %then597, label %ifend599
|
|
then597:
|
|
store i32 5918671, ptr %retval
|
|
br label %ret
|
|
ifend599:
|
|
%t601 = load ptr, ptr %t0
|
|
%t602 = call i32 @fn_str_eq(ptr %t601, ptr @.str3869)
|
|
%t603 = icmp ne i32 %t602, 0
|
|
br i1 %t603, label %then600, label %ifend602
|
|
then600:
|
|
store i32 6324918, ptr %retval
|
|
br label %ret
|
|
ifend602:
|
|
%t604 = load ptr, ptr %t0
|
|
%t605 = call i32 @fn_str_eq(ptr %t604, ptr @.str3870)
|
|
%t606 = icmp ne i32 %t605, 0
|
|
br i1 %t606, label %then603, label %ifend605
|
|
then603:
|
|
store i32 5288, ptr %retval
|
|
br label %ret
|
|
ifend605:
|
|
%t607 = load ptr, ptr %t0
|
|
%t608 = call i32 @fn_str_eq(ptr %t607, ptr @.str3871)
|
|
%t609 = icmp ne i32 %t608, 0
|
|
br i1 %t609, label %then606, label %ifend608
|
|
then606:
|
|
store i32 3026312, ptr %retval
|
|
br label %ret
|
|
ifend608:
|
|
%t610 = load ptr, ptr %t0
|
|
%t611 = call i32 @fn_str_eq(ptr %t610, ptr @.str3872)
|
|
%t612 = icmp ne i32 %t611, 0
|
|
br i1 %t612, label %then609, label %ifend611
|
|
then609:
|
|
store i32 8388736, ptr %retval
|
|
br label %ret
|
|
ifend611:
|
|
%t613 = load ptr, ptr %t0
|
|
%t614 = call i32 @fn_str_eq(ptr %t613, ptr @.str3873)
|
|
%t615 = icmp ne i32 %t614, 0
|
|
br i1 %t615, label %then612, label %ifend614
|
|
then612:
|
|
store i32 15631086, ptr %retval
|
|
br label %ret
|
|
ifend614:
|
|
%t616 = load ptr, ptr %t0
|
|
%t617 = call i32 @fn_str_eq(ptr %t616, ptr @.str3874)
|
|
%t618 = icmp ne i32 %t617, 0
|
|
br i1 %t618, label %then615, label %ifend617
|
|
then615:
|
|
store i32 9699539, ptr %retval
|
|
br label %ret
|
|
ifend617:
|
|
%t619 = load ptr, ptr %t0
|
|
%t620 = call i32 @fn_str_eq(ptr %t619, ptr @.str3875)
|
|
%t621 = icmp ne i32 %t620, 0
|
|
br i1 %t621, label %then618, label %ifend620
|
|
then618:
|
|
store i32 9055202, ptr %retval
|
|
br label %ret
|
|
ifend620:
|
|
%t622 = load ptr, ptr %t0
|
|
%t623 = call i32 @fn_str_eq(ptr %t622, ptr @.str3876)
|
|
%t624 = icmp ne i32 %t623, 0
|
|
br i1 %t624, label %then621, label %ifend623
|
|
then621:
|
|
store i32 9662683, ptr %retval
|
|
br label %ret
|
|
ifend623:
|
|
%t625 = load ptr, ptr %t0
|
|
%t626 = call i32 @fn_str_eq(ptr %t625, ptr @.str3877)
|
|
%t627 = icmp ne i32 %t626, 0
|
|
br i1 %t627, label %then624, label %ifend626
|
|
then624:
|
|
store i32 10053324, ptr %retval
|
|
br label %ret
|
|
ifend626:
|
|
%t628 = load ptr, ptr %t0
|
|
%t629 = call i32 @fn_str_eq(ptr %t628, ptr @.str3878)
|
|
%t630 = icmp ne i32 %t629, 0
|
|
br i1 %t630, label %then627, label %ifend629
|
|
then627:
|
|
store i32 9323909, ptr %retval
|
|
br label %ret
|
|
ifend629:
|
|
%t631 = load ptr, ptr %t0
|
|
%t632 = call i32 @fn_str_eq(ptr %t631, ptr @.str3879)
|
|
%t633 = icmp ne i32 %t632, 0
|
|
br i1 %t633, label %then630, label %ifend632
|
|
then630:
|
|
store i32 6373457, ptr %retval
|
|
br label %ret
|
|
ifend632:
|
|
%t634 = load ptr, ptr %t0
|
|
%t635 = call i32 @fn_str_eq(ptr %t634, ptr @.str3880)
|
|
%t636 = icmp ne i32 %t635, 0
|
|
br i1 %t636, label %then633, label %ifend635
|
|
then633:
|
|
store i32 7286184, ptr %retval
|
|
br label %ret
|
|
ifend635:
|
|
%t637 = load ptr, ptr %t0
|
|
%t638 = call i32 @fn_str_eq(ptr %t637, ptr @.str3881)
|
|
%t639 = icmp ne i32 %t638, 0
|
|
br i1 %t639, label %then636, label %ifend638
|
|
then636:
|
|
store i32 7483191, ptr %retval
|
|
br label %ret
|
|
ifend638:
|
|
%t640 = load ptr, ptr %t0
|
|
%t641 = call i32 @fn_str_eq(ptr %t640, ptr @.str3882)
|
|
%t642 = icmp ne i32 %t641, 0
|
|
br i1 %t642, label %then639, label %ifend641
|
|
then639:
|
|
store i32 12929932, ptr %retval
|
|
br label %ret
|
|
ifend641:
|
|
%t643 = load ptr, ptr %t0
|
|
%t644 = call i32 @fn_str_eq(ptr %t643, ptr @.str3883)
|
|
%t645 = icmp ne i32 %t644, 0
|
|
br i1 %t645, label %then642, label %ifend644
|
|
then642:
|
|
store i32 13148872, ptr %retval
|
|
br label %ret
|
|
ifend644:
|
|
%t646 = load ptr, ptr %t0
|
|
%t647 = call i32 @fn_str_eq(ptr %t646, ptr @.str3884)
|
|
%t648 = icmp ne i32 %t647, 0
|
|
br i1 %t648, label %then645, label %ifend647
|
|
then645:
|
|
store i32 13213916, ptr %retval
|
|
br label %ret
|
|
ifend647:
|
|
%t649 = load ptr, ptr %t0
|
|
%t650 = call i32 @fn_str_eq(ptr %t649, ptr @.str3885)
|
|
%t651 = icmp ne i32 %t650, 0
|
|
br i1 %t651, label %then648, label %ifend650
|
|
then648:
|
|
store i32 14644223, ptr %retval
|
|
br label %ret
|
|
ifend650:
|
|
%t652 = load ptr, ptr %t0
|
|
%t653 = call i32 @fn_str_eq(ptr %t652, ptr @.str3886)
|
|
%t654 = icmp ne i32 %t653, 0
|
|
br i1 %t654, label %then651, label %ifend653
|
|
then651:
|
|
store i32 7350627, ptr %retval
|
|
br label %ret
|
|
ifend653:
|
|
%t655 = load ptr, ptr %t0
|
|
%t656 = call i32 @fn_str_eq(ptr %t655, ptr @.str3887)
|
|
%t657 = icmp ne i32 %t656, 0
|
|
br i1 %t657, label %then654, label %ifend656
|
|
then654:
|
|
store i32 6685244, ptr %retval
|
|
br label %ret
|
|
ifend656:
|
|
%t658 = load ptr, ptr %t0
|
|
%t659 = call i32 @fn_str_eq(ptr %t658, ptr @.str3888)
|
|
%t660 = icmp ne i32 %t659, 0
|
|
br i1 %t660, label %then657, label %ifend659
|
|
then657:
|
|
store i32 6697881, ptr %retval
|
|
br label %ret
|
|
ifend659:
|
|
%t661 = load ptr, ptr %t0
|
|
%t662 = call i32 @fn_str_eq(ptr %t661, ptr @.str3889)
|
|
%t663 = icmp ne i32 %t662, 0
|
|
br i1 %t663, label %then660, label %ifend662
|
|
then660:
|
|
store i32 11495919, ptr %retval
|
|
br label %ret
|
|
ifend662:
|
|
%t664 = sub i32 0, 1
|
|
store i32 %t664, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t665 = load i32, ptr %retval
|
|
ret i32 %t665
|
|
}
|
|
|
|
define ptr @fn_emit_sizeof(ptr %arg_llt) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
store ptr %arg_llt, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call ptr @fn_str_concat(ptr @.str3890, ptr %t1)
|
|
%t3 = call ptr @fn_str_concat(ptr %t2, ptr @.str3891)
|
|
%t4 = call ptr @fn_emit_bind(ptr %t3)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = call ptr @fn_str_concat(ptr @.str3892, ptr %t6)
|
|
%t8 = call ptr @fn_str_concat(ptr %t7, ptr @.str3893)
|
|
%t9 = call ptr @fn_emit_bind(ptr %t8)
|
|
store ptr %t9, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t10 = load ptr, ptr %retval
|
|
ret ptr %t10
|
|
}
|
|
|
|
define ptr @fn_emit_new_struct(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t10 = alloca ptr
|
|
%t13 = alloca ptr
|
|
%t18 = alloca ptr
|
|
%t19 = alloca i32
|
|
%t37 = alloca ptr
|
|
%t39 = alloca ptr
|
|
%t49 = alloca ptr
|
|
%t50 = alloca ptr
|
|
%t64 = alloca ptr
|
|
store ptr %arg_name, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call ptr @fn_layout_node(ptr %t1)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = icmp eq ptr %t4, null
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_perr(ptr @.str3894)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = call ptr @fn_layout_ty(ptr %t8)
|
|
store ptr %t9, ptr %t10
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = call ptr @fn_emit_sizeof(ptr %t11)
|
|
store ptr %t12, ptr %t13
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = call ptr @fn_str_concat(ptr @.str3895, ptr %t14)
|
|
%t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str3896)
|
|
%t17 = call ptr @fn_emit_bind(ptr %t16)
|
|
store ptr %t17, ptr %t18
|
|
store i32 0, ptr %t19
|
|
br label %wcond3
|
|
wcond3:
|
|
%t20 = load i32, ptr %t19
|
|
%t21 = load ptr, ptr %t3
|
|
%t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 7
|
|
%t23 = load ptr, ptr %t22
|
|
%t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1
|
|
%t25 = load i32, ptr %t24
|
|
%t26 = icmp slt i32 %t20, %t25
|
|
%t27 = zext i1 %t26 to i32
|
|
%t28 = icmp ne i32 %t27, 0
|
|
br i1 %t28, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t29 = load ptr, ptr %t3
|
|
%t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7
|
|
%t31 = load ptr, ptr %t30
|
|
%t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0
|
|
%t33 = load ptr, ptr %t32
|
|
%t34 = load i32, ptr %t19
|
|
%t35 = getelementptr inbounds ptr, ptr %t33, i32 %t34
|
|
%t36 = load ptr, ptr %t35
|
|
store ptr %t36, ptr %t37
|
|
%t38 = call ptr @fn_nreg()
|
|
store ptr %t38, ptr %t39
|
|
call void @fn_emit(ptr @.str3897)
|
|
%t40 = load ptr, ptr %t39
|
|
call void @fn_emit(ptr %t40)
|
|
call void @fn_emit(ptr @.str3898)
|
|
%t41 = load ptr, ptr %t10
|
|
call void @fn_emit(ptr %t41)
|
|
call void @fn_emit(ptr @.str3899)
|
|
%t42 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t42)
|
|
call void @fn_emit(ptr @.str3900)
|
|
%t43 = load i32, ptr %t19
|
|
%t44 = call ptr @fn_itoa(i32 %t43)
|
|
call void @fn_emit(ptr %t44)
|
|
call void @fn_emit(ptr @.str3901)
|
|
%t45 = load ptr, ptr %t37
|
|
%t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 3
|
|
%t47 = load ptr, ptr %t46
|
|
%t48 = call ptr @fn_llty(ptr %t47)
|
|
store ptr %t48, ptr %t49
|
|
store ptr @.str3902, ptr %t50
|
|
%t51 = load ptr, ptr %t49
|
|
%t52 = call i32 @fn_str_eq(ptr %t51, ptr @.str3903)
|
|
%t53 = icmp ne i32 %t52, 0
|
|
br i1 %t53, label %then6, label %ifend8
|
|
then6:
|
|
store ptr @.str3904, ptr %t50
|
|
br label %ifend8
|
|
ifend8:
|
|
%t54 = load ptr, ptr %t37
|
|
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 4
|
|
%t56 = load ptr, ptr %t55
|
|
%t57 = icmp ne ptr %t56, null
|
|
%t58 = zext i1 %t57 to i32
|
|
%t59 = icmp ne i32 %t58, 0
|
|
br i1 %t59, label %then9, label %ifend11
|
|
then9:
|
|
%t60 = load ptr, ptr %t37
|
|
%t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 4
|
|
%t62 = load ptr, ptr %t61
|
|
%t63 = call ptr @fn_emit_expr(ptr %t62)
|
|
store ptr %t63, ptr %t64
|
|
%t65 = load ptr, ptr %t64
|
|
%t66 = getelementptr inbounds %Cmp_Val, ptr %t65, i32 0, i32 0
|
|
%t67 = load ptr, ptr %t66
|
|
store ptr %t67, ptr %t50
|
|
br label %ifend11
|
|
ifend11:
|
|
call void @fn_emit(ptr @.str3905)
|
|
%t68 = load ptr, ptr %t49
|
|
call void @fn_emit(ptr %t68)
|
|
call void @fn_emit(ptr @.str3906)
|
|
%t69 = load ptr, ptr %t50
|
|
call void @fn_emit(ptr %t69)
|
|
call void @fn_emit(ptr @.str3907)
|
|
%t70 = load ptr, ptr %t39
|
|
call void @fn_emit(ptr %t70)
|
|
call void @fn_emit(ptr @.str3908)
|
|
%t71 = load i32, ptr %t19
|
|
%t72 = add i32 %t71, 1
|
|
store i32 %t72, ptr %t19
|
|
br label %wcond3
|
|
wend5:
|
|
%t73 = load ptr, ptr %t18
|
|
%t74 = load ptr, ptr %t0
|
|
%t75 = call ptr @fn_val(ptr %t73, ptr %t74)
|
|
store ptr %t75, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t76 = load ptr, ptr %retval
|
|
ret ptr %t76
|
|
}
|
|
|
|
define ptr @fn_emit_new_slice(ptr %arg_ty) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t9 = alloca ptr
|
|
%t14 = alloca ptr
|
|
%t19 = alloca ptr
|
|
store ptr %arg_ty, ptr %t0
|
|
%t1 = call ptr @fn_emit_sizeof(ptr @.str3909)
|
|
store ptr %t1, ptr %t2
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = call ptr @fn_str_concat(ptr @.str3910, ptr %t3)
|
|
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str3911)
|
|
%t6 = call ptr @fn_emit_bind(ptr %t5)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = call ptr @fn_nreg()
|
|
store ptr %t8, ptr %t9
|
|
call void @fn_emit(ptr @.str3912)
|
|
%t10 = load ptr, ptr %t9
|
|
call void @fn_emit(ptr %t10)
|
|
call void @fn_emit(ptr @.str3913)
|
|
%t11 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t11)
|
|
call void @fn_emit(ptr @.str3914)
|
|
call void @fn_emit(ptr @.str3915)
|
|
%t12 = load ptr, ptr %t9
|
|
call void @fn_emit(ptr %t12)
|
|
call void @fn_emit(ptr @.str3916)
|
|
%t13 = call ptr @fn_nreg()
|
|
store ptr %t13, ptr %t14
|
|
call void @fn_emit(ptr @.str3917)
|
|
%t15 = load ptr, ptr %t14
|
|
call void @fn_emit(ptr %t15)
|
|
call void @fn_emit(ptr @.str3918)
|
|
%t16 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t16)
|
|
call void @fn_emit(ptr @.str3919)
|
|
call void @fn_emit(ptr @.str3920)
|
|
%t17 = load ptr, ptr %t14
|
|
call void @fn_emit(ptr %t17)
|
|
call void @fn_emit(ptr @.str3921)
|
|
%t18 = call ptr @fn_nreg()
|
|
store ptr %t18, ptr %t19
|
|
call void @fn_emit(ptr @.str3922)
|
|
%t20 = load ptr, ptr %t19
|
|
call void @fn_emit(ptr %t20)
|
|
call void @fn_emit(ptr @.str3923)
|
|
%t21 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t21)
|
|
call void @fn_emit(ptr @.str3924)
|
|
call void @fn_emit(ptr @.str3925)
|
|
%t22 = load ptr, ptr %t19
|
|
call void @fn_emit(ptr %t22)
|
|
call void @fn_emit(ptr @.str3926)
|
|
%t23 = load ptr, ptr %t7
|
|
%t24 = load ptr, ptr %t0
|
|
%t25 = call ptr @fn_val(ptr %t23, ptr %t24)
|
|
store ptr %t25, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t26 = load ptr, ptr %retval
|
|
ret ptr %t26
|
|
}
|
|
|
|
define ptr @fn_slice_field(ptr %arg_h, i32 %arg_i) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t3 = alloca ptr
|
|
store ptr %arg_h, ptr %t0
|
|
store i32 %arg_i, ptr %t1
|
|
%t2 = call ptr @fn_nreg()
|
|
store ptr %t2, ptr %t3
|
|
call void @fn_emit(ptr @.str3927)
|
|
%t4 = load ptr, ptr %t3
|
|
call void @fn_emit(ptr %t4)
|
|
call void @fn_emit(ptr @.str3928)
|
|
%t5 = load ptr, ptr %t0
|
|
call void @fn_emit(ptr %t5)
|
|
call void @fn_emit(ptr @.str3929)
|
|
%t6 = load i32, ptr %t1
|
|
%t7 = call ptr @fn_itoa(i32 %t6)
|
|
call void @fn_emit(ptr %t7)
|
|
call void @fn_emit(ptr @.str3930)
|
|
%t8 = load ptr, ptr %t3
|
|
store ptr %t8, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t9 = load ptr, ptr %retval
|
|
ret ptr %t9
|
|
}
|
|
|
|
define ptr @fn_emit_len(ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t9 = alloca ptr
|
|
%t19 = alloca ptr
|
|
%t30 = alloca ptr
|
|
store ptr %arg_e, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = getelementptr inbounds ptr, ptr %t5, i32 0
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = call ptr @fn_emit_expr(ptr %t7)
|
|
store ptr %t8, ptr %t9
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 1
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = call i32 @fn_is_slice_ty(ptr %t12)
|
|
%t14 = icmp ne i32 %t13, 0
|
|
br i1 %t14, label %then0, label %ifend2
|
|
then0:
|
|
%t15 = load ptr, ptr %t9
|
|
%t16 = getelementptr inbounds %Cmp_Val, ptr %t15, i32 0, i32 0
|
|
%t17 = load ptr, ptr %t16
|
|
%t18 = call ptr @fn_slice_field(ptr %t17, i32 1)
|
|
store ptr %t18, ptr %t19
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = call ptr @fn_str_concat(ptr @.str3931, ptr %t20)
|
|
%t22 = call ptr @fn_emit_bind(ptr %t21)
|
|
%t23 = call ptr @fn_val(ptr %t22, ptr @.str3932)
|
|
store ptr %t23, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t24 = load ptr, ptr %t9
|
|
%t25 = getelementptr inbounds %Cmp_Val, ptr %t24, i32 0, i32 0
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = call ptr @fn_str_concat(ptr @.str3933, ptr %t26)
|
|
%t28 = call ptr @fn_str_concat(ptr %t27, ptr @.str3934)
|
|
%t29 = call ptr @fn_emit_bind(ptr %t28)
|
|
store ptr %t29, ptr %t30
|
|
%t31 = load ptr, ptr %t30
|
|
%t32 = call ptr @fn_str_concat(ptr @.str3935, ptr %t31)
|
|
%t33 = call ptr @fn_str_concat(ptr %t32, ptr @.str3936)
|
|
%t34 = call ptr @fn_emit_bind(ptr %t33)
|
|
%t35 = call ptr @fn_val(ptr %t34, ptr @.str3937)
|
|
store ptr %t35, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t36 = load ptr, ptr %retval
|
|
ret ptr %t36
|
|
}
|
|
|
|
define ptr @fn_emit_push(ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t9 = alloca ptr
|
|
%t14 = alloca ptr
|
|
%t17 = alloca ptr
|
|
%t21 = alloca ptr
|
|
%t24 = alloca ptr
|
|
%t27 = alloca ptr
|
|
%t30 = alloca ptr
|
|
%t34 = alloca ptr
|
|
%t38 = alloca ptr
|
|
%t45 = alloca ptr
|
|
%t47 = alloca ptr
|
|
%t49 = alloca ptr
|
|
%t58 = alloca ptr
|
|
%t63 = alloca ptr
|
|
%t70 = alloca ptr
|
|
%t73 = alloca ptr
|
|
%t78 = alloca ptr
|
|
%t85 = alloca ptr
|
|
%t89 = alloca ptr
|
|
%t97 = alloca ptr
|
|
%t112 = alloca ptr
|
|
%t116 = alloca ptr
|
|
%t118 = alloca ptr
|
|
%t132 = alloca ptr
|
|
store ptr %arg_e, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 7
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = getelementptr inbounds ptr, ptr %t5, i32 0
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = call ptr @fn_emit_expr(ptr %t7)
|
|
store ptr %t8, ptr %t9
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 1
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = call ptr @fn_slice_elem(ptr %t12)
|
|
store ptr %t13, ptr %t14
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = call ptr @fn_llty(ptr %t15)
|
|
store ptr %t16, ptr %t17
|
|
%t18 = load ptr, ptr %t9
|
|
%t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0
|
|
%t20 = load ptr, ptr %t19
|
|
store ptr %t20, ptr %t21
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = call ptr @fn_slice_field(ptr %t22, i32 1)
|
|
store ptr %t23, ptr %t24
|
|
%t25 = load ptr, ptr %t21
|
|
%t26 = call ptr @fn_slice_field(ptr %t25, i32 2)
|
|
store ptr %t26, ptr %t27
|
|
%t28 = load ptr, ptr %t21
|
|
%t29 = call ptr @fn_slice_field(ptr %t28, i32 0)
|
|
store ptr %t29, ptr %t30
|
|
%t31 = load ptr, ptr %t24
|
|
%t32 = call ptr @fn_str_concat(ptr @.str3938, ptr %t31)
|
|
%t33 = call ptr @fn_emit_bind(ptr %t32)
|
|
store ptr %t33, ptr %t34
|
|
%t35 = load ptr, ptr %t27
|
|
%t36 = call ptr @fn_str_concat(ptr @.str3939, ptr %t35)
|
|
%t37 = call ptr @fn_emit_bind(ptr %t36)
|
|
store ptr %t37, ptr %t38
|
|
%t39 = load ptr, ptr %t34
|
|
%t40 = call ptr @fn_str_concat(ptr @.str3940, ptr %t39)
|
|
%t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str3941)
|
|
%t42 = load ptr, ptr %t38
|
|
%t43 = call ptr @fn_str_concat(ptr %t41, ptr %t42)
|
|
%t44 = call ptr @fn_emit_bind(ptr %t43)
|
|
store ptr %t44, ptr %t45
|
|
%t46 = call ptr @fn_lbl(ptr @.str3942)
|
|
store ptr %t46, ptr %t47
|
|
%t48 = call ptr @fn_lbl(ptr @.str3943)
|
|
store ptr %t48, ptr %t49
|
|
call void @fn_emit(ptr @.str3944)
|
|
%t50 = load ptr, ptr %t45
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str3945)
|
|
%t51 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t51)
|
|
call void @fn_emit(ptr @.str3946)
|
|
%t52 = load ptr, ptr %t49
|
|
call void @fn_emit(ptr %t52)
|
|
call void @fn_emit(ptr @.str3947)
|
|
%t53 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t53)
|
|
call void @fn_emit(ptr @.str3948)
|
|
%t54 = load ptr, ptr %t38
|
|
%t55 = call ptr @fn_str_concat(ptr @.str3949, ptr %t54)
|
|
%t56 = call ptr @fn_str_concat(ptr %t55, ptr @.str3950)
|
|
%t57 = call ptr @fn_emit_bind(ptr %t56)
|
|
store ptr %t57, ptr %t58
|
|
%t59 = load ptr, ptr %t38
|
|
%t60 = call ptr @fn_str_concat(ptr @.str3951, ptr %t59)
|
|
%t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str3952)
|
|
%t62 = call ptr @fn_emit_bind(ptr %t61)
|
|
store ptr %t62, ptr %t63
|
|
%t64 = load ptr, ptr %t63
|
|
%t65 = call ptr @fn_str_concat(ptr @.str3953, ptr %t64)
|
|
%t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str3954)
|
|
%t67 = load ptr, ptr %t58
|
|
%t68 = call ptr @fn_str_concat(ptr %t66, ptr %t67)
|
|
%t69 = call ptr @fn_emit_bind(ptr %t68)
|
|
store ptr %t69, ptr %t70
|
|
%t71 = load ptr, ptr %t17
|
|
%t72 = call ptr @fn_emit_sizeof(ptr %t71)
|
|
store ptr %t72, ptr %t73
|
|
%t74 = load ptr, ptr %t70
|
|
%t75 = call ptr @fn_str_concat(ptr @.str3955, ptr %t74)
|
|
%t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str3956)
|
|
%t77 = call ptr @fn_emit_bind(ptr %t76)
|
|
store ptr %t77, ptr %t78
|
|
%t79 = load ptr, ptr %t78
|
|
%t80 = call ptr @fn_str_concat(ptr @.str3957, ptr %t79)
|
|
%t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str3958)
|
|
%t82 = load ptr, ptr %t73
|
|
%t83 = call ptr @fn_str_concat(ptr %t81, ptr %t82)
|
|
%t84 = call ptr @fn_emit_bind(ptr %t83)
|
|
store ptr %t84, ptr %t85
|
|
%t86 = load ptr, ptr %t30
|
|
%t87 = call ptr @fn_str_concat(ptr @.str3959, ptr %t86)
|
|
%t88 = call ptr @fn_emit_bind(ptr %t87)
|
|
store ptr %t88, ptr %t89
|
|
%t90 = load ptr, ptr %t89
|
|
%t91 = call ptr @fn_str_concat(ptr @.str3960, ptr %t90)
|
|
%t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str3961)
|
|
%t93 = load ptr, ptr %t85
|
|
%t94 = call ptr @fn_str_concat(ptr %t92, ptr %t93)
|
|
%t95 = call ptr @fn_str_concat(ptr %t94, ptr @.str3962)
|
|
%t96 = call ptr @fn_emit_bind(ptr %t95)
|
|
store ptr %t96, ptr %t97
|
|
call void @fn_emit(ptr @.str3963)
|
|
%t98 = load ptr, ptr %t97
|
|
call void @fn_emit(ptr %t98)
|
|
call void @fn_emit(ptr @.str3964)
|
|
%t99 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t99)
|
|
call void @fn_emit(ptr @.str3965)
|
|
call void @fn_emit(ptr @.str3966)
|
|
%t100 = load ptr, ptr %t70
|
|
call void @fn_emit(ptr %t100)
|
|
call void @fn_emit(ptr @.str3967)
|
|
%t101 = load ptr, ptr %t27
|
|
call void @fn_emit(ptr %t101)
|
|
call void @fn_emit(ptr @.str3968)
|
|
call void @fn_emit(ptr @.str3969)
|
|
%t102 = load ptr, ptr %t49
|
|
call void @fn_emit(ptr %t102)
|
|
call void @fn_emit(ptr @.str3970)
|
|
%t103 = load ptr, ptr %t49
|
|
call void @fn_emit(ptr %t103)
|
|
call void @fn_emit(ptr @.str3971)
|
|
%t104 = load ptr, ptr %t0
|
|
%t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 7
|
|
%t106 = load ptr, ptr %t105
|
|
%t107 = getelementptr inbounds %LSlice, ptr %t106, i32 0, i32 0
|
|
%t108 = load ptr, ptr %t107
|
|
%t109 = getelementptr inbounds ptr, ptr %t108, i32 1
|
|
%t110 = load ptr, ptr %t109
|
|
%t111 = call ptr @fn_emit_expr(ptr %t110)
|
|
store ptr %t111, ptr %t112
|
|
%t113 = load ptr, ptr %t30
|
|
%t114 = call ptr @fn_str_concat(ptr @.str3972, ptr %t113)
|
|
%t115 = call ptr @fn_emit_bind(ptr %t114)
|
|
store ptr %t115, ptr %t116
|
|
%t117 = call ptr @fn_nreg()
|
|
store ptr %t117, ptr %t118
|
|
call void @fn_emit(ptr @.str3973)
|
|
%t119 = load ptr, ptr %t118
|
|
call void @fn_emit(ptr %t119)
|
|
call void @fn_emit(ptr @.str3974)
|
|
%t120 = load ptr, ptr %t17
|
|
call void @fn_emit(ptr %t120)
|
|
call void @fn_emit(ptr @.str3975)
|
|
%t121 = load ptr, ptr %t116
|
|
call void @fn_emit(ptr %t121)
|
|
call void @fn_emit(ptr @.str3976)
|
|
%t122 = load ptr, ptr %t34
|
|
call void @fn_emit(ptr %t122)
|
|
call void @fn_emit(ptr @.str3977)
|
|
call void @fn_emit(ptr @.str3978)
|
|
%t123 = load ptr, ptr %t17
|
|
call void @fn_emit(ptr %t123)
|
|
call void @fn_emit(ptr @.str3979)
|
|
%t124 = load ptr, ptr %t112
|
|
%t125 = getelementptr inbounds %Cmp_Val, ptr %t124, i32 0, i32 0
|
|
%t126 = load ptr, ptr %t125
|
|
call void @fn_emit(ptr %t126)
|
|
call void @fn_emit(ptr @.str3980)
|
|
%t127 = load ptr, ptr %t118
|
|
call void @fn_emit(ptr %t127)
|
|
call void @fn_emit(ptr @.str3981)
|
|
%t128 = load ptr, ptr %t34
|
|
%t129 = call ptr @fn_str_concat(ptr @.str3982, ptr %t128)
|
|
%t130 = call ptr @fn_str_concat(ptr %t129, ptr @.str3983)
|
|
%t131 = call ptr @fn_emit_bind(ptr %t130)
|
|
store ptr %t131, ptr %t132
|
|
call void @fn_emit(ptr @.str3984)
|
|
%t133 = load ptr, ptr %t132
|
|
call void @fn_emit(ptr %t133)
|
|
call void @fn_emit(ptr @.str3985)
|
|
%t134 = load ptr, ptr %t24
|
|
call void @fn_emit(ptr %t134)
|
|
call void @fn_emit(ptr @.str3986)
|
|
%t135 = call ptr @fn_val(ptr @.str3987, ptr @.str3988)
|
|
store ptr %t135, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t136 = load ptr, ptr %retval
|
|
ret ptr %t136
|
|
}
|
|
|
|
define ptr @fn_emit_load_at(ptr %arg_addr, ptr %arg_ty) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t9 = alloca ptr
|
|
store ptr %arg_addr, ptr %t0
|
|
store ptr %arg_ty, ptr %t1
|
|
%t2 = load ptr, ptr %t1
|
|
%t3 = call ptr @fn_llty(ptr %t2)
|
|
%t4 = call ptr @fn_str_concat(ptr @.str3989, ptr %t3)
|
|
%t5 = call ptr @fn_str_concat(ptr %t4, ptr @.str3990)
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = call ptr @fn_str_concat(ptr %t5, ptr %t6)
|
|
%t8 = call ptr @fn_emit_bind(ptr %t7)
|
|
store ptr %t8, ptr %t9
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = load ptr, ptr %t1
|
|
%t12 = call ptr @fn_val(ptr %t10, ptr %t11)
|
|
store ptr %t12, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t13 = load ptr, ptr %retval
|
|
ret ptr %t13
|
|
}
|
|
|
|
define ptr @fn_emit_logic(ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t14 = alloca ptr
|
|
%t19 = alloca ptr
|
|
%t23 = alloca ptr
|
|
%t25 = alloca ptr
|
|
%t42 = alloca ptr
|
|
%t49 = alloca ptr
|
|
%t54 = alloca ptr
|
|
store ptr %arg_e, ptr %t0
|
|
%t1 = call ptr @fn_emit_alloca(ptr @.str3991)
|
|
store ptr %t1, ptr %t2
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = call ptr @fn_emit_expr(ptr %t5)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = getelementptr inbounds %Cmp_Val, ptr %t8, i32 0, i32 0
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = call ptr @fn_str_concat(ptr @.str3992, ptr %t10)
|
|
%t12 = call ptr @fn_str_concat(ptr %t11, ptr @.str3993)
|
|
%t13 = call ptr @fn_emit_bind(ptr %t12)
|
|
store ptr %t13, ptr %t14
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = call ptr @fn_str_concat(ptr @.str3994, ptr %t15)
|
|
%t17 = call ptr @fn_str_concat(ptr %t16, ptr @.str3995)
|
|
%t18 = call ptr @fn_emit_bind(ptr %t17)
|
|
store ptr %t18, ptr %t19
|
|
call void @fn_emit(ptr @.str3996)
|
|
%t20 = load ptr, ptr %t19
|
|
call void @fn_emit(ptr %t20)
|
|
call void @fn_emit(ptr @.str3997)
|
|
%t21 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t21)
|
|
call void @fn_emit(ptr @.str3998)
|
|
%t22 = call ptr @fn_lbl(ptr @.str3999)
|
|
store ptr %t22, ptr %t23
|
|
%t24 = call ptr @fn_lbl(ptr @.str4000)
|
|
store ptr %t24, ptr %t25
|
|
%t26 = load ptr, ptr %t0
|
|
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str4001)
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then0, label %else1
|
|
then0:
|
|
call void @fn_emit(ptr @.str4002)
|
|
%t31 = load ptr, ptr %t14
|
|
call void @fn_emit(ptr %t31)
|
|
call void @fn_emit(ptr @.str4003)
|
|
%t32 = load ptr, ptr %t23
|
|
call void @fn_emit(ptr %t32)
|
|
call void @fn_emit(ptr @.str4004)
|
|
%t33 = load ptr, ptr %t25
|
|
call void @fn_emit(ptr %t33)
|
|
call void @fn_emit(ptr @.str4005)
|
|
br label %ifend2
|
|
else1:
|
|
call void @fn_emit(ptr @.str4006)
|
|
%t34 = load ptr, ptr %t14
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str4007)
|
|
%t35 = load ptr, ptr %t25
|
|
call void @fn_emit(ptr %t35)
|
|
call void @fn_emit(ptr @.str4008)
|
|
%t36 = load ptr, ptr %t23
|
|
call void @fn_emit(ptr %t36)
|
|
call void @fn_emit(ptr @.str4009)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t37 = load ptr, ptr %t23
|
|
call void @fn_emit(ptr %t37)
|
|
call void @fn_emit(ptr @.str4010)
|
|
%t38 = load ptr, ptr %t0
|
|
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 5
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = call ptr @fn_emit_expr(ptr %t40)
|
|
store ptr %t41, ptr %t42
|
|
%t43 = load ptr, ptr %t42
|
|
%t44 = getelementptr inbounds %Cmp_Val, ptr %t43, i32 0, i32 0
|
|
%t45 = load ptr, ptr %t44
|
|
%t46 = call ptr @fn_str_concat(ptr @.str4011, ptr %t45)
|
|
%t47 = call ptr @fn_str_concat(ptr %t46, ptr @.str4012)
|
|
%t48 = call ptr @fn_emit_bind(ptr %t47)
|
|
store ptr %t48, ptr %t49
|
|
%t50 = load ptr, ptr %t49
|
|
%t51 = call ptr @fn_str_concat(ptr @.str4013, ptr %t50)
|
|
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str4014)
|
|
%t53 = call ptr @fn_emit_bind(ptr %t52)
|
|
store ptr %t53, ptr %t54
|
|
call void @fn_emit(ptr @.str4015)
|
|
%t55 = load ptr, ptr %t54
|
|
call void @fn_emit(ptr %t55)
|
|
call void @fn_emit(ptr @.str4016)
|
|
%t56 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t56)
|
|
call void @fn_emit(ptr @.str4017)
|
|
call void @fn_emit(ptr @.str4018)
|
|
%t57 = load ptr, ptr %t25
|
|
call void @fn_emit(ptr %t57)
|
|
call void @fn_emit(ptr @.str4019)
|
|
%t58 = load ptr, ptr %t25
|
|
call void @fn_emit(ptr %t58)
|
|
call void @fn_emit(ptr @.str4020)
|
|
%t59 = load ptr, ptr %t2
|
|
%t60 = call ptr @fn_str_concat(ptr @.str4021, ptr %t59)
|
|
%t61 = call ptr @fn_emit_bind(ptr %t60)
|
|
%t62 = call ptr @fn_val(ptr %t61, ptr @.str4022)
|
|
store ptr %t62, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t63 = load ptr, ptr %retval
|
|
ret ptr %t63
|
|
}
|
|
|
|
define ptr @fn_cmp_code(ptr %arg_op) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
store ptr %arg_op, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str4023)
|
|
%t3 = icmp ne i32 %t2, 0
|
|
br i1 %t3, label %then0, label %ifend2
|
|
then0:
|
|
store ptr @.str4024, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str4025)
|
|
%t6 = icmp ne i32 %t5, 0
|
|
br i1 %t6, label %then3, label %ifend5
|
|
then3:
|
|
store ptr @.str4026, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str4027)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then6, label %ifend8
|
|
then6:
|
|
store ptr @.str4028, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str4029)
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then9, label %ifend11
|
|
then9:
|
|
store ptr @.str4030, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str4031)
|
|
%t15 = icmp ne i32 %t14, 0
|
|
br i1 %t15, label %then12, label %ifend14
|
|
then12:
|
|
store ptr @.str4032, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
store ptr @.str4033, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t16 = load ptr, ptr %retval
|
|
ret ptr %t16
|
|
}
|
|
|
|
define i32 @fn_is_cmp(ptr %arg_op) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
%t4 = alloca i32
|
|
%t5 = alloca i32
|
|
store ptr %arg_op, ptr %t0
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = call i32 @fn_str_eq(ptr %t6, ptr @.str4034)
|
|
%t8 = icmp ne i32 %t7, 0
|
|
%t9 = zext i1 %t8 to i32
|
|
store i32 %t9, ptr %t5
|
|
br i1 %t8, label %scend1, label %sc0
|
|
sc0:
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str4035)
|
|
%t12 = icmp ne i32 %t11, 0
|
|
%t13 = zext i1 %t12 to i32
|
|
store i32 %t13, ptr %t5
|
|
br label %scend1
|
|
scend1:
|
|
%t14 = load i32, ptr %t5
|
|
%t15 = icmp ne i32 %t14, 0
|
|
%t16 = zext i1 %t15 to i32
|
|
store i32 %t16, ptr %t4
|
|
br i1 %t15, label %scend3, label %sc2
|
|
sc2:
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str4036)
|
|
%t19 = icmp ne i32 %t18, 0
|
|
%t20 = zext i1 %t19 to i32
|
|
store i32 %t20, ptr %t4
|
|
br label %scend3
|
|
scend3:
|
|
%t21 = load i32, ptr %t4
|
|
%t22 = icmp ne i32 %t21, 0
|
|
%t23 = zext i1 %t22 to i32
|
|
store i32 %t23, ptr %t3
|
|
br i1 %t22, label %scend5, label %sc4
|
|
sc4:
|
|
%t24 = load ptr, ptr %t0
|
|
%t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str4037)
|
|
%t26 = icmp ne i32 %t25, 0
|
|
%t27 = zext i1 %t26 to i32
|
|
store i32 %t27, ptr %t3
|
|
br label %scend5
|
|
scend5:
|
|
%t28 = load i32, ptr %t3
|
|
%t29 = icmp ne i32 %t28, 0
|
|
%t30 = zext i1 %t29 to i32
|
|
store i32 %t30, ptr %t2
|
|
br i1 %t29, label %scend7, label %sc6
|
|
sc6:
|
|
%t31 = load ptr, ptr %t0
|
|
%t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str4038)
|
|
%t33 = icmp ne i32 %t32, 0
|
|
%t34 = zext i1 %t33 to i32
|
|
store i32 %t34, ptr %t2
|
|
br label %scend7
|
|
scend7:
|
|
%t35 = load i32, ptr %t2
|
|
%t36 = icmp ne i32 %t35, 0
|
|
%t37 = zext i1 %t36 to i32
|
|
store i32 %t37, ptr %t1
|
|
br i1 %t36, label %scend9, label %sc8
|
|
sc8:
|
|
%t38 = load ptr, ptr %t0
|
|
%t39 = call i32 @fn_str_eq(ptr %t38, ptr @.str4039)
|
|
%t40 = icmp ne i32 %t39, 0
|
|
%t41 = zext i1 %t40 to i32
|
|
store i32 %t41, ptr %t1
|
|
br label %scend9
|
|
scend9:
|
|
%t42 = load i32, ptr %t1
|
|
store i32 %t42, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t43 = load i32, ptr %retval
|
|
ret i32 %t43
|
|
}
|
|
|
|
define ptr @fn_arith_code(ptr %arg_op) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
store ptr %arg_op, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str4040)
|
|
%t3 = icmp ne i32 %t2, 0
|
|
br i1 %t3, label %then0, label %ifend2
|
|
then0:
|
|
store ptr @.str4041, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str4042)
|
|
%t6 = icmp ne i32 %t5, 0
|
|
br i1 %t6, label %then3, label %ifend5
|
|
then3:
|
|
store ptr @.str4043, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str4044)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then6, label %ifend8
|
|
then6:
|
|
store ptr @.str4045, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str4046)
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then9, label %ifend11
|
|
then9:
|
|
store ptr @.str4047, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str4048)
|
|
%t15 = icmp ne i32 %t14, 0
|
|
br i1 %t15, label %then12, label %ifend14
|
|
then12:
|
|
store ptr @.str4049, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t16 = load ptr, ptr %t0
|
|
%t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str4050)
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then15, label %ifend17
|
|
then15:
|
|
store ptr @.str4051, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t19 = load ptr, ptr %t0
|
|
%t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str4052)
|
|
%t21 = icmp ne i32 %t20, 0
|
|
br i1 %t21, label %then18, label %ifend20
|
|
then18:
|
|
store ptr @.str4053, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str4054)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
br i1 %t24, label %then21, label %ifend23
|
|
then21:
|
|
store ptr @.str4055, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t25 = load ptr, ptr %t0
|
|
%t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str4056)
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then24, label %ifend26
|
|
then24:
|
|
store ptr @.str4057, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
store ptr @.str4058, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t28 = load ptr, ptr %retval
|
|
ret ptr %t28
|
|
}
|
|
|
|
define ptr @fn_to_fixed(ptr %arg_v) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
store ptr %arg_v, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str4059)
|
|
%t5 = icmp ne i32 %t4, 0
|
|
br i1 %t5, label %then0, label %ifend2
|
|
then0:
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0
|
|
%t8 = load ptr, ptr %t7
|
|
store ptr %t8, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t9 = load ptr, ptr %t0
|
|
%t10 = getelementptr inbounds %Cmp_Val, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = call ptr @fn_str_concat(ptr @.str4060, ptr %t11)
|
|
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str4061)
|
|
%t14 = call ptr @fn_emit_bind(ptr %t13)
|
|
store ptr %t14, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t15 = load ptr, ptr %retval
|
|
ret ptr %t15
|
|
}
|
|
|
|
define ptr @fn_coerce_code(ptr %arg_v, ptr %arg_target) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t4 = alloca ptr
|
|
%t9 = alloca ptr
|
|
%t17 = alloca i32
|
|
%t34 = alloca i32
|
|
store ptr %arg_v, ptr %t0
|
|
store ptr %arg_target, ptr %t1
|
|
%t2 = load ptr, ptr %t1
|
|
%t3 = call ptr @fn_llty(ptr %t2)
|
|
store ptr %t3, ptr %t4
|
|
%t5 = load ptr, ptr %t0
|
|
%t6 = getelementptr inbounds %Cmp_Val, ptr %t5, i32 0, i32 1
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = call ptr @fn_llty(ptr %t7)
|
|
store ptr %t8, ptr %t9
|
|
%t10 = load ptr, ptr %t4
|
|
%t11 = load ptr, ptr %t9
|
|
%t12 = call i32 @fn_str_eq(ptr %t10, ptr %t11)
|
|
%t13 = icmp ne i32 %t12, 0
|
|
br i1 %t13, label %then0, label %ifend2
|
|
then0:
|
|
%t14 = load ptr, ptr %t0
|
|
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
|
|
%t16 = load ptr, ptr %t15
|
|
store ptr %t16, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t18 = load ptr, ptr %t4
|
|
%t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str4062)
|
|
%t20 = icmp ne i32 %t19, 0
|
|
%t21 = zext i1 %t20 to i32
|
|
store i32 %t21, ptr %t17
|
|
br i1 %t20, label %sc3, label %scend4
|
|
sc3:
|
|
%t22 = load ptr, ptr %t9
|
|
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str4063)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
store i32 %t25, ptr %t17
|
|
br label %scend4
|
|
scend4:
|
|
%t26 = load i32, ptr %t17
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then5, label %ifend7
|
|
then5:
|
|
%t28 = load ptr, ptr %t0
|
|
%t29 = getelementptr inbounds %Cmp_Val, ptr %t28, i32 0, i32 0
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = call ptr @fn_str_concat(ptr @.str4064, ptr %t30)
|
|
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str4065)
|
|
%t33 = call ptr @fn_emit_bind(ptr %t32)
|
|
store ptr %t33, ptr %retval
|
|
br label %ret
|
|
ifend7:
|
|
%t35 = load ptr, ptr %t4
|
|
%t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str4066)
|
|
%t37 = icmp ne i32 %t36, 0
|
|
%t38 = zext i1 %t37 to i32
|
|
store i32 %t38, ptr %t34
|
|
br i1 %t37, label %sc8, label %scend9
|
|
sc8:
|
|
%t39 = load ptr, ptr %t9
|
|
%t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str4067)
|
|
%t41 = icmp ne i32 %t40, 0
|
|
%t42 = zext i1 %t41 to i32
|
|
store i32 %t42, ptr %t34
|
|
br label %scend9
|
|
scend9:
|
|
%t43 = load i32, ptr %t34
|
|
%t44 = icmp ne i32 %t43, 0
|
|
br i1 %t44, label %then10, label %ifend12
|
|
then10:
|
|
%t45 = load ptr, ptr %t0
|
|
%t46 = getelementptr inbounds %Cmp_Val, ptr %t45, i32 0, i32 0
|
|
%t47 = load ptr, ptr %t46
|
|
%t48 = call ptr @fn_str_concat(ptr @.str4068, ptr %t47)
|
|
%t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str4069)
|
|
%t50 = call ptr @fn_emit_bind(ptr %t49)
|
|
store ptr %t50, ptr %retval
|
|
br label %ret
|
|
ifend12:
|
|
%t51 = load ptr, ptr %t0
|
|
%t52 = getelementptr inbounds %Cmp_Val, ptr %t51, i32 0, i32 0
|
|
%t53 = load ptr, ptr %t52
|
|
store ptr %t53, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t54 = load ptr, ptr %retval
|
|
ret ptr %t54
|
|
}
|
|
|
|
define ptr @fn_to_long(ptr %arg_v) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
store ptr %arg_v, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Val, ptr %t1, i32 0, i32 1
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = call ptr @fn_llty(ptr %t3)
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str4070)
|
|
%t6 = icmp ne i32 %t5, 0
|
|
br i1 %t6, label %then0, label %ifend2
|
|
then0:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = getelementptr inbounds %Cmp_Val, ptr %t7, i32 0, i32 0
|
|
%t9 = load ptr, ptr %t8
|
|
store ptr %t9, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = getelementptr inbounds %Cmp_Val, ptr %t10, i32 0, i32 0
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = call ptr @fn_str_concat(ptr @.str4071, ptr %t12)
|
|
%t14 = call ptr @fn_str_concat(ptr %t13, ptr @.str4072)
|
|
%t15 = call ptr @fn_emit_bind(ptr %t14)
|
|
store ptr %t15, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t16 = load ptr, ptr %retval
|
|
ret ptr %t16
|
|
}
|
|
|
|
define ptr @fn_emit_str_op(ptr %arg_op, ptr %arg_a, ptr %arg_b) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t29 = alloca ptr
|
|
%t37 = alloca ptr
|
|
store ptr %arg_op, ptr %t0
|
|
store ptr %arg_a, ptr %t1
|
|
store ptr %arg_b, ptr %t2
|
|
store i32 1, ptr @g_g_uses_str
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str4073)
|
|
%t5 = icmp ne i32 %t4, 0
|
|
br i1 %t5, label %then0, label %ifend2
|
|
then0:
|
|
%t6 = load ptr, ptr %t1
|
|
%t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = call ptr @fn_str_concat(ptr @.str4074, ptr %t8)
|
|
%t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str4075)
|
|
%t11 = load ptr, ptr %t2
|
|
%t12 = getelementptr inbounds %Cmp_Val, ptr %t11, i32 0, i32 0
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = call ptr @fn_str_concat(ptr %t10, ptr %t13)
|
|
%t15 = call ptr @fn_str_concat(ptr %t14, ptr @.str4076)
|
|
%t16 = call ptr @fn_emit_bind(ptr %t15)
|
|
%t17 = call ptr @fn_val(ptr %t16, ptr @.str4077)
|
|
store ptr %t17, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t18 = load ptr, ptr %t1
|
|
%t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = call ptr @fn_str_concat(ptr @.str4078, ptr %t20)
|
|
%t22 = call ptr @fn_str_concat(ptr %t21, ptr @.str4079)
|
|
%t23 = load ptr, ptr %t2
|
|
%t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = call ptr @fn_str_concat(ptr %t22, ptr %t25)
|
|
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str4080)
|
|
%t28 = call ptr @fn_emit_bind(ptr %t27)
|
|
store ptr %t28, ptr %t29
|
|
%t30 = load ptr, ptr %t0
|
|
%t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str4081)
|
|
%t32 = icmp ne i32 %t31, 0
|
|
br i1 %t32, label %then3, label %ifend5
|
|
then3:
|
|
%t33 = load ptr, ptr %t29
|
|
%t34 = call ptr @fn_str_concat(ptr @.str4082, ptr %t33)
|
|
%t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str4083)
|
|
%t36 = call ptr @fn_emit_bind(ptr %t35)
|
|
store ptr %t36, ptr %t37
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = call ptr @fn_str_concat(ptr @.str4084, ptr %t38)
|
|
%t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str4085)
|
|
%t41 = call ptr @fn_emit_bind(ptr %t40)
|
|
%t42 = call ptr @fn_val(ptr %t41, ptr @.str4086)
|
|
store ptr %t42, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t43 = load ptr, ptr %t29
|
|
%t44 = call ptr @fn_val(ptr %t43, ptr @.str4087)
|
|
store ptr %t44, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t45 = load ptr, ptr %retval
|
|
ret ptr %t45
|
|
}
|
|
|
|
define ptr @fn_emit_bin(ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t22 = alloca ptr
|
|
%t27 = alloca ptr
|
|
%t28 = alloca i32
|
|
%t44 = alloca i32
|
|
%t45 = alloca i32
|
|
%t65 = alloca i32
|
|
%t76 = alloca i32
|
|
%t77 = alloca i32
|
|
%t106 = alloca i32
|
|
%t120 = alloca i32
|
|
%t121 = alloca i32
|
|
%t122 = alloca i32
|
|
%t123 = alloca i32
|
|
%t155 = alloca i32
|
|
%t164 = alloca ptr
|
|
%t168 = alloca ptr
|
|
%t169 = alloca ptr
|
|
%t182 = alloca i32
|
|
%t214 = alloca ptr
|
|
%t224 = alloca ptr
|
|
%t227 = alloca ptr
|
|
%t244 = alloca ptr
|
|
%t247 = alloca ptr
|
|
%t257 = alloca ptr
|
|
%t262 = alloca ptr
|
|
%t269 = alloca ptr
|
|
%t274 = alloca ptr
|
|
%t289 = alloca ptr
|
|
%t294 = alloca ptr
|
|
%t299 = alloca ptr
|
|
%t306 = alloca ptr
|
|
%t323 = alloca ptr
|
|
%t341 = alloca ptr
|
|
store ptr %arg_e, ptr %t0
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 1
|
|
%t4 = load ptr, ptr %t3
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str4088)
|
|
%t6 = icmp ne i32 %t5, 0
|
|
%t7 = zext i1 %t6 to i32
|
|
store i32 %t7, ptr %t1
|
|
br i1 %t6, label %scend1, label %sc0
|
|
sc0:
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str4089)
|
|
%t12 = icmp ne i32 %t11, 0
|
|
%t13 = zext i1 %t12 to i32
|
|
store i32 %t13, ptr %t1
|
|
br label %scend1
|
|
scend1:
|
|
%t14 = load i32, ptr %t1
|
|
%t15 = icmp ne i32 %t14, 0
|
|
br i1 %t15, label %then2, label %ifend4
|
|
then2:
|
|
%t16 = load ptr, ptr %t0
|
|
%t17 = call ptr @fn_emit_logic(ptr %t16)
|
|
store ptr %t17, ptr %retval
|
|
br label %ret
|
|
ifend4:
|
|
%t18 = load ptr, ptr %t0
|
|
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = call ptr @fn_emit_expr(ptr %t20)
|
|
store ptr %t21, ptr %t22
|
|
%t23 = load ptr, ptr %t0
|
|
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 5
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = call ptr @fn_emit_expr(ptr %t25)
|
|
store ptr %t26, ptr %t27
|
|
%t29 = load ptr, ptr %t22
|
|
%t30 = getelementptr inbounds %Cmp_Val, ptr %t29, i32 0, i32 1
|
|
%t31 = load ptr, ptr %t30
|
|
%t32 = call ptr @fn_llty(ptr %t31)
|
|
%t33 = call i32 @fn_str_eq(ptr %t32, ptr @.str4090)
|
|
%t34 = icmp ne i32 %t33, 0
|
|
%t35 = zext i1 %t34 to i32
|
|
store i32 %t35, ptr %t28
|
|
br i1 %t34, label %scend6, label %sc5
|
|
sc5:
|
|
%t36 = load ptr, ptr %t27
|
|
%t37 = getelementptr inbounds %Cmp_Val, ptr %t36, i32 0, i32 1
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = call ptr @fn_llty(ptr %t38)
|
|
%t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str4091)
|
|
%t41 = icmp ne i32 %t40, 0
|
|
%t42 = zext i1 %t41 to i32
|
|
store i32 %t42, ptr %t28
|
|
br label %scend6
|
|
scend6:
|
|
%t43 = load i32, ptr %t28
|
|
store i32 %t43, ptr %t44
|
|
%t46 = load ptr, ptr %t0
|
|
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 4
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 0
|
|
%t50 = load i32, ptr %t49
|
|
%t51 = icmp eq i32 %t50, 43
|
|
%t52 = zext i1 %t51 to i32
|
|
%t53 = icmp ne i32 %t52, 0
|
|
%t54 = zext i1 %t53 to i32
|
|
store i32 %t54, ptr %t45
|
|
br i1 %t53, label %scend8, label %sc7
|
|
sc7:
|
|
%t55 = load ptr, ptr %t0
|
|
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 5
|
|
%t57 = load ptr, ptr %t56
|
|
%t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 0
|
|
%t59 = load i32, ptr %t58
|
|
%t60 = icmp eq i32 %t59, 43
|
|
%t61 = zext i1 %t60 to i32
|
|
%t62 = icmp ne i32 %t61, 0
|
|
%t63 = zext i1 %t62 to i32
|
|
store i32 %t63, ptr %t45
|
|
br label %scend8
|
|
scend8:
|
|
%t64 = load i32, ptr %t45
|
|
store i32 %t64, ptr %t65
|
|
%t66 = load i32, ptr %t44
|
|
%t67 = icmp ne i32 %t66, 0
|
|
br i1 %t67, label %then9, label %ifend11
|
|
then9:
|
|
%t68 = load ptr, ptr %t0
|
|
%t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1
|
|
%t70 = load ptr, ptr %t69
|
|
%t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str4092)
|
|
%t72 = icmp ne i32 %t71, 0
|
|
br i1 %t72, label %then12, label %ifend14
|
|
then12:
|
|
%t73 = load ptr, ptr %t22
|
|
%t74 = load ptr, ptr %t27
|
|
%t75 = call ptr @fn_emit_str_op(ptr @.str4093, ptr %t73, ptr %t74)
|
|
store ptr %t75, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t78 = load ptr, ptr %t0
|
|
%t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 1
|
|
%t80 = load ptr, ptr %t79
|
|
%t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str4094)
|
|
%t82 = icmp ne i32 %t81, 0
|
|
%t83 = zext i1 %t82 to i32
|
|
store i32 %t83, ptr %t77
|
|
br i1 %t82, label %scend16, label %sc15
|
|
sc15:
|
|
%t84 = load ptr, ptr %t0
|
|
%t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 1
|
|
%t86 = load ptr, ptr %t85
|
|
%t87 = call i32 @fn_str_eq(ptr %t86, ptr @.str4095)
|
|
%t88 = icmp ne i32 %t87, 0
|
|
%t89 = zext i1 %t88 to i32
|
|
store i32 %t89, ptr %t77
|
|
br label %scend16
|
|
scend16:
|
|
%t90 = load i32, ptr %t77
|
|
%t91 = icmp ne i32 %t90, 0
|
|
%t92 = zext i1 %t91 to i32
|
|
store i32 %t92, ptr %t76
|
|
br i1 %t91, label %sc17, label %scend18
|
|
sc17:
|
|
%t93 = load i32, ptr %t65
|
|
%t94 = icmp eq i32 %t93, 0
|
|
%t95 = zext i1 %t94 to i32
|
|
%t96 = icmp ne i32 %t95, 0
|
|
%t97 = zext i1 %t96 to i32
|
|
store i32 %t97, ptr %t76
|
|
br label %scend18
|
|
scend18:
|
|
%t98 = load i32, ptr %t76
|
|
%t99 = icmp ne i32 %t98, 0
|
|
br i1 %t99, label %then19, label %ifend21
|
|
then19:
|
|
%t100 = load ptr, ptr %t0
|
|
%t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 1
|
|
%t102 = load ptr, ptr %t101
|
|
%t103 = load ptr, ptr %t22
|
|
%t104 = load ptr, ptr %t27
|
|
%t105 = call ptr @fn_emit_str_op(ptr %t102, ptr %t103, ptr %t104)
|
|
store ptr %t105, ptr %retval
|
|
br label %ret
|
|
ifend21:
|
|
br label %ifend11
|
|
ifend11:
|
|
%t107 = load ptr, ptr %t22
|
|
%t108 = getelementptr inbounds %Cmp_Val, ptr %t107, i32 0, i32 1
|
|
%t109 = load ptr, ptr %t108
|
|
%t110 = call i32 @fn_str_eq(ptr %t109, ptr @.str4096)
|
|
%t111 = icmp ne i32 %t110, 0
|
|
%t112 = zext i1 %t111 to i32
|
|
store i32 %t112, ptr %t106
|
|
br i1 %t111, label %scend23, label %sc22
|
|
sc22:
|
|
%t113 = load ptr, ptr %t27
|
|
%t114 = getelementptr inbounds %Cmp_Val, ptr %t113, i32 0, i32 1
|
|
%t115 = load ptr, ptr %t114
|
|
%t116 = call i32 @fn_str_eq(ptr %t115, ptr @.str4097)
|
|
%t117 = icmp ne i32 %t116, 0
|
|
%t118 = zext i1 %t117 to i32
|
|
store i32 %t118, ptr %t106
|
|
br label %scend23
|
|
scend23:
|
|
%t119 = load i32, ptr %t106
|
|
store i32 %t119, ptr %t120
|
|
%t124 = load ptr, ptr %t22
|
|
%t125 = getelementptr inbounds %Cmp_Val, ptr %t124, i32 0, i32 1
|
|
%t126 = load ptr, ptr %t125
|
|
%t127 = call ptr @fn_llty(ptr %t126)
|
|
%t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str4098)
|
|
%t129 = icmp ne i32 %t128, 0
|
|
%t130 = zext i1 %t129 to i32
|
|
store i32 %t130, ptr %t123
|
|
br i1 %t129, label %scend25, label %sc24
|
|
sc24:
|
|
%t131 = load ptr, ptr %t27
|
|
%t132 = getelementptr inbounds %Cmp_Val, ptr %t131, i32 0, i32 1
|
|
%t133 = load ptr, ptr %t132
|
|
%t134 = call ptr @fn_llty(ptr %t133)
|
|
%t135 = call i32 @fn_str_eq(ptr %t134, ptr @.str4099)
|
|
%t136 = icmp ne i32 %t135, 0
|
|
%t137 = zext i1 %t136 to i32
|
|
store i32 %t137, ptr %t123
|
|
br label %scend25
|
|
scend25:
|
|
%t138 = load i32, ptr %t123
|
|
%t139 = icmp ne i32 %t138, 0
|
|
%t140 = zext i1 %t139 to i32
|
|
store i32 %t140, ptr %t122
|
|
br i1 %t139, label %sc26, label %scend27
|
|
sc26:
|
|
%t141 = load i32, ptr %t120
|
|
%t142 = icmp eq i32 %t141, 0
|
|
%t143 = zext i1 %t142 to i32
|
|
%t144 = icmp ne i32 %t143, 0
|
|
%t145 = zext i1 %t144 to i32
|
|
store i32 %t145, ptr %t122
|
|
br label %scend27
|
|
scend27:
|
|
%t146 = load i32, ptr %t122
|
|
%t147 = icmp ne i32 %t146, 0
|
|
%t148 = zext i1 %t147 to i32
|
|
store i32 %t148, ptr %t121
|
|
br i1 %t147, label %sc28, label %scend29
|
|
sc28:
|
|
%t149 = load i32, ptr %t44
|
|
%t150 = icmp eq i32 %t149, 0
|
|
%t151 = zext i1 %t150 to i32
|
|
%t152 = icmp ne i32 %t151, 0
|
|
%t153 = zext i1 %t152 to i32
|
|
store i32 %t153, ptr %t121
|
|
br label %scend29
|
|
scend29:
|
|
%t154 = load i32, ptr %t121
|
|
store i32 %t154, ptr %t155
|
|
%t156 = load ptr, ptr %t0
|
|
%t157 = getelementptr inbounds %Cmp_Node, ptr %t156, i32 0, i32 1
|
|
%t158 = load ptr, ptr %t157
|
|
%t159 = call i32 @fn_is_cmp(ptr %t158)
|
|
%t160 = icmp ne i32 %t159, 0
|
|
br i1 %t160, label %then30, label %ifend32
|
|
then30:
|
|
%t161 = load ptr, ptr %t22
|
|
%t162 = getelementptr inbounds %Cmp_Val, ptr %t161, i32 0, i32 0
|
|
%t163 = load ptr, ptr %t162
|
|
store ptr %t163, ptr %t164
|
|
%t165 = load ptr, ptr %t27
|
|
%t166 = getelementptr inbounds %Cmp_Val, ptr %t165, i32 0, i32 0
|
|
%t167 = load ptr, ptr %t166
|
|
store ptr %t167, ptr %t168
|
|
store ptr @.str4100, ptr %t169
|
|
%t170 = load i32, ptr %t120
|
|
%t171 = icmp ne i32 %t170, 0
|
|
br i1 %t171, label %then33, label %else34
|
|
then33:
|
|
%t172 = load ptr, ptr %t22
|
|
%t173 = call ptr @fn_to_fixed(ptr %t172)
|
|
store ptr %t173, ptr %t164
|
|
%t174 = load ptr, ptr %t27
|
|
%t175 = call ptr @fn_to_fixed(ptr %t174)
|
|
store ptr %t175, ptr %t168
|
|
br label %ifend35
|
|
else34:
|
|
%t176 = load i32, ptr %t155
|
|
%t177 = icmp ne i32 %t176, 0
|
|
br i1 %t177, label %then36, label %else37
|
|
then36:
|
|
store ptr @.str4101, ptr %t169
|
|
%t178 = load ptr, ptr %t22
|
|
%t179 = call ptr @fn_to_long(ptr %t178)
|
|
store ptr %t179, ptr %t164
|
|
%t180 = load ptr, ptr %t27
|
|
%t181 = call ptr @fn_to_long(ptr %t180)
|
|
store ptr %t181, ptr %t168
|
|
br label %ifend38
|
|
else37:
|
|
%t183 = load ptr, ptr %t22
|
|
%t184 = getelementptr inbounds %Cmp_Val, ptr %t183, i32 0, i32 1
|
|
%t185 = load ptr, ptr %t184
|
|
%t186 = call ptr @fn_llty(ptr %t185)
|
|
%t187 = call i32 @fn_str_eq(ptr %t186, ptr @.str4102)
|
|
%t188 = icmp ne i32 %t187, 0
|
|
%t189 = zext i1 %t188 to i32
|
|
store i32 %t189, ptr %t182
|
|
br i1 %t188, label %scend40, label %sc39
|
|
sc39:
|
|
%t190 = load ptr, ptr %t27
|
|
%t191 = getelementptr inbounds %Cmp_Val, ptr %t190, i32 0, i32 1
|
|
%t192 = load ptr, ptr %t191
|
|
%t193 = call ptr @fn_llty(ptr %t192)
|
|
%t194 = call i32 @fn_str_eq(ptr %t193, ptr @.str4103)
|
|
%t195 = icmp ne i32 %t194, 0
|
|
%t196 = zext i1 %t195 to i32
|
|
store i32 %t196, ptr %t182
|
|
br label %scend40
|
|
scend40:
|
|
%t197 = load i32, ptr %t182
|
|
%t198 = icmp ne i32 %t197, 0
|
|
br i1 %t198, label %then41, label %ifend43
|
|
then41:
|
|
store ptr @.str4104, ptr %t169
|
|
br label %ifend43
|
|
ifend43:
|
|
br label %ifend38
|
|
ifend38:
|
|
br label %ifend35
|
|
ifend35:
|
|
%t199 = load ptr, ptr %t0
|
|
%t200 = getelementptr inbounds %Cmp_Node, ptr %t199, i32 0, i32 1
|
|
%t201 = load ptr, ptr %t200
|
|
%t202 = call ptr @fn_cmp_code(ptr %t201)
|
|
%t203 = call ptr @fn_str_concat(ptr @.str4105, ptr %t202)
|
|
%t204 = call ptr @fn_str_concat(ptr %t203, ptr @.str4106)
|
|
%t205 = load ptr, ptr %t169
|
|
%t206 = call ptr @fn_str_concat(ptr %t204, ptr %t205)
|
|
%t207 = call ptr @fn_str_concat(ptr %t206, ptr @.str4107)
|
|
%t208 = load ptr, ptr %t164
|
|
%t209 = call ptr @fn_str_concat(ptr %t207, ptr %t208)
|
|
%t210 = call ptr @fn_str_concat(ptr %t209, ptr @.str4108)
|
|
%t211 = load ptr, ptr %t168
|
|
%t212 = call ptr @fn_str_concat(ptr %t210, ptr %t211)
|
|
%t213 = call ptr @fn_emit_bind(ptr %t212)
|
|
store ptr %t213, ptr %t214
|
|
%t215 = load ptr, ptr %t214
|
|
%t216 = call ptr @fn_str_concat(ptr @.str4109, ptr %t215)
|
|
%t217 = call ptr @fn_str_concat(ptr %t216, ptr @.str4110)
|
|
%t218 = call ptr @fn_emit_bind(ptr %t217)
|
|
%t219 = call ptr @fn_val(ptr %t218, ptr @.str4111)
|
|
store ptr %t219, ptr %retval
|
|
br label %ret
|
|
ifend32:
|
|
%t220 = load i32, ptr %t155
|
|
%t221 = icmp ne i32 %t220, 0
|
|
br i1 %t221, label %then44, label %ifend46
|
|
then44:
|
|
%t222 = load ptr, ptr %t22
|
|
%t223 = call ptr @fn_to_long(ptr %t222)
|
|
store ptr %t223, ptr %t224
|
|
%t225 = load ptr, ptr %t27
|
|
%t226 = call ptr @fn_to_long(ptr %t225)
|
|
store ptr %t226, ptr %t227
|
|
%t228 = load ptr, ptr %t0
|
|
%t229 = getelementptr inbounds %Cmp_Node, ptr %t228, i32 0, i32 1
|
|
%t230 = load ptr, ptr %t229
|
|
%t231 = call ptr @fn_arith_code(ptr %t230)
|
|
%t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str4112)
|
|
%t233 = load ptr, ptr %t224
|
|
%t234 = call ptr @fn_str_concat(ptr %t232, ptr %t233)
|
|
%t235 = call ptr @fn_str_concat(ptr %t234, ptr @.str4113)
|
|
%t236 = load ptr, ptr %t227
|
|
%t237 = call ptr @fn_str_concat(ptr %t235, ptr %t236)
|
|
%t238 = call ptr @fn_emit_bind(ptr %t237)
|
|
%t239 = call ptr @fn_val(ptr %t238, ptr @.str4114)
|
|
store ptr %t239, ptr %retval
|
|
br label %ret
|
|
ifend46:
|
|
%t240 = load i32, ptr %t120
|
|
%t241 = icmp ne i32 %t240, 0
|
|
br i1 %t241, label %then47, label %ifend49
|
|
then47:
|
|
%t242 = load ptr, ptr %t22
|
|
%t243 = call ptr @fn_to_fixed(ptr %t242)
|
|
store ptr %t243, ptr %t244
|
|
%t245 = load ptr, ptr %t27
|
|
%t246 = call ptr @fn_to_fixed(ptr %t245)
|
|
store ptr %t246, ptr %t247
|
|
%t248 = load ptr, ptr %t0
|
|
%t249 = getelementptr inbounds %Cmp_Node, ptr %t248, i32 0, i32 1
|
|
%t250 = load ptr, ptr %t249
|
|
%t251 = call i32 @fn_str_eq(ptr %t250, ptr @.str4115)
|
|
%t252 = icmp ne i32 %t251, 0
|
|
br i1 %t252, label %then50, label %ifend52
|
|
then50:
|
|
%t253 = load ptr, ptr %t244
|
|
%t254 = call ptr @fn_str_concat(ptr @.str4116, ptr %t253)
|
|
%t255 = call ptr @fn_str_concat(ptr %t254, ptr @.str4117)
|
|
%t256 = call ptr @fn_emit_bind(ptr %t255)
|
|
store ptr %t256, ptr %t257
|
|
%t258 = load ptr, ptr %t247
|
|
%t259 = call ptr @fn_str_concat(ptr @.str4118, ptr %t258)
|
|
%t260 = call ptr @fn_str_concat(ptr %t259, ptr @.str4119)
|
|
%t261 = call ptr @fn_emit_bind(ptr %t260)
|
|
store ptr %t261, ptr %t262
|
|
%t263 = load ptr, ptr %t257
|
|
%t264 = call ptr @fn_str_concat(ptr @.str4120, ptr %t263)
|
|
%t265 = call ptr @fn_str_concat(ptr %t264, ptr @.str4121)
|
|
%t266 = load ptr, ptr %t262
|
|
%t267 = call ptr @fn_str_concat(ptr %t265, ptr %t266)
|
|
%t268 = call ptr @fn_emit_bind(ptr %t267)
|
|
store ptr %t268, ptr %t269
|
|
%t270 = load ptr, ptr %t269
|
|
%t271 = call ptr @fn_str_concat(ptr @.str4122, ptr %t270)
|
|
%t272 = call ptr @fn_str_concat(ptr %t271, ptr @.str4123)
|
|
%t273 = call ptr @fn_emit_bind(ptr %t272)
|
|
store ptr %t273, ptr %t274
|
|
%t275 = load ptr, ptr %t274
|
|
%t276 = call ptr @fn_str_concat(ptr @.str4124, ptr %t275)
|
|
%t277 = call ptr @fn_str_concat(ptr %t276, ptr @.str4125)
|
|
%t278 = call ptr @fn_emit_bind(ptr %t277)
|
|
%t279 = call ptr @fn_val(ptr %t278, ptr @.str4126)
|
|
store ptr %t279, ptr %retval
|
|
br label %ret
|
|
ifend52:
|
|
%t280 = load ptr, ptr %t0
|
|
%t281 = getelementptr inbounds %Cmp_Node, ptr %t280, i32 0, i32 1
|
|
%t282 = load ptr, ptr %t281
|
|
%t283 = call i32 @fn_str_eq(ptr %t282, ptr @.str4127)
|
|
%t284 = icmp ne i32 %t283, 0
|
|
br i1 %t284, label %then53, label %ifend55
|
|
then53:
|
|
%t285 = load ptr, ptr %t244
|
|
%t286 = call ptr @fn_str_concat(ptr @.str4128, ptr %t285)
|
|
%t287 = call ptr @fn_str_concat(ptr %t286, ptr @.str4129)
|
|
%t288 = call ptr @fn_emit_bind(ptr %t287)
|
|
store ptr %t288, ptr %t289
|
|
%t290 = load ptr, ptr %t289
|
|
%t291 = call ptr @fn_str_concat(ptr @.str4130, ptr %t290)
|
|
%t292 = call ptr @fn_str_concat(ptr %t291, ptr @.str4131)
|
|
%t293 = call ptr @fn_emit_bind(ptr %t292)
|
|
store ptr %t293, ptr %t294
|
|
%t295 = load ptr, ptr %t247
|
|
%t296 = call ptr @fn_str_concat(ptr @.str4132, ptr %t295)
|
|
%t297 = call ptr @fn_str_concat(ptr %t296, ptr @.str4133)
|
|
%t298 = call ptr @fn_emit_bind(ptr %t297)
|
|
store ptr %t298, ptr %t299
|
|
%t300 = load ptr, ptr %t294
|
|
%t301 = call ptr @fn_str_concat(ptr @.str4134, ptr %t300)
|
|
%t302 = call ptr @fn_str_concat(ptr %t301, ptr @.str4135)
|
|
%t303 = load ptr, ptr %t299
|
|
%t304 = call ptr @fn_str_concat(ptr %t302, ptr %t303)
|
|
%t305 = call ptr @fn_emit_bind(ptr %t304)
|
|
store ptr %t305, ptr %t306
|
|
%t307 = load ptr, ptr %t306
|
|
%t308 = call ptr @fn_str_concat(ptr @.str4136, ptr %t307)
|
|
%t309 = call ptr @fn_str_concat(ptr %t308, ptr @.str4137)
|
|
%t310 = call ptr @fn_emit_bind(ptr %t309)
|
|
%t311 = call ptr @fn_val(ptr %t310, ptr @.str4138)
|
|
store ptr %t311, ptr %retval
|
|
br label %ret
|
|
ifend55:
|
|
%t312 = load ptr, ptr %t0
|
|
%t313 = getelementptr inbounds %Cmp_Node, ptr %t312, i32 0, i32 1
|
|
%t314 = load ptr, ptr %t313
|
|
%t315 = call ptr @fn_arith_code(ptr %t314)
|
|
%t316 = call ptr @fn_str_concat(ptr %t315, ptr @.str4139)
|
|
%t317 = load ptr, ptr %t244
|
|
%t318 = call ptr @fn_str_concat(ptr %t316, ptr %t317)
|
|
%t319 = call ptr @fn_str_concat(ptr %t318, ptr @.str4140)
|
|
%t320 = load ptr, ptr %t247
|
|
%t321 = call ptr @fn_str_concat(ptr %t319, ptr %t320)
|
|
%t322 = call ptr @fn_emit_bind(ptr %t321)
|
|
store ptr %t322, ptr %t323
|
|
%t324 = load ptr, ptr %t323
|
|
%t325 = call ptr @fn_val(ptr %t324, ptr @.str4141)
|
|
store ptr %t325, ptr %retval
|
|
br label %ret
|
|
ifend49:
|
|
%t326 = load ptr, ptr %t0
|
|
%t327 = getelementptr inbounds %Cmp_Node, ptr %t326, i32 0, i32 1
|
|
%t328 = load ptr, ptr %t327
|
|
%t329 = call ptr @fn_arith_code(ptr %t328)
|
|
%t330 = call ptr @fn_str_concat(ptr %t329, ptr @.str4142)
|
|
%t331 = load ptr, ptr %t22
|
|
%t332 = getelementptr inbounds %Cmp_Val, ptr %t331, i32 0, i32 0
|
|
%t333 = load ptr, ptr %t332
|
|
%t334 = call ptr @fn_str_concat(ptr %t330, ptr %t333)
|
|
%t335 = call ptr @fn_str_concat(ptr %t334, ptr @.str4143)
|
|
%t336 = load ptr, ptr %t27
|
|
%t337 = getelementptr inbounds %Cmp_Val, ptr %t336, i32 0, i32 0
|
|
%t338 = load ptr, ptr %t337
|
|
%t339 = call ptr @fn_str_concat(ptr %t335, ptr %t338)
|
|
%t340 = call ptr @fn_emit_bind(ptr %t339)
|
|
store ptr %t340, ptr %t341
|
|
%t342 = load ptr, ptr %t341
|
|
%t343 = call ptr @fn_val(ptr %t342, ptr @.str4144)
|
|
store ptr %t343, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t344 = load ptr, ptr %retval
|
|
ret ptr %t344
|
|
}
|
|
|
|
define i32 @fn_args_are_named(ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_e, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1
|
|
%t7 = load i32, ptr %t6
|
|
%t8 = icmp slt i32 %t2, %t7
|
|
%t9 = zext i1 %t8 to i32
|
|
%t10 = icmp ne i32 %t9, 0
|
|
br i1 %t10, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t11 = load ptr, ptr %t0
|
|
%t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 7
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = load i32, ptr %t1
|
|
%t17 = getelementptr inbounds ptr, ptr %t15, i32 %t16
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0
|
|
%t20 = load i32, ptr %t19
|
|
%t21 = icmp eq i32 %t20, 42
|
|
%t22 = zext i1 %t21 to i32
|
|
%t23 = icmp ne i32 %t22, 0
|
|
br i1 %t23, label %then3, label %ifend5
|
|
then3:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t24 = load i32, ptr %t1
|
|
%t25 = add i32 %t24, 1
|
|
store i32 %t25, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t26 = load i32, ptr %retval
|
|
ret i32 %t26
|
|
}
|
|
|
|
define void @fn_reorder_named(ptr %arg_e, ptr %arg_labels) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t7 = alloca i32
|
|
%t49 = alloca ptr
|
|
%t50 = alloca i32
|
|
%t58 = alloca ptr
|
|
%t59 = alloca i32
|
|
store ptr %arg_e, ptr %t0
|
|
store ptr %arg_labels, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i32 @fn_args_are_named(ptr %t2)
|
|
%t4 = icmp eq i32 %t3, 0
|
|
%t5 = zext i1 %t4 to i32
|
|
%t6 = icmp ne i32 %t5, 0
|
|
br i1 %t6, label %then0, label %ifend2
|
|
then0:
|
|
br label %ret
|
|
ifend2:
|
|
store i32 0, ptr %t7
|
|
br label %wcond3
|
|
wcond3:
|
|
%t8 = load i32, ptr %t7
|
|
%t9 = load ptr, ptr %t0
|
|
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1
|
|
%t13 = load i32, ptr %t12
|
|
%t14 = icmp slt i32 %t8, %t13
|
|
%t15 = zext i1 %t14 to i32
|
|
%t16 = icmp ne i32 %t15, 0
|
|
br i1 %t16, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7
|
|
%t19 = load ptr, ptr %t18
|
|
%t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
|
|
%t21 = load ptr, ptr %t20
|
|
%t22 = load i32, ptr %t7
|
|
%t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 0
|
|
%t26 = load i32, ptr %t25
|
|
%t27 = icmp ne i32 %t26, 42
|
|
%t28 = zext i1 %t27 to i32
|
|
%t29 = icmp ne i32 %t28, 0
|
|
br i1 %t29, label %then6, label %ifend8
|
|
then6:
|
|
call void @fn_perr(ptr @.str4145)
|
|
br label %ifend8
|
|
ifend8:
|
|
%t30 = load i32, ptr %t7
|
|
%t31 = add i32 %t30, 1
|
|
store i32 %t31, ptr %t7
|
|
br label %wcond3
|
|
wend5:
|
|
%t32 = load ptr, ptr %t0
|
|
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7
|
|
%t34 = load ptr, ptr %t33
|
|
%t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1
|
|
%t36 = load i32, ptr %t35
|
|
%t37 = load ptr, ptr %t1
|
|
%t38 = getelementptr inbounds %LSlice, ptr %t37, i32 0, i32 1
|
|
%t39 = load i32, ptr %t38
|
|
%t40 = icmp ne i32 %t36, %t39
|
|
%t41 = zext i1 %t40 to i32
|
|
%t42 = icmp ne i32 %t41, 0
|
|
br i1 %t42, label %then9, label %ifend11
|
|
then9:
|
|
call void @fn_perr(ptr @.str4146)
|
|
br label %ifend11
|
|
ifend11:
|
|
%t43 = getelementptr %LSlice, ptr null, i32 1
|
|
%t44 = ptrtoint ptr %t43 to i64
|
|
%t45 = call ptr @malloc(i64 %t44)
|
|
%t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 0
|
|
store ptr null, ptr %t46
|
|
%t47 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1
|
|
store i32 0, ptr %t47
|
|
%t48 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 2
|
|
store i32 0, ptr %t48
|
|
store ptr %t45, ptr %t49
|
|
store i32 0, ptr %t50
|
|
br label %wcond12
|
|
wcond12:
|
|
%t51 = load i32, ptr %t50
|
|
%t52 = load ptr, ptr %t1
|
|
%t53 = getelementptr inbounds %LSlice, ptr %t52, i32 0, i32 1
|
|
%t54 = load i32, ptr %t53
|
|
%t55 = icmp slt i32 %t51, %t54
|
|
%t56 = zext i1 %t55 to i32
|
|
%t57 = icmp ne i32 %t56, 0
|
|
br i1 %t57, label %wbody13, label %wend14
|
|
wbody13:
|
|
store ptr null, ptr %t58
|
|
store i32 0, ptr %t59
|
|
br label %wcond15
|
|
wcond15:
|
|
%t60 = load i32, ptr %t59
|
|
%t61 = load ptr, ptr %t0
|
|
%t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 7
|
|
%t63 = load ptr, ptr %t62
|
|
%t64 = getelementptr inbounds %LSlice, ptr %t63, i32 0, i32 1
|
|
%t65 = load i32, ptr %t64
|
|
%t66 = icmp slt i32 %t60, %t65
|
|
%t67 = zext i1 %t66 to i32
|
|
%t68 = icmp ne i32 %t67, 0
|
|
br i1 %t68, label %wbody16, label %wend17
|
|
wbody16:
|
|
%t69 = load ptr, ptr %t0
|
|
%t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 7
|
|
%t71 = load ptr, ptr %t70
|
|
%t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0
|
|
%t73 = load ptr, ptr %t72
|
|
%t74 = load i32, ptr %t59
|
|
%t75 = getelementptr inbounds ptr, ptr %t73, i32 %t74
|
|
%t76 = load ptr, ptr %t75
|
|
%t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 1
|
|
%t78 = load ptr, ptr %t77
|
|
%t79 = load ptr, ptr %t1
|
|
%t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0
|
|
%t81 = load ptr, ptr %t80
|
|
%t82 = load i32, ptr %t50
|
|
%t83 = getelementptr inbounds ptr, ptr %t81, i32 %t82
|
|
%t84 = load ptr, ptr %t83
|
|
%t85 = call i32 @fn_str_eq(ptr %t78, ptr %t84)
|
|
%t86 = icmp ne i32 %t85, 0
|
|
br i1 %t86, label %then18, label %ifend20
|
|
then18:
|
|
%t87 = load ptr, ptr %t0
|
|
%t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 7
|
|
%t89 = load ptr, ptr %t88
|
|
%t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 0
|
|
%t91 = load ptr, ptr %t90
|
|
%t92 = load i32, ptr %t59
|
|
%t93 = getelementptr inbounds ptr, ptr %t91, i32 %t92
|
|
%t94 = load ptr, ptr %t93
|
|
store ptr %t94, ptr %t58
|
|
br label %ifend20
|
|
ifend20:
|
|
%t95 = load i32, ptr %t59
|
|
%t96 = add i32 %t95, 1
|
|
store i32 %t96, ptr %t59
|
|
br label %wcond15
|
|
wend17:
|
|
%t97 = load ptr, ptr %t58
|
|
%t98 = icmp eq ptr %t97, null
|
|
%t99 = zext i1 %t98 to i32
|
|
%t100 = icmp ne i32 %t99, 0
|
|
br i1 %t100, label %then21, label %ifend23
|
|
then21:
|
|
%t101 = load ptr, ptr %t1
|
|
%t102 = getelementptr inbounds %LSlice, ptr %t101, i32 0, i32 0
|
|
%t103 = load ptr, ptr %t102
|
|
%t104 = load i32, ptr %t50
|
|
%t105 = getelementptr inbounds ptr, ptr %t103, i32 %t104
|
|
%t106 = load ptr, ptr %t105
|
|
%t107 = call ptr @fn_str_concat(ptr @.str4147, ptr %t106)
|
|
call void @fn_perr(ptr %t107)
|
|
br label %ifend23
|
|
ifend23:
|
|
%t108 = load ptr, ptr %t49
|
|
%t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 1
|
|
%t110 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 2
|
|
%t111 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0
|
|
%t112 = load i32, ptr %t109
|
|
%t113 = load i32, ptr %t110
|
|
%t114 = icmp sge i32 %t112, %t113
|
|
br i1 %t114, label %grow24, label %put25
|
|
grow24:
|
|
%t115 = mul i32 %t113, 2
|
|
%t116 = icmp eq i32 %t113, 0
|
|
%t117 = select i1 %t116, i32 8, i32 %t115
|
|
%t118 = getelementptr ptr, ptr null, i32 1
|
|
%t119 = ptrtoint ptr %t118 to i64
|
|
%t120 = zext i32 %t117 to i64
|
|
%t121 = mul i64 %t120, %t119
|
|
%t122 = load ptr, ptr %t111
|
|
%t123 = call ptr @realloc(ptr %t122, i64 %t121)
|
|
store ptr %t123, ptr %t111
|
|
store i32 %t117, ptr %t110
|
|
br label %put25
|
|
put25:
|
|
%t124 = load ptr, ptr %t58
|
|
%t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 4
|
|
%t126 = load ptr, ptr %t125
|
|
%t127 = load ptr, ptr %t111
|
|
%t128 = getelementptr inbounds ptr, ptr %t127, i32 %t112
|
|
store ptr %t126, ptr %t128
|
|
%t129 = add i32 %t112, 1
|
|
store i32 %t129, ptr %t109
|
|
%t130 = load i32, ptr %t50
|
|
%t131 = add i32 %t130, 1
|
|
store i32 %t131, ptr %t50
|
|
br label %wcond12
|
|
wend14:
|
|
%t132 = load ptr, ptr %t0
|
|
%t133 = getelementptr inbounds %Cmp_Node, ptr %t132, i32 0, i32 7
|
|
%t134 = load ptr, ptr %t49
|
|
store ptr %t134, ptr %t133
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_param_labels(ptr %arg_fn) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t8 = alloca i32
|
|
store ptr %arg_fn, ptr %t0
|
|
%t1 = getelementptr %LSlice, ptr null, i32 1
|
|
%t2 = ptrtoint ptr %t1 to i64
|
|
%t3 = call ptr @malloc(i64 %t2)
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0
|
|
store ptr null, ptr %t4
|
|
%t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
store i32 0, ptr %t5
|
|
%t6 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 2
|
|
store i32 0, ptr %t6
|
|
store ptr %t3, ptr %t7
|
|
store i32 0, ptr %t8
|
|
br label %wcond0
|
|
wcond0:
|
|
%t9 = load i32, ptr %t8
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1
|
|
%t14 = load i32, ptr %t13
|
|
%t15 = icmp slt i32 %t9, %t14
|
|
%t16 = zext i1 %t15 to i32
|
|
%t17 = icmp ne i32 %t16, 0
|
|
br i1 %t17, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t18 = load ptr, ptr %t0
|
|
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = load i32, ptr %t8
|
|
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 0
|
|
%t27 = load i32, ptr %t26
|
|
%t28 = icmp eq i32 %t27, 5
|
|
%t29 = zext i1 %t28 to i32
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then3, label %ifend5
|
|
then3:
|
|
%t31 = load ptr, ptr %t7
|
|
%t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1
|
|
%t33 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 2
|
|
%t34 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0
|
|
%t35 = load i32, ptr %t32
|
|
%t36 = load i32, ptr %t33
|
|
%t37 = icmp sge i32 %t35, %t36
|
|
br i1 %t37, label %grow6, label %put7
|
|
grow6:
|
|
%t38 = mul i32 %t36, 2
|
|
%t39 = icmp eq i32 %t36, 0
|
|
%t40 = select i1 %t39, i32 8, i32 %t38
|
|
%t41 = getelementptr ptr, ptr null, i32 1
|
|
%t42 = ptrtoint ptr %t41 to i64
|
|
%t43 = zext i32 %t40 to i64
|
|
%t44 = mul i64 %t43, %t42
|
|
%t45 = load ptr, ptr %t34
|
|
%t46 = call ptr @realloc(ptr %t45, i64 %t44)
|
|
store ptr %t46, ptr %t34
|
|
store i32 %t40, ptr %t33
|
|
br label %put7
|
|
put7:
|
|
%t47 = load ptr, ptr %t0
|
|
%t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 7
|
|
%t49 = load ptr, ptr %t48
|
|
%t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0
|
|
%t51 = load ptr, ptr %t50
|
|
%t52 = load i32, ptr %t8
|
|
%t53 = getelementptr inbounds ptr, ptr %t51, i32 %t52
|
|
%t54 = load ptr, ptr %t53
|
|
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1
|
|
%t56 = load ptr, ptr %t55
|
|
%t57 = load ptr, ptr %t34
|
|
%t58 = getelementptr inbounds ptr, ptr %t57, i32 %t35
|
|
store ptr %t56, ptr %t58
|
|
%t59 = add i32 %t35, 1
|
|
store i32 %t59, ptr %t32
|
|
br label %ifend5
|
|
ifend5:
|
|
%t60 = load i32, ptr %t8
|
|
%t61 = add i32 %t60, 1
|
|
store i32 %t61, ptr %t8
|
|
br label %wcond0
|
|
wend2:
|
|
%t62 = load ptr, ptr %t7
|
|
store ptr %t62, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t63 = load ptr, ptr %retval
|
|
ret ptr %t63
|
|
}
|
|
|
|
define ptr @fn_param_types(ptr %arg_fn) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t8 = alloca i32
|
|
store ptr %arg_fn, ptr %t0
|
|
%t1 = getelementptr %LSlice, ptr null, i32 1
|
|
%t2 = ptrtoint ptr %t1 to i64
|
|
%t3 = call ptr @malloc(i64 %t2)
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 0
|
|
store ptr null, ptr %t4
|
|
%t5 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
store i32 0, ptr %t5
|
|
%t6 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 2
|
|
store i32 0, ptr %t6
|
|
store ptr %t3, ptr %t7
|
|
store i32 0, ptr %t8
|
|
br label %wcond0
|
|
wcond0:
|
|
%t9 = load i32, ptr %t8
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 7
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1
|
|
%t14 = load i32, ptr %t13
|
|
%t15 = icmp slt i32 %t9, %t14
|
|
%t16 = zext i1 %t15 to i32
|
|
%t17 = icmp ne i32 %t16, 0
|
|
br i1 %t17, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t18 = load ptr, ptr %t0
|
|
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 7
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = load i32, ptr %t8
|
|
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 0
|
|
%t27 = load i32, ptr %t26
|
|
%t28 = icmp eq i32 %t27, 5
|
|
%t29 = zext i1 %t28 to i32
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then3, label %ifend5
|
|
then3:
|
|
%t31 = load ptr, ptr %t7
|
|
%t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1
|
|
%t33 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 2
|
|
%t34 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 0
|
|
%t35 = load i32, ptr %t32
|
|
%t36 = load i32, ptr %t33
|
|
%t37 = icmp sge i32 %t35, %t36
|
|
br i1 %t37, label %grow6, label %put7
|
|
grow6:
|
|
%t38 = mul i32 %t36, 2
|
|
%t39 = icmp eq i32 %t36, 0
|
|
%t40 = select i1 %t39, i32 8, i32 %t38
|
|
%t41 = getelementptr ptr, ptr null, i32 1
|
|
%t42 = ptrtoint ptr %t41 to i64
|
|
%t43 = zext i32 %t40 to i64
|
|
%t44 = mul i64 %t43, %t42
|
|
%t45 = load ptr, ptr %t34
|
|
%t46 = call ptr @realloc(ptr %t45, i64 %t44)
|
|
store ptr %t46, ptr %t34
|
|
store i32 %t40, ptr %t33
|
|
br label %put7
|
|
put7:
|
|
%t47 = load ptr, ptr %t0
|
|
%t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 7
|
|
%t49 = load ptr, ptr %t48
|
|
%t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0
|
|
%t51 = load ptr, ptr %t50
|
|
%t52 = load i32, ptr %t8
|
|
%t53 = getelementptr inbounds ptr, ptr %t51, i32 %t52
|
|
%t54 = load ptr, ptr %t53
|
|
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 3
|
|
%t56 = load ptr, ptr %t55
|
|
%t57 = load ptr, ptr %t34
|
|
%t58 = getelementptr inbounds ptr, ptr %t57, i32 %t35
|
|
store ptr %t56, ptr %t58
|
|
%t59 = add i32 %t35, 1
|
|
store i32 %t59, ptr %t32
|
|
br label %ifend5
|
|
ifend5:
|
|
%t60 = load i32, ptr %t8
|
|
%t61 = add i32 %t60, 1
|
|
store i32 %t61, ptr %t8
|
|
br label %wcond0
|
|
wend2:
|
|
%t62 = load ptr, ptr %t7
|
|
store ptr %t62, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t63 = load ptr, ptr %retval
|
|
ret ptr %t63
|
|
}
|
|
|
|
define ptr @fn_emit_ns_call(ptr %arg_ns, ptr %arg_meth, ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t168 = alloca ptr
|
|
%t175 = alloca ptr
|
|
%t1746 = alloca ptr
|
|
store ptr %arg_ns, ptr %t0
|
|
store ptr %arg_meth, ptr %t1
|
|
store ptr %arg_e, ptr %t2
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str4148)
|
|
%t5 = icmp ne i32 %t4, 0
|
|
br i1 %t5, label %then0, label %ifend2
|
|
then0:
|
|
%t6 = load ptr, ptr %t1
|
|
%t7 = call i32 @fn_is_math_ns(ptr %t6)
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %then3, label %ifend5
|
|
then3:
|
|
%t9 = load ptr, ptr %t1
|
|
%t10 = load ptr, ptr %t2
|
|
%t11 = call ptr @fn_emit_math_ns(ptr %t9, ptr %t10)
|
|
store ptr %t11, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t12 = load ptr, ptr %t1
|
|
%t13 = call ptr @fn_str_concat(ptr @.str4149, ptr %t12)
|
|
call void @fn_perr(ptr %t13)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t14 = load ptr, ptr %t0
|
|
%t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str4150)
|
|
%t16 = icmp ne i32 %t15, 0
|
|
br i1 %t16, label %then6, label %ifend8
|
|
then6:
|
|
%t17 = load ptr, ptr %t1
|
|
%t18 = call i32 @fn_is_text_ns(ptr %t17)
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then9, label %ifend11
|
|
then9:
|
|
%t20 = load ptr, ptr %t1
|
|
%t21 = load ptr, ptr %t2
|
|
%t22 = call ptr @fn_emit_text_ns(ptr %t20, ptr %t21)
|
|
store ptr %t22, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t23 = load ptr, ptr %t1
|
|
%t24 = call ptr @fn_str_concat(ptr @.str4151, ptr %t23)
|
|
call void @fn_perr(ptr %t24)
|
|
br label %ifend8
|
|
ifend8:
|
|
%t25 = load ptr, ptr %t0
|
|
%t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str4152)
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then12, label %ifend14
|
|
then12:
|
|
%t28 = load ptr, ptr %t1
|
|
%t29 = call i32 @fn_is_list_ns(ptr %t28)
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then15, label %ifend17
|
|
then15:
|
|
%t31 = load ptr, ptr %t1
|
|
%t32 = load ptr, ptr %t2
|
|
%t33 = call ptr @fn_emit_list_ns(ptr %t31, ptr %t32)
|
|
store ptr %t33, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t34 = load ptr, ptr %t1
|
|
%t35 = call ptr @fn_str_concat(ptr @.str4153, ptr %t34)
|
|
call void @fn_perr(ptr %t35)
|
|
br label %ifend14
|
|
ifend14:
|
|
%t36 = load ptr, ptr %t0
|
|
%t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str4154)
|
|
%t38 = icmp ne i32 %t37, 0
|
|
br i1 %t38, label %then18, label %ifend20
|
|
then18:
|
|
%t39 = load ptr, ptr %t1
|
|
%t40 = call i32 @fn_is_ease_ns(ptr %t39)
|
|
%t41 = icmp ne i32 %t40, 0
|
|
br i1 %t41, label %then21, label %ifend23
|
|
then21:
|
|
%t42 = load ptr, ptr %t1
|
|
%t43 = load ptr, ptr %t2
|
|
%t44 = call ptr @fn_emit_ease_ns(ptr %t42, ptr %t43)
|
|
store ptr %t44, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t45 = load ptr, ptr %t1
|
|
%t46 = call ptr @fn_str_concat(ptr @.str4155, ptr %t45)
|
|
call void @fn_perr(ptr %t46)
|
|
br label %ifend20
|
|
ifend20:
|
|
%t47 = load ptr, ptr %t0
|
|
%t48 = call i32 @fn_str_eq(ptr %t47, ptr @.str4156)
|
|
%t49 = icmp ne i32 %t48, 0
|
|
br i1 %t49, label %then24, label %ifend26
|
|
then24:
|
|
%t50 = load ptr, ptr %t1
|
|
%t51 = call i32 @fn_is_collide_ns(ptr %t50)
|
|
%t52 = icmp ne i32 %t51, 0
|
|
br i1 %t52, label %then27, label %ifend29
|
|
then27:
|
|
%t53 = load ptr, ptr %t1
|
|
%t54 = load ptr, ptr %t2
|
|
%t55 = call ptr @fn_emit_collide_ns(ptr %t53, ptr %t54)
|
|
store ptr %t55, ptr %retval
|
|
br label %ret
|
|
ifend29:
|
|
%t56 = load ptr, ptr %t1
|
|
%t57 = call ptr @fn_str_concat(ptr @.str4157, ptr %t56)
|
|
call void @fn_perr(ptr %t57)
|
|
br label %ifend26
|
|
ifend26:
|
|
%t58 = load ptr, ptr %t0
|
|
%t59 = call i32 @fn_str_eq(ptr %t58, ptr @.str4158)
|
|
%t60 = icmp ne i32 %t59, 0
|
|
br i1 %t60, label %then30, label %ifend32
|
|
then30:
|
|
%t61 = load ptr, ptr %t1
|
|
%t62 = call i32 @fn_is_mem_ns(ptr %t61)
|
|
%t63 = icmp ne i32 %t62, 0
|
|
br i1 %t63, label %then33, label %ifend35
|
|
then33:
|
|
%t64 = load ptr, ptr %t1
|
|
%t65 = load ptr, ptr %t2
|
|
%t66 = call ptr @fn_emit_mem_ns(ptr %t64, ptr %t65)
|
|
store ptr %t66, ptr %retval
|
|
br label %ret
|
|
ifend35:
|
|
%t67 = load ptr, ptr %t1
|
|
%t68 = call ptr @fn_str_concat(ptr @.str4159, ptr %t67)
|
|
call void @fn_perr(ptr %t68)
|
|
br label %ifend32
|
|
ifend32:
|
|
%t69 = load ptr, ptr %t0
|
|
%t70 = call i32 @fn_str_eq(ptr %t69, ptr @.str4160)
|
|
%t71 = icmp ne i32 %t70, 0
|
|
br i1 %t71, label %then36, label %ifend38
|
|
then36:
|
|
%t72 = load ptr, ptr %t1
|
|
%t73 = call i32 @fn_is_colorfn_ns(ptr %t72)
|
|
%t74 = icmp ne i32 %t73, 0
|
|
br i1 %t74, label %then39, label %ifend41
|
|
then39:
|
|
%t75 = load ptr, ptr %t1
|
|
%t76 = load ptr, ptr %t2
|
|
%t77 = call ptr @fn_emit_colorfn_ns(ptr %t75, ptr %t76)
|
|
store ptr %t77, ptr %retval
|
|
br label %ret
|
|
ifend41:
|
|
%t78 = load ptr, ptr %t1
|
|
%t79 = call ptr @fn_str_concat(ptr @.str4161, ptr %t78)
|
|
call void @fn_perr(ptr %t79)
|
|
br label %ifend38
|
|
ifend38:
|
|
%t80 = load ptr, ptr %t0
|
|
%t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str4162)
|
|
%t82 = icmp ne i32 %t81, 0
|
|
br i1 %t82, label %then42, label %ifend44
|
|
then42:
|
|
%t83 = load ptr, ptr %t1
|
|
%t84 = call i32 @fn_is_time_ns(ptr %t83)
|
|
%t85 = icmp ne i32 %t84, 0
|
|
br i1 %t85, label %then45, label %ifend47
|
|
then45:
|
|
%t86 = load ptr, ptr %t1
|
|
%t87 = load ptr, ptr %t2
|
|
%t88 = call ptr @fn_emit_time_ns(ptr %t86, ptr %t87)
|
|
store ptr %t88, ptr %retval
|
|
br label %ret
|
|
ifend47:
|
|
%t89 = load ptr, ptr %t1
|
|
%t90 = call ptr @fn_str_concat(ptr @.str4163, ptr %t89)
|
|
call void @fn_perr(ptr %t90)
|
|
br label %ifend44
|
|
ifend44:
|
|
%t91 = load ptr, ptr %t0
|
|
%t92 = call i32 @fn_str_eq(ptr %t91, ptr @.str4164)
|
|
%t93 = icmp ne i32 %t92, 0
|
|
br i1 %t93, label %then48, label %ifend50
|
|
then48:
|
|
%t94 = load ptr, ptr %t1
|
|
%t95 = call i32 @fn_is_hash_ns(ptr %t94)
|
|
%t96 = icmp ne i32 %t95, 0
|
|
br i1 %t96, label %then51, label %ifend53
|
|
then51:
|
|
%t97 = load ptr, ptr %t1
|
|
%t98 = load ptr, ptr %t2
|
|
%t99 = call ptr @fn_emit_hash_ns(ptr %t97, ptr %t98)
|
|
store ptr %t99, ptr %retval
|
|
br label %ret
|
|
ifend53:
|
|
%t100 = load ptr, ptr %t1
|
|
%t101 = call ptr @fn_str_concat(ptr @.str4165, ptr %t100)
|
|
call void @fn_perr(ptr %t101)
|
|
br label %ifend50
|
|
ifend50:
|
|
%t102 = load ptr, ptr %t0
|
|
%t103 = call i32 @fn_str_eq(ptr %t102, ptr @.str4166)
|
|
%t104 = icmp ne i32 %t103, 0
|
|
br i1 %t104, label %then54, label %ifend56
|
|
then54:
|
|
%t105 = load ptr, ptr %t1
|
|
%t106 = call i32 @fn_is_crypto_ns(ptr %t105)
|
|
%t107 = icmp ne i32 %t106, 0
|
|
br i1 %t107, label %then57, label %ifend59
|
|
then57:
|
|
%t108 = load ptr, ptr %t1
|
|
%t109 = load ptr, ptr %t2
|
|
%t110 = call ptr @fn_emit_crypto_ns(ptr %t108, ptr %t109)
|
|
store ptr %t110, ptr %retval
|
|
br label %ret
|
|
ifend59:
|
|
%t111 = load ptr, ptr %t1
|
|
%t112 = call ptr @fn_str_concat(ptr @.str4167, ptr %t111)
|
|
call void @fn_perr(ptr %t112)
|
|
br label %ifend56
|
|
ifend56:
|
|
%t113 = load ptr, ptr %t0
|
|
%t114 = call i32 @fn_str_eq(ptr %t113, ptr @.str4168)
|
|
%t115 = icmp ne i32 %t114, 0
|
|
br i1 %t115, label %then60, label %ifend62
|
|
then60:
|
|
%t116 = load ptr, ptr %t1
|
|
%t117 = call i32 @fn_is_vector_ns(ptr %t116)
|
|
%t118 = icmp ne i32 %t117, 0
|
|
br i1 %t118, label %then63, label %ifend65
|
|
then63:
|
|
%t119 = load ptr, ptr %t1
|
|
%t120 = load ptr, ptr %t2
|
|
%t121 = call ptr @fn_emit_vector_ns(ptr %t119, ptr %t120)
|
|
store ptr %t121, ptr %retval
|
|
br label %ret
|
|
ifend65:
|
|
%t122 = load ptr, ptr %t1
|
|
%t123 = call ptr @fn_str_concat(ptr @.str4169, ptr %t122)
|
|
call void @fn_perr(ptr %t123)
|
|
br label %ifend62
|
|
ifend62:
|
|
%t124 = load ptr, ptr %t0
|
|
%t125 = call i32 @fn_str_eq(ptr %t124, ptr @.str4170)
|
|
%t126 = icmp ne i32 %t125, 0
|
|
br i1 %t126, label %then66, label %ifend68
|
|
then66:
|
|
%t127 = load ptr, ptr %t1
|
|
%t128 = call i32 @fn_is_duration_ns(ptr %t127)
|
|
%t129 = icmp ne i32 %t128, 0
|
|
br i1 %t129, label %then69, label %ifend71
|
|
then69:
|
|
%t130 = load ptr, ptr %t1
|
|
%t131 = load ptr, ptr %t2
|
|
%t132 = call ptr @fn_emit_duration_ns(ptr %t130, ptr %t131)
|
|
store ptr %t132, ptr %retval
|
|
br label %ret
|
|
ifend71:
|
|
%t133 = load ptr, ptr %t1
|
|
%t134 = call ptr @fn_str_concat(ptr @.str4171, ptr %t133)
|
|
call void @fn_perr(ptr %t134)
|
|
br label %ifend68
|
|
ifend68:
|
|
%t135 = load ptr, ptr %t0
|
|
%t136 = call i32 @fn_str_eq(ptr %t135, ptr @.str4172)
|
|
%t137 = icmp ne i32 %t136, 0
|
|
br i1 %t137, label %then72, label %ifend74
|
|
then72:
|
|
%t138 = load ptr, ptr %t1
|
|
%t139 = call i32 @fn_is_date_ns(ptr %t138)
|
|
%t140 = icmp ne i32 %t139, 0
|
|
br i1 %t140, label %then75, label %ifend77
|
|
then75:
|
|
%t141 = load ptr, ptr %t1
|
|
%t142 = load ptr, ptr %t2
|
|
%t143 = call ptr @fn_emit_date_ns(ptr %t141, ptr %t142)
|
|
store ptr %t143, ptr %retval
|
|
br label %ret
|
|
ifend77:
|
|
%t144 = load ptr, ptr %t1
|
|
%t145 = call ptr @fn_str_concat(ptr @.str4173, ptr %t144)
|
|
call void @fn_perr(ptr %t145)
|
|
br label %ifend74
|
|
ifend74:
|
|
%t146 = load ptr, ptr %t0
|
|
%t147 = call i32 @fn_str_eq(ptr %t146, ptr @.str4174)
|
|
%t148 = icmp ne i32 %t147, 0
|
|
br i1 %t148, label %then78, label %ifend80
|
|
then78:
|
|
%t149 = load ptr, ptr %t1
|
|
%t150 = call i32 @fn_is_datetime_ns(ptr %t149)
|
|
%t151 = icmp ne i32 %t150, 0
|
|
br i1 %t151, label %then81, label %ifend83
|
|
then81:
|
|
%t152 = load ptr, ptr %t1
|
|
%t153 = load ptr, ptr %t2
|
|
%t154 = call ptr @fn_emit_datetime_ns(ptr %t152, ptr %t153)
|
|
store ptr %t154, ptr %retval
|
|
br label %ret
|
|
ifend83:
|
|
%t155 = load ptr, ptr %t1
|
|
%t156 = call ptr @fn_str_concat(ptr @.str4175, ptr %t155)
|
|
call void @fn_perr(ptr %t156)
|
|
br label %ifend80
|
|
ifend80:
|
|
%t157 = load ptr, ptr %t0
|
|
%t158 = call i32 @fn_str_eq(ptr %t157, ptr @.str4176)
|
|
%t159 = icmp ne i32 %t158, 0
|
|
br i1 %t159, label %then84, label %ifend86
|
|
then84:
|
|
%t160 = load ptr, ptr %t1
|
|
%t161 = call i32 @fn_is_clock_ns(ptr %t160)
|
|
%t162 = icmp ne i32 %t161, 0
|
|
br i1 %t162, label %then87, label %ifend89
|
|
then87:
|
|
%t163 = load ptr, ptr %t1
|
|
%t164 = load ptr, ptr %t2
|
|
%t165 = call ptr @fn_emit_clock_ns(ptr %t163, ptr %t164)
|
|
store ptr %t165, ptr %retval
|
|
br label %ret
|
|
ifend89:
|
|
%t166 = load ptr, ptr %t1
|
|
%t167 = call ptr @fn_str_concat(ptr @.str4177, ptr %t166)
|
|
call void @fn_perr(ptr %t167)
|
|
br label %ifend86
|
|
ifend86:
|
|
store ptr null, ptr %t168
|
|
%t169 = getelementptr %LSlice, ptr null, i32 1
|
|
%t170 = ptrtoint ptr %t169 to i64
|
|
%t171 = call ptr @malloc(i64 %t170)
|
|
%t172 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 0
|
|
store ptr null, ptr %t172
|
|
%t173 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 1
|
|
store i32 0, ptr %t173
|
|
%t174 = getelementptr inbounds %LSlice, ptr %t171, i32 0, i32 2
|
|
store i32 0, ptr %t174
|
|
store ptr %t171, ptr %t175
|
|
%t176 = load ptr, ptr %t0
|
|
%t177 = call i32 @fn_str_eq(ptr %t176, ptr @.str4178)
|
|
%t178 = icmp ne i32 %t177, 0
|
|
br i1 %t178, label %then90, label %ifend92
|
|
then90:
|
|
%t179 = load ptr, ptr %t1
|
|
%t180 = call i32 @fn_str_eq(ptr %t179, ptr @.str4179)
|
|
%t181 = icmp ne i32 %t180, 0
|
|
br i1 %t181, label %then93, label %ifend95
|
|
then93:
|
|
store ptr @.str4180, ptr %t168
|
|
%t182 = load ptr, ptr %t175
|
|
%t183 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 1
|
|
%t184 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 2
|
|
%t185 = getelementptr inbounds %LSlice, ptr %t182, i32 0, i32 0
|
|
%t186 = load i32, ptr %t183
|
|
%t187 = load i32, ptr %t184
|
|
%t188 = icmp sge i32 %t186, %t187
|
|
br i1 %t188, label %grow96, label %put97
|
|
grow96:
|
|
%t189 = mul i32 %t187, 2
|
|
%t190 = icmp eq i32 %t187, 0
|
|
%t191 = select i1 %t190, i32 8, i32 %t189
|
|
%t192 = getelementptr ptr, ptr null, i32 1
|
|
%t193 = ptrtoint ptr %t192 to i64
|
|
%t194 = zext i32 %t191 to i64
|
|
%t195 = mul i64 %t194, %t193
|
|
%t196 = load ptr, ptr %t185
|
|
%t197 = call ptr @realloc(ptr %t196, i64 %t195)
|
|
store ptr %t197, ptr %t185
|
|
store i32 %t191, ptr %t184
|
|
br label %put97
|
|
put97:
|
|
%t198 = load ptr, ptr %t185
|
|
%t199 = getelementptr inbounds ptr, ptr %t198, i32 %t186
|
|
store ptr @.str4181, ptr %t199
|
|
%t200 = add i32 %t186, 1
|
|
store i32 %t200, ptr %t183
|
|
br label %ifend95
|
|
ifend95:
|
|
%t201 = load ptr, ptr %t1
|
|
%t202 = call i32 @fn_str_eq(ptr %t201, ptr @.str4182)
|
|
%t203 = icmp ne i32 %t202, 0
|
|
br i1 %t203, label %then98, label %ifend100
|
|
then98:
|
|
store ptr @.str4183, ptr %t168
|
|
%t204 = load ptr, ptr %t175
|
|
%t205 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 1
|
|
%t206 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 2
|
|
%t207 = getelementptr inbounds %LSlice, ptr %t204, i32 0, i32 0
|
|
%t208 = load i32, ptr %t205
|
|
%t209 = load i32, ptr %t206
|
|
%t210 = icmp sge i32 %t208, %t209
|
|
br i1 %t210, label %grow101, label %put102
|
|
grow101:
|
|
%t211 = mul i32 %t209, 2
|
|
%t212 = icmp eq i32 %t209, 0
|
|
%t213 = select i1 %t212, i32 8, i32 %t211
|
|
%t214 = getelementptr ptr, ptr null, i32 1
|
|
%t215 = ptrtoint ptr %t214 to i64
|
|
%t216 = zext i32 %t213 to i64
|
|
%t217 = mul i64 %t216, %t215
|
|
%t218 = load ptr, ptr %t207
|
|
%t219 = call ptr @realloc(ptr %t218, i64 %t217)
|
|
store ptr %t219, ptr %t207
|
|
store i32 %t213, ptr %t206
|
|
br label %put102
|
|
put102:
|
|
%t220 = load ptr, ptr %t207
|
|
%t221 = getelementptr inbounds ptr, ptr %t220, i32 %t208
|
|
store ptr @.str4184, ptr %t221
|
|
%t222 = add i32 %t208, 1
|
|
store i32 %t222, ptr %t205
|
|
%t223 = load ptr, ptr %t175
|
|
%t224 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 1
|
|
%t225 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 2
|
|
%t226 = getelementptr inbounds %LSlice, ptr %t223, i32 0, i32 0
|
|
%t227 = load i32, ptr %t224
|
|
%t228 = load i32, ptr %t225
|
|
%t229 = icmp sge i32 %t227, %t228
|
|
br i1 %t229, label %grow103, label %put104
|
|
grow103:
|
|
%t230 = mul i32 %t228, 2
|
|
%t231 = icmp eq i32 %t228, 0
|
|
%t232 = select i1 %t231, i32 8, i32 %t230
|
|
%t233 = getelementptr ptr, ptr null, i32 1
|
|
%t234 = ptrtoint ptr %t233 to i64
|
|
%t235 = zext i32 %t232 to i64
|
|
%t236 = mul i64 %t235, %t234
|
|
%t237 = load ptr, ptr %t226
|
|
%t238 = call ptr @realloc(ptr %t237, i64 %t236)
|
|
store ptr %t238, ptr %t226
|
|
store i32 %t232, ptr %t225
|
|
br label %put104
|
|
put104:
|
|
%t239 = load ptr, ptr %t226
|
|
%t240 = getelementptr inbounds ptr, ptr %t239, i32 %t227
|
|
store ptr @.str4185, ptr %t240
|
|
%t241 = add i32 %t227, 1
|
|
store i32 %t241, ptr %t224
|
|
%t242 = load ptr, ptr %t175
|
|
%t243 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 1
|
|
%t244 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 2
|
|
%t245 = getelementptr inbounds %LSlice, ptr %t242, i32 0, i32 0
|
|
%t246 = load i32, ptr %t243
|
|
%t247 = load i32, ptr %t244
|
|
%t248 = icmp sge i32 %t246, %t247
|
|
br i1 %t248, label %grow105, label %put106
|
|
grow105:
|
|
%t249 = mul i32 %t247, 2
|
|
%t250 = icmp eq i32 %t247, 0
|
|
%t251 = select i1 %t250, i32 8, i32 %t249
|
|
%t252 = getelementptr ptr, ptr null, i32 1
|
|
%t253 = ptrtoint ptr %t252 to i64
|
|
%t254 = zext i32 %t251 to i64
|
|
%t255 = mul i64 %t254, %t253
|
|
%t256 = load ptr, ptr %t245
|
|
%t257 = call ptr @realloc(ptr %t256, i64 %t255)
|
|
store ptr %t257, ptr %t245
|
|
store i32 %t251, ptr %t244
|
|
br label %put106
|
|
put106:
|
|
%t258 = load ptr, ptr %t245
|
|
%t259 = getelementptr inbounds ptr, ptr %t258, i32 %t246
|
|
store ptr @.str4186, ptr %t259
|
|
%t260 = add i32 %t246, 1
|
|
store i32 %t260, ptr %t243
|
|
%t261 = load ptr, ptr %t175
|
|
%t262 = getelementptr inbounds %LSlice, ptr %t261, i32 0, i32 1
|
|
%t263 = getelementptr inbounds %LSlice, ptr %t261, i32 0, i32 2
|
|
%t264 = getelementptr inbounds %LSlice, ptr %t261, i32 0, i32 0
|
|
%t265 = load i32, ptr %t262
|
|
%t266 = load i32, ptr %t263
|
|
%t267 = icmp sge i32 %t265, %t266
|
|
br i1 %t267, label %grow107, label %put108
|
|
grow107:
|
|
%t268 = mul i32 %t266, 2
|
|
%t269 = icmp eq i32 %t266, 0
|
|
%t270 = select i1 %t269, i32 8, i32 %t268
|
|
%t271 = getelementptr ptr, ptr null, i32 1
|
|
%t272 = ptrtoint ptr %t271 to i64
|
|
%t273 = zext i32 %t270 to i64
|
|
%t274 = mul i64 %t273, %t272
|
|
%t275 = load ptr, ptr %t264
|
|
%t276 = call ptr @realloc(ptr %t275, i64 %t274)
|
|
store ptr %t276, ptr %t264
|
|
store i32 %t270, ptr %t263
|
|
br label %put108
|
|
put108:
|
|
%t277 = load ptr, ptr %t264
|
|
%t278 = getelementptr inbounds ptr, ptr %t277, i32 %t265
|
|
store ptr @.str4187, ptr %t278
|
|
%t279 = add i32 %t265, 1
|
|
store i32 %t279, ptr %t262
|
|
%t280 = load ptr, ptr %t175
|
|
%t281 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 1
|
|
%t282 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 2
|
|
%t283 = getelementptr inbounds %LSlice, ptr %t280, i32 0, i32 0
|
|
%t284 = load i32, ptr %t281
|
|
%t285 = load i32, ptr %t282
|
|
%t286 = icmp sge i32 %t284, %t285
|
|
br i1 %t286, label %grow109, label %put110
|
|
grow109:
|
|
%t287 = mul i32 %t285, 2
|
|
%t288 = icmp eq i32 %t285, 0
|
|
%t289 = select i1 %t288, i32 8, i32 %t287
|
|
%t290 = getelementptr ptr, ptr null, i32 1
|
|
%t291 = ptrtoint ptr %t290 to i64
|
|
%t292 = zext i32 %t289 to i64
|
|
%t293 = mul i64 %t292, %t291
|
|
%t294 = load ptr, ptr %t283
|
|
%t295 = call ptr @realloc(ptr %t294, i64 %t293)
|
|
store ptr %t295, ptr %t283
|
|
store i32 %t289, ptr %t282
|
|
br label %put110
|
|
put110:
|
|
%t296 = load ptr, ptr %t283
|
|
%t297 = getelementptr inbounds ptr, ptr %t296, i32 %t284
|
|
store ptr @.str4188, ptr %t297
|
|
%t298 = add i32 %t284, 1
|
|
store i32 %t298, ptr %t281
|
|
br label %ifend100
|
|
ifend100:
|
|
%t299 = load ptr, ptr %t1
|
|
%t300 = call i32 @fn_str_eq(ptr %t299, ptr @.str4189)
|
|
%t301 = icmp ne i32 %t300, 0
|
|
br i1 %t301, label %then111, label %ifend113
|
|
then111:
|
|
store ptr @.str4190, ptr %t168
|
|
%t302 = load ptr, ptr %t175
|
|
%t303 = getelementptr inbounds %LSlice, ptr %t302, i32 0, i32 1
|
|
%t304 = getelementptr inbounds %LSlice, ptr %t302, i32 0, i32 2
|
|
%t305 = getelementptr inbounds %LSlice, ptr %t302, i32 0, i32 0
|
|
%t306 = load i32, ptr %t303
|
|
%t307 = load i32, ptr %t304
|
|
%t308 = icmp sge i32 %t306, %t307
|
|
br i1 %t308, label %grow114, label %put115
|
|
grow114:
|
|
%t309 = mul i32 %t307, 2
|
|
%t310 = icmp eq i32 %t307, 0
|
|
%t311 = select i1 %t310, i32 8, i32 %t309
|
|
%t312 = getelementptr ptr, ptr null, i32 1
|
|
%t313 = ptrtoint ptr %t312 to i64
|
|
%t314 = zext i32 %t311 to i64
|
|
%t315 = mul i64 %t314, %t313
|
|
%t316 = load ptr, ptr %t305
|
|
%t317 = call ptr @realloc(ptr %t316, i64 %t315)
|
|
store ptr %t317, ptr %t305
|
|
store i32 %t311, ptr %t304
|
|
br label %put115
|
|
put115:
|
|
%t318 = load ptr, ptr %t305
|
|
%t319 = getelementptr inbounds ptr, ptr %t318, i32 %t306
|
|
store ptr @.str4191, ptr %t319
|
|
%t320 = add i32 %t306, 1
|
|
store i32 %t320, ptr %t303
|
|
%t321 = load ptr, ptr %t175
|
|
%t322 = getelementptr inbounds %LSlice, ptr %t321, i32 0, i32 1
|
|
%t323 = getelementptr inbounds %LSlice, ptr %t321, i32 0, i32 2
|
|
%t324 = getelementptr inbounds %LSlice, ptr %t321, i32 0, i32 0
|
|
%t325 = load i32, ptr %t322
|
|
%t326 = load i32, ptr %t323
|
|
%t327 = icmp sge i32 %t325, %t326
|
|
br i1 %t327, label %grow116, label %put117
|
|
grow116:
|
|
%t328 = mul i32 %t326, 2
|
|
%t329 = icmp eq i32 %t326, 0
|
|
%t330 = select i1 %t329, i32 8, i32 %t328
|
|
%t331 = getelementptr ptr, ptr null, i32 1
|
|
%t332 = ptrtoint ptr %t331 to i64
|
|
%t333 = zext i32 %t330 to i64
|
|
%t334 = mul i64 %t333, %t332
|
|
%t335 = load ptr, ptr %t324
|
|
%t336 = call ptr @realloc(ptr %t335, i64 %t334)
|
|
store ptr %t336, ptr %t324
|
|
store i32 %t330, ptr %t323
|
|
br label %put117
|
|
put117:
|
|
%t337 = load ptr, ptr %t324
|
|
%t338 = getelementptr inbounds ptr, ptr %t337, i32 %t325
|
|
store ptr @.str4192, ptr %t338
|
|
%t339 = add i32 %t325, 1
|
|
store i32 %t339, ptr %t322
|
|
%t340 = load ptr, ptr %t175
|
|
%t341 = getelementptr inbounds %LSlice, ptr %t340, i32 0, i32 1
|
|
%t342 = getelementptr inbounds %LSlice, ptr %t340, i32 0, i32 2
|
|
%t343 = getelementptr inbounds %LSlice, ptr %t340, i32 0, i32 0
|
|
%t344 = load i32, ptr %t341
|
|
%t345 = load i32, ptr %t342
|
|
%t346 = icmp sge i32 %t344, %t345
|
|
br i1 %t346, label %grow118, label %put119
|
|
grow118:
|
|
%t347 = mul i32 %t345, 2
|
|
%t348 = icmp eq i32 %t345, 0
|
|
%t349 = select i1 %t348, i32 8, i32 %t347
|
|
%t350 = getelementptr ptr, ptr null, i32 1
|
|
%t351 = ptrtoint ptr %t350 to i64
|
|
%t352 = zext i32 %t349 to i64
|
|
%t353 = mul i64 %t352, %t351
|
|
%t354 = load ptr, ptr %t343
|
|
%t355 = call ptr @realloc(ptr %t354, i64 %t353)
|
|
store ptr %t355, ptr %t343
|
|
store i32 %t349, ptr %t342
|
|
br label %put119
|
|
put119:
|
|
%t356 = load ptr, ptr %t343
|
|
%t357 = getelementptr inbounds ptr, ptr %t356, i32 %t344
|
|
store ptr @.str4193, ptr %t357
|
|
%t358 = add i32 %t344, 1
|
|
store i32 %t358, ptr %t341
|
|
%t359 = load ptr, ptr %t175
|
|
%t360 = getelementptr inbounds %LSlice, ptr %t359, i32 0, i32 1
|
|
%t361 = getelementptr inbounds %LSlice, ptr %t359, i32 0, i32 2
|
|
%t362 = getelementptr inbounds %LSlice, ptr %t359, i32 0, i32 0
|
|
%t363 = load i32, ptr %t360
|
|
%t364 = load i32, ptr %t361
|
|
%t365 = icmp sge i32 %t363, %t364
|
|
br i1 %t365, label %grow120, label %put121
|
|
grow120:
|
|
%t366 = mul i32 %t364, 2
|
|
%t367 = icmp eq i32 %t364, 0
|
|
%t368 = select i1 %t367, i32 8, i32 %t366
|
|
%t369 = getelementptr ptr, ptr null, i32 1
|
|
%t370 = ptrtoint ptr %t369 to i64
|
|
%t371 = zext i32 %t368 to i64
|
|
%t372 = mul i64 %t371, %t370
|
|
%t373 = load ptr, ptr %t362
|
|
%t374 = call ptr @realloc(ptr %t373, i64 %t372)
|
|
store ptr %t374, ptr %t362
|
|
store i32 %t368, ptr %t361
|
|
br label %put121
|
|
put121:
|
|
%t375 = load ptr, ptr %t362
|
|
%t376 = getelementptr inbounds ptr, ptr %t375, i32 %t363
|
|
store ptr @.str4194, ptr %t376
|
|
%t377 = add i32 %t363, 1
|
|
store i32 %t377, ptr %t360
|
|
%t378 = load ptr, ptr %t175
|
|
%t379 = getelementptr inbounds %LSlice, ptr %t378, i32 0, i32 1
|
|
%t380 = getelementptr inbounds %LSlice, ptr %t378, i32 0, i32 2
|
|
%t381 = getelementptr inbounds %LSlice, ptr %t378, i32 0, i32 0
|
|
%t382 = load i32, ptr %t379
|
|
%t383 = load i32, ptr %t380
|
|
%t384 = icmp sge i32 %t382, %t383
|
|
br i1 %t384, label %grow122, label %put123
|
|
grow122:
|
|
%t385 = mul i32 %t383, 2
|
|
%t386 = icmp eq i32 %t383, 0
|
|
%t387 = select i1 %t386, i32 8, i32 %t385
|
|
%t388 = getelementptr ptr, ptr null, i32 1
|
|
%t389 = ptrtoint ptr %t388 to i64
|
|
%t390 = zext i32 %t387 to i64
|
|
%t391 = mul i64 %t390, %t389
|
|
%t392 = load ptr, ptr %t381
|
|
%t393 = call ptr @realloc(ptr %t392, i64 %t391)
|
|
store ptr %t393, ptr %t381
|
|
store i32 %t387, ptr %t380
|
|
br label %put123
|
|
put123:
|
|
%t394 = load ptr, ptr %t381
|
|
%t395 = getelementptr inbounds ptr, ptr %t394, i32 %t382
|
|
store ptr @.str4195, ptr %t395
|
|
%t396 = add i32 %t382, 1
|
|
store i32 %t396, ptr %t379
|
|
br label %ifend113
|
|
ifend113:
|
|
%t397 = load ptr, ptr %t1
|
|
%t398 = call i32 @fn_str_eq(ptr %t397, ptr @.str4196)
|
|
%t399 = icmp ne i32 %t398, 0
|
|
br i1 %t399, label %then124, label %ifend126
|
|
then124:
|
|
store ptr @.str4197, ptr %t168
|
|
%t400 = load ptr, ptr %t175
|
|
%t401 = getelementptr inbounds %LSlice, ptr %t400, i32 0, i32 1
|
|
%t402 = getelementptr inbounds %LSlice, ptr %t400, i32 0, i32 2
|
|
%t403 = getelementptr inbounds %LSlice, ptr %t400, i32 0, i32 0
|
|
%t404 = load i32, ptr %t401
|
|
%t405 = load i32, ptr %t402
|
|
%t406 = icmp sge i32 %t404, %t405
|
|
br i1 %t406, label %grow127, label %put128
|
|
grow127:
|
|
%t407 = mul i32 %t405, 2
|
|
%t408 = icmp eq i32 %t405, 0
|
|
%t409 = select i1 %t408, i32 8, i32 %t407
|
|
%t410 = getelementptr ptr, ptr null, i32 1
|
|
%t411 = ptrtoint ptr %t410 to i64
|
|
%t412 = zext i32 %t409 to i64
|
|
%t413 = mul i64 %t412, %t411
|
|
%t414 = load ptr, ptr %t403
|
|
%t415 = call ptr @realloc(ptr %t414, i64 %t413)
|
|
store ptr %t415, ptr %t403
|
|
store i32 %t409, ptr %t402
|
|
br label %put128
|
|
put128:
|
|
%t416 = load ptr, ptr %t403
|
|
%t417 = getelementptr inbounds ptr, ptr %t416, i32 %t404
|
|
store ptr @.str4198, ptr %t417
|
|
%t418 = add i32 %t404, 1
|
|
store i32 %t418, ptr %t401
|
|
%t419 = load ptr, ptr %t175
|
|
%t420 = getelementptr inbounds %LSlice, ptr %t419, i32 0, i32 1
|
|
%t421 = getelementptr inbounds %LSlice, ptr %t419, i32 0, i32 2
|
|
%t422 = getelementptr inbounds %LSlice, ptr %t419, i32 0, i32 0
|
|
%t423 = load i32, ptr %t420
|
|
%t424 = load i32, ptr %t421
|
|
%t425 = icmp sge i32 %t423, %t424
|
|
br i1 %t425, label %grow129, label %put130
|
|
grow129:
|
|
%t426 = mul i32 %t424, 2
|
|
%t427 = icmp eq i32 %t424, 0
|
|
%t428 = select i1 %t427, i32 8, i32 %t426
|
|
%t429 = getelementptr ptr, ptr null, i32 1
|
|
%t430 = ptrtoint ptr %t429 to i64
|
|
%t431 = zext i32 %t428 to i64
|
|
%t432 = mul i64 %t431, %t430
|
|
%t433 = load ptr, ptr %t422
|
|
%t434 = call ptr @realloc(ptr %t433, i64 %t432)
|
|
store ptr %t434, ptr %t422
|
|
store i32 %t428, ptr %t421
|
|
br label %put130
|
|
put130:
|
|
%t435 = load ptr, ptr %t422
|
|
%t436 = getelementptr inbounds ptr, ptr %t435, i32 %t423
|
|
store ptr @.str4199, ptr %t436
|
|
%t437 = add i32 %t423, 1
|
|
store i32 %t437, ptr %t420
|
|
%t438 = load ptr, ptr %t175
|
|
%t439 = getelementptr inbounds %LSlice, ptr %t438, i32 0, i32 1
|
|
%t440 = getelementptr inbounds %LSlice, ptr %t438, i32 0, i32 2
|
|
%t441 = getelementptr inbounds %LSlice, ptr %t438, i32 0, i32 0
|
|
%t442 = load i32, ptr %t439
|
|
%t443 = load i32, ptr %t440
|
|
%t444 = icmp sge i32 %t442, %t443
|
|
br i1 %t444, label %grow131, label %put132
|
|
grow131:
|
|
%t445 = mul i32 %t443, 2
|
|
%t446 = icmp eq i32 %t443, 0
|
|
%t447 = select i1 %t446, i32 8, i32 %t445
|
|
%t448 = getelementptr ptr, ptr null, i32 1
|
|
%t449 = ptrtoint ptr %t448 to i64
|
|
%t450 = zext i32 %t447 to i64
|
|
%t451 = mul i64 %t450, %t449
|
|
%t452 = load ptr, ptr %t441
|
|
%t453 = call ptr @realloc(ptr %t452, i64 %t451)
|
|
store ptr %t453, ptr %t441
|
|
store i32 %t447, ptr %t440
|
|
br label %put132
|
|
put132:
|
|
%t454 = load ptr, ptr %t441
|
|
%t455 = getelementptr inbounds ptr, ptr %t454, i32 %t442
|
|
store ptr @.str4200, ptr %t455
|
|
%t456 = add i32 %t442, 1
|
|
store i32 %t456, ptr %t439
|
|
br label %ifend126
|
|
ifend126:
|
|
%t457 = load ptr, ptr %t1
|
|
%t458 = call i32 @fn_str_eq(ptr %t457, ptr @.str4201)
|
|
%t459 = icmp ne i32 %t458, 0
|
|
br i1 %t459, label %then133, label %ifend135
|
|
then133:
|
|
store ptr @.str4202, ptr %t168
|
|
%t460 = load ptr, ptr %t175
|
|
%t461 = getelementptr inbounds %LSlice, ptr %t460, i32 0, i32 1
|
|
%t462 = getelementptr inbounds %LSlice, ptr %t460, i32 0, i32 2
|
|
%t463 = getelementptr inbounds %LSlice, ptr %t460, i32 0, i32 0
|
|
%t464 = load i32, ptr %t461
|
|
%t465 = load i32, ptr %t462
|
|
%t466 = icmp sge i32 %t464, %t465
|
|
br i1 %t466, label %grow136, label %put137
|
|
grow136:
|
|
%t467 = mul i32 %t465, 2
|
|
%t468 = icmp eq i32 %t465, 0
|
|
%t469 = select i1 %t468, i32 8, i32 %t467
|
|
%t470 = getelementptr ptr, ptr null, i32 1
|
|
%t471 = ptrtoint ptr %t470 to i64
|
|
%t472 = zext i32 %t469 to i64
|
|
%t473 = mul i64 %t472, %t471
|
|
%t474 = load ptr, ptr %t463
|
|
%t475 = call ptr @realloc(ptr %t474, i64 %t473)
|
|
store ptr %t475, ptr %t463
|
|
store i32 %t469, ptr %t462
|
|
br label %put137
|
|
put137:
|
|
%t476 = load ptr, ptr %t463
|
|
%t477 = getelementptr inbounds ptr, ptr %t476, i32 %t464
|
|
store ptr @.str4203, ptr %t477
|
|
%t478 = add i32 %t464, 1
|
|
store i32 %t478, ptr %t461
|
|
%t479 = load ptr, ptr %t175
|
|
%t480 = getelementptr inbounds %LSlice, ptr %t479, i32 0, i32 1
|
|
%t481 = getelementptr inbounds %LSlice, ptr %t479, i32 0, i32 2
|
|
%t482 = getelementptr inbounds %LSlice, ptr %t479, i32 0, i32 0
|
|
%t483 = load i32, ptr %t480
|
|
%t484 = load i32, ptr %t481
|
|
%t485 = icmp sge i32 %t483, %t484
|
|
br i1 %t485, label %grow138, label %put139
|
|
grow138:
|
|
%t486 = mul i32 %t484, 2
|
|
%t487 = icmp eq i32 %t484, 0
|
|
%t488 = select i1 %t487, i32 8, i32 %t486
|
|
%t489 = getelementptr ptr, ptr null, i32 1
|
|
%t490 = ptrtoint ptr %t489 to i64
|
|
%t491 = zext i32 %t488 to i64
|
|
%t492 = mul i64 %t491, %t490
|
|
%t493 = load ptr, ptr %t482
|
|
%t494 = call ptr @realloc(ptr %t493, i64 %t492)
|
|
store ptr %t494, ptr %t482
|
|
store i32 %t488, ptr %t481
|
|
br label %put139
|
|
put139:
|
|
%t495 = load ptr, ptr %t482
|
|
%t496 = getelementptr inbounds ptr, ptr %t495, i32 %t483
|
|
store ptr @.str4204, ptr %t496
|
|
%t497 = add i32 %t483, 1
|
|
store i32 %t497, ptr %t480
|
|
%t498 = load ptr, ptr %t175
|
|
%t499 = getelementptr inbounds %LSlice, ptr %t498, i32 0, i32 1
|
|
%t500 = getelementptr inbounds %LSlice, ptr %t498, i32 0, i32 2
|
|
%t501 = getelementptr inbounds %LSlice, ptr %t498, i32 0, i32 0
|
|
%t502 = load i32, ptr %t499
|
|
%t503 = load i32, ptr %t500
|
|
%t504 = icmp sge i32 %t502, %t503
|
|
br i1 %t504, label %grow140, label %put141
|
|
grow140:
|
|
%t505 = mul i32 %t503, 2
|
|
%t506 = icmp eq i32 %t503, 0
|
|
%t507 = select i1 %t506, i32 8, i32 %t505
|
|
%t508 = getelementptr ptr, ptr null, i32 1
|
|
%t509 = ptrtoint ptr %t508 to i64
|
|
%t510 = zext i32 %t507 to i64
|
|
%t511 = mul i64 %t510, %t509
|
|
%t512 = load ptr, ptr %t501
|
|
%t513 = call ptr @realloc(ptr %t512, i64 %t511)
|
|
store ptr %t513, ptr %t501
|
|
store i32 %t507, ptr %t500
|
|
br label %put141
|
|
put141:
|
|
%t514 = load ptr, ptr %t501
|
|
%t515 = getelementptr inbounds ptr, ptr %t514, i32 %t502
|
|
store ptr @.str4205, ptr %t515
|
|
%t516 = add i32 %t502, 1
|
|
store i32 %t516, ptr %t499
|
|
%t517 = load ptr, ptr %t175
|
|
%t518 = getelementptr inbounds %LSlice, ptr %t517, i32 0, i32 1
|
|
%t519 = getelementptr inbounds %LSlice, ptr %t517, i32 0, i32 2
|
|
%t520 = getelementptr inbounds %LSlice, ptr %t517, i32 0, i32 0
|
|
%t521 = load i32, ptr %t518
|
|
%t522 = load i32, ptr %t519
|
|
%t523 = icmp sge i32 %t521, %t522
|
|
br i1 %t523, label %grow142, label %put143
|
|
grow142:
|
|
%t524 = mul i32 %t522, 2
|
|
%t525 = icmp eq i32 %t522, 0
|
|
%t526 = select i1 %t525, i32 8, i32 %t524
|
|
%t527 = getelementptr ptr, ptr null, i32 1
|
|
%t528 = ptrtoint ptr %t527 to i64
|
|
%t529 = zext i32 %t526 to i64
|
|
%t530 = mul i64 %t529, %t528
|
|
%t531 = load ptr, ptr %t520
|
|
%t532 = call ptr @realloc(ptr %t531, i64 %t530)
|
|
store ptr %t532, ptr %t520
|
|
store i32 %t526, ptr %t519
|
|
br label %put143
|
|
put143:
|
|
%t533 = load ptr, ptr %t520
|
|
%t534 = getelementptr inbounds ptr, ptr %t533, i32 %t521
|
|
store ptr @.str4206, ptr %t534
|
|
%t535 = add i32 %t521, 1
|
|
store i32 %t535, ptr %t518
|
|
%t536 = load ptr, ptr %t175
|
|
%t537 = getelementptr inbounds %LSlice, ptr %t536, i32 0, i32 1
|
|
%t538 = getelementptr inbounds %LSlice, ptr %t536, i32 0, i32 2
|
|
%t539 = getelementptr inbounds %LSlice, ptr %t536, i32 0, i32 0
|
|
%t540 = load i32, ptr %t537
|
|
%t541 = load i32, ptr %t538
|
|
%t542 = icmp sge i32 %t540, %t541
|
|
br i1 %t542, label %grow144, label %put145
|
|
grow144:
|
|
%t543 = mul i32 %t541, 2
|
|
%t544 = icmp eq i32 %t541, 0
|
|
%t545 = select i1 %t544, i32 8, i32 %t543
|
|
%t546 = getelementptr ptr, ptr null, i32 1
|
|
%t547 = ptrtoint ptr %t546 to i64
|
|
%t548 = zext i32 %t545 to i64
|
|
%t549 = mul i64 %t548, %t547
|
|
%t550 = load ptr, ptr %t539
|
|
%t551 = call ptr @realloc(ptr %t550, i64 %t549)
|
|
store ptr %t551, ptr %t539
|
|
store i32 %t545, ptr %t538
|
|
br label %put145
|
|
put145:
|
|
%t552 = load ptr, ptr %t539
|
|
%t553 = getelementptr inbounds ptr, ptr %t552, i32 %t540
|
|
store ptr @.str4207, ptr %t553
|
|
%t554 = add i32 %t540, 1
|
|
store i32 %t554, ptr %t537
|
|
br label %ifend135
|
|
ifend135:
|
|
%t555 = load ptr, ptr %t1
|
|
%t556 = call i32 @fn_str_eq(ptr %t555, ptr @.str4208)
|
|
%t557 = icmp ne i32 %t556, 0
|
|
br i1 %t557, label %then146, label %ifend148
|
|
then146:
|
|
store ptr @.str4209, ptr %t168
|
|
%t558 = load ptr, ptr %t175
|
|
%t559 = getelementptr inbounds %LSlice, ptr %t558, i32 0, i32 1
|
|
%t560 = getelementptr inbounds %LSlice, ptr %t558, i32 0, i32 2
|
|
%t561 = getelementptr inbounds %LSlice, ptr %t558, i32 0, i32 0
|
|
%t562 = load i32, ptr %t559
|
|
%t563 = load i32, ptr %t560
|
|
%t564 = icmp sge i32 %t562, %t563
|
|
br i1 %t564, label %grow149, label %put150
|
|
grow149:
|
|
%t565 = mul i32 %t563, 2
|
|
%t566 = icmp eq i32 %t563, 0
|
|
%t567 = select i1 %t566, i32 8, i32 %t565
|
|
%t568 = getelementptr ptr, ptr null, i32 1
|
|
%t569 = ptrtoint ptr %t568 to i64
|
|
%t570 = zext i32 %t567 to i64
|
|
%t571 = mul i64 %t570, %t569
|
|
%t572 = load ptr, ptr %t561
|
|
%t573 = call ptr @realloc(ptr %t572, i64 %t571)
|
|
store ptr %t573, ptr %t561
|
|
store i32 %t567, ptr %t560
|
|
br label %put150
|
|
put150:
|
|
%t574 = load ptr, ptr %t561
|
|
%t575 = getelementptr inbounds ptr, ptr %t574, i32 %t562
|
|
store ptr @.str4210, ptr %t575
|
|
%t576 = add i32 %t562, 1
|
|
store i32 %t576, ptr %t559
|
|
%t577 = load ptr, ptr %t175
|
|
%t578 = getelementptr inbounds %LSlice, ptr %t577, i32 0, i32 1
|
|
%t579 = getelementptr inbounds %LSlice, ptr %t577, i32 0, i32 2
|
|
%t580 = getelementptr inbounds %LSlice, ptr %t577, i32 0, i32 0
|
|
%t581 = load i32, ptr %t578
|
|
%t582 = load i32, ptr %t579
|
|
%t583 = icmp sge i32 %t581, %t582
|
|
br i1 %t583, label %grow151, label %put152
|
|
grow151:
|
|
%t584 = mul i32 %t582, 2
|
|
%t585 = icmp eq i32 %t582, 0
|
|
%t586 = select i1 %t585, i32 8, i32 %t584
|
|
%t587 = getelementptr ptr, ptr null, i32 1
|
|
%t588 = ptrtoint ptr %t587 to i64
|
|
%t589 = zext i32 %t586 to i64
|
|
%t590 = mul i64 %t589, %t588
|
|
%t591 = load ptr, ptr %t580
|
|
%t592 = call ptr @realloc(ptr %t591, i64 %t590)
|
|
store ptr %t592, ptr %t580
|
|
store i32 %t586, ptr %t579
|
|
br label %put152
|
|
put152:
|
|
%t593 = load ptr, ptr %t580
|
|
%t594 = getelementptr inbounds ptr, ptr %t593, i32 %t581
|
|
store ptr @.str4211, ptr %t594
|
|
%t595 = add i32 %t581, 1
|
|
store i32 %t595, ptr %t578
|
|
%t596 = load ptr, ptr %t175
|
|
%t597 = getelementptr inbounds %LSlice, ptr %t596, i32 0, i32 1
|
|
%t598 = getelementptr inbounds %LSlice, ptr %t596, i32 0, i32 2
|
|
%t599 = getelementptr inbounds %LSlice, ptr %t596, i32 0, i32 0
|
|
%t600 = load i32, ptr %t597
|
|
%t601 = load i32, ptr %t598
|
|
%t602 = icmp sge i32 %t600, %t601
|
|
br i1 %t602, label %grow153, label %put154
|
|
grow153:
|
|
%t603 = mul i32 %t601, 2
|
|
%t604 = icmp eq i32 %t601, 0
|
|
%t605 = select i1 %t604, i32 8, i32 %t603
|
|
%t606 = getelementptr ptr, ptr null, i32 1
|
|
%t607 = ptrtoint ptr %t606 to i64
|
|
%t608 = zext i32 %t605 to i64
|
|
%t609 = mul i64 %t608, %t607
|
|
%t610 = load ptr, ptr %t599
|
|
%t611 = call ptr @realloc(ptr %t610, i64 %t609)
|
|
store ptr %t611, ptr %t599
|
|
store i32 %t605, ptr %t598
|
|
br label %put154
|
|
put154:
|
|
%t612 = load ptr, ptr %t599
|
|
%t613 = getelementptr inbounds ptr, ptr %t612, i32 %t600
|
|
store ptr @.str4212, ptr %t613
|
|
%t614 = add i32 %t600, 1
|
|
store i32 %t614, ptr %t597
|
|
%t615 = load ptr, ptr %t175
|
|
%t616 = getelementptr inbounds %LSlice, ptr %t615, i32 0, i32 1
|
|
%t617 = getelementptr inbounds %LSlice, ptr %t615, i32 0, i32 2
|
|
%t618 = getelementptr inbounds %LSlice, ptr %t615, i32 0, i32 0
|
|
%t619 = load i32, ptr %t616
|
|
%t620 = load i32, ptr %t617
|
|
%t621 = icmp sge i32 %t619, %t620
|
|
br i1 %t621, label %grow155, label %put156
|
|
grow155:
|
|
%t622 = mul i32 %t620, 2
|
|
%t623 = icmp eq i32 %t620, 0
|
|
%t624 = select i1 %t623, i32 8, i32 %t622
|
|
%t625 = getelementptr ptr, ptr null, i32 1
|
|
%t626 = ptrtoint ptr %t625 to i64
|
|
%t627 = zext i32 %t624 to i64
|
|
%t628 = mul i64 %t627, %t626
|
|
%t629 = load ptr, ptr %t618
|
|
%t630 = call ptr @realloc(ptr %t629, i64 %t628)
|
|
store ptr %t630, ptr %t618
|
|
store i32 %t624, ptr %t617
|
|
br label %put156
|
|
put156:
|
|
%t631 = load ptr, ptr %t618
|
|
%t632 = getelementptr inbounds ptr, ptr %t631, i32 %t619
|
|
store ptr @.str4213, ptr %t632
|
|
%t633 = add i32 %t619, 1
|
|
store i32 %t633, ptr %t616
|
|
%t634 = load ptr, ptr %t175
|
|
%t635 = getelementptr inbounds %LSlice, ptr %t634, i32 0, i32 1
|
|
%t636 = getelementptr inbounds %LSlice, ptr %t634, i32 0, i32 2
|
|
%t637 = getelementptr inbounds %LSlice, ptr %t634, i32 0, i32 0
|
|
%t638 = load i32, ptr %t635
|
|
%t639 = load i32, ptr %t636
|
|
%t640 = icmp sge i32 %t638, %t639
|
|
br i1 %t640, label %grow157, label %put158
|
|
grow157:
|
|
%t641 = mul i32 %t639, 2
|
|
%t642 = icmp eq i32 %t639, 0
|
|
%t643 = select i1 %t642, i32 8, i32 %t641
|
|
%t644 = getelementptr ptr, ptr null, i32 1
|
|
%t645 = ptrtoint ptr %t644 to i64
|
|
%t646 = zext i32 %t643 to i64
|
|
%t647 = mul i64 %t646, %t645
|
|
%t648 = load ptr, ptr %t637
|
|
%t649 = call ptr @realloc(ptr %t648, i64 %t647)
|
|
store ptr %t649, ptr %t637
|
|
store i32 %t643, ptr %t636
|
|
br label %put158
|
|
put158:
|
|
%t650 = load ptr, ptr %t637
|
|
%t651 = getelementptr inbounds ptr, ptr %t650, i32 %t638
|
|
store ptr @.str4214, ptr %t651
|
|
%t652 = add i32 %t638, 1
|
|
store i32 %t652, ptr %t635
|
|
br label %ifend148
|
|
ifend148:
|
|
%t653 = load ptr, ptr %t1
|
|
%t654 = call i32 @fn_str_eq(ptr %t653, ptr @.str4215)
|
|
%t655 = icmp ne i32 %t654, 0
|
|
br i1 %t655, label %then159, label %ifend161
|
|
then159:
|
|
store ptr @.str4216, ptr %t168
|
|
br label %ifend161
|
|
ifend161:
|
|
%t656 = load ptr, ptr %t1
|
|
%t657 = call i32 @fn_str_eq(ptr %t656, ptr @.str4217)
|
|
%t658 = icmp ne i32 %t657, 0
|
|
br i1 %t658, label %then162, label %ifend164
|
|
then162:
|
|
store ptr @.str4218, ptr %t168
|
|
br label %ifend164
|
|
ifend164:
|
|
%t659 = load ptr, ptr %t1
|
|
%t660 = call i32 @fn_str_eq(ptr %t659, ptr @.str4219)
|
|
%t661 = icmp ne i32 %t660, 0
|
|
br i1 %t661, label %then165, label %ifend167
|
|
then165:
|
|
store ptr @.str4220, ptr %t168
|
|
br label %ifend167
|
|
ifend167:
|
|
%t662 = load ptr, ptr %t1
|
|
%t663 = call i32 @fn_str_eq(ptr %t662, ptr @.str4221)
|
|
%t664 = icmp ne i32 %t663, 0
|
|
br i1 %t664, label %then168, label %ifend170
|
|
then168:
|
|
store ptr @.str4222, ptr %t168
|
|
%t665 = load ptr, ptr %t175
|
|
%t666 = getelementptr inbounds %LSlice, ptr %t665, i32 0, i32 1
|
|
%t667 = getelementptr inbounds %LSlice, ptr %t665, i32 0, i32 2
|
|
%t668 = getelementptr inbounds %LSlice, ptr %t665, i32 0, i32 0
|
|
%t669 = load i32, ptr %t666
|
|
%t670 = load i32, ptr %t667
|
|
%t671 = icmp sge i32 %t669, %t670
|
|
br i1 %t671, label %grow171, label %put172
|
|
grow171:
|
|
%t672 = mul i32 %t670, 2
|
|
%t673 = icmp eq i32 %t670, 0
|
|
%t674 = select i1 %t673, i32 8, i32 %t672
|
|
%t675 = getelementptr ptr, ptr null, i32 1
|
|
%t676 = ptrtoint ptr %t675 to i64
|
|
%t677 = zext i32 %t674 to i64
|
|
%t678 = mul i64 %t677, %t676
|
|
%t679 = load ptr, ptr %t668
|
|
%t680 = call ptr @realloc(ptr %t679, i64 %t678)
|
|
store ptr %t680, ptr %t668
|
|
store i32 %t674, ptr %t667
|
|
br label %put172
|
|
put172:
|
|
%t681 = load ptr, ptr %t668
|
|
%t682 = getelementptr inbounds ptr, ptr %t681, i32 %t669
|
|
store ptr @.str4223, ptr %t682
|
|
%t683 = add i32 %t669, 1
|
|
store i32 %t683, ptr %t666
|
|
br label %ifend170
|
|
ifend170:
|
|
%t684 = load ptr, ptr %t1
|
|
%t685 = call i32 @fn_str_eq(ptr %t684, ptr @.str4224)
|
|
%t686 = icmp ne i32 %t685, 0
|
|
br i1 %t686, label %then173, label %ifend175
|
|
then173:
|
|
store ptr @.str4225, ptr %t168
|
|
%t687 = load ptr, ptr %t175
|
|
%t688 = getelementptr inbounds %LSlice, ptr %t687, i32 0, i32 1
|
|
%t689 = getelementptr inbounds %LSlice, ptr %t687, i32 0, i32 2
|
|
%t690 = getelementptr inbounds %LSlice, ptr %t687, i32 0, i32 0
|
|
%t691 = load i32, ptr %t688
|
|
%t692 = load i32, ptr %t689
|
|
%t693 = icmp sge i32 %t691, %t692
|
|
br i1 %t693, label %grow176, label %put177
|
|
grow176:
|
|
%t694 = mul i32 %t692, 2
|
|
%t695 = icmp eq i32 %t692, 0
|
|
%t696 = select i1 %t695, i32 8, i32 %t694
|
|
%t697 = getelementptr ptr, ptr null, i32 1
|
|
%t698 = ptrtoint ptr %t697 to i64
|
|
%t699 = zext i32 %t696 to i64
|
|
%t700 = mul i64 %t699, %t698
|
|
%t701 = load ptr, ptr %t690
|
|
%t702 = call ptr @realloc(ptr %t701, i64 %t700)
|
|
store ptr %t702, ptr %t690
|
|
store i32 %t696, ptr %t689
|
|
br label %put177
|
|
put177:
|
|
%t703 = load ptr, ptr %t690
|
|
%t704 = getelementptr inbounds ptr, ptr %t703, i32 %t691
|
|
store ptr @.str4226, ptr %t704
|
|
%t705 = add i32 %t691, 1
|
|
store i32 %t705, ptr %t688
|
|
%t706 = load ptr, ptr %t175
|
|
%t707 = getelementptr inbounds %LSlice, ptr %t706, i32 0, i32 1
|
|
%t708 = getelementptr inbounds %LSlice, ptr %t706, i32 0, i32 2
|
|
%t709 = getelementptr inbounds %LSlice, ptr %t706, i32 0, i32 0
|
|
%t710 = load i32, ptr %t707
|
|
%t711 = load i32, ptr %t708
|
|
%t712 = icmp sge i32 %t710, %t711
|
|
br i1 %t712, label %grow178, label %put179
|
|
grow178:
|
|
%t713 = mul i32 %t711, 2
|
|
%t714 = icmp eq i32 %t711, 0
|
|
%t715 = select i1 %t714, i32 8, i32 %t713
|
|
%t716 = getelementptr ptr, ptr null, i32 1
|
|
%t717 = ptrtoint ptr %t716 to i64
|
|
%t718 = zext i32 %t715 to i64
|
|
%t719 = mul i64 %t718, %t717
|
|
%t720 = load ptr, ptr %t709
|
|
%t721 = call ptr @realloc(ptr %t720, i64 %t719)
|
|
store ptr %t721, ptr %t709
|
|
store i32 %t715, ptr %t708
|
|
br label %put179
|
|
put179:
|
|
%t722 = load ptr, ptr %t709
|
|
%t723 = getelementptr inbounds ptr, ptr %t722, i32 %t710
|
|
store ptr @.str4227, ptr %t723
|
|
%t724 = add i32 %t710, 1
|
|
store i32 %t724, ptr %t707
|
|
%t725 = load ptr, ptr %t175
|
|
%t726 = getelementptr inbounds %LSlice, ptr %t725, i32 0, i32 1
|
|
%t727 = getelementptr inbounds %LSlice, ptr %t725, i32 0, i32 2
|
|
%t728 = getelementptr inbounds %LSlice, ptr %t725, i32 0, i32 0
|
|
%t729 = load i32, ptr %t726
|
|
%t730 = load i32, ptr %t727
|
|
%t731 = icmp sge i32 %t729, %t730
|
|
br i1 %t731, label %grow180, label %put181
|
|
grow180:
|
|
%t732 = mul i32 %t730, 2
|
|
%t733 = icmp eq i32 %t730, 0
|
|
%t734 = select i1 %t733, i32 8, i32 %t732
|
|
%t735 = getelementptr ptr, ptr null, i32 1
|
|
%t736 = ptrtoint ptr %t735 to i64
|
|
%t737 = zext i32 %t734 to i64
|
|
%t738 = mul i64 %t737, %t736
|
|
%t739 = load ptr, ptr %t728
|
|
%t740 = call ptr @realloc(ptr %t739, i64 %t738)
|
|
store ptr %t740, ptr %t728
|
|
store i32 %t734, ptr %t727
|
|
br label %put181
|
|
put181:
|
|
%t741 = load ptr, ptr %t728
|
|
%t742 = getelementptr inbounds ptr, ptr %t741, i32 %t729
|
|
store ptr @.str4228, ptr %t742
|
|
%t743 = add i32 %t729, 1
|
|
store i32 %t743, ptr %t726
|
|
%t744 = load ptr, ptr %t175
|
|
%t745 = getelementptr inbounds %LSlice, ptr %t744, i32 0, i32 1
|
|
%t746 = getelementptr inbounds %LSlice, ptr %t744, i32 0, i32 2
|
|
%t747 = getelementptr inbounds %LSlice, ptr %t744, i32 0, i32 0
|
|
%t748 = load i32, ptr %t745
|
|
%t749 = load i32, ptr %t746
|
|
%t750 = icmp sge i32 %t748, %t749
|
|
br i1 %t750, label %grow182, label %put183
|
|
grow182:
|
|
%t751 = mul i32 %t749, 2
|
|
%t752 = icmp eq i32 %t749, 0
|
|
%t753 = select i1 %t752, i32 8, i32 %t751
|
|
%t754 = getelementptr ptr, ptr null, i32 1
|
|
%t755 = ptrtoint ptr %t754 to i64
|
|
%t756 = zext i32 %t753 to i64
|
|
%t757 = mul i64 %t756, %t755
|
|
%t758 = load ptr, ptr %t747
|
|
%t759 = call ptr @realloc(ptr %t758, i64 %t757)
|
|
store ptr %t759, ptr %t747
|
|
store i32 %t753, ptr %t746
|
|
br label %put183
|
|
put183:
|
|
%t760 = load ptr, ptr %t747
|
|
%t761 = getelementptr inbounds ptr, ptr %t760, i32 %t748
|
|
store ptr @.str4229, ptr %t761
|
|
%t762 = add i32 %t748, 1
|
|
store i32 %t762, ptr %t745
|
|
%t763 = load ptr, ptr %t175
|
|
%t764 = getelementptr inbounds %LSlice, ptr %t763, i32 0, i32 1
|
|
%t765 = getelementptr inbounds %LSlice, ptr %t763, i32 0, i32 2
|
|
%t766 = getelementptr inbounds %LSlice, ptr %t763, i32 0, i32 0
|
|
%t767 = load i32, ptr %t764
|
|
%t768 = load i32, ptr %t765
|
|
%t769 = icmp sge i32 %t767, %t768
|
|
br i1 %t769, label %grow184, label %put185
|
|
grow184:
|
|
%t770 = mul i32 %t768, 2
|
|
%t771 = icmp eq i32 %t768, 0
|
|
%t772 = select i1 %t771, i32 8, i32 %t770
|
|
%t773 = getelementptr ptr, ptr null, i32 1
|
|
%t774 = ptrtoint ptr %t773 to i64
|
|
%t775 = zext i32 %t772 to i64
|
|
%t776 = mul i64 %t775, %t774
|
|
%t777 = load ptr, ptr %t766
|
|
%t778 = call ptr @realloc(ptr %t777, i64 %t776)
|
|
store ptr %t778, ptr %t766
|
|
store i32 %t772, ptr %t765
|
|
br label %put185
|
|
put185:
|
|
%t779 = load ptr, ptr %t766
|
|
%t780 = getelementptr inbounds ptr, ptr %t779, i32 %t767
|
|
store ptr @.str4230, ptr %t780
|
|
%t781 = add i32 %t767, 1
|
|
store i32 %t781, ptr %t764
|
|
br label %ifend175
|
|
ifend175:
|
|
%t782 = load ptr, ptr %t1
|
|
%t783 = call i32 @fn_str_eq(ptr %t782, ptr @.str4231)
|
|
%t784 = icmp ne i32 %t783, 0
|
|
br i1 %t784, label %then186, label %ifend188
|
|
then186:
|
|
store ptr @.str4232, ptr %t168
|
|
%t785 = load ptr, ptr %t175
|
|
%t786 = getelementptr inbounds %LSlice, ptr %t785, i32 0, i32 1
|
|
%t787 = getelementptr inbounds %LSlice, ptr %t785, i32 0, i32 2
|
|
%t788 = getelementptr inbounds %LSlice, ptr %t785, i32 0, i32 0
|
|
%t789 = load i32, ptr %t786
|
|
%t790 = load i32, ptr %t787
|
|
%t791 = icmp sge i32 %t789, %t790
|
|
br i1 %t791, label %grow189, label %put190
|
|
grow189:
|
|
%t792 = mul i32 %t790, 2
|
|
%t793 = icmp eq i32 %t790, 0
|
|
%t794 = select i1 %t793, i32 8, i32 %t792
|
|
%t795 = getelementptr ptr, ptr null, i32 1
|
|
%t796 = ptrtoint ptr %t795 to i64
|
|
%t797 = zext i32 %t794 to i64
|
|
%t798 = mul i64 %t797, %t796
|
|
%t799 = load ptr, ptr %t788
|
|
%t800 = call ptr @realloc(ptr %t799, i64 %t798)
|
|
store ptr %t800, ptr %t788
|
|
store i32 %t794, ptr %t787
|
|
br label %put190
|
|
put190:
|
|
%t801 = load ptr, ptr %t788
|
|
%t802 = getelementptr inbounds ptr, ptr %t801, i32 %t789
|
|
store ptr @.str4233, ptr %t802
|
|
%t803 = add i32 %t789, 1
|
|
store i32 %t803, ptr %t786
|
|
%t804 = load ptr, ptr %t175
|
|
%t805 = getelementptr inbounds %LSlice, ptr %t804, i32 0, i32 1
|
|
%t806 = getelementptr inbounds %LSlice, ptr %t804, i32 0, i32 2
|
|
%t807 = getelementptr inbounds %LSlice, ptr %t804, i32 0, i32 0
|
|
%t808 = load i32, ptr %t805
|
|
%t809 = load i32, ptr %t806
|
|
%t810 = icmp sge i32 %t808, %t809
|
|
br i1 %t810, label %grow191, label %put192
|
|
grow191:
|
|
%t811 = mul i32 %t809, 2
|
|
%t812 = icmp eq i32 %t809, 0
|
|
%t813 = select i1 %t812, i32 8, i32 %t811
|
|
%t814 = getelementptr ptr, ptr null, i32 1
|
|
%t815 = ptrtoint ptr %t814 to i64
|
|
%t816 = zext i32 %t813 to i64
|
|
%t817 = mul i64 %t816, %t815
|
|
%t818 = load ptr, ptr %t807
|
|
%t819 = call ptr @realloc(ptr %t818, i64 %t817)
|
|
store ptr %t819, ptr %t807
|
|
store i32 %t813, ptr %t806
|
|
br label %put192
|
|
put192:
|
|
%t820 = load ptr, ptr %t807
|
|
%t821 = getelementptr inbounds ptr, ptr %t820, i32 %t808
|
|
store ptr @.str4234, ptr %t821
|
|
%t822 = add i32 %t808, 1
|
|
store i32 %t822, ptr %t805
|
|
%t823 = load ptr, ptr %t175
|
|
%t824 = getelementptr inbounds %LSlice, ptr %t823, i32 0, i32 1
|
|
%t825 = getelementptr inbounds %LSlice, ptr %t823, i32 0, i32 2
|
|
%t826 = getelementptr inbounds %LSlice, ptr %t823, i32 0, i32 0
|
|
%t827 = load i32, ptr %t824
|
|
%t828 = load i32, ptr %t825
|
|
%t829 = icmp sge i32 %t827, %t828
|
|
br i1 %t829, label %grow193, label %put194
|
|
grow193:
|
|
%t830 = mul i32 %t828, 2
|
|
%t831 = icmp eq i32 %t828, 0
|
|
%t832 = select i1 %t831, i32 8, i32 %t830
|
|
%t833 = getelementptr ptr, ptr null, i32 1
|
|
%t834 = ptrtoint ptr %t833 to i64
|
|
%t835 = zext i32 %t832 to i64
|
|
%t836 = mul i64 %t835, %t834
|
|
%t837 = load ptr, ptr %t826
|
|
%t838 = call ptr @realloc(ptr %t837, i64 %t836)
|
|
store ptr %t838, ptr %t826
|
|
store i32 %t832, ptr %t825
|
|
br label %put194
|
|
put194:
|
|
%t839 = load ptr, ptr %t826
|
|
%t840 = getelementptr inbounds ptr, ptr %t839, i32 %t827
|
|
store ptr @.str4235, ptr %t840
|
|
%t841 = add i32 %t827, 1
|
|
store i32 %t841, ptr %t824
|
|
%t842 = load ptr, ptr %t175
|
|
%t843 = getelementptr inbounds %LSlice, ptr %t842, i32 0, i32 1
|
|
%t844 = getelementptr inbounds %LSlice, ptr %t842, i32 0, i32 2
|
|
%t845 = getelementptr inbounds %LSlice, ptr %t842, i32 0, i32 0
|
|
%t846 = load i32, ptr %t843
|
|
%t847 = load i32, ptr %t844
|
|
%t848 = icmp sge i32 %t846, %t847
|
|
br i1 %t848, label %grow195, label %put196
|
|
grow195:
|
|
%t849 = mul i32 %t847, 2
|
|
%t850 = icmp eq i32 %t847, 0
|
|
%t851 = select i1 %t850, i32 8, i32 %t849
|
|
%t852 = getelementptr ptr, ptr null, i32 1
|
|
%t853 = ptrtoint ptr %t852 to i64
|
|
%t854 = zext i32 %t851 to i64
|
|
%t855 = mul i64 %t854, %t853
|
|
%t856 = load ptr, ptr %t845
|
|
%t857 = call ptr @realloc(ptr %t856, i64 %t855)
|
|
store ptr %t857, ptr %t845
|
|
store i32 %t851, ptr %t844
|
|
br label %put196
|
|
put196:
|
|
%t858 = load ptr, ptr %t845
|
|
%t859 = getelementptr inbounds ptr, ptr %t858, i32 %t846
|
|
store ptr @.str4236, ptr %t859
|
|
%t860 = add i32 %t846, 1
|
|
store i32 %t860, ptr %t843
|
|
br label %ifend188
|
|
ifend188:
|
|
%t861 = load ptr, ptr %t1
|
|
%t862 = call i32 @fn_str_eq(ptr %t861, ptr @.str4237)
|
|
%t863 = icmp ne i32 %t862, 0
|
|
br i1 %t863, label %then197, label %ifend199
|
|
then197:
|
|
store ptr @.str4238, ptr %t168
|
|
%t864 = load ptr, ptr %t175
|
|
%t865 = getelementptr inbounds %LSlice, ptr %t864, i32 0, i32 1
|
|
%t866 = getelementptr inbounds %LSlice, ptr %t864, i32 0, i32 2
|
|
%t867 = getelementptr inbounds %LSlice, ptr %t864, i32 0, i32 0
|
|
%t868 = load i32, ptr %t865
|
|
%t869 = load i32, ptr %t866
|
|
%t870 = icmp sge i32 %t868, %t869
|
|
br i1 %t870, label %grow200, label %put201
|
|
grow200:
|
|
%t871 = mul i32 %t869, 2
|
|
%t872 = icmp eq i32 %t869, 0
|
|
%t873 = select i1 %t872, i32 8, i32 %t871
|
|
%t874 = getelementptr ptr, ptr null, i32 1
|
|
%t875 = ptrtoint ptr %t874 to i64
|
|
%t876 = zext i32 %t873 to i64
|
|
%t877 = mul i64 %t876, %t875
|
|
%t878 = load ptr, ptr %t867
|
|
%t879 = call ptr @realloc(ptr %t878, i64 %t877)
|
|
store ptr %t879, ptr %t867
|
|
store i32 %t873, ptr %t866
|
|
br label %put201
|
|
put201:
|
|
%t880 = load ptr, ptr %t867
|
|
%t881 = getelementptr inbounds ptr, ptr %t880, i32 %t868
|
|
store ptr @.str4239, ptr %t881
|
|
%t882 = add i32 %t868, 1
|
|
store i32 %t882, ptr %t865
|
|
%t883 = load ptr, ptr %t175
|
|
%t884 = getelementptr inbounds %LSlice, ptr %t883, i32 0, i32 1
|
|
%t885 = getelementptr inbounds %LSlice, ptr %t883, i32 0, i32 2
|
|
%t886 = getelementptr inbounds %LSlice, ptr %t883, i32 0, i32 0
|
|
%t887 = load i32, ptr %t884
|
|
%t888 = load i32, ptr %t885
|
|
%t889 = icmp sge i32 %t887, %t888
|
|
br i1 %t889, label %grow202, label %put203
|
|
grow202:
|
|
%t890 = mul i32 %t888, 2
|
|
%t891 = icmp eq i32 %t888, 0
|
|
%t892 = select i1 %t891, i32 8, i32 %t890
|
|
%t893 = getelementptr ptr, ptr null, i32 1
|
|
%t894 = ptrtoint ptr %t893 to i64
|
|
%t895 = zext i32 %t892 to i64
|
|
%t896 = mul i64 %t895, %t894
|
|
%t897 = load ptr, ptr %t886
|
|
%t898 = call ptr @realloc(ptr %t897, i64 %t896)
|
|
store ptr %t898, ptr %t886
|
|
store i32 %t892, ptr %t885
|
|
br label %put203
|
|
put203:
|
|
%t899 = load ptr, ptr %t886
|
|
%t900 = getelementptr inbounds ptr, ptr %t899, i32 %t887
|
|
store ptr @.str4240, ptr %t900
|
|
%t901 = add i32 %t887, 1
|
|
store i32 %t901, ptr %t884
|
|
%t902 = load ptr, ptr %t175
|
|
%t903 = getelementptr inbounds %LSlice, ptr %t902, i32 0, i32 1
|
|
%t904 = getelementptr inbounds %LSlice, ptr %t902, i32 0, i32 2
|
|
%t905 = getelementptr inbounds %LSlice, ptr %t902, i32 0, i32 0
|
|
%t906 = load i32, ptr %t903
|
|
%t907 = load i32, ptr %t904
|
|
%t908 = icmp sge i32 %t906, %t907
|
|
br i1 %t908, label %grow204, label %put205
|
|
grow204:
|
|
%t909 = mul i32 %t907, 2
|
|
%t910 = icmp eq i32 %t907, 0
|
|
%t911 = select i1 %t910, i32 8, i32 %t909
|
|
%t912 = getelementptr ptr, ptr null, i32 1
|
|
%t913 = ptrtoint ptr %t912 to i64
|
|
%t914 = zext i32 %t911 to i64
|
|
%t915 = mul i64 %t914, %t913
|
|
%t916 = load ptr, ptr %t905
|
|
%t917 = call ptr @realloc(ptr %t916, i64 %t915)
|
|
store ptr %t917, ptr %t905
|
|
store i32 %t911, ptr %t904
|
|
br label %put205
|
|
put205:
|
|
%t918 = load ptr, ptr %t905
|
|
%t919 = getelementptr inbounds ptr, ptr %t918, i32 %t906
|
|
store ptr @.str4241, ptr %t919
|
|
%t920 = add i32 %t906, 1
|
|
store i32 %t920, ptr %t903
|
|
%t921 = load ptr, ptr %t175
|
|
%t922 = getelementptr inbounds %LSlice, ptr %t921, i32 0, i32 1
|
|
%t923 = getelementptr inbounds %LSlice, ptr %t921, i32 0, i32 2
|
|
%t924 = getelementptr inbounds %LSlice, ptr %t921, i32 0, i32 0
|
|
%t925 = load i32, ptr %t922
|
|
%t926 = load i32, ptr %t923
|
|
%t927 = icmp sge i32 %t925, %t926
|
|
br i1 %t927, label %grow206, label %put207
|
|
grow206:
|
|
%t928 = mul i32 %t926, 2
|
|
%t929 = icmp eq i32 %t926, 0
|
|
%t930 = select i1 %t929, i32 8, i32 %t928
|
|
%t931 = getelementptr ptr, ptr null, i32 1
|
|
%t932 = ptrtoint ptr %t931 to i64
|
|
%t933 = zext i32 %t930 to i64
|
|
%t934 = mul i64 %t933, %t932
|
|
%t935 = load ptr, ptr %t924
|
|
%t936 = call ptr @realloc(ptr %t935, i64 %t934)
|
|
store ptr %t936, ptr %t924
|
|
store i32 %t930, ptr %t923
|
|
br label %put207
|
|
put207:
|
|
%t937 = load ptr, ptr %t924
|
|
%t938 = getelementptr inbounds ptr, ptr %t937, i32 %t925
|
|
store ptr @.str4242, ptr %t938
|
|
%t939 = add i32 %t925, 1
|
|
store i32 %t939, ptr %t922
|
|
br label %ifend199
|
|
ifend199:
|
|
%t940 = load ptr, ptr %t1
|
|
%t941 = call i32 @fn_str_eq(ptr %t940, ptr @.str4243)
|
|
%t942 = icmp ne i32 %t941, 0
|
|
br i1 %t942, label %then208, label %ifend210
|
|
then208:
|
|
store ptr @.str4244, ptr %t168
|
|
%t943 = load ptr, ptr %t175
|
|
%t944 = getelementptr inbounds %LSlice, ptr %t943, i32 0, i32 1
|
|
%t945 = getelementptr inbounds %LSlice, ptr %t943, i32 0, i32 2
|
|
%t946 = getelementptr inbounds %LSlice, ptr %t943, i32 0, i32 0
|
|
%t947 = load i32, ptr %t944
|
|
%t948 = load i32, ptr %t945
|
|
%t949 = icmp sge i32 %t947, %t948
|
|
br i1 %t949, label %grow211, label %put212
|
|
grow211:
|
|
%t950 = mul i32 %t948, 2
|
|
%t951 = icmp eq i32 %t948, 0
|
|
%t952 = select i1 %t951, i32 8, i32 %t950
|
|
%t953 = getelementptr ptr, ptr null, i32 1
|
|
%t954 = ptrtoint ptr %t953 to i64
|
|
%t955 = zext i32 %t952 to i64
|
|
%t956 = mul i64 %t955, %t954
|
|
%t957 = load ptr, ptr %t946
|
|
%t958 = call ptr @realloc(ptr %t957, i64 %t956)
|
|
store ptr %t958, ptr %t946
|
|
store i32 %t952, ptr %t945
|
|
br label %put212
|
|
put212:
|
|
%t959 = load ptr, ptr %t946
|
|
%t960 = getelementptr inbounds ptr, ptr %t959, i32 %t947
|
|
store ptr @.str4245, ptr %t960
|
|
%t961 = add i32 %t947, 1
|
|
store i32 %t961, ptr %t944
|
|
%t962 = load ptr, ptr %t175
|
|
%t963 = getelementptr inbounds %LSlice, ptr %t962, i32 0, i32 1
|
|
%t964 = getelementptr inbounds %LSlice, ptr %t962, i32 0, i32 2
|
|
%t965 = getelementptr inbounds %LSlice, ptr %t962, i32 0, i32 0
|
|
%t966 = load i32, ptr %t963
|
|
%t967 = load i32, ptr %t964
|
|
%t968 = icmp sge i32 %t966, %t967
|
|
br i1 %t968, label %grow213, label %put214
|
|
grow213:
|
|
%t969 = mul i32 %t967, 2
|
|
%t970 = icmp eq i32 %t967, 0
|
|
%t971 = select i1 %t970, i32 8, i32 %t969
|
|
%t972 = getelementptr ptr, ptr null, i32 1
|
|
%t973 = ptrtoint ptr %t972 to i64
|
|
%t974 = zext i32 %t971 to i64
|
|
%t975 = mul i64 %t974, %t973
|
|
%t976 = load ptr, ptr %t965
|
|
%t977 = call ptr @realloc(ptr %t976, i64 %t975)
|
|
store ptr %t977, ptr %t965
|
|
store i32 %t971, ptr %t964
|
|
br label %put214
|
|
put214:
|
|
%t978 = load ptr, ptr %t965
|
|
%t979 = getelementptr inbounds ptr, ptr %t978, i32 %t966
|
|
store ptr @.str4246, ptr %t979
|
|
%t980 = add i32 %t966, 1
|
|
store i32 %t980, ptr %t963
|
|
%t981 = load ptr, ptr %t175
|
|
%t982 = getelementptr inbounds %LSlice, ptr %t981, i32 0, i32 1
|
|
%t983 = getelementptr inbounds %LSlice, ptr %t981, i32 0, i32 2
|
|
%t984 = getelementptr inbounds %LSlice, ptr %t981, i32 0, i32 0
|
|
%t985 = load i32, ptr %t982
|
|
%t986 = load i32, ptr %t983
|
|
%t987 = icmp sge i32 %t985, %t986
|
|
br i1 %t987, label %grow215, label %put216
|
|
grow215:
|
|
%t988 = mul i32 %t986, 2
|
|
%t989 = icmp eq i32 %t986, 0
|
|
%t990 = select i1 %t989, i32 8, i32 %t988
|
|
%t991 = getelementptr ptr, ptr null, i32 1
|
|
%t992 = ptrtoint ptr %t991 to i64
|
|
%t993 = zext i32 %t990 to i64
|
|
%t994 = mul i64 %t993, %t992
|
|
%t995 = load ptr, ptr %t984
|
|
%t996 = call ptr @realloc(ptr %t995, i64 %t994)
|
|
store ptr %t996, ptr %t984
|
|
store i32 %t990, ptr %t983
|
|
br label %put216
|
|
put216:
|
|
%t997 = load ptr, ptr %t984
|
|
%t998 = getelementptr inbounds ptr, ptr %t997, i32 %t985
|
|
store ptr @.str4247, ptr %t998
|
|
%t999 = add i32 %t985, 1
|
|
store i32 %t999, ptr %t982
|
|
%t1000 = load ptr, ptr %t175
|
|
%t1001 = getelementptr inbounds %LSlice, ptr %t1000, i32 0, i32 1
|
|
%t1002 = getelementptr inbounds %LSlice, ptr %t1000, i32 0, i32 2
|
|
%t1003 = getelementptr inbounds %LSlice, ptr %t1000, i32 0, i32 0
|
|
%t1004 = load i32, ptr %t1001
|
|
%t1005 = load i32, ptr %t1002
|
|
%t1006 = icmp sge i32 %t1004, %t1005
|
|
br i1 %t1006, label %grow217, label %put218
|
|
grow217:
|
|
%t1007 = mul i32 %t1005, 2
|
|
%t1008 = icmp eq i32 %t1005, 0
|
|
%t1009 = select i1 %t1008, i32 8, i32 %t1007
|
|
%t1010 = getelementptr ptr, ptr null, i32 1
|
|
%t1011 = ptrtoint ptr %t1010 to i64
|
|
%t1012 = zext i32 %t1009 to i64
|
|
%t1013 = mul i64 %t1012, %t1011
|
|
%t1014 = load ptr, ptr %t1003
|
|
%t1015 = call ptr @realloc(ptr %t1014, i64 %t1013)
|
|
store ptr %t1015, ptr %t1003
|
|
store i32 %t1009, ptr %t1002
|
|
br label %put218
|
|
put218:
|
|
%t1016 = load ptr, ptr %t1003
|
|
%t1017 = getelementptr inbounds ptr, ptr %t1016, i32 %t1004
|
|
store ptr @.str4248, ptr %t1017
|
|
%t1018 = add i32 %t1004, 1
|
|
store i32 %t1018, ptr %t1001
|
|
%t1019 = load ptr, ptr %t175
|
|
%t1020 = getelementptr inbounds %LSlice, ptr %t1019, i32 0, i32 1
|
|
%t1021 = getelementptr inbounds %LSlice, ptr %t1019, i32 0, i32 2
|
|
%t1022 = getelementptr inbounds %LSlice, ptr %t1019, i32 0, i32 0
|
|
%t1023 = load i32, ptr %t1020
|
|
%t1024 = load i32, ptr %t1021
|
|
%t1025 = icmp sge i32 %t1023, %t1024
|
|
br i1 %t1025, label %grow219, label %put220
|
|
grow219:
|
|
%t1026 = mul i32 %t1024, 2
|
|
%t1027 = icmp eq i32 %t1024, 0
|
|
%t1028 = select i1 %t1027, i32 8, i32 %t1026
|
|
%t1029 = getelementptr ptr, ptr null, i32 1
|
|
%t1030 = ptrtoint ptr %t1029 to i64
|
|
%t1031 = zext i32 %t1028 to i64
|
|
%t1032 = mul i64 %t1031, %t1030
|
|
%t1033 = load ptr, ptr %t1022
|
|
%t1034 = call ptr @realloc(ptr %t1033, i64 %t1032)
|
|
store ptr %t1034, ptr %t1022
|
|
store i32 %t1028, ptr %t1021
|
|
br label %put220
|
|
put220:
|
|
%t1035 = load ptr, ptr %t1022
|
|
%t1036 = getelementptr inbounds ptr, ptr %t1035, i32 %t1023
|
|
store ptr @.str4249, ptr %t1036
|
|
%t1037 = add i32 %t1023, 1
|
|
store i32 %t1037, ptr %t1020
|
|
%t1038 = load ptr, ptr %t175
|
|
%t1039 = getelementptr inbounds %LSlice, ptr %t1038, i32 0, i32 1
|
|
%t1040 = getelementptr inbounds %LSlice, ptr %t1038, i32 0, i32 2
|
|
%t1041 = getelementptr inbounds %LSlice, ptr %t1038, i32 0, i32 0
|
|
%t1042 = load i32, ptr %t1039
|
|
%t1043 = load i32, ptr %t1040
|
|
%t1044 = icmp sge i32 %t1042, %t1043
|
|
br i1 %t1044, label %grow221, label %put222
|
|
grow221:
|
|
%t1045 = mul i32 %t1043, 2
|
|
%t1046 = icmp eq i32 %t1043, 0
|
|
%t1047 = select i1 %t1046, i32 8, i32 %t1045
|
|
%t1048 = getelementptr ptr, ptr null, i32 1
|
|
%t1049 = ptrtoint ptr %t1048 to i64
|
|
%t1050 = zext i32 %t1047 to i64
|
|
%t1051 = mul i64 %t1050, %t1049
|
|
%t1052 = load ptr, ptr %t1041
|
|
%t1053 = call ptr @realloc(ptr %t1052, i64 %t1051)
|
|
store ptr %t1053, ptr %t1041
|
|
store i32 %t1047, ptr %t1040
|
|
br label %put222
|
|
put222:
|
|
%t1054 = load ptr, ptr %t1041
|
|
%t1055 = getelementptr inbounds ptr, ptr %t1054, i32 %t1042
|
|
store ptr @.str4250, ptr %t1055
|
|
%t1056 = add i32 %t1042, 1
|
|
store i32 %t1056, ptr %t1039
|
|
%t1057 = load ptr, ptr %t175
|
|
%t1058 = getelementptr inbounds %LSlice, ptr %t1057, i32 0, i32 1
|
|
%t1059 = getelementptr inbounds %LSlice, ptr %t1057, i32 0, i32 2
|
|
%t1060 = getelementptr inbounds %LSlice, ptr %t1057, i32 0, i32 0
|
|
%t1061 = load i32, ptr %t1058
|
|
%t1062 = load i32, ptr %t1059
|
|
%t1063 = icmp sge i32 %t1061, %t1062
|
|
br i1 %t1063, label %grow223, label %put224
|
|
grow223:
|
|
%t1064 = mul i32 %t1062, 2
|
|
%t1065 = icmp eq i32 %t1062, 0
|
|
%t1066 = select i1 %t1065, i32 8, i32 %t1064
|
|
%t1067 = getelementptr ptr, ptr null, i32 1
|
|
%t1068 = ptrtoint ptr %t1067 to i64
|
|
%t1069 = zext i32 %t1066 to i64
|
|
%t1070 = mul i64 %t1069, %t1068
|
|
%t1071 = load ptr, ptr %t1060
|
|
%t1072 = call ptr @realloc(ptr %t1071, i64 %t1070)
|
|
store ptr %t1072, ptr %t1060
|
|
store i32 %t1066, ptr %t1059
|
|
br label %put224
|
|
put224:
|
|
%t1073 = load ptr, ptr %t1060
|
|
%t1074 = getelementptr inbounds ptr, ptr %t1073, i32 %t1061
|
|
store ptr @.str4251, ptr %t1074
|
|
%t1075 = add i32 %t1061, 1
|
|
store i32 %t1075, ptr %t1058
|
|
br label %ifend210
|
|
ifend210:
|
|
%t1076 = load ptr, ptr %t1
|
|
%t1077 = call i32 @fn_str_eq(ptr %t1076, ptr @.str4252)
|
|
%t1078 = icmp ne i32 %t1077, 0
|
|
br i1 %t1078, label %then225, label %ifend227
|
|
then225:
|
|
store ptr @.str4253, ptr %t168
|
|
%t1079 = load ptr, ptr %t175
|
|
%t1080 = getelementptr inbounds %LSlice, ptr %t1079, i32 0, i32 1
|
|
%t1081 = getelementptr inbounds %LSlice, ptr %t1079, i32 0, i32 2
|
|
%t1082 = getelementptr inbounds %LSlice, ptr %t1079, i32 0, i32 0
|
|
%t1083 = load i32, ptr %t1080
|
|
%t1084 = load i32, ptr %t1081
|
|
%t1085 = icmp sge i32 %t1083, %t1084
|
|
br i1 %t1085, label %grow228, label %put229
|
|
grow228:
|
|
%t1086 = mul i32 %t1084, 2
|
|
%t1087 = icmp eq i32 %t1084, 0
|
|
%t1088 = select i1 %t1087, i32 8, i32 %t1086
|
|
%t1089 = getelementptr ptr, ptr null, i32 1
|
|
%t1090 = ptrtoint ptr %t1089 to i64
|
|
%t1091 = zext i32 %t1088 to i64
|
|
%t1092 = mul i64 %t1091, %t1090
|
|
%t1093 = load ptr, ptr %t1082
|
|
%t1094 = call ptr @realloc(ptr %t1093, i64 %t1092)
|
|
store ptr %t1094, ptr %t1082
|
|
store i32 %t1088, ptr %t1081
|
|
br label %put229
|
|
put229:
|
|
%t1095 = load ptr, ptr %t1082
|
|
%t1096 = getelementptr inbounds ptr, ptr %t1095, i32 %t1083
|
|
store ptr @.str4254, ptr %t1096
|
|
%t1097 = add i32 %t1083, 1
|
|
store i32 %t1097, ptr %t1080
|
|
%t1098 = load ptr, ptr %t175
|
|
%t1099 = getelementptr inbounds %LSlice, ptr %t1098, i32 0, i32 1
|
|
%t1100 = getelementptr inbounds %LSlice, ptr %t1098, i32 0, i32 2
|
|
%t1101 = getelementptr inbounds %LSlice, ptr %t1098, i32 0, i32 0
|
|
%t1102 = load i32, ptr %t1099
|
|
%t1103 = load i32, ptr %t1100
|
|
%t1104 = icmp sge i32 %t1102, %t1103
|
|
br i1 %t1104, label %grow230, label %put231
|
|
grow230:
|
|
%t1105 = mul i32 %t1103, 2
|
|
%t1106 = icmp eq i32 %t1103, 0
|
|
%t1107 = select i1 %t1106, i32 8, i32 %t1105
|
|
%t1108 = getelementptr ptr, ptr null, i32 1
|
|
%t1109 = ptrtoint ptr %t1108 to i64
|
|
%t1110 = zext i32 %t1107 to i64
|
|
%t1111 = mul i64 %t1110, %t1109
|
|
%t1112 = load ptr, ptr %t1101
|
|
%t1113 = call ptr @realloc(ptr %t1112, i64 %t1111)
|
|
store ptr %t1113, ptr %t1101
|
|
store i32 %t1107, ptr %t1100
|
|
br label %put231
|
|
put231:
|
|
%t1114 = load ptr, ptr %t1101
|
|
%t1115 = getelementptr inbounds ptr, ptr %t1114, i32 %t1102
|
|
store ptr @.str4255, ptr %t1115
|
|
%t1116 = add i32 %t1102, 1
|
|
store i32 %t1116, ptr %t1099
|
|
%t1117 = load ptr, ptr %t175
|
|
%t1118 = getelementptr inbounds %LSlice, ptr %t1117, i32 0, i32 1
|
|
%t1119 = getelementptr inbounds %LSlice, ptr %t1117, i32 0, i32 2
|
|
%t1120 = getelementptr inbounds %LSlice, ptr %t1117, i32 0, i32 0
|
|
%t1121 = load i32, ptr %t1118
|
|
%t1122 = load i32, ptr %t1119
|
|
%t1123 = icmp sge i32 %t1121, %t1122
|
|
br i1 %t1123, label %grow232, label %put233
|
|
grow232:
|
|
%t1124 = mul i32 %t1122, 2
|
|
%t1125 = icmp eq i32 %t1122, 0
|
|
%t1126 = select i1 %t1125, i32 8, i32 %t1124
|
|
%t1127 = getelementptr ptr, ptr null, i32 1
|
|
%t1128 = ptrtoint ptr %t1127 to i64
|
|
%t1129 = zext i32 %t1126 to i64
|
|
%t1130 = mul i64 %t1129, %t1128
|
|
%t1131 = load ptr, ptr %t1120
|
|
%t1132 = call ptr @realloc(ptr %t1131, i64 %t1130)
|
|
store ptr %t1132, ptr %t1120
|
|
store i32 %t1126, ptr %t1119
|
|
br label %put233
|
|
put233:
|
|
%t1133 = load ptr, ptr %t1120
|
|
%t1134 = getelementptr inbounds ptr, ptr %t1133, i32 %t1121
|
|
store ptr @.str4256, ptr %t1134
|
|
%t1135 = add i32 %t1121, 1
|
|
store i32 %t1135, ptr %t1118
|
|
%t1136 = load ptr, ptr %t175
|
|
%t1137 = getelementptr inbounds %LSlice, ptr %t1136, i32 0, i32 1
|
|
%t1138 = getelementptr inbounds %LSlice, ptr %t1136, i32 0, i32 2
|
|
%t1139 = getelementptr inbounds %LSlice, ptr %t1136, i32 0, i32 0
|
|
%t1140 = load i32, ptr %t1137
|
|
%t1141 = load i32, ptr %t1138
|
|
%t1142 = icmp sge i32 %t1140, %t1141
|
|
br i1 %t1142, label %grow234, label %put235
|
|
grow234:
|
|
%t1143 = mul i32 %t1141, 2
|
|
%t1144 = icmp eq i32 %t1141, 0
|
|
%t1145 = select i1 %t1144, i32 8, i32 %t1143
|
|
%t1146 = getelementptr ptr, ptr null, i32 1
|
|
%t1147 = ptrtoint ptr %t1146 to i64
|
|
%t1148 = zext i32 %t1145 to i64
|
|
%t1149 = mul i64 %t1148, %t1147
|
|
%t1150 = load ptr, ptr %t1139
|
|
%t1151 = call ptr @realloc(ptr %t1150, i64 %t1149)
|
|
store ptr %t1151, ptr %t1139
|
|
store i32 %t1145, ptr %t1138
|
|
br label %put235
|
|
put235:
|
|
%t1152 = load ptr, ptr %t1139
|
|
%t1153 = getelementptr inbounds ptr, ptr %t1152, i32 %t1140
|
|
store ptr @.str4257, ptr %t1153
|
|
%t1154 = add i32 %t1140, 1
|
|
store i32 %t1154, ptr %t1137
|
|
%t1155 = load ptr, ptr %t175
|
|
%t1156 = getelementptr inbounds %LSlice, ptr %t1155, i32 0, i32 1
|
|
%t1157 = getelementptr inbounds %LSlice, ptr %t1155, i32 0, i32 2
|
|
%t1158 = getelementptr inbounds %LSlice, ptr %t1155, i32 0, i32 0
|
|
%t1159 = load i32, ptr %t1156
|
|
%t1160 = load i32, ptr %t1157
|
|
%t1161 = icmp sge i32 %t1159, %t1160
|
|
br i1 %t1161, label %grow236, label %put237
|
|
grow236:
|
|
%t1162 = mul i32 %t1160, 2
|
|
%t1163 = icmp eq i32 %t1160, 0
|
|
%t1164 = select i1 %t1163, i32 8, i32 %t1162
|
|
%t1165 = getelementptr ptr, ptr null, i32 1
|
|
%t1166 = ptrtoint ptr %t1165 to i64
|
|
%t1167 = zext i32 %t1164 to i64
|
|
%t1168 = mul i64 %t1167, %t1166
|
|
%t1169 = load ptr, ptr %t1158
|
|
%t1170 = call ptr @realloc(ptr %t1169, i64 %t1168)
|
|
store ptr %t1170, ptr %t1158
|
|
store i32 %t1164, ptr %t1157
|
|
br label %put237
|
|
put237:
|
|
%t1171 = load ptr, ptr %t1158
|
|
%t1172 = getelementptr inbounds ptr, ptr %t1171, i32 %t1159
|
|
store ptr @.str4258, ptr %t1172
|
|
%t1173 = add i32 %t1159, 1
|
|
store i32 %t1173, ptr %t1156
|
|
%t1174 = load ptr, ptr %t175
|
|
%t1175 = getelementptr inbounds %LSlice, ptr %t1174, i32 0, i32 1
|
|
%t1176 = getelementptr inbounds %LSlice, ptr %t1174, i32 0, i32 2
|
|
%t1177 = getelementptr inbounds %LSlice, ptr %t1174, i32 0, i32 0
|
|
%t1178 = load i32, ptr %t1175
|
|
%t1179 = load i32, ptr %t1176
|
|
%t1180 = icmp sge i32 %t1178, %t1179
|
|
br i1 %t1180, label %grow238, label %put239
|
|
grow238:
|
|
%t1181 = mul i32 %t1179, 2
|
|
%t1182 = icmp eq i32 %t1179, 0
|
|
%t1183 = select i1 %t1182, i32 8, i32 %t1181
|
|
%t1184 = getelementptr ptr, ptr null, i32 1
|
|
%t1185 = ptrtoint ptr %t1184 to i64
|
|
%t1186 = zext i32 %t1183 to i64
|
|
%t1187 = mul i64 %t1186, %t1185
|
|
%t1188 = load ptr, ptr %t1177
|
|
%t1189 = call ptr @realloc(ptr %t1188, i64 %t1187)
|
|
store ptr %t1189, ptr %t1177
|
|
store i32 %t1183, ptr %t1176
|
|
br label %put239
|
|
put239:
|
|
%t1190 = load ptr, ptr %t1177
|
|
%t1191 = getelementptr inbounds ptr, ptr %t1190, i32 %t1178
|
|
store ptr @.str4259, ptr %t1191
|
|
%t1192 = add i32 %t1178, 1
|
|
store i32 %t1192, ptr %t1175
|
|
%t1193 = load ptr, ptr %t175
|
|
%t1194 = getelementptr inbounds %LSlice, ptr %t1193, i32 0, i32 1
|
|
%t1195 = getelementptr inbounds %LSlice, ptr %t1193, i32 0, i32 2
|
|
%t1196 = getelementptr inbounds %LSlice, ptr %t1193, i32 0, i32 0
|
|
%t1197 = load i32, ptr %t1194
|
|
%t1198 = load i32, ptr %t1195
|
|
%t1199 = icmp sge i32 %t1197, %t1198
|
|
br i1 %t1199, label %grow240, label %put241
|
|
grow240:
|
|
%t1200 = mul i32 %t1198, 2
|
|
%t1201 = icmp eq i32 %t1198, 0
|
|
%t1202 = select i1 %t1201, i32 8, i32 %t1200
|
|
%t1203 = getelementptr ptr, ptr null, i32 1
|
|
%t1204 = ptrtoint ptr %t1203 to i64
|
|
%t1205 = zext i32 %t1202 to i64
|
|
%t1206 = mul i64 %t1205, %t1204
|
|
%t1207 = load ptr, ptr %t1196
|
|
%t1208 = call ptr @realloc(ptr %t1207, i64 %t1206)
|
|
store ptr %t1208, ptr %t1196
|
|
store i32 %t1202, ptr %t1195
|
|
br label %put241
|
|
put241:
|
|
%t1209 = load ptr, ptr %t1196
|
|
%t1210 = getelementptr inbounds ptr, ptr %t1209, i32 %t1197
|
|
store ptr @.str4260, ptr %t1210
|
|
%t1211 = add i32 %t1197, 1
|
|
store i32 %t1211, ptr %t1194
|
|
br label %ifend227
|
|
ifend227:
|
|
%t1212 = load ptr, ptr %t1
|
|
%t1213 = call i32 @fn_str_eq(ptr %t1212, ptr @.str4261)
|
|
%t1214 = icmp ne i32 %t1213, 0
|
|
br i1 %t1214, label %then242, label %ifend244
|
|
then242:
|
|
store ptr @.str4262, ptr %t168
|
|
%t1215 = load ptr, ptr %t175
|
|
%t1216 = getelementptr inbounds %LSlice, ptr %t1215, i32 0, i32 1
|
|
%t1217 = getelementptr inbounds %LSlice, ptr %t1215, i32 0, i32 2
|
|
%t1218 = getelementptr inbounds %LSlice, ptr %t1215, i32 0, i32 0
|
|
%t1219 = load i32, ptr %t1216
|
|
%t1220 = load i32, ptr %t1217
|
|
%t1221 = icmp sge i32 %t1219, %t1220
|
|
br i1 %t1221, label %grow245, label %put246
|
|
grow245:
|
|
%t1222 = mul i32 %t1220, 2
|
|
%t1223 = icmp eq i32 %t1220, 0
|
|
%t1224 = select i1 %t1223, i32 8, i32 %t1222
|
|
%t1225 = getelementptr ptr, ptr null, i32 1
|
|
%t1226 = ptrtoint ptr %t1225 to i64
|
|
%t1227 = zext i32 %t1224 to i64
|
|
%t1228 = mul i64 %t1227, %t1226
|
|
%t1229 = load ptr, ptr %t1218
|
|
%t1230 = call ptr @realloc(ptr %t1229, i64 %t1228)
|
|
store ptr %t1230, ptr %t1218
|
|
store i32 %t1224, ptr %t1217
|
|
br label %put246
|
|
put246:
|
|
%t1231 = load ptr, ptr %t1218
|
|
%t1232 = getelementptr inbounds ptr, ptr %t1231, i32 %t1219
|
|
store ptr @.str4263, ptr %t1232
|
|
%t1233 = add i32 %t1219, 1
|
|
store i32 %t1233, ptr %t1216
|
|
%t1234 = load ptr, ptr %t175
|
|
%t1235 = getelementptr inbounds %LSlice, ptr %t1234, i32 0, i32 1
|
|
%t1236 = getelementptr inbounds %LSlice, ptr %t1234, i32 0, i32 2
|
|
%t1237 = getelementptr inbounds %LSlice, ptr %t1234, i32 0, i32 0
|
|
%t1238 = load i32, ptr %t1235
|
|
%t1239 = load i32, ptr %t1236
|
|
%t1240 = icmp sge i32 %t1238, %t1239
|
|
br i1 %t1240, label %grow247, label %put248
|
|
grow247:
|
|
%t1241 = mul i32 %t1239, 2
|
|
%t1242 = icmp eq i32 %t1239, 0
|
|
%t1243 = select i1 %t1242, i32 8, i32 %t1241
|
|
%t1244 = getelementptr ptr, ptr null, i32 1
|
|
%t1245 = ptrtoint ptr %t1244 to i64
|
|
%t1246 = zext i32 %t1243 to i64
|
|
%t1247 = mul i64 %t1246, %t1245
|
|
%t1248 = load ptr, ptr %t1237
|
|
%t1249 = call ptr @realloc(ptr %t1248, i64 %t1247)
|
|
store ptr %t1249, ptr %t1237
|
|
store i32 %t1243, ptr %t1236
|
|
br label %put248
|
|
put248:
|
|
%t1250 = load ptr, ptr %t1237
|
|
%t1251 = getelementptr inbounds ptr, ptr %t1250, i32 %t1238
|
|
store ptr @.str4264, ptr %t1251
|
|
%t1252 = add i32 %t1238, 1
|
|
store i32 %t1252, ptr %t1235
|
|
%t1253 = load ptr, ptr %t175
|
|
%t1254 = getelementptr inbounds %LSlice, ptr %t1253, i32 0, i32 1
|
|
%t1255 = getelementptr inbounds %LSlice, ptr %t1253, i32 0, i32 2
|
|
%t1256 = getelementptr inbounds %LSlice, ptr %t1253, i32 0, i32 0
|
|
%t1257 = load i32, ptr %t1254
|
|
%t1258 = load i32, ptr %t1255
|
|
%t1259 = icmp sge i32 %t1257, %t1258
|
|
br i1 %t1259, label %grow249, label %put250
|
|
grow249:
|
|
%t1260 = mul i32 %t1258, 2
|
|
%t1261 = icmp eq i32 %t1258, 0
|
|
%t1262 = select i1 %t1261, i32 8, i32 %t1260
|
|
%t1263 = getelementptr ptr, ptr null, i32 1
|
|
%t1264 = ptrtoint ptr %t1263 to i64
|
|
%t1265 = zext i32 %t1262 to i64
|
|
%t1266 = mul i64 %t1265, %t1264
|
|
%t1267 = load ptr, ptr %t1256
|
|
%t1268 = call ptr @realloc(ptr %t1267, i64 %t1266)
|
|
store ptr %t1268, ptr %t1256
|
|
store i32 %t1262, ptr %t1255
|
|
br label %put250
|
|
put250:
|
|
%t1269 = load ptr, ptr %t1256
|
|
%t1270 = getelementptr inbounds ptr, ptr %t1269, i32 %t1257
|
|
store ptr @.str4265, ptr %t1270
|
|
%t1271 = add i32 %t1257, 1
|
|
store i32 %t1271, ptr %t1254
|
|
br label %ifend244
|
|
ifend244:
|
|
%t1272 = load ptr, ptr %t1
|
|
%t1273 = call i32 @fn_str_eq(ptr %t1272, ptr @.str4266)
|
|
%t1274 = icmp ne i32 %t1273, 0
|
|
br i1 %t1274, label %then251, label %ifend253
|
|
then251:
|
|
store ptr @.str4267, ptr %t168
|
|
%t1275 = load ptr, ptr %t175
|
|
%t1276 = getelementptr inbounds %LSlice, ptr %t1275, i32 0, i32 1
|
|
%t1277 = getelementptr inbounds %LSlice, ptr %t1275, i32 0, i32 2
|
|
%t1278 = getelementptr inbounds %LSlice, ptr %t1275, i32 0, i32 0
|
|
%t1279 = load i32, ptr %t1276
|
|
%t1280 = load i32, ptr %t1277
|
|
%t1281 = icmp sge i32 %t1279, %t1280
|
|
br i1 %t1281, label %grow254, label %put255
|
|
grow254:
|
|
%t1282 = mul i32 %t1280, 2
|
|
%t1283 = icmp eq i32 %t1280, 0
|
|
%t1284 = select i1 %t1283, i32 8, i32 %t1282
|
|
%t1285 = getelementptr ptr, ptr null, i32 1
|
|
%t1286 = ptrtoint ptr %t1285 to i64
|
|
%t1287 = zext i32 %t1284 to i64
|
|
%t1288 = mul i64 %t1287, %t1286
|
|
%t1289 = load ptr, ptr %t1278
|
|
%t1290 = call ptr @realloc(ptr %t1289, i64 %t1288)
|
|
store ptr %t1290, ptr %t1278
|
|
store i32 %t1284, ptr %t1277
|
|
br label %put255
|
|
put255:
|
|
%t1291 = load ptr, ptr %t1278
|
|
%t1292 = getelementptr inbounds ptr, ptr %t1291, i32 %t1279
|
|
store ptr @.str4268, ptr %t1292
|
|
%t1293 = add i32 %t1279, 1
|
|
store i32 %t1293, ptr %t1276
|
|
%t1294 = load ptr, ptr %t175
|
|
%t1295 = getelementptr inbounds %LSlice, ptr %t1294, i32 0, i32 1
|
|
%t1296 = getelementptr inbounds %LSlice, ptr %t1294, i32 0, i32 2
|
|
%t1297 = getelementptr inbounds %LSlice, ptr %t1294, i32 0, i32 0
|
|
%t1298 = load i32, ptr %t1295
|
|
%t1299 = load i32, ptr %t1296
|
|
%t1300 = icmp sge i32 %t1298, %t1299
|
|
br i1 %t1300, label %grow256, label %put257
|
|
grow256:
|
|
%t1301 = mul i32 %t1299, 2
|
|
%t1302 = icmp eq i32 %t1299, 0
|
|
%t1303 = select i1 %t1302, i32 8, i32 %t1301
|
|
%t1304 = getelementptr ptr, ptr null, i32 1
|
|
%t1305 = ptrtoint ptr %t1304 to i64
|
|
%t1306 = zext i32 %t1303 to i64
|
|
%t1307 = mul i64 %t1306, %t1305
|
|
%t1308 = load ptr, ptr %t1297
|
|
%t1309 = call ptr @realloc(ptr %t1308, i64 %t1307)
|
|
store ptr %t1309, ptr %t1297
|
|
store i32 %t1303, ptr %t1296
|
|
br label %put257
|
|
put257:
|
|
%t1310 = load ptr, ptr %t1297
|
|
%t1311 = getelementptr inbounds ptr, ptr %t1310, i32 %t1298
|
|
store ptr @.str4269, ptr %t1311
|
|
%t1312 = add i32 %t1298, 1
|
|
store i32 %t1312, ptr %t1295
|
|
%t1313 = load ptr, ptr %t175
|
|
%t1314 = getelementptr inbounds %LSlice, ptr %t1313, i32 0, i32 1
|
|
%t1315 = getelementptr inbounds %LSlice, ptr %t1313, i32 0, i32 2
|
|
%t1316 = getelementptr inbounds %LSlice, ptr %t1313, i32 0, i32 0
|
|
%t1317 = load i32, ptr %t1314
|
|
%t1318 = load i32, ptr %t1315
|
|
%t1319 = icmp sge i32 %t1317, %t1318
|
|
br i1 %t1319, label %grow258, label %put259
|
|
grow258:
|
|
%t1320 = mul i32 %t1318, 2
|
|
%t1321 = icmp eq i32 %t1318, 0
|
|
%t1322 = select i1 %t1321, i32 8, i32 %t1320
|
|
%t1323 = getelementptr ptr, ptr null, i32 1
|
|
%t1324 = ptrtoint ptr %t1323 to i64
|
|
%t1325 = zext i32 %t1322 to i64
|
|
%t1326 = mul i64 %t1325, %t1324
|
|
%t1327 = load ptr, ptr %t1316
|
|
%t1328 = call ptr @realloc(ptr %t1327, i64 %t1326)
|
|
store ptr %t1328, ptr %t1316
|
|
store i32 %t1322, ptr %t1315
|
|
br label %put259
|
|
put259:
|
|
%t1329 = load ptr, ptr %t1316
|
|
%t1330 = getelementptr inbounds ptr, ptr %t1329, i32 %t1317
|
|
store ptr @.str4270, ptr %t1330
|
|
%t1331 = add i32 %t1317, 1
|
|
store i32 %t1331, ptr %t1314
|
|
%t1332 = load ptr, ptr %t175
|
|
%t1333 = getelementptr inbounds %LSlice, ptr %t1332, i32 0, i32 1
|
|
%t1334 = getelementptr inbounds %LSlice, ptr %t1332, i32 0, i32 2
|
|
%t1335 = getelementptr inbounds %LSlice, ptr %t1332, i32 0, i32 0
|
|
%t1336 = load i32, ptr %t1333
|
|
%t1337 = load i32, ptr %t1334
|
|
%t1338 = icmp sge i32 %t1336, %t1337
|
|
br i1 %t1338, label %grow260, label %put261
|
|
grow260:
|
|
%t1339 = mul i32 %t1337, 2
|
|
%t1340 = icmp eq i32 %t1337, 0
|
|
%t1341 = select i1 %t1340, i32 8, i32 %t1339
|
|
%t1342 = getelementptr ptr, ptr null, i32 1
|
|
%t1343 = ptrtoint ptr %t1342 to i64
|
|
%t1344 = zext i32 %t1341 to i64
|
|
%t1345 = mul i64 %t1344, %t1343
|
|
%t1346 = load ptr, ptr %t1335
|
|
%t1347 = call ptr @realloc(ptr %t1346, i64 %t1345)
|
|
store ptr %t1347, ptr %t1335
|
|
store i32 %t1341, ptr %t1334
|
|
br label %put261
|
|
put261:
|
|
%t1348 = load ptr, ptr %t1335
|
|
%t1349 = getelementptr inbounds ptr, ptr %t1348, i32 %t1336
|
|
store ptr @.str4271, ptr %t1349
|
|
%t1350 = add i32 %t1336, 1
|
|
store i32 %t1350, ptr %t1333
|
|
br label %ifend253
|
|
ifend253:
|
|
br label %ifend92
|
|
ifend92:
|
|
%t1351 = load ptr, ptr %t0
|
|
%t1352 = call i32 @fn_str_eq(ptr %t1351, ptr @.str4272)
|
|
%t1353 = icmp ne i32 %t1352, 0
|
|
br i1 %t1353, label %then262, label %ifend264
|
|
then262:
|
|
%t1354 = load ptr, ptr %t1
|
|
%t1355 = call i32 @fn_str_eq(ptr %t1354, ptr @.str4273)
|
|
%t1356 = icmp ne i32 %t1355, 0
|
|
br i1 %t1356, label %then265, label %ifend267
|
|
then265:
|
|
store ptr @.str4274, ptr %t168
|
|
%t1357 = load ptr, ptr %t175
|
|
%t1358 = getelementptr inbounds %LSlice, ptr %t1357, i32 0, i32 1
|
|
%t1359 = getelementptr inbounds %LSlice, ptr %t1357, i32 0, i32 2
|
|
%t1360 = getelementptr inbounds %LSlice, ptr %t1357, i32 0, i32 0
|
|
%t1361 = load i32, ptr %t1358
|
|
%t1362 = load i32, ptr %t1359
|
|
%t1363 = icmp sge i32 %t1361, %t1362
|
|
br i1 %t1363, label %grow268, label %put269
|
|
grow268:
|
|
%t1364 = mul i32 %t1362, 2
|
|
%t1365 = icmp eq i32 %t1362, 0
|
|
%t1366 = select i1 %t1365, i32 8, i32 %t1364
|
|
%t1367 = getelementptr ptr, ptr null, i32 1
|
|
%t1368 = ptrtoint ptr %t1367 to i64
|
|
%t1369 = zext i32 %t1366 to i64
|
|
%t1370 = mul i64 %t1369, %t1368
|
|
%t1371 = load ptr, ptr %t1360
|
|
%t1372 = call ptr @realloc(ptr %t1371, i64 %t1370)
|
|
store ptr %t1372, ptr %t1360
|
|
store i32 %t1366, ptr %t1359
|
|
br label %put269
|
|
put269:
|
|
%t1373 = load ptr, ptr %t1360
|
|
%t1374 = getelementptr inbounds ptr, ptr %t1373, i32 %t1361
|
|
store ptr @.str4275, ptr %t1374
|
|
%t1375 = add i32 %t1361, 1
|
|
store i32 %t1375, ptr %t1358
|
|
%t1376 = load ptr, ptr %t175
|
|
%t1377 = getelementptr inbounds %LSlice, ptr %t1376, i32 0, i32 1
|
|
%t1378 = getelementptr inbounds %LSlice, ptr %t1376, i32 0, i32 2
|
|
%t1379 = getelementptr inbounds %LSlice, ptr %t1376, i32 0, i32 0
|
|
%t1380 = load i32, ptr %t1377
|
|
%t1381 = load i32, ptr %t1378
|
|
%t1382 = icmp sge i32 %t1380, %t1381
|
|
br i1 %t1382, label %grow270, label %put271
|
|
grow270:
|
|
%t1383 = mul i32 %t1381, 2
|
|
%t1384 = icmp eq i32 %t1381, 0
|
|
%t1385 = select i1 %t1384, i32 8, i32 %t1383
|
|
%t1386 = getelementptr ptr, ptr null, i32 1
|
|
%t1387 = ptrtoint ptr %t1386 to i64
|
|
%t1388 = zext i32 %t1385 to i64
|
|
%t1389 = mul i64 %t1388, %t1387
|
|
%t1390 = load ptr, ptr %t1379
|
|
%t1391 = call ptr @realloc(ptr %t1390, i64 %t1389)
|
|
store ptr %t1391, ptr %t1379
|
|
store i32 %t1385, ptr %t1378
|
|
br label %put271
|
|
put271:
|
|
%t1392 = load ptr, ptr %t1379
|
|
%t1393 = getelementptr inbounds ptr, ptr %t1392, i32 %t1380
|
|
store ptr @.str4276, ptr %t1393
|
|
%t1394 = add i32 %t1380, 1
|
|
store i32 %t1394, ptr %t1377
|
|
br label %ifend267
|
|
ifend267:
|
|
%t1395 = load ptr, ptr %t1
|
|
%t1396 = call i32 @fn_str_eq(ptr %t1395, ptr @.str4277)
|
|
%t1397 = icmp ne i32 %t1396, 0
|
|
br i1 %t1397, label %then272, label %ifend274
|
|
then272:
|
|
store ptr @.str4278, ptr %t168
|
|
%t1398 = load ptr, ptr %t175
|
|
%t1399 = getelementptr inbounds %LSlice, ptr %t1398, i32 0, i32 1
|
|
%t1400 = getelementptr inbounds %LSlice, ptr %t1398, i32 0, i32 2
|
|
%t1401 = getelementptr inbounds %LSlice, ptr %t1398, i32 0, i32 0
|
|
%t1402 = load i32, ptr %t1399
|
|
%t1403 = load i32, ptr %t1400
|
|
%t1404 = icmp sge i32 %t1402, %t1403
|
|
br i1 %t1404, label %grow275, label %put276
|
|
grow275:
|
|
%t1405 = mul i32 %t1403, 2
|
|
%t1406 = icmp eq i32 %t1403, 0
|
|
%t1407 = select i1 %t1406, i32 8, i32 %t1405
|
|
%t1408 = getelementptr ptr, ptr null, i32 1
|
|
%t1409 = ptrtoint ptr %t1408 to i64
|
|
%t1410 = zext i32 %t1407 to i64
|
|
%t1411 = mul i64 %t1410, %t1409
|
|
%t1412 = load ptr, ptr %t1401
|
|
%t1413 = call ptr @realloc(ptr %t1412, i64 %t1411)
|
|
store ptr %t1413, ptr %t1401
|
|
store i32 %t1407, ptr %t1400
|
|
br label %put276
|
|
put276:
|
|
%t1414 = load ptr, ptr %t1401
|
|
%t1415 = getelementptr inbounds ptr, ptr %t1414, i32 %t1402
|
|
store ptr @.str4279, ptr %t1415
|
|
%t1416 = add i32 %t1402, 1
|
|
store i32 %t1416, ptr %t1399
|
|
%t1417 = load ptr, ptr %t175
|
|
%t1418 = getelementptr inbounds %LSlice, ptr %t1417, i32 0, i32 1
|
|
%t1419 = getelementptr inbounds %LSlice, ptr %t1417, i32 0, i32 2
|
|
%t1420 = getelementptr inbounds %LSlice, ptr %t1417, i32 0, i32 0
|
|
%t1421 = load i32, ptr %t1418
|
|
%t1422 = load i32, ptr %t1419
|
|
%t1423 = icmp sge i32 %t1421, %t1422
|
|
br i1 %t1423, label %grow277, label %put278
|
|
grow277:
|
|
%t1424 = mul i32 %t1422, 2
|
|
%t1425 = icmp eq i32 %t1422, 0
|
|
%t1426 = select i1 %t1425, i32 8, i32 %t1424
|
|
%t1427 = getelementptr ptr, ptr null, i32 1
|
|
%t1428 = ptrtoint ptr %t1427 to i64
|
|
%t1429 = zext i32 %t1426 to i64
|
|
%t1430 = mul i64 %t1429, %t1428
|
|
%t1431 = load ptr, ptr %t1420
|
|
%t1432 = call ptr @realloc(ptr %t1431, i64 %t1430)
|
|
store ptr %t1432, ptr %t1420
|
|
store i32 %t1426, ptr %t1419
|
|
br label %put278
|
|
put278:
|
|
%t1433 = load ptr, ptr %t1420
|
|
%t1434 = getelementptr inbounds ptr, ptr %t1433, i32 %t1421
|
|
store ptr @.str4280, ptr %t1434
|
|
%t1435 = add i32 %t1421, 1
|
|
store i32 %t1435, ptr %t1418
|
|
br label %ifend274
|
|
ifend274:
|
|
%t1436 = load ptr, ptr %t1
|
|
%t1437 = call i32 @fn_str_eq(ptr %t1436, ptr @.str4281)
|
|
%t1438 = icmp ne i32 %t1437, 0
|
|
br i1 %t1438, label %then279, label %ifend281
|
|
then279:
|
|
store ptr @.str4282, ptr %t168
|
|
%t1439 = load ptr, ptr %t175
|
|
%t1440 = getelementptr inbounds %LSlice, ptr %t1439, i32 0, i32 1
|
|
%t1441 = getelementptr inbounds %LSlice, ptr %t1439, i32 0, i32 2
|
|
%t1442 = getelementptr inbounds %LSlice, ptr %t1439, i32 0, i32 0
|
|
%t1443 = load i32, ptr %t1440
|
|
%t1444 = load i32, ptr %t1441
|
|
%t1445 = icmp sge i32 %t1443, %t1444
|
|
br i1 %t1445, label %grow282, label %put283
|
|
grow282:
|
|
%t1446 = mul i32 %t1444, 2
|
|
%t1447 = icmp eq i32 %t1444, 0
|
|
%t1448 = select i1 %t1447, i32 8, i32 %t1446
|
|
%t1449 = getelementptr ptr, ptr null, i32 1
|
|
%t1450 = ptrtoint ptr %t1449 to i64
|
|
%t1451 = zext i32 %t1448 to i64
|
|
%t1452 = mul i64 %t1451, %t1450
|
|
%t1453 = load ptr, ptr %t1442
|
|
%t1454 = call ptr @realloc(ptr %t1453, i64 %t1452)
|
|
store ptr %t1454, ptr %t1442
|
|
store i32 %t1448, ptr %t1441
|
|
br label %put283
|
|
put283:
|
|
%t1455 = load ptr, ptr %t1442
|
|
%t1456 = getelementptr inbounds ptr, ptr %t1455, i32 %t1443
|
|
store ptr @.str4283, ptr %t1456
|
|
%t1457 = add i32 %t1443, 1
|
|
store i32 %t1457, ptr %t1440
|
|
%t1458 = load ptr, ptr %t175
|
|
%t1459 = getelementptr inbounds %LSlice, ptr %t1458, i32 0, i32 1
|
|
%t1460 = getelementptr inbounds %LSlice, ptr %t1458, i32 0, i32 2
|
|
%t1461 = getelementptr inbounds %LSlice, ptr %t1458, i32 0, i32 0
|
|
%t1462 = load i32, ptr %t1459
|
|
%t1463 = load i32, ptr %t1460
|
|
%t1464 = icmp sge i32 %t1462, %t1463
|
|
br i1 %t1464, label %grow284, label %put285
|
|
grow284:
|
|
%t1465 = mul i32 %t1463, 2
|
|
%t1466 = icmp eq i32 %t1463, 0
|
|
%t1467 = select i1 %t1466, i32 8, i32 %t1465
|
|
%t1468 = getelementptr ptr, ptr null, i32 1
|
|
%t1469 = ptrtoint ptr %t1468 to i64
|
|
%t1470 = zext i32 %t1467 to i64
|
|
%t1471 = mul i64 %t1470, %t1469
|
|
%t1472 = load ptr, ptr %t1461
|
|
%t1473 = call ptr @realloc(ptr %t1472, i64 %t1471)
|
|
store ptr %t1473, ptr %t1461
|
|
store i32 %t1467, ptr %t1460
|
|
br label %put285
|
|
put285:
|
|
%t1474 = load ptr, ptr %t1461
|
|
%t1475 = getelementptr inbounds ptr, ptr %t1474, i32 %t1462
|
|
store ptr @.str4284, ptr %t1475
|
|
%t1476 = add i32 %t1462, 1
|
|
store i32 %t1476, ptr %t1459
|
|
br label %ifend281
|
|
ifend281:
|
|
br label %ifend264
|
|
ifend264:
|
|
%t1477 = load ptr, ptr %t0
|
|
%t1478 = call i32 @fn_str_eq(ptr %t1477, ptr @.str4285)
|
|
%t1479 = icmp ne i32 %t1478, 0
|
|
br i1 %t1479, label %then286, label %ifend288
|
|
then286:
|
|
%t1480 = load ptr, ptr %t1
|
|
%t1481 = call i32 @fn_str_eq(ptr %t1480, ptr @.str4286)
|
|
%t1482 = icmp ne i32 %t1481, 0
|
|
br i1 %t1482, label %then289, label %ifend291
|
|
then289:
|
|
store ptr @.str4287, ptr %t168
|
|
%t1483 = load ptr, ptr %t175
|
|
%t1484 = getelementptr inbounds %LSlice, ptr %t1483, i32 0, i32 1
|
|
%t1485 = getelementptr inbounds %LSlice, ptr %t1483, i32 0, i32 2
|
|
%t1486 = getelementptr inbounds %LSlice, ptr %t1483, i32 0, i32 0
|
|
%t1487 = load i32, ptr %t1484
|
|
%t1488 = load i32, ptr %t1485
|
|
%t1489 = icmp sge i32 %t1487, %t1488
|
|
br i1 %t1489, label %grow292, label %put293
|
|
grow292:
|
|
%t1490 = mul i32 %t1488, 2
|
|
%t1491 = icmp eq i32 %t1488, 0
|
|
%t1492 = select i1 %t1491, i32 8, i32 %t1490
|
|
%t1493 = getelementptr ptr, ptr null, i32 1
|
|
%t1494 = ptrtoint ptr %t1493 to i64
|
|
%t1495 = zext i32 %t1492 to i64
|
|
%t1496 = mul i64 %t1495, %t1494
|
|
%t1497 = load ptr, ptr %t1486
|
|
%t1498 = call ptr @realloc(ptr %t1497, i64 %t1496)
|
|
store ptr %t1498, ptr %t1486
|
|
store i32 %t1492, ptr %t1485
|
|
br label %put293
|
|
put293:
|
|
%t1499 = load ptr, ptr %t1486
|
|
%t1500 = getelementptr inbounds ptr, ptr %t1499, i32 %t1487
|
|
store ptr @.str4288, ptr %t1500
|
|
%t1501 = add i32 %t1487, 1
|
|
store i32 %t1501, ptr %t1484
|
|
%t1502 = load ptr, ptr %t175
|
|
%t1503 = getelementptr inbounds %LSlice, ptr %t1502, i32 0, i32 1
|
|
%t1504 = getelementptr inbounds %LSlice, ptr %t1502, i32 0, i32 2
|
|
%t1505 = getelementptr inbounds %LSlice, ptr %t1502, i32 0, i32 0
|
|
%t1506 = load i32, ptr %t1503
|
|
%t1507 = load i32, ptr %t1504
|
|
%t1508 = icmp sge i32 %t1506, %t1507
|
|
br i1 %t1508, label %grow294, label %put295
|
|
grow294:
|
|
%t1509 = mul i32 %t1507, 2
|
|
%t1510 = icmp eq i32 %t1507, 0
|
|
%t1511 = select i1 %t1510, i32 8, i32 %t1509
|
|
%t1512 = getelementptr ptr, ptr null, i32 1
|
|
%t1513 = ptrtoint ptr %t1512 to i64
|
|
%t1514 = zext i32 %t1511 to i64
|
|
%t1515 = mul i64 %t1514, %t1513
|
|
%t1516 = load ptr, ptr %t1505
|
|
%t1517 = call ptr @realloc(ptr %t1516, i64 %t1515)
|
|
store ptr %t1517, ptr %t1505
|
|
store i32 %t1511, ptr %t1504
|
|
br label %put295
|
|
put295:
|
|
%t1518 = load ptr, ptr %t1505
|
|
%t1519 = getelementptr inbounds ptr, ptr %t1518, i32 %t1506
|
|
store ptr @.str4289, ptr %t1519
|
|
%t1520 = add i32 %t1506, 1
|
|
store i32 %t1520, ptr %t1503
|
|
br label %ifend291
|
|
ifend291:
|
|
%t1521 = load ptr, ptr %t1
|
|
%t1522 = call i32 @fn_str_eq(ptr %t1521, ptr @.str4290)
|
|
%t1523 = icmp ne i32 %t1522, 0
|
|
br i1 %t1523, label %then296, label %ifend298
|
|
then296:
|
|
store ptr @.str4291, ptr %t168
|
|
%t1524 = load ptr, ptr %t175
|
|
%t1525 = getelementptr inbounds %LSlice, ptr %t1524, i32 0, i32 1
|
|
%t1526 = getelementptr inbounds %LSlice, ptr %t1524, i32 0, i32 2
|
|
%t1527 = getelementptr inbounds %LSlice, ptr %t1524, i32 0, i32 0
|
|
%t1528 = load i32, ptr %t1525
|
|
%t1529 = load i32, ptr %t1526
|
|
%t1530 = icmp sge i32 %t1528, %t1529
|
|
br i1 %t1530, label %grow299, label %put300
|
|
grow299:
|
|
%t1531 = mul i32 %t1529, 2
|
|
%t1532 = icmp eq i32 %t1529, 0
|
|
%t1533 = select i1 %t1532, i32 8, i32 %t1531
|
|
%t1534 = getelementptr ptr, ptr null, i32 1
|
|
%t1535 = ptrtoint ptr %t1534 to i64
|
|
%t1536 = zext i32 %t1533 to i64
|
|
%t1537 = mul i64 %t1536, %t1535
|
|
%t1538 = load ptr, ptr %t1527
|
|
%t1539 = call ptr @realloc(ptr %t1538, i64 %t1537)
|
|
store ptr %t1539, ptr %t1527
|
|
store i32 %t1533, ptr %t1526
|
|
br label %put300
|
|
put300:
|
|
%t1540 = load ptr, ptr %t1527
|
|
%t1541 = getelementptr inbounds ptr, ptr %t1540, i32 %t1528
|
|
store ptr @.str4292, ptr %t1541
|
|
%t1542 = add i32 %t1528, 1
|
|
store i32 %t1542, ptr %t1525
|
|
br label %ifend298
|
|
ifend298:
|
|
%t1543 = load ptr, ptr %t1
|
|
%t1544 = call i32 @fn_str_eq(ptr %t1543, ptr @.str4293)
|
|
%t1545 = icmp ne i32 %t1544, 0
|
|
br i1 %t1545, label %then301, label %ifend303
|
|
then301:
|
|
store ptr @.str4294, ptr %t168
|
|
%t1546 = load ptr, ptr %t175
|
|
%t1547 = getelementptr inbounds %LSlice, ptr %t1546, i32 0, i32 1
|
|
%t1548 = getelementptr inbounds %LSlice, ptr %t1546, i32 0, i32 2
|
|
%t1549 = getelementptr inbounds %LSlice, ptr %t1546, i32 0, i32 0
|
|
%t1550 = load i32, ptr %t1547
|
|
%t1551 = load i32, ptr %t1548
|
|
%t1552 = icmp sge i32 %t1550, %t1551
|
|
br i1 %t1552, label %grow304, label %put305
|
|
grow304:
|
|
%t1553 = mul i32 %t1551, 2
|
|
%t1554 = icmp eq i32 %t1551, 0
|
|
%t1555 = select i1 %t1554, i32 8, i32 %t1553
|
|
%t1556 = getelementptr ptr, ptr null, i32 1
|
|
%t1557 = ptrtoint ptr %t1556 to i64
|
|
%t1558 = zext i32 %t1555 to i64
|
|
%t1559 = mul i64 %t1558, %t1557
|
|
%t1560 = load ptr, ptr %t1549
|
|
%t1561 = call ptr @realloc(ptr %t1560, i64 %t1559)
|
|
store ptr %t1561, ptr %t1549
|
|
store i32 %t1555, ptr %t1548
|
|
br label %put305
|
|
put305:
|
|
%t1562 = load ptr, ptr %t1549
|
|
%t1563 = getelementptr inbounds ptr, ptr %t1562, i32 %t1550
|
|
store ptr @.str4295, ptr %t1563
|
|
%t1564 = add i32 %t1550, 1
|
|
store i32 %t1564, ptr %t1547
|
|
br label %ifend303
|
|
ifend303:
|
|
%t1565 = load ptr, ptr %t1
|
|
%t1566 = call i32 @fn_str_eq(ptr %t1565, ptr @.str4296)
|
|
%t1567 = icmp ne i32 %t1566, 0
|
|
br i1 %t1567, label %then306, label %ifend308
|
|
then306:
|
|
store ptr @.str4297, ptr %t168
|
|
br label %ifend308
|
|
ifend308:
|
|
%t1568 = load ptr, ptr %t1
|
|
%t1569 = call i32 @fn_str_eq(ptr %t1568, ptr @.str4298)
|
|
%t1570 = icmp ne i32 %t1569, 0
|
|
br i1 %t1570, label %then309, label %ifend311
|
|
then309:
|
|
store ptr @.str4299, ptr %t168
|
|
%t1571 = load ptr, ptr %t175
|
|
%t1572 = getelementptr inbounds %LSlice, ptr %t1571, i32 0, i32 1
|
|
%t1573 = getelementptr inbounds %LSlice, ptr %t1571, i32 0, i32 2
|
|
%t1574 = getelementptr inbounds %LSlice, ptr %t1571, i32 0, i32 0
|
|
%t1575 = load i32, ptr %t1572
|
|
%t1576 = load i32, ptr %t1573
|
|
%t1577 = icmp sge i32 %t1575, %t1576
|
|
br i1 %t1577, label %grow312, label %put313
|
|
grow312:
|
|
%t1578 = mul i32 %t1576, 2
|
|
%t1579 = icmp eq i32 %t1576, 0
|
|
%t1580 = select i1 %t1579, i32 8, i32 %t1578
|
|
%t1581 = getelementptr ptr, ptr null, i32 1
|
|
%t1582 = ptrtoint ptr %t1581 to i64
|
|
%t1583 = zext i32 %t1580 to i64
|
|
%t1584 = mul i64 %t1583, %t1582
|
|
%t1585 = load ptr, ptr %t1574
|
|
%t1586 = call ptr @realloc(ptr %t1585, i64 %t1584)
|
|
store ptr %t1586, ptr %t1574
|
|
store i32 %t1580, ptr %t1573
|
|
br label %put313
|
|
put313:
|
|
%t1587 = load ptr, ptr %t1574
|
|
%t1588 = getelementptr inbounds ptr, ptr %t1587, i32 %t1575
|
|
store ptr @.str4300, ptr %t1588
|
|
%t1589 = add i32 %t1575, 1
|
|
store i32 %t1589, ptr %t1572
|
|
br label %ifend311
|
|
ifend311:
|
|
%t1590 = load ptr, ptr %t1
|
|
%t1591 = call i32 @fn_str_eq(ptr %t1590, ptr @.str4301)
|
|
%t1592 = icmp ne i32 %t1591, 0
|
|
br i1 %t1592, label %then314, label %ifend316
|
|
then314:
|
|
store ptr @.str4302, ptr %t168
|
|
br label %ifend316
|
|
ifend316:
|
|
br label %ifend288
|
|
ifend288:
|
|
%t1593 = load ptr, ptr %t0
|
|
%t1594 = call i32 @fn_str_eq(ptr %t1593, ptr @.str4303)
|
|
%t1595 = icmp ne i32 %t1594, 0
|
|
br i1 %t1595, label %then317, label %ifend319
|
|
then317:
|
|
%t1596 = load ptr, ptr %t1
|
|
%t1597 = call i32 @fn_str_eq(ptr %t1596, ptr @.str4304)
|
|
%t1598 = icmp ne i32 %t1597, 0
|
|
br i1 %t1598, label %then320, label %ifend322
|
|
then320:
|
|
store ptr @.str4305, ptr %t168
|
|
br label %ifend322
|
|
ifend322:
|
|
br label %ifend319
|
|
ifend319:
|
|
%t1599 = load ptr, ptr %t0
|
|
%t1600 = call i32 @fn_str_eq(ptr %t1599, ptr @.str4306)
|
|
%t1601 = icmp ne i32 %t1600, 0
|
|
br i1 %t1601, label %then323, label %ifend325
|
|
then323:
|
|
%t1602 = load ptr, ptr %t1
|
|
%t1603 = call i32 @fn_str_eq(ptr %t1602, ptr @.str4307)
|
|
%t1604 = icmp ne i32 %t1603, 0
|
|
br i1 %t1604, label %then326, label %ifend328
|
|
then326:
|
|
store ptr @.str4308, ptr %t168
|
|
br label %ifend328
|
|
ifend328:
|
|
%t1605 = load ptr, ptr %t1
|
|
%t1606 = call i32 @fn_str_eq(ptr %t1605, ptr @.str4309)
|
|
%t1607 = icmp ne i32 %t1606, 0
|
|
br i1 %t1607, label %then329, label %ifend331
|
|
then329:
|
|
store ptr @.str4310, ptr %t168
|
|
br label %ifend331
|
|
ifend331:
|
|
%t1608 = load ptr, ptr %t1
|
|
%t1609 = call i32 @fn_str_eq(ptr %t1608, ptr @.str4311)
|
|
%t1610 = icmp ne i32 %t1609, 0
|
|
br i1 %t1610, label %then332, label %ifend334
|
|
then332:
|
|
store ptr @.str4312, ptr %t168
|
|
br label %ifend334
|
|
ifend334:
|
|
%t1611 = load ptr, ptr %t1
|
|
%t1612 = call i32 @fn_str_eq(ptr %t1611, ptr @.str4313)
|
|
%t1613 = icmp ne i32 %t1612, 0
|
|
br i1 %t1613, label %then335, label %ifend337
|
|
then335:
|
|
store ptr @.str4314, ptr %t168
|
|
br label %ifend337
|
|
ifend337:
|
|
%t1614 = load ptr, ptr %t1
|
|
%t1615 = call i32 @fn_str_eq(ptr %t1614, ptr @.str4315)
|
|
%t1616 = icmp ne i32 %t1615, 0
|
|
br i1 %t1616, label %then338, label %ifend340
|
|
then338:
|
|
store ptr @.str4316, ptr %t168
|
|
br label %ifend340
|
|
ifend340:
|
|
%t1617 = load ptr, ptr %t1
|
|
%t1618 = call i32 @fn_str_eq(ptr %t1617, ptr @.str4317)
|
|
%t1619 = icmp ne i32 %t1618, 0
|
|
br i1 %t1619, label %then341, label %ifend343
|
|
then341:
|
|
store ptr @.str4318, ptr %t168
|
|
br label %ifend343
|
|
ifend343:
|
|
%t1620 = load ptr, ptr %t1
|
|
%t1621 = call i32 @fn_str_eq(ptr %t1620, ptr @.str4319)
|
|
%t1622 = icmp ne i32 %t1621, 0
|
|
br i1 %t1622, label %then344, label %ifend346
|
|
then344:
|
|
store ptr @.str4320, ptr %t168
|
|
br label %ifend346
|
|
ifend346:
|
|
%t1623 = load ptr, ptr %t1
|
|
%t1624 = call i32 @fn_str_eq(ptr %t1623, ptr @.str4321)
|
|
%t1625 = icmp ne i32 %t1624, 0
|
|
br i1 %t1625, label %then347, label %ifend349
|
|
then347:
|
|
store ptr @.str4322, ptr %t168
|
|
br label %ifend349
|
|
ifend349:
|
|
%t1626 = load ptr, ptr %t1
|
|
%t1627 = call i32 @fn_str_eq(ptr %t1626, ptr @.str4323)
|
|
%t1628 = icmp ne i32 %t1627, 0
|
|
br i1 %t1628, label %then350, label %ifend352
|
|
then350:
|
|
store ptr @.str4324, ptr %t168
|
|
br label %ifend352
|
|
ifend352:
|
|
%t1629 = load ptr, ptr %t1
|
|
%t1630 = call i32 @fn_str_eq(ptr %t1629, ptr @.str4325)
|
|
%t1631 = icmp ne i32 %t1630, 0
|
|
br i1 %t1631, label %then353, label %ifend355
|
|
then353:
|
|
store ptr @.str4326, ptr %t168
|
|
br label %ifend355
|
|
ifend355:
|
|
%t1632 = load ptr, ptr %t1
|
|
%t1633 = call i32 @fn_str_eq(ptr %t1632, ptr @.str4327)
|
|
%t1634 = icmp ne i32 %t1633, 0
|
|
br i1 %t1634, label %then356, label %ifend358
|
|
then356:
|
|
store ptr @.str4328, ptr %t168
|
|
br label %ifend358
|
|
ifend358:
|
|
%t1635 = load ptr, ptr %t1
|
|
%t1636 = call i32 @fn_str_eq(ptr %t1635, ptr @.str4329)
|
|
%t1637 = icmp ne i32 %t1636, 0
|
|
br i1 %t1637, label %then359, label %ifend361
|
|
then359:
|
|
store ptr @.str4330, ptr %t168
|
|
br label %ifend361
|
|
ifend361:
|
|
%t1638 = load ptr, ptr %t1
|
|
%t1639 = call i32 @fn_str_eq(ptr %t1638, ptr @.str4331)
|
|
%t1640 = icmp ne i32 %t1639, 0
|
|
br i1 %t1640, label %then362, label %ifend364
|
|
then362:
|
|
store ptr @.str4332, ptr %t168
|
|
br label %ifend364
|
|
ifend364:
|
|
%t1641 = load ptr, ptr %t1
|
|
%t1642 = call i32 @fn_str_eq(ptr %t1641, ptr @.str4333)
|
|
%t1643 = icmp ne i32 %t1642, 0
|
|
br i1 %t1643, label %then365, label %ifend367
|
|
then365:
|
|
store ptr @.str4334, ptr %t168
|
|
br label %ifend367
|
|
ifend367:
|
|
%t1644 = load ptr, ptr %t1
|
|
%t1645 = call i32 @fn_str_eq(ptr %t1644, ptr @.str4335)
|
|
%t1646 = icmp ne i32 %t1645, 0
|
|
br i1 %t1646, label %then368, label %ifend370
|
|
then368:
|
|
store ptr @.str4336, ptr %t168
|
|
br label %ifend370
|
|
ifend370:
|
|
%t1647 = load ptr, ptr %t1
|
|
%t1648 = call i32 @fn_str_eq(ptr %t1647, ptr @.str4337)
|
|
%t1649 = icmp ne i32 %t1648, 0
|
|
br i1 %t1649, label %then371, label %ifend373
|
|
then371:
|
|
store ptr @.str4338, ptr %t168
|
|
br label %ifend373
|
|
ifend373:
|
|
br label %ifend325
|
|
ifend325:
|
|
%t1650 = load ptr, ptr %t0
|
|
%t1651 = call i32 @fn_str_eq(ptr %t1650, ptr @.str4339)
|
|
%t1652 = icmp ne i32 %t1651, 0
|
|
br i1 %t1652, label %then374, label %ifend376
|
|
then374:
|
|
%t1653 = load ptr, ptr %t1
|
|
%t1654 = call i32 @fn_str_eq(ptr %t1653, ptr @.str4340)
|
|
%t1655 = icmp ne i32 %t1654, 0
|
|
br i1 %t1655, label %then377, label %ifend379
|
|
then377:
|
|
store ptr @.str4341, ptr %t168
|
|
br label %ifend379
|
|
ifend379:
|
|
%t1656 = load ptr, ptr %t1
|
|
%t1657 = call i32 @fn_str_eq(ptr %t1656, ptr @.str4342)
|
|
%t1658 = icmp ne i32 %t1657, 0
|
|
br i1 %t1658, label %then380, label %ifend382
|
|
then380:
|
|
store ptr @.str4343, ptr %t168
|
|
br label %ifend382
|
|
ifend382:
|
|
%t1659 = load ptr, ptr %t1
|
|
%t1660 = call i32 @fn_str_eq(ptr %t1659, ptr @.str4344)
|
|
%t1661 = icmp ne i32 %t1660, 0
|
|
br i1 %t1661, label %then383, label %ifend385
|
|
then383:
|
|
store ptr @.str4345, ptr %t168
|
|
br label %ifend385
|
|
ifend385:
|
|
%t1662 = load ptr, ptr %t1
|
|
%t1663 = call i32 @fn_str_eq(ptr %t1662, ptr @.str4346)
|
|
%t1664 = icmp ne i32 %t1663, 0
|
|
br i1 %t1664, label %then386, label %ifend388
|
|
then386:
|
|
store ptr @.str4347, ptr %t168
|
|
br label %ifend388
|
|
ifend388:
|
|
%t1665 = load ptr, ptr %t1
|
|
%t1666 = call i32 @fn_str_eq(ptr %t1665, ptr @.str4348)
|
|
%t1667 = icmp ne i32 %t1666, 0
|
|
br i1 %t1667, label %then389, label %ifend391
|
|
then389:
|
|
store ptr @.str4349, ptr %t168
|
|
br label %ifend391
|
|
ifend391:
|
|
%t1668 = load ptr, ptr %t1
|
|
%t1669 = call i32 @fn_str_eq(ptr %t1668, ptr @.str4350)
|
|
%t1670 = icmp ne i32 %t1669, 0
|
|
br i1 %t1670, label %then392, label %ifend394
|
|
then392:
|
|
store ptr @.str4351, ptr %t168
|
|
br label %ifend394
|
|
ifend394:
|
|
%t1671 = load ptr, ptr %t1
|
|
%t1672 = call i32 @fn_str_eq(ptr %t1671, ptr @.str4352)
|
|
%t1673 = icmp ne i32 %t1672, 0
|
|
br i1 %t1673, label %then395, label %ifend397
|
|
then395:
|
|
store ptr @.str4353, ptr %t168
|
|
br label %ifend397
|
|
ifend397:
|
|
%t1674 = load ptr, ptr %t1
|
|
%t1675 = call i32 @fn_str_eq(ptr %t1674, ptr @.str4354)
|
|
%t1676 = icmp ne i32 %t1675, 0
|
|
br i1 %t1676, label %then398, label %ifend400
|
|
then398:
|
|
store ptr @.str4355, ptr %t168
|
|
br label %ifend400
|
|
ifend400:
|
|
%t1677 = load ptr, ptr %t1
|
|
%t1678 = call i32 @fn_str_eq(ptr %t1677, ptr @.str4356)
|
|
%t1679 = icmp ne i32 %t1678, 0
|
|
br i1 %t1679, label %then401, label %ifend403
|
|
then401:
|
|
store ptr @.str4357, ptr %t168
|
|
br label %ifend403
|
|
ifend403:
|
|
br label %ifend376
|
|
ifend376:
|
|
%t1680 = load ptr, ptr %t0
|
|
%t1681 = call i32 @fn_str_eq(ptr %t1680, ptr @.str4358)
|
|
%t1682 = icmp ne i32 %t1681, 0
|
|
br i1 %t1682, label %then404, label %ifend406
|
|
then404:
|
|
%t1683 = load ptr, ptr %t1
|
|
%t1684 = call i32 @fn_str_eq(ptr %t1683, ptr @.str4359)
|
|
%t1685 = icmp ne i32 %t1684, 0
|
|
br i1 %t1685, label %then407, label %ifend409
|
|
then407:
|
|
store ptr @.str4360, ptr %t168
|
|
br label %ifend409
|
|
ifend409:
|
|
%t1686 = load ptr, ptr %t1
|
|
%t1687 = call i32 @fn_str_eq(ptr %t1686, ptr @.str4361)
|
|
%t1688 = icmp ne i32 %t1687, 0
|
|
br i1 %t1688, label %then410, label %ifend412
|
|
then410:
|
|
store ptr @.str4362, ptr %t168
|
|
br label %ifend412
|
|
ifend412:
|
|
%t1689 = load ptr, ptr %t1
|
|
%t1690 = call i32 @fn_str_eq(ptr %t1689, ptr @.str4363)
|
|
%t1691 = icmp ne i32 %t1690, 0
|
|
br i1 %t1691, label %then413, label %ifend415
|
|
then413:
|
|
store ptr @.str4364, ptr %t168
|
|
br label %ifend415
|
|
ifend415:
|
|
%t1692 = load ptr, ptr %t1
|
|
%t1693 = call i32 @fn_str_eq(ptr %t1692, ptr @.str4365)
|
|
%t1694 = icmp ne i32 %t1693, 0
|
|
br i1 %t1694, label %then416, label %ifend418
|
|
then416:
|
|
store ptr @.str4366, ptr %t168
|
|
br label %ifend418
|
|
ifend418:
|
|
%t1695 = load ptr, ptr %t1
|
|
%t1696 = call i32 @fn_str_eq(ptr %t1695, ptr @.str4367)
|
|
%t1697 = icmp ne i32 %t1696, 0
|
|
br i1 %t1697, label %then419, label %ifend421
|
|
then419:
|
|
store ptr @.str4368, ptr %t168
|
|
br label %ifend421
|
|
ifend421:
|
|
%t1698 = load ptr, ptr %t1
|
|
%t1699 = call i32 @fn_str_eq(ptr %t1698, ptr @.str4369)
|
|
%t1700 = icmp ne i32 %t1699, 0
|
|
br i1 %t1700, label %then422, label %ifend424
|
|
then422:
|
|
store ptr @.str4370, ptr %t168
|
|
br label %ifend424
|
|
ifend424:
|
|
%t1701 = load ptr, ptr %t1
|
|
%t1702 = call i32 @fn_str_eq(ptr %t1701, ptr @.str4371)
|
|
%t1703 = icmp ne i32 %t1702, 0
|
|
br i1 %t1703, label %then425, label %ifend427
|
|
then425:
|
|
store ptr @.str4372, ptr %t168
|
|
br label %ifend427
|
|
ifend427:
|
|
%t1704 = load ptr, ptr %t1
|
|
%t1705 = call i32 @fn_str_eq(ptr %t1704, ptr @.str4373)
|
|
%t1706 = icmp ne i32 %t1705, 0
|
|
br i1 %t1706, label %then428, label %ifend430
|
|
then428:
|
|
store ptr @.str4374, ptr %t168
|
|
br label %ifend430
|
|
ifend430:
|
|
%t1707 = load ptr, ptr %t1
|
|
%t1708 = call i32 @fn_str_eq(ptr %t1707, ptr @.str4375)
|
|
%t1709 = icmp ne i32 %t1708, 0
|
|
br i1 %t1709, label %then431, label %ifend433
|
|
then431:
|
|
store ptr @.str4376, ptr %t168
|
|
br label %ifend433
|
|
ifend433:
|
|
%t1710 = load ptr, ptr %t1
|
|
%t1711 = call i32 @fn_str_eq(ptr %t1710, ptr @.str4377)
|
|
%t1712 = icmp ne i32 %t1711, 0
|
|
br i1 %t1712, label %then434, label %ifend436
|
|
then434:
|
|
store ptr @.str4378, ptr %t168
|
|
br label %ifend436
|
|
ifend436:
|
|
%t1713 = load ptr, ptr %t1
|
|
%t1714 = call i32 @fn_str_eq(ptr %t1713, ptr @.str4379)
|
|
%t1715 = icmp ne i32 %t1714, 0
|
|
br i1 %t1715, label %then437, label %ifend439
|
|
then437:
|
|
store ptr @.str4380, ptr %t168
|
|
br label %ifend439
|
|
ifend439:
|
|
%t1716 = load ptr, ptr %t1
|
|
%t1717 = call i32 @fn_str_eq(ptr %t1716, ptr @.str4381)
|
|
%t1718 = icmp ne i32 %t1717, 0
|
|
br i1 %t1718, label %then440, label %ifend442
|
|
then440:
|
|
store ptr @.str4382, ptr %t168
|
|
br label %ifend442
|
|
ifend442:
|
|
%t1719 = load ptr, ptr %t1
|
|
%t1720 = call i32 @fn_str_eq(ptr %t1719, ptr @.str4383)
|
|
%t1721 = icmp ne i32 %t1720, 0
|
|
br i1 %t1721, label %then443, label %ifend445
|
|
then443:
|
|
store ptr @.str4384, ptr %t168
|
|
br label %ifend445
|
|
ifend445:
|
|
%t1722 = load ptr, ptr %t1
|
|
%t1723 = call i32 @fn_str_eq(ptr %t1722, ptr @.str4385)
|
|
%t1724 = icmp ne i32 %t1723, 0
|
|
br i1 %t1724, label %then446, label %ifend448
|
|
then446:
|
|
store ptr @.str4386, ptr %t168
|
|
br label %ifend448
|
|
ifend448:
|
|
br label %ifend406
|
|
ifend406:
|
|
%t1725 = load ptr, ptr %t0
|
|
%t1726 = call i32 @fn_str_eq(ptr %t1725, ptr @.str4387)
|
|
%t1727 = icmp ne i32 %t1726, 0
|
|
br i1 %t1727, label %then449, label %ifend451
|
|
then449:
|
|
%t1728 = load ptr, ptr %t1
|
|
%t1729 = call i32 @fn_str_eq(ptr %t1728, ptr @.str4388)
|
|
%t1730 = icmp ne i32 %t1729, 0
|
|
br i1 %t1730, label %then452, label %ifend454
|
|
then452:
|
|
store ptr @.str4389, ptr %t168
|
|
br label %ifend454
|
|
ifend454:
|
|
%t1731 = load ptr, ptr %t1
|
|
%t1732 = call i32 @fn_str_eq(ptr %t1731, ptr @.str4390)
|
|
%t1733 = icmp ne i32 %t1732, 0
|
|
br i1 %t1733, label %then455, label %ifend457
|
|
then455:
|
|
store ptr @.str4391, ptr %t168
|
|
br label %ifend457
|
|
ifend457:
|
|
br label %ifend451
|
|
ifend451:
|
|
%t1734 = load ptr, ptr %t168
|
|
%t1735 = icmp eq ptr %t1734, null
|
|
%t1736 = zext i1 %t1735 to i32
|
|
%t1737 = icmp ne i32 %t1736, 0
|
|
br i1 %t1737, label %then458, label %ifend460
|
|
then458:
|
|
%t1738 = load ptr, ptr %t0
|
|
%t1739 = call ptr @fn_str_concat(ptr @.str4392, ptr %t1738)
|
|
%t1740 = call ptr @fn_str_concat(ptr %t1739, ptr @.str4393)
|
|
%t1741 = load ptr, ptr %t1
|
|
%t1742 = call ptr @fn_str_concat(ptr %t1740, ptr %t1741)
|
|
call void @fn_perr(ptr %t1742)
|
|
br label %ifend460
|
|
ifend460:
|
|
%t1743 = load ptr, ptr %t2
|
|
%t1744 = load ptr, ptr %t175
|
|
call void @fn_reorder_named(ptr %t1743, ptr %t1744)
|
|
%t1745 = call ptr @fn_node(i32 33)
|
|
store ptr %t1745, ptr %t1746
|
|
%t1747 = load ptr, ptr %t1746
|
|
%t1748 = getelementptr inbounds %Cmp_Node, ptr %t1747, i32 0, i32 1
|
|
%t1749 = load ptr, ptr %t168
|
|
store ptr %t1749, ptr %t1748
|
|
%t1750 = load ptr, ptr %t2
|
|
%t1751 = getelementptr inbounds %Cmp_Node, ptr %t1750, i32 0, i32 4
|
|
%t1752 = load ptr, ptr %t1746
|
|
store ptr %t1752, ptr %t1751
|
|
%t1753 = load ptr, ptr %t2
|
|
%t1754 = call ptr @fn_emit_call(ptr %t1753)
|
|
store ptr %t1754, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t1755 = load ptr, ptr %retval
|
|
ret ptr %t1755
|
|
}
|
|
|
|
define ptr @fn_emit_call(ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t38 = alloca ptr
|
|
%t91 = alloca ptr
|
|
%t110 = alloca ptr
|
|
%t119 = alloca ptr
|
|
%t142 = alloca ptr
|
|
%t151 = alloca ptr
|
|
%t175 = alloca ptr
|
|
%t184 = alloca ptr
|
|
%t193 = alloca ptr
|
|
%t215 = alloca ptr
|
|
%t234 = alloca ptr
|
|
%t253 = alloca ptr
|
|
%t262 = alloca ptr
|
|
%t281 = alloca ptr
|
|
%t293 = alloca ptr
|
|
%t298 = alloca ptr
|
|
%t332 = alloca ptr
|
|
%t348 = alloca ptr
|
|
%t353 = alloca i32
|
|
%t373 = alloca ptr
|
|
%t382 = alloca ptr
|
|
%t391 = alloca ptr
|
|
%t402 = alloca i32
|
|
%t422 = alloca ptr
|
|
%t431 = alloca ptr
|
|
%t465 = alloca ptr
|
|
%t504 = alloca ptr
|
|
%t544 = alloca ptr
|
|
%t551 = alloca ptr
|
|
%t568 = alloca ptr
|
|
%t575 = alloca ptr
|
|
%t580 = alloca ptr
|
|
%t597 = alloca ptr
|
|
%t616 = alloca ptr
|
|
%t635 = alloca ptr
|
|
%t654 = alloca ptr
|
|
%t663 = alloca ptr
|
|
%t687 = alloca ptr
|
|
%t696 = alloca ptr
|
|
%t705 = alloca ptr
|
|
%t722 = alloca ptr
|
|
%t739 = alloca ptr
|
|
%t748 = alloca ptr
|
|
%t757 = alloca ptr
|
|
%t766 = alloca ptr
|
|
%t773 = alloca ptr
|
|
%t796 = alloca ptr
|
|
%t805 = alloca ptr
|
|
%t834 = alloca ptr
|
|
%t853 = alloca ptr
|
|
%t872 = alloca ptr
|
|
%t881 = alloca ptr
|
|
%t905 = alloca ptr
|
|
%t914 = alloca ptr
|
|
%t938 = alloca ptr
|
|
%t947 = alloca ptr
|
|
%t966 = alloca ptr
|
|
%t975 = alloca ptr
|
|
%t994 = alloca ptr
|
|
%t1022 = alloca ptr
|
|
%t1036 = alloca ptr
|
|
%t1043 = alloca ptr
|
|
%t1044 = alloca i32
|
|
%t1063 = alloca ptr
|
|
%t1114 = alloca ptr
|
|
%t1115 = alloca ptr
|
|
%t1162 = alloca ptr
|
|
%t1164 = alloca ptr
|
|
%t1171 = alloca ptr
|
|
%t1186 = alloca ptr
|
|
%t1193 = alloca ptr
|
|
%t1200 = alloca ptr
|
|
%t1201 = alloca i32
|
|
%t1220 = alloca ptr
|
|
%t1224 = alloca ptr
|
|
%t1286 = alloca ptr
|
|
%t1287 = alloca ptr
|
|
store ptr %arg_e, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 0
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp eq i32 %t5, 35
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %then0, label %ifend2
|
|
then0:
|
|
%t9 = load ptr, ptr %t0
|
|
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 4
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0
|
|
%t15 = load i32, ptr %t14
|
|
%t16 = icmp eq i32 %t15, 33
|
|
%t17 = zext i1 %t16 to i32
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then3, label %ifend5
|
|
then3:
|
|
%t19 = load ptr, ptr %t0
|
|
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 4
|
|
%t21 = load ptr, ptr %t20
|
|
%t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 4
|
|
%t23 = load ptr, ptr %t22
|
|
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = load ptr, ptr %t0
|
|
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 4
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = load ptr, ptr %t0
|
|
%t32 = call ptr @fn_emit_ns_call(ptr %t25, ptr %t30, ptr %t31)
|
|
store ptr %t32, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
call void @fn_perr(ptr @.str4394)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t33 = load ptr, ptr %t0
|
|
%t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 4
|
|
%t35 = load ptr, ptr %t34
|
|
%t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 1
|
|
%t37 = load ptr, ptr %t36
|
|
store ptr %t37, ptr %t38
|
|
%t39 = load ptr, ptr %t38
|
|
%t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str4395)
|
|
%t41 = icmp ne i32 %t40, 0
|
|
br i1 %t41, label %then6, label %ifend8
|
|
then6:
|
|
%t42 = load i32, ptr @g_nself
|
|
%t43 = icmp eq i32 %t42, 0
|
|
%t44 = zext i1 %t43 to i32
|
|
%t45 = icmp ne i32 %t44, 0
|
|
br i1 %t45, label %then9, label %ifend11
|
|
then9:
|
|
%t46 = call ptr @fn_val(ptr @.str4396, ptr @.str4397)
|
|
store ptr %t46, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t47 = load ptr, ptr @g_self_stk
|
|
%t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0
|
|
%t49 = load ptr, ptr %t48
|
|
%t50 = load i32, ptr @g_nself
|
|
%t51 = sub i32 %t50, 1
|
|
%t52 = getelementptr inbounds ptr, ptr %t49, i32 %t51
|
|
%t53 = load ptr, ptr %t52
|
|
%t54 = call ptr @fn_str_concat(ptr @.str4398, ptr %t53)
|
|
%t55 = call ptr @fn_emit_bind(ptr %t54)
|
|
%t56 = call ptr @fn_val(ptr %t55, ptr @.str4399)
|
|
store ptr %t56, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t57 = load ptr, ptr %t38
|
|
%t58 = call i32 @fn_str_eq(ptr %t57, ptr @.str4400)
|
|
%t59 = icmp ne i32 %t58, 0
|
|
br i1 %t59, label %then12, label %ifend14
|
|
then12:
|
|
%t60 = call ptr @fn_emit_bind(ptr @.str4401)
|
|
%t61 = call ptr @fn_val(ptr %t60, ptr @.str4402)
|
|
store ptr %t61, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t62 = load ptr, ptr %t38
|
|
%t63 = call i32 @fn_str_eq(ptr %t62, ptr @.str4403)
|
|
%t64 = icmp ne i32 %t63, 0
|
|
br i1 %t64, label %then15, label %ifend17
|
|
then15:
|
|
call void @fn_emit(ptr @.str4404)
|
|
%t65 = call ptr @fn_val(ptr @.str4405, ptr @.str4406)
|
|
store ptr %t65, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t66 = load ptr, ptr %t38
|
|
%t67 = call i32 @fn_str_eq(ptr %t66, ptr @.str4407)
|
|
%t68 = icmp ne i32 %t67, 0
|
|
br i1 %t68, label %then18, label %ifend20
|
|
then18:
|
|
call void @fn_emit(ptr @.str4408)
|
|
%t69 = call ptr @fn_val(ptr @.str4409, ptr @.str4410)
|
|
store ptr %t69, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t70 = load ptr, ptr %t38
|
|
%t71 = call i32 @fn_str_eq(ptr %t70, ptr @.str4411)
|
|
%t72 = icmp ne i32 %t71, 0
|
|
br i1 %t72, label %then21, label %ifend23
|
|
then21:
|
|
%t73 = call ptr @fn_emit_bind(ptr @.str4412)
|
|
%t74 = call ptr @fn_val(ptr %t73, ptr @.str4413)
|
|
store ptr %t74, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t75 = load ptr, ptr %t38
|
|
%t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str4414)
|
|
%t77 = icmp ne i32 %t76, 0
|
|
br i1 %t77, label %then24, label %ifend26
|
|
then24:
|
|
%t78 = call ptr @fn_emit_bind(ptr @.str4415)
|
|
%t79 = call ptr @fn_val(ptr %t78, ptr @.str4416)
|
|
store ptr %t79, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t80 = load ptr, ptr %t38
|
|
%t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str4417)
|
|
%t82 = icmp ne i32 %t81, 0
|
|
br i1 %t82, label %then27, label %ifend29
|
|
then27:
|
|
%t83 = load ptr, ptr %t0
|
|
%t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 7
|
|
%t85 = load ptr, ptr %t84
|
|
%t86 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0
|
|
%t87 = load ptr, ptr %t86
|
|
%t88 = getelementptr inbounds ptr, ptr %t87, i32 0
|
|
%t89 = load ptr, ptr %t88
|
|
%t90 = call ptr @fn_emit_expr(ptr %t89)
|
|
store ptr %t90, ptr %t91
|
|
%t92 = load ptr, ptr %t91
|
|
%t93 = getelementptr inbounds %Cmp_Val, ptr %t92, i32 0, i32 0
|
|
%t94 = load ptr, ptr %t93
|
|
%t95 = call ptr @fn_str_concat(ptr @.str4418, ptr %t94)
|
|
%t96 = call ptr @fn_str_concat(ptr %t95, ptr @.str4419)
|
|
%t97 = call ptr @fn_emit_bind(ptr %t96)
|
|
%t98 = call ptr @fn_val(ptr %t97, ptr @.str4420)
|
|
store ptr %t98, ptr %retval
|
|
br label %ret
|
|
ifend29:
|
|
%t99 = load ptr, ptr %t38
|
|
%t100 = call i32 @fn_str_eq(ptr %t99, ptr @.str4421)
|
|
%t101 = icmp ne i32 %t100, 0
|
|
br i1 %t101, label %then30, label %ifend32
|
|
then30:
|
|
%t102 = load ptr, ptr %t0
|
|
%t103 = getelementptr inbounds %Cmp_Node, ptr %t102, i32 0, i32 7
|
|
%t104 = load ptr, ptr %t103
|
|
%t105 = getelementptr inbounds %LSlice, ptr %t104, i32 0, i32 0
|
|
%t106 = load ptr, ptr %t105
|
|
%t107 = getelementptr inbounds ptr, ptr %t106, i32 0
|
|
%t108 = load ptr, ptr %t107
|
|
%t109 = call ptr @fn_emit_expr(ptr %t108)
|
|
store ptr %t109, ptr %t110
|
|
%t111 = load ptr, ptr %t0
|
|
%t112 = getelementptr inbounds %Cmp_Node, ptr %t111, i32 0, i32 7
|
|
%t113 = load ptr, ptr %t112
|
|
%t114 = getelementptr inbounds %LSlice, ptr %t113, i32 0, i32 0
|
|
%t115 = load ptr, ptr %t114
|
|
%t116 = getelementptr inbounds ptr, ptr %t115, i32 1
|
|
%t117 = load ptr, ptr %t116
|
|
%t118 = call ptr @fn_emit_expr(ptr %t117)
|
|
store ptr %t118, ptr %t119
|
|
call void @fn_emit(ptr @.str4422)
|
|
%t120 = load ptr, ptr %t110
|
|
%t121 = getelementptr inbounds %Cmp_Val, ptr %t120, i32 0, i32 0
|
|
%t122 = load ptr, ptr %t121
|
|
call void @fn_emit(ptr %t122)
|
|
call void @fn_emit(ptr @.str4423)
|
|
%t123 = load ptr, ptr %t119
|
|
%t124 = getelementptr inbounds %Cmp_Val, ptr %t123, i32 0, i32 0
|
|
%t125 = load ptr, ptr %t124
|
|
call void @fn_emit(ptr %t125)
|
|
call void @fn_emit(ptr @.str4424)
|
|
%t126 = call ptr @fn_val(ptr @.str4425, ptr @.str4426)
|
|
store ptr %t126, ptr %retval
|
|
br label %ret
|
|
ifend32:
|
|
%t127 = load ptr, ptr %t38
|
|
%t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str4427)
|
|
%t129 = icmp ne i32 %t128, 0
|
|
br i1 %t129, label %then33, label %ifend35
|
|
then33:
|
|
call void @fn_emit(ptr @.str4428)
|
|
%t130 = call ptr @fn_val(ptr @.str4429, ptr @.str4430)
|
|
store ptr %t130, ptr %retval
|
|
br label %ret
|
|
ifend35:
|
|
%t131 = load ptr, ptr %t38
|
|
%t132 = call i32 @fn_str_eq(ptr %t131, ptr @.str4431)
|
|
%t133 = icmp ne i32 %t132, 0
|
|
br i1 %t133, label %then36, label %ifend38
|
|
then36:
|
|
%t134 = load ptr, ptr %t0
|
|
%t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 7
|
|
%t136 = load ptr, ptr %t135
|
|
%t137 = getelementptr inbounds %LSlice, ptr %t136, i32 0, i32 0
|
|
%t138 = load ptr, ptr %t137
|
|
%t139 = getelementptr inbounds ptr, ptr %t138, i32 0
|
|
%t140 = load ptr, ptr %t139
|
|
%t141 = call ptr @fn_emit_expr(ptr %t140)
|
|
store ptr %t141, ptr %t142
|
|
%t143 = load ptr, ptr %t0
|
|
%t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 7
|
|
%t145 = load ptr, ptr %t144
|
|
%t146 = getelementptr inbounds %LSlice, ptr %t145, i32 0, i32 0
|
|
%t147 = load ptr, ptr %t146
|
|
%t148 = getelementptr inbounds ptr, ptr %t147, i32 1
|
|
%t149 = load ptr, ptr %t148
|
|
%t150 = call ptr @fn_emit_expr(ptr %t149)
|
|
store ptr %t150, ptr %t151
|
|
%t152 = load ptr, ptr %t142
|
|
%t153 = getelementptr inbounds %Cmp_Val, ptr %t152, i32 0, i32 0
|
|
%t154 = load ptr, ptr %t153
|
|
%t155 = call ptr @fn_str_concat(ptr @.str4432, ptr %t154)
|
|
%t156 = call ptr @fn_str_concat(ptr %t155, ptr @.str4433)
|
|
%t157 = load ptr, ptr %t151
|
|
%t158 = getelementptr inbounds %Cmp_Val, ptr %t157, i32 0, i32 0
|
|
%t159 = load ptr, ptr %t158
|
|
%t160 = call ptr @fn_str_concat(ptr %t156, ptr %t159)
|
|
%t161 = call ptr @fn_str_concat(ptr %t160, ptr @.str4434)
|
|
%t162 = call ptr @fn_emit_bind(ptr %t161)
|
|
%t163 = call ptr @fn_val(ptr %t162, ptr @.str4435)
|
|
store ptr %t163, ptr %retval
|
|
br label %ret
|
|
ifend38:
|
|
%t164 = load ptr, ptr %t38
|
|
%t165 = call i32 @fn_str_eq(ptr %t164, ptr @.str4436)
|
|
%t166 = icmp ne i32 %t165, 0
|
|
br i1 %t166, label %then39, label %ifend41
|
|
then39:
|
|
%t167 = load ptr, ptr %t0
|
|
%t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 7
|
|
%t169 = load ptr, ptr %t168
|
|
%t170 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 0
|
|
%t171 = load ptr, ptr %t170
|
|
%t172 = getelementptr inbounds ptr, ptr %t171, i32 0
|
|
%t173 = load ptr, ptr %t172
|
|
%t174 = call ptr @fn_emit_expr(ptr %t173)
|
|
store ptr %t174, ptr %t175
|
|
%t176 = load ptr, ptr %t0
|
|
%t177 = getelementptr inbounds %Cmp_Node, ptr %t176, i32 0, i32 7
|
|
%t178 = load ptr, ptr %t177
|
|
%t179 = getelementptr inbounds %LSlice, ptr %t178, i32 0, i32 0
|
|
%t180 = load ptr, ptr %t179
|
|
%t181 = getelementptr inbounds ptr, ptr %t180, i32 1
|
|
%t182 = load ptr, ptr %t181
|
|
%t183 = call ptr @fn_emit_expr(ptr %t182)
|
|
store ptr %t183, ptr %t184
|
|
%t185 = load ptr, ptr %t0
|
|
%t186 = getelementptr inbounds %Cmp_Node, ptr %t185, i32 0, i32 7
|
|
%t187 = load ptr, ptr %t186
|
|
%t188 = getelementptr inbounds %LSlice, ptr %t187, i32 0, i32 0
|
|
%t189 = load ptr, ptr %t188
|
|
%t190 = getelementptr inbounds ptr, ptr %t189, i32 2
|
|
%t191 = load ptr, ptr %t190
|
|
%t192 = call ptr @fn_emit_expr(ptr %t191)
|
|
store ptr %t192, ptr %t193
|
|
call void @fn_emit(ptr @.str4437)
|
|
%t194 = load ptr, ptr %t175
|
|
%t195 = getelementptr inbounds %Cmp_Val, ptr %t194, i32 0, i32 0
|
|
%t196 = load ptr, ptr %t195
|
|
call void @fn_emit(ptr %t196)
|
|
call void @fn_emit(ptr @.str4438)
|
|
%t197 = load ptr, ptr %t184
|
|
%t198 = getelementptr inbounds %Cmp_Val, ptr %t197, i32 0, i32 0
|
|
%t199 = load ptr, ptr %t198
|
|
call void @fn_emit(ptr %t199)
|
|
call void @fn_emit(ptr @.str4439)
|
|
%t200 = load ptr, ptr %t193
|
|
%t201 = getelementptr inbounds %Cmp_Val, ptr %t200, i32 0, i32 0
|
|
%t202 = load ptr, ptr %t201
|
|
call void @fn_emit(ptr %t202)
|
|
call void @fn_emit(ptr @.str4440)
|
|
%t203 = call ptr @fn_val(ptr @.str4441, ptr @.str4442)
|
|
store ptr %t203, ptr %retval
|
|
br label %ret
|
|
ifend41:
|
|
%t204 = load ptr, ptr %t38
|
|
%t205 = call i32 @fn_str_eq(ptr %t204, ptr @.str4443)
|
|
%t206 = icmp ne i32 %t205, 0
|
|
br i1 %t206, label %then42, label %ifend44
|
|
then42:
|
|
%t207 = load ptr, ptr %t0
|
|
%t208 = getelementptr inbounds %Cmp_Node, ptr %t207, i32 0, i32 7
|
|
%t209 = load ptr, ptr %t208
|
|
%t210 = getelementptr inbounds %LSlice, ptr %t209, i32 0, i32 0
|
|
%t211 = load ptr, ptr %t210
|
|
%t212 = getelementptr inbounds ptr, ptr %t211, i32 0
|
|
%t213 = load ptr, ptr %t212
|
|
%t214 = call ptr @fn_emit_expr(ptr %t213)
|
|
store ptr %t214, ptr %t215
|
|
%t216 = load ptr, ptr %t215
|
|
%t217 = getelementptr inbounds %Cmp_Val, ptr %t216, i32 0, i32 0
|
|
%t218 = load ptr, ptr %t217
|
|
%t219 = call ptr @fn_str_concat(ptr @.str4444, ptr %t218)
|
|
%t220 = call ptr @fn_str_concat(ptr %t219, ptr @.str4445)
|
|
%t221 = call ptr @fn_emit_bind(ptr %t220)
|
|
%t222 = call ptr @fn_val(ptr %t221, ptr @.str4446)
|
|
store ptr %t222, ptr %retval
|
|
br label %ret
|
|
ifend44:
|
|
%t223 = load ptr, ptr %t38
|
|
%t224 = call i32 @fn_str_eq(ptr %t223, ptr @.str4447)
|
|
%t225 = icmp ne i32 %t224, 0
|
|
br i1 %t225, label %then45, label %ifend47
|
|
then45:
|
|
%t226 = load ptr, ptr %t0
|
|
%t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 7
|
|
%t228 = load ptr, ptr %t227
|
|
%t229 = getelementptr inbounds %LSlice, ptr %t228, i32 0, i32 0
|
|
%t230 = load ptr, ptr %t229
|
|
%t231 = getelementptr inbounds ptr, ptr %t230, i32 0
|
|
%t232 = load ptr, ptr %t231
|
|
%t233 = call ptr @fn_emit_expr(ptr %t232)
|
|
store ptr %t233, ptr %t234
|
|
%t235 = load ptr, ptr %t234
|
|
%t236 = getelementptr inbounds %Cmp_Val, ptr %t235, i32 0, i32 0
|
|
%t237 = load ptr, ptr %t236
|
|
%t238 = call ptr @fn_str_concat(ptr @.str4448, ptr %t237)
|
|
%t239 = call ptr @fn_str_concat(ptr %t238, ptr @.str4449)
|
|
%t240 = call ptr @fn_emit_bind(ptr %t239)
|
|
%t241 = call ptr @fn_val(ptr %t240, ptr @.str4450)
|
|
store ptr %t241, ptr %retval
|
|
br label %ret
|
|
ifend47:
|
|
%t242 = load ptr, ptr %t38
|
|
%t243 = call i32 @fn_str_eq(ptr %t242, ptr @.str4451)
|
|
%t244 = icmp ne i32 %t243, 0
|
|
br i1 %t244, label %then48, label %ifend50
|
|
then48:
|
|
%t245 = load ptr, ptr %t0
|
|
%t246 = getelementptr inbounds %Cmp_Node, ptr %t245, i32 0, i32 7
|
|
%t247 = load ptr, ptr %t246
|
|
%t248 = getelementptr inbounds %LSlice, ptr %t247, i32 0, i32 0
|
|
%t249 = load ptr, ptr %t248
|
|
%t250 = getelementptr inbounds ptr, ptr %t249, i32 0
|
|
%t251 = load ptr, ptr %t250
|
|
%t252 = call ptr @fn_emit_expr(ptr %t251)
|
|
store ptr %t252, ptr %t253
|
|
%t254 = load ptr, ptr %t0
|
|
%t255 = getelementptr inbounds %Cmp_Node, ptr %t254, i32 0, i32 7
|
|
%t256 = load ptr, ptr %t255
|
|
%t257 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 0
|
|
%t258 = load ptr, ptr %t257
|
|
%t259 = getelementptr inbounds ptr, ptr %t258, i32 1
|
|
%t260 = load ptr, ptr %t259
|
|
%t261 = call ptr @fn_emit_expr(ptr %t260)
|
|
store ptr %t261, ptr %t262
|
|
call void @fn_emit(ptr @.str4452)
|
|
%t263 = load ptr, ptr %t253
|
|
%t264 = getelementptr inbounds %Cmp_Val, ptr %t263, i32 0, i32 0
|
|
%t265 = load ptr, ptr %t264
|
|
call void @fn_emit(ptr %t265)
|
|
call void @fn_emit(ptr @.str4453)
|
|
%t266 = load ptr, ptr %t262
|
|
%t267 = getelementptr inbounds %Cmp_Val, ptr %t266, i32 0, i32 0
|
|
%t268 = load ptr, ptr %t267
|
|
call void @fn_emit(ptr %t268)
|
|
call void @fn_emit(ptr @.str4454)
|
|
%t269 = call ptr @fn_val(ptr @.str4455, ptr @.str4456)
|
|
store ptr %t269, ptr %retval
|
|
br label %ret
|
|
ifend50:
|
|
%t270 = load ptr, ptr %t38
|
|
%t271 = call i32 @fn_str_eq(ptr %t270, ptr @.str4457)
|
|
%t272 = icmp ne i32 %t271, 0
|
|
br i1 %t272, label %then51, label %ifend53
|
|
then51:
|
|
%t273 = load ptr, ptr %t0
|
|
%t274 = getelementptr inbounds %Cmp_Node, ptr %t273, i32 0, i32 7
|
|
%t275 = load ptr, ptr %t274
|
|
%t276 = getelementptr inbounds %LSlice, ptr %t275, i32 0, i32 0
|
|
%t277 = load ptr, ptr %t276
|
|
%t278 = getelementptr inbounds ptr, ptr %t277, i32 0
|
|
%t279 = load ptr, ptr %t278
|
|
%t280 = call ptr @fn_emit_expr(ptr %t279)
|
|
store ptr %t280, ptr %t281
|
|
%t282 = load ptr, ptr %t281
|
|
%t283 = getelementptr inbounds %Cmp_Val, ptr %t282, i32 0, i32 0
|
|
%t284 = load ptr, ptr %t283
|
|
%t285 = call ptr @fn_str_concat(ptr @.str4458, ptr %t284)
|
|
%t286 = call ptr @fn_str_concat(ptr %t285, ptr @.str4459)
|
|
%t287 = call ptr @fn_emit_bind(ptr %t286)
|
|
%t288 = call ptr @fn_val(ptr %t287, ptr @.str4460)
|
|
store ptr %t288, ptr %retval
|
|
br label %ret
|
|
ifend53:
|
|
%t289 = load ptr, ptr %t38
|
|
%t290 = call i32 @fn_str_eq(ptr %t289, ptr @.str4461)
|
|
%t291 = icmp ne i32 %t290, 0
|
|
br i1 %t291, label %then54, label %ifend56
|
|
then54:
|
|
%t292 = call ptr @fn_emit_bind(ptr @.str4462)
|
|
store ptr %t292, ptr %t293
|
|
%t294 = load ptr, ptr %t293
|
|
%t295 = call ptr @fn_str_concat(ptr @.str4463, ptr %t294)
|
|
%t296 = call ptr @fn_str_concat(ptr %t295, ptr @.str4464)
|
|
%t297 = call ptr @fn_emit_bind(ptr %t296)
|
|
store ptr %t297, ptr %t298
|
|
%t299 = load ptr, ptr %t298
|
|
%t300 = call ptr @fn_str_concat(ptr @.str4465, ptr %t299)
|
|
%t301 = call ptr @fn_str_concat(ptr %t300, ptr @.str4466)
|
|
%t302 = call ptr @fn_emit_bind(ptr %t301)
|
|
%t303 = call ptr @fn_val(ptr %t302, ptr @.str4467)
|
|
store ptr %t303, ptr %retval
|
|
br label %ret
|
|
ifend56:
|
|
%t304 = load ptr, ptr %t38
|
|
%t305 = call i32 @fn_str_eq(ptr %t304, ptr @.str4468)
|
|
%t306 = icmp ne i32 %t305, 0
|
|
br i1 %t306, label %then57, label %ifend59
|
|
then57:
|
|
%t307 = call ptr @fn_emit_bind(ptr @.str4469)
|
|
%t308 = call ptr @fn_val(ptr %t307, ptr @.str4470)
|
|
store ptr %t308, ptr %retval
|
|
br label %ret
|
|
ifend59:
|
|
%t309 = load ptr, ptr %t38
|
|
%t310 = call i32 @fn_str_eq(ptr %t309, ptr @.str4471)
|
|
%t311 = icmp ne i32 %t310, 0
|
|
br i1 %t311, label %then60, label %ifend62
|
|
then60:
|
|
call void @fn_emit(ptr @.str4472)
|
|
%t312 = call ptr @fn_val(ptr @.str4473, ptr @.str4474)
|
|
store ptr %t312, ptr %retval
|
|
br label %ret
|
|
ifend62:
|
|
%t313 = load ptr, ptr %t38
|
|
%t314 = call i32 @fn_str_eq(ptr %t313, ptr @.str4475)
|
|
%t315 = icmp ne i32 %t314, 0
|
|
br i1 %t315, label %then63, label %ifend65
|
|
then63:
|
|
call void @fn_emit(ptr @.str4476)
|
|
%t316 = call ptr @fn_val(ptr @.str4477, ptr @.str4478)
|
|
store ptr %t316, ptr %retval
|
|
br label %ret
|
|
ifend65:
|
|
%t317 = load ptr, ptr %t38
|
|
%t318 = call i32 @fn_str_eq(ptr %t317, ptr @.str4479)
|
|
%t319 = icmp ne i32 %t318, 0
|
|
br i1 %t319, label %then66, label %ifend68
|
|
then66:
|
|
call void @fn_emit(ptr @.str4480)
|
|
%t320 = call ptr @fn_val(ptr @.str4481, ptr @.str4482)
|
|
store ptr %t320, ptr %retval
|
|
br label %ret
|
|
ifend68:
|
|
%t321 = load ptr, ptr %t38
|
|
%t322 = call i32 @fn_str_eq(ptr %t321, ptr @.str4483)
|
|
%t323 = icmp ne i32 %t322, 0
|
|
br i1 %t323, label %then69, label %ifend71
|
|
then69:
|
|
%t324 = load ptr, ptr %t0
|
|
%t325 = getelementptr inbounds %Cmp_Node, ptr %t324, i32 0, i32 7
|
|
%t326 = load ptr, ptr %t325
|
|
%t327 = getelementptr inbounds %LSlice, ptr %t326, i32 0, i32 0
|
|
%t328 = load ptr, ptr %t327
|
|
%t329 = getelementptr inbounds ptr, ptr %t328, i32 0
|
|
%t330 = load ptr, ptr %t329
|
|
%t331 = call ptr @fn_emit_expr(ptr %t330)
|
|
store ptr %t331, ptr %t332
|
|
call void @fn_emit(ptr @.str4484)
|
|
%t333 = load ptr, ptr %t332
|
|
%t334 = getelementptr inbounds %Cmp_Val, ptr %t333, i32 0, i32 0
|
|
%t335 = load ptr, ptr %t334
|
|
call void @fn_emit(ptr %t335)
|
|
call void @fn_emit(ptr @.str4485)
|
|
%t336 = call ptr @fn_val(ptr @.str4486, ptr @.str4487)
|
|
store ptr %t336, ptr %retval
|
|
br label %ret
|
|
ifend71:
|
|
%t337 = load ptr, ptr %t38
|
|
%t338 = call i32 @fn_str_eq(ptr %t337, ptr @.str4488)
|
|
%t339 = icmp ne i32 %t338, 0
|
|
br i1 %t339, label %then72, label %ifend74
|
|
then72:
|
|
%t340 = load ptr, ptr %t0
|
|
%t341 = getelementptr inbounds %Cmp_Node, ptr %t340, i32 0, i32 7
|
|
%t342 = load ptr, ptr %t341
|
|
%t343 = getelementptr inbounds %LSlice, ptr %t342, i32 0, i32 0
|
|
%t344 = load ptr, ptr %t343
|
|
%t345 = getelementptr inbounds ptr, ptr %t344, i32 0
|
|
%t346 = load ptr, ptr %t345
|
|
%t347 = call ptr @fn_emit_expr(ptr %t346)
|
|
store ptr %t347, ptr %t348
|
|
call void @fn_emit(ptr @.str4489)
|
|
%t349 = load ptr, ptr %t348
|
|
%t350 = getelementptr inbounds %Cmp_Val, ptr %t349, i32 0, i32 0
|
|
%t351 = load ptr, ptr %t350
|
|
call void @fn_emit(ptr %t351)
|
|
call void @fn_emit(ptr @.str4490)
|
|
%t352 = call ptr @fn_val(ptr @.str4491, ptr @.str4492)
|
|
store ptr %t352, ptr %retval
|
|
br label %ret
|
|
ifend74:
|
|
%t354 = load ptr, ptr %t38
|
|
%t355 = call i32 @fn_str_eq(ptr %t354, ptr @.str4493)
|
|
%t356 = icmp ne i32 %t355, 0
|
|
%t357 = zext i1 %t356 to i32
|
|
store i32 %t357, ptr %t353
|
|
br i1 %t356, label %sc75, label %scend76
|
|
sc75:
|
|
%t358 = call ptr @fn_find_extern(ptr @.str4494)
|
|
%t359 = icmp eq ptr %t358, null
|
|
%t360 = zext i1 %t359 to i32
|
|
%t361 = icmp ne i32 %t360, 0
|
|
%t362 = zext i1 %t361 to i32
|
|
store i32 %t362, ptr %t353
|
|
br label %scend76
|
|
scend76:
|
|
%t363 = load i32, ptr %t353
|
|
%t364 = icmp ne i32 %t363, 0
|
|
br i1 %t364, label %then77, label %ifend79
|
|
then77:
|
|
store i32 1, ptr @g_g_uses_loopback
|
|
%t365 = load ptr, ptr %t0
|
|
%t366 = getelementptr inbounds %Cmp_Node, ptr %t365, i32 0, i32 7
|
|
%t367 = load ptr, ptr %t366
|
|
%t368 = getelementptr inbounds %LSlice, ptr %t367, i32 0, i32 0
|
|
%t369 = load ptr, ptr %t368
|
|
%t370 = getelementptr inbounds ptr, ptr %t369, i32 0
|
|
%t371 = load ptr, ptr %t370
|
|
%t372 = call ptr @fn_emit_expr(ptr %t371)
|
|
store ptr %t372, ptr %t373
|
|
%t374 = load ptr, ptr %t0
|
|
%t375 = getelementptr inbounds %Cmp_Node, ptr %t374, i32 0, i32 7
|
|
%t376 = load ptr, ptr %t375
|
|
%t377 = getelementptr inbounds %LSlice, ptr %t376, i32 0, i32 0
|
|
%t378 = load ptr, ptr %t377
|
|
%t379 = getelementptr inbounds ptr, ptr %t378, i32 1
|
|
%t380 = load ptr, ptr %t379
|
|
%t381 = call ptr @fn_emit_expr(ptr %t380)
|
|
store ptr %t381, ptr %t382
|
|
%t383 = load ptr, ptr %t0
|
|
%t384 = getelementptr inbounds %Cmp_Node, ptr %t383, i32 0, i32 7
|
|
%t385 = load ptr, ptr %t384
|
|
%t386 = getelementptr inbounds %LSlice, ptr %t385, i32 0, i32 0
|
|
%t387 = load ptr, ptr %t386
|
|
%t388 = getelementptr inbounds ptr, ptr %t387, i32 2
|
|
%t389 = load ptr, ptr %t388
|
|
%t390 = call ptr @fn_emit_expr(ptr %t389)
|
|
store ptr %t390, ptr %t391
|
|
call void @fn_emit(ptr @.str4495)
|
|
%t392 = load ptr, ptr %t373
|
|
%t393 = getelementptr inbounds %Cmp_Val, ptr %t392, i32 0, i32 0
|
|
%t394 = load ptr, ptr %t393
|
|
call void @fn_emit(ptr %t394)
|
|
call void @fn_emit(ptr @.str4496)
|
|
%t395 = load ptr, ptr %t382
|
|
%t396 = getelementptr inbounds %Cmp_Val, ptr %t395, i32 0, i32 0
|
|
%t397 = load ptr, ptr %t396
|
|
call void @fn_emit(ptr %t397)
|
|
call void @fn_emit(ptr @.str4497)
|
|
%t398 = load ptr, ptr %t391
|
|
%t399 = getelementptr inbounds %Cmp_Val, ptr %t398, i32 0, i32 0
|
|
%t400 = load ptr, ptr %t399
|
|
call void @fn_emit(ptr %t400)
|
|
call void @fn_emit(ptr @.str4498)
|
|
%t401 = call ptr @fn_val(ptr @.str4499, ptr @.str4500)
|
|
store ptr %t401, ptr %retval
|
|
br label %ret
|
|
ifend79:
|
|
%t403 = load ptr, ptr %t38
|
|
%t404 = call i32 @fn_str_eq(ptr %t403, ptr @.str4501)
|
|
%t405 = icmp ne i32 %t404, 0
|
|
%t406 = zext i1 %t405 to i32
|
|
store i32 %t406, ptr %t402
|
|
br i1 %t405, label %sc80, label %scend81
|
|
sc80:
|
|
%t407 = call ptr @fn_find_extern(ptr @.str4502)
|
|
%t408 = icmp eq ptr %t407, null
|
|
%t409 = zext i1 %t408 to i32
|
|
%t410 = icmp ne i32 %t409, 0
|
|
%t411 = zext i1 %t410 to i32
|
|
store i32 %t411, ptr %t402
|
|
br label %scend81
|
|
scend81:
|
|
%t412 = load i32, ptr %t402
|
|
%t413 = icmp ne i32 %t412, 0
|
|
br i1 %t413, label %then82, label %ifend84
|
|
then82:
|
|
store i32 1, ptr @g_g_uses_loopback
|
|
%t414 = load ptr, ptr %t0
|
|
%t415 = getelementptr inbounds %Cmp_Node, ptr %t414, i32 0, i32 7
|
|
%t416 = load ptr, ptr %t415
|
|
%t417 = getelementptr inbounds %LSlice, ptr %t416, i32 0, i32 0
|
|
%t418 = load ptr, ptr %t417
|
|
%t419 = getelementptr inbounds ptr, ptr %t418, i32 0
|
|
%t420 = load ptr, ptr %t419
|
|
%t421 = call ptr @fn_emit_expr(ptr %t420)
|
|
store ptr %t421, ptr %t422
|
|
%t423 = load ptr, ptr %t0
|
|
%t424 = getelementptr inbounds %Cmp_Node, ptr %t423, i32 0, i32 7
|
|
%t425 = load ptr, ptr %t424
|
|
%t426 = getelementptr inbounds %LSlice, ptr %t425, i32 0, i32 0
|
|
%t427 = load ptr, ptr %t426
|
|
%t428 = getelementptr inbounds ptr, ptr %t427, i32 1
|
|
%t429 = load ptr, ptr %t428
|
|
%t430 = call ptr @fn_emit_expr(ptr %t429)
|
|
store ptr %t430, ptr %t431
|
|
%t432 = load ptr, ptr %t422
|
|
%t433 = getelementptr inbounds %Cmp_Val, ptr %t432, i32 0, i32 0
|
|
%t434 = load ptr, ptr %t433
|
|
%t435 = call ptr @fn_str_concat(ptr @.str4503, ptr %t434)
|
|
%t436 = call ptr @fn_str_concat(ptr %t435, ptr @.str4504)
|
|
%t437 = load ptr, ptr %t431
|
|
%t438 = getelementptr inbounds %Cmp_Val, ptr %t437, i32 0, i32 0
|
|
%t439 = load ptr, ptr %t438
|
|
%t440 = call ptr @fn_str_concat(ptr %t436, ptr %t439)
|
|
%t441 = call ptr @fn_str_concat(ptr %t440, ptr @.str4505)
|
|
%t442 = call ptr @fn_emit_bind(ptr %t441)
|
|
%t443 = call ptr @fn_val(ptr %t442, ptr @.str4506)
|
|
store ptr %t443, ptr %retval
|
|
br label %ret
|
|
ifend84:
|
|
%t444 = load ptr, ptr %t38
|
|
%t445 = call i32 @fn_str_eq(ptr %t444, ptr @.str4507)
|
|
%t446 = icmp ne i32 %t445, 0
|
|
br i1 %t446, label %then85, label %ifend87
|
|
then85:
|
|
%t447 = load ptr, ptr %t0
|
|
%t448 = call ptr @fn_emit_len(ptr %t447)
|
|
store ptr %t448, ptr %retval
|
|
br label %ret
|
|
ifend87:
|
|
%t449 = load ptr, ptr %t38
|
|
%t450 = call i32 @fn_str_eq(ptr %t449, ptr @.str4508)
|
|
%t451 = icmp ne i32 %t450, 0
|
|
br i1 %t451, label %then88, label %ifend90
|
|
then88:
|
|
%t452 = load ptr, ptr %t0
|
|
%t453 = call ptr @fn_emit_push(ptr %t452)
|
|
store ptr %t453, ptr %retval
|
|
br label %ret
|
|
ifend90:
|
|
%t454 = load ptr, ptr %t38
|
|
%t455 = call i32 @fn_str_eq(ptr %t454, ptr @.str4509)
|
|
%t456 = icmp ne i32 %t455, 0
|
|
br i1 %t456, label %then91, label %ifend93
|
|
then91:
|
|
%t457 = load ptr, ptr %t0
|
|
%t458 = getelementptr inbounds %Cmp_Node, ptr %t457, i32 0, i32 7
|
|
%t459 = load ptr, ptr %t458
|
|
%t460 = getelementptr inbounds %LSlice, ptr %t459, i32 0, i32 0
|
|
%t461 = load ptr, ptr %t460
|
|
%t462 = getelementptr inbounds ptr, ptr %t461, i32 0
|
|
%t463 = load ptr, ptr %t462
|
|
%t464 = call ptr @fn_emit_expr(ptr %t463)
|
|
store ptr %t464, ptr %t465
|
|
%t466 = load ptr, ptr %t465
|
|
%t467 = getelementptr inbounds %Cmp_Val, ptr %t466, i32 0, i32 1
|
|
%t468 = load ptr, ptr %t467
|
|
%t469 = call ptr @fn_llty(ptr %t468)
|
|
%t470 = call i32 @fn_str_eq(ptr %t469, ptr @.str4510)
|
|
%t471 = icmp ne i32 %t470, 0
|
|
br i1 %t471, label %then94, label %ifend96
|
|
then94:
|
|
%t472 = load ptr, ptr %t465
|
|
store ptr %t472, ptr %retval
|
|
br label %ret
|
|
ifend96:
|
|
%t473 = load ptr, ptr %t465
|
|
%t474 = getelementptr inbounds %Cmp_Val, ptr %t473, i32 0, i32 1
|
|
%t475 = load ptr, ptr %t474
|
|
%t476 = call ptr @fn_llty(ptr %t475)
|
|
%t477 = call i32 @fn_str_eq(ptr %t476, ptr @.str4511)
|
|
%t478 = icmp ne i32 %t477, 0
|
|
br i1 %t478, label %then97, label %ifend99
|
|
then97:
|
|
store i32 1, ptr @g_g_uses_longstr
|
|
%t479 = load ptr, ptr %t465
|
|
%t480 = getelementptr inbounds %Cmp_Val, ptr %t479, i32 0, i32 0
|
|
%t481 = load ptr, ptr %t480
|
|
%t482 = call ptr @fn_str_concat(ptr @.str4512, ptr %t481)
|
|
%t483 = call ptr @fn_str_concat(ptr %t482, ptr @.str4513)
|
|
%t484 = call ptr @fn_emit_bind(ptr %t483)
|
|
%t485 = call ptr @fn_val(ptr %t484, ptr @.str4514)
|
|
store ptr %t485, ptr %retval
|
|
br label %ret
|
|
ifend99:
|
|
store i32 1, ptr @g_g_uses_intstr
|
|
%t486 = load ptr, ptr %t465
|
|
%t487 = getelementptr inbounds %Cmp_Val, ptr %t486, i32 0, i32 0
|
|
%t488 = load ptr, ptr %t487
|
|
%t489 = call ptr @fn_str_concat(ptr @.str4515, ptr %t488)
|
|
%t490 = call ptr @fn_str_concat(ptr %t489, ptr @.str4516)
|
|
%t491 = call ptr @fn_emit_bind(ptr %t490)
|
|
%t492 = call ptr @fn_val(ptr %t491, ptr @.str4517)
|
|
store ptr %t492, ptr %retval
|
|
br label %ret
|
|
ifend93:
|
|
%t493 = load ptr, ptr %t38
|
|
%t494 = call i32 @fn_str_eq(ptr %t493, ptr @.str4518)
|
|
%t495 = icmp ne i32 %t494, 0
|
|
br i1 %t495, label %then100, label %ifend102
|
|
then100:
|
|
%t496 = load ptr, ptr %t0
|
|
%t497 = getelementptr inbounds %Cmp_Node, ptr %t496, i32 0, i32 7
|
|
%t498 = load ptr, ptr %t497
|
|
%t499 = getelementptr inbounds %LSlice, ptr %t498, i32 0, i32 0
|
|
%t500 = load ptr, ptr %t499
|
|
%t501 = getelementptr inbounds ptr, ptr %t500, i32 0
|
|
%t502 = load ptr, ptr %t501
|
|
%t503 = call ptr @fn_emit_expr(ptr %t502)
|
|
store ptr %t503, ptr %t504
|
|
%t505 = load ptr, ptr %t504
|
|
%t506 = getelementptr inbounds %Cmp_Val, ptr %t505, i32 0, i32 1
|
|
%t507 = load ptr, ptr %t506
|
|
%t508 = call ptr @fn_llty(ptr %t507)
|
|
%t509 = call i32 @fn_str_eq(ptr %t508, ptr @.str4519)
|
|
%t510 = icmp ne i32 %t509, 0
|
|
br i1 %t510, label %then103, label %else104
|
|
then103:
|
|
%t511 = load ptr, ptr %t504
|
|
%t512 = getelementptr inbounds %Cmp_Val, ptr %t511, i32 0, i32 0
|
|
%t513 = load ptr, ptr %t512
|
|
%t514 = call ptr @fn_str_concat(ptr %t513, ptr @.str4521)
|
|
%t515 = call ptr @fn_str_concat(ptr @.str4520, ptr %t514)
|
|
call void @fn_emit(ptr %t515)
|
|
br label %ifend105
|
|
else104:
|
|
%t516 = load ptr, ptr %t504
|
|
%t517 = getelementptr inbounds %Cmp_Val, ptr %t516, i32 0, i32 1
|
|
%t518 = load ptr, ptr %t517
|
|
%t519 = call ptr @fn_llty(ptr %t518)
|
|
%t520 = call i32 @fn_str_eq(ptr %t519, ptr @.str4522)
|
|
%t521 = icmp ne i32 %t520, 0
|
|
br i1 %t521, label %then106, label %else107
|
|
then106:
|
|
%t522 = load ptr, ptr %t504
|
|
%t523 = getelementptr inbounds %Cmp_Val, ptr %t522, i32 0, i32 0
|
|
%t524 = load ptr, ptr %t523
|
|
%t525 = call ptr @fn_str_concat(ptr %t524, ptr @.str4524)
|
|
%t526 = call ptr @fn_str_concat(ptr @.str4523, ptr %t525)
|
|
call void @fn_emit(ptr %t526)
|
|
br label %ifend108
|
|
else107:
|
|
%t527 = load ptr, ptr %t504
|
|
%t528 = getelementptr inbounds %Cmp_Val, ptr %t527, i32 0, i32 0
|
|
%t529 = load ptr, ptr %t528
|
|
%t530 = call ptr @fn_str_concat(ptr %t529, ptr @.str4526)
|
|
%t531 = call ptr @fn_str_concat(ptr @.str4525, ptr %t530)
|
|
call void @fn_emit(ptr %t531)
|
|
br label %ifend108
|
|
ifend108:
|
|
br label %ifend105
|
|
ifend105:
|
|
%t532 = call ptr @fn_val(ptr @.str4527, ptr @.str4528)
|
|
store ptr %t532, ptr %retval
|
|
br label %ret
|
|
ifend102:
|
|
%t533 = load ptr, ptr %t38
|
|
%t534 = call i32 @fn_str_eq(ptr %t533, ptr @.str4529)
|
|
%t535 = icmp ne i32 %t534, 0
|
|
br i1 %t535, label %then109, label %ifend111
|
|
then109:
|
|
%t536 = load ptr, ptr %t0
|
|
%t537 = getelementptr inbounds %Cmp_Node, ptr %t536, i32 0, i32 7
|
|
%t538 = load ptr, ptr %t537
|
|
%t539 = getelementptr inbounds %LSlice, ptr %t538, i32 0, i32 0
|
|
%t540 = load ptr, ptr %t539
|
|
%t541 = getelementptr inbounds ptr, ptr %t540, i32 0
|
|
%t542 = load ptr, ptr %t541
|
|
%t543 = call ptr @fn_emit_expr(ptr %t542)
|
|
store ptr %t543, ptr %t544
|
|
%t545 = load ptr, ptr %t544
|
|
%t546 = getelementptr inbounds %Cmp_Val, ptr %t545, i32 0, i32 0
|
|
%t547 = load ptr, ptr %t546
|
|
%t548 = call ptr @fn_str_concat(ptr @.str4530, ptr %t547)
|
|
%t549 = call ptr @fn_str_concat(ptr %t548, ptr @.str4531)
|
|
%t550 = call ptr @fn_emit_bind(ptr %t549)
|
|
store ptr %t550, ptr %t551
|
|
%t552 = load ptr, ptr %t551
|
|
%t553 = call ptr @fn_str_concat(ptr @.str4532, ptr %t552)
|
|
%t554 = call ptr @fn_str_concat(ptr %t553, ptr @.str4533)
|
|
%t555 = call ptr @fn_emit_bind(ptr %t554)
|
|
%t556 = call ptr @fn_val(ptr %t555, ptr @.str4534)
|
|
store ptr %t556, ptr %retval
|
|
br label %ret
|
|
ifend111:
|
|
%t557 = load ptr, ptr %t38
|
|
%t558 = call i32 @fn_str_eq(ptr %t557, ptr @.str4535)
|
|
%t559 = icmp ne i32 %t558, 0
|
|
br i1 %t559, label %then112, label %ifend114
|
|
then112:
|
|
%t560 = load ptr, ptr %t0
|
|
%t561 = getelementptr inbounds %Cmp_Node, ptr %t560, i32 0, i32 7
|
|
%t562 = load ptr, ptr %t561
|
|
%t563 = getelementptr inbounds %LSlice, ptr %t562, i32 0, i32 0
|
|
%t564 = load ptr, ptr %t563
|
|
%t565 = getelementptr inbounds ptr, ptr %t564, i32 0
|
|
%t566 = load ptr, ptr %t565
|
|
%t567 = call ptr @fn_emit_expr(ptr %t566)
|
|
store ptr %t567, ptr %t568
|
|
%t569 = load ptr, ptr %t568
|
|
%t570 = getelementptr inbounds %Cmp_Val, ptr %t569, i32 0, i32 0
|
|
%t571 = load ptr, ptr %t570
|
|
%t572 = call ptr @fn_str_concat(ptr @.str4536, ptr %t571)
|
|
%t573 = call ptr @fn_str_concat(ptr %t572, ptr @.str4537)
|
|
%t574 = call ptr @fn_emit_bind(ptr %t573)
|
|
store ptr %t574, ptr %t575
|
|
%t576 = load ptr, ptr %t575
|
|
%t577 = call ptr @fn_str_concat(ptr @.str4538, ptr %t576)
|
|
%t578 = call ptr @fn_str_concat(ptr %t577, ptr @.str4539)
|
|
%t579 = call ptr @fn_emit_bind(ptr %t578)
|
|
store ptr %t579, ptr %t580
|
|
%t581 = load ptr, ptr %t580
|
|
%t582 = call ptr @fn_str_concat(ptr @.str4540, ptr %t581)
|
|
%t583 = call ptr @fn_str_concat(ptr %t582, ptr @.str4541)
|
|
%t584 = call ptr @fn_emit_bind(ptr %t583)
|
|
%t585 = call ptr @fn_val(ptr %t584, ptr @.str4542)
|
|
store ptr %t585, ptr %retval
|
|
br label %ret
|
|
ifend114:
|
|
%t586 = load ptr, ptr %t38
|
|
%t587 = call i32 @fn_str_eq(ptr %t586, ptr @.str4543)
|
|
%t588 = icmp ne i32 %t587, 0
|
|
br i1 %t588, label %then115, label %ifend117
|
|
then115:
|
|
%t589 = load ptr, ptr %t0
|
|
%t590 = getelementptr inbounds %Cmp_Node, ptr %t589, i32 0, i32 7
|
|
%t591 = load ptr, ptr %t590
|
|
%t592 = getelementptr inbounds %LSlice, ptr %t591, i32 0, i32 0
|
|
%t593 = load ptr, ptr %t592
|
|
%t594 = getelementptr inbounds ptr, ptr %t593, i32 0
|
|
%t595 = load ptr, ptr %t594
|
|
%t596 = call ptr @fn_emit_expr(ptr %t595)
|
|
store ptr %t596, ptr %t597
|
|
%t598 = load ptr, ptr %t597
|
|
%t599 = getelementptr inbounds %Cmp_Val, ptr %t598, i32 0, i32 0
|
|
%t600 = load ptr, ptr %t599
|
|
%t601 = call ptr @fn_str_concat(ptr @.str4544, ptr %t600)
|
|
%t602 = call ptr @fn_str_concat(ptr %t601, ptr @.str4545)
|
|
%t603 = call ptr @fn_emit_bind(ptr %t602)
|
|
%t604 = call ptr @fn_val(ptr %t603, ptr @.str4546)
|
|
store ptr %t604, ptr %retval
|
|
br label %ret
|
|
ifend117:
|
|
%t605 = load ptr, ptr %t38
|
|
%t606 = call i32 @fn_str_eq(ptr %t605, ptr @.str4547)
|
|
%t607 = icmp ne i32 %t606, 0
|
|
br i1 %t607, label %then118, label %ifend120
|
|
then118:
|
|
%t608 = load ptr, ptr %t0
|
|
%t609 = getelementptr inbounds %Cmp_Node, ptr %t608, i32 0, i32 7
|
|
%t610 = load ptr, ptr %t609
|
|
%t611 = getelementptr inbounds %LSlice, ptr %t610, i32 0, i32 0
|
|
%t612 = load ptr, ptr %t611
|
|
%t613 = getelementptr inbounds ptr, ptr %t612, i32 0
|
|
%t614 = load ptr, ptr %t613
|
|
%t615 = call ptr @fn_emit_expr(ptr %t614)
|
|
store ptr %t615, ptr %t616
|
|
%t617 = load ptr, ptr %t616
|
|
%t618 = getelementptr inbounds %Cmp_Val, ptr %t617, i32 0, i32 0
|
|
%t619 = load ptr, ptr %t618
|
|
%t620 = call ptr @fn_str_concat(ptr @.str4548, ptr %t619)
|
|
%t621 = call ptr @fn_str_concat(ptr %t620, ptr @.str4549)
|
|
%t622 = call ptr @fn_emit_bind(ptr %t621)
|
|
%t623 = call ptr @fn_val(ptr %t622, ptr @.str4550)
|
|
store ptr %t623, ptr %retval
|
|
br label %ret
|
|
ifend120:
|
|
%t624 = load ptr, ptr %t38
|
|
%t625 = call i32 @fn_str_eq(ptr %t624, ptr @.str4551)
|
|
%t626 = icmp ne i32 %t625, 0
|
|
br i1 %t626, label %then121, label %ifend123
|
|
then121:
|
|
%t627 = load ptr, ptr %t0
|
|
%t628 = getelementptr inbounds %Cmp_Node, ptr %t627, i32 0, i32 7
|
|
%t629 = load ptr, ptr %t628
|
|
%t630 = getelementptr inbounds %LSlice, ptr %t629, i32 0, i32 0
|
|
%t631 = load ptr, ptr %t630
|
|
%t632 = getelementptr inbounds ptr, ptr %t631, i32 0
|
|
%t633 = load ptr, ptr %t632
|
|
%t634 = call ptr @fn_emit_expr(ptr %t633)
|
|
store ptr %t634, ptr %t635
|
|
%t636 = load ptr, ptr %t635
|
|
%t637 = getelementptr inbounds %Cmp_Val, ptr %t636, i32 0, i32 0
|
|
%t638 = load ptr, ptr %t637
|
|
%t639 = call ptr @fn_str_concat(ptr @.str4552, ptr %t638)
|
|
%t640 = call ptr @fn_str_concat(ptr %t639, ptr @.str4553)
|
|
%t641 = call ptr @fn_emit_bind(ptr %t640)
|
|
%t642 = call ptr @fn_val(ptr %t641, ptr @.str4554)
|
|
store ptr %t642, ptr %retval
|
|
br label %ret
|
|
ifend123:
|
|
%t643 = load ptr, ptr %t38
|
|
%t644 = call i32 @fn_str_eq(ptr %t643, ptr @.str4555)
|
|
%t645 = icmp ne i32 %t644, 0
|
|
br i1 %t645, label %then124, label %ifend126
|
|
then124:
|
|
%t646 = load ptr, ptr %t0
|
|
%t647 = getelementptr inbounds %Cmp_Node, ptr %t646, i32 0, i32 7
|
|
%t648 = load ptr, ptr %t647
|
|
%t649 = getelementptr inbounds %LSlice, ptr %t648, i32 0, i32 0
|
|
%t650 = load ptr, ptr %t649
|
|
%t651 = getelementptr inbounds ptr, ptr %t650, i32 0
|
|
%t652 = load ptr, ptr %t651
|
|
%t653 = call ptr @fn_emit_expr(ptr %t652)
|
|
store ptr %t653, ptr %t654
|
|
%t655 = load ptr, ptr %t0
|
|
%t656 = getelementptr inbounds %Cmp_Node, ptr %t655, i32 0, i32 7
|
|
%t657 = load ptr, ptr %t656
|
|
%t658 = getelementptr inbounds %LSlice, ptr %t657, i32 0, i32 0
|
|
%t659 = load ptr, ptr %t658
|
|
%t660 = getelementptr inbounds ptr, ptr %t659, i32 1
|
|
%t661 = load ptr, ptr %t660
|
|
%t662 = call ptr @fn_emit_expr(ptr %t661)
|
|
store ptr %t662, ptr %t663
|
|
%t664 = load ptr, ptr %t654
|
|
%t665 = getelementptr inbounds %Cmp_Val, ptr %t664, i32 0, i32 0
|
|
%t666 = load ptr, ptr %t665
|
|
%t667 = call ptr @fn_str_concat(ptr @.str4556, ptr %t666)
|
|
%t668 = call ptr @fn_str_concat(ptr %t667, ptr @.str4557)
|
|
%t669 = load ptr, ptr %t663
|
|
%t670 = getelementptr inbounds %Cmp_Val, ptr %t669, i32 0, i32 0
|
|
%t671 = load ptr, ptr %t670
|
|
%t672 = call ptr @fn_str_concat(ptr %t668, ptr %t671)
|
|
%t673 = call ptr @fn_str_concat(ptr %t672, ptr @.str4558)
|
|
%t674 = call ptr @fn_emit_bind(ptr %t673)
|
|
%t675 = call ptr @fn_val(ptr %t674, ptr @.str4559)
|
|
store ptr %t675, ptr %retval
|
|
br label %ret
|
|
ifend126:
|
|
%t676 = load ptr, ptr %t38
|
|
%t677 = call i32 @fn_str_eq(ptr %t676, ptr @.str4560)
|
|
%t678 = icmp ne i32 %t677, 0
|
|
br i1 %t678, label %then127, label %ifend129
|
|
then127:
|
|
%t679 = load ptr, ptr %t0
|
|
%t680 = getelementptr inbounds %Cmp_Node, ptr %t679, i32 0, i32 7
|
|
%t681 = load ptr, ptr %t680
|
|
%t682 = getelementptr inbounds %LSlice, ptr %t681, i32 0, i32 0
|
|
%t683 = load ptr, ptr %t682
|
|
%t684 = getelementptr inbounds ptr, ptr %t683, i32 0
|
|
%t685 = load ptr, ptr %t684
|
|
%t686 = call ptr @fn_emit_expr(ptr %t685)
|
|
store ptr %t686, ptr %t687
|
|
%t688 = load ptr, ptr %t0
|
|
%t689 = getelementptr inbounds %Cmp_Node, ptr %t688, i32 0, i32 7
|
|
%t690 = load ptr, ptr %t689
|
|
%t691 = getelementptr inbounds %LSlice, ptr %t690, i32 0, i32 0
|
|
%t692 = load ptr, ptr %t691
|
|
%t693 = getelementptr inbounds ptr, ptr %t692, i32 1
|
|
%t694 = load ptr, ptr %t693
|
|
%t695 = call ptr @fn_emit_expr(ptr %t694)
|
|
store ptr %t695, ptr %t696
|
|
%t697 = load ptr, ptr %t0
|
|
%t698 = getelementptr inbounds %Cmp_Node, ptr %t697, i32 0, i32 7
|
|
%t699 = load ptr, ptr %t698
|
|
%t700 = getelementptr inbounds %LSlice, ptr %t699, i32 0, i32 0
|
|
%t701 = load ptr, ptr %t700
|
|
%t702 = getelementptr inbounds ptr, ptr %t701, i32 2
|
|
%t703 = load ptr, ptr %t702
|
|
%t704 = call ptr @fn_emit_expr(ptr %t703)
|
|
store ptr %t704, ptr %t705
|
|
%t706 = load ptr, ptr %t687
|
|
%t707 = getelementptr inbounds %Cmp_Val, ptr %t706, i32 0, i32 0
|
|
%t708 = load ptr, ptr %t707
|
|
%t709 = call ptr @fn_str_concat(ptr @.str4561, ptr %t708)
|
|
%t710 = call ptr @fn_str_concat(ptr %t709, ptr @.str4562)
|
|
%t711 = load ptr, ptr %t696
|
|
%t712 = getelementptr inbounds %Cmp_Val, ptr %t711, i32 0, i32 0
|
|
%t713 = load ptr, ptr %t712
|
|
%t714 = call ptr @fn_str_concat(ptr %t710, ptr %t713)
|
|
%t715 = call ptr @fn_str_concat(ptr %t714, ptr @.str4563)
|
|
%t716 = load ptr, ptr %t705
|
|
%t717 = getelementptr inbounds %Cmp_Val, ptr %t716, i32 0, i32 0
|
|
%t718 = load ptr, ptr %t717
|
|
%t719 = call ptr @fn_str_concat(ptr %t715, ptr %t718)
|
|
%t720 = call ptr @fn_str_concat(ptr %t719, ptr @.str4564)
|
|
%t721 = call ptr @fn_emit_bind(ptr %t720)
|
|
store ptr %t721, ptr %t722
|
|
%t723 = load ptr, ptr %t722
|
|
%t724 = call ptr @fn_str_concat(ptr @.str4565, ptr %t723)
|
|
%t725 = call ptr @fn_str_concat(ptr %t724, ptr @.str4566)
|
|
%t726 = call ptr @fn_emit_bind(ptr %t725)
|
|
%t727 = call ptr @fn_val(ptr %t726, ptr @.str4567)
|
|
store ptr %t727, ptr %retval
|
|
br label %ret
|
|
ifend129:
|
|
%t728 = load ptr, ptr %t38
|
|
%t729 = call i32 @fn_str_eq(ptr %t728, ptr @.str4568)
|
|
%t730 = icmp ne i32 %t729, 0
|
|
br i1 %t730, label %then130, label %ifend132
|
|
then130:
|
|
%t731 = load ptr, ptr %t0
|
|
%t732 = getelementptr inbounds %Cmp_Node, ptr %t731, i32 0, i32 7
|
|
%t733 = load ptr, ptr %t732
|
|
%t734 = getelementptr inbounds %LSlice, ptr %t733, i32 0, i32 0
|
|
%t735 = load ptr, ptr %t734
|
|
%t736 = getelementptr inbounds ptr, ptr %t735, i32 0
|
|
%t737 = load ptr, ptr %t736
|
|
%t738 = call ptr @fn_emit_expr(ptr %t737)
|
|
store ptr %t738, ptr %t739
|
|
%t740 = load ptr, ptr %t0
|
|
%t741 = getelementptr inbounds %Cmp_Node, ptr %t740, i32 0, i32 7
|
|
%t742 = load ptr, ptr %t741
|
|
%t743 = getelementptr inbounds %LSlice, ptr %t742, i32 0, i32 0
|
|
%t744 = load ptr, ptr %t743
|
|
%t745 = getelementptr inbounds ptr, ptr %t744, i32 1
|
|
%t746 = load ptr, ptr %t745
|
|
%t747 = call ptr @fn_emit_expr(ptr %t746)
|
|
store ptr %t747, ptr %t748
|
|
%t749 = load ptr, ptr %t0
|
|
%t750 = getelementptr inbounds %Cmp_Node, ptr %t749, i32 0, i32 7
|
|
%t751 = load ptr, ptr %t750
|
|
%t752 = getelementptr inbounds %LSlice, ptr %t751, i32 0, i32 0
|
|
%t753 = load ptr, ptr %t752
|
|
%t754 = getelementptr inbounds ptr, ptr %t753, i32 2
|
|
%t755 = load ptr, ptr %t754
|
|
%t756 = call ptr @fn_emit_expr(ptr %t755)
|
|
store ptr %t756, ptr %t757
|
|
%t758 = load ptr, ptr %t0
|
|
%t759 = getelementptr inbounds %Cmp_Node, ptr %t758, i32 0, i32 7
|
|
%t760 = load ptr, ptr %t759
|
|
%t761 = getelementptr inbounds %LSlice, ptr %t760, i32 0, i32 0
|
|
%t762 = load ptr, ptr %t761
|
|
%t763 = getelementptr inbounds ptr, ptr %t762, i32 3
|
|
%t764 = load ptr, ptr %t763
|
|
%t765 = call ptr @fn_emit_expr(ptr %t764)
|
|
store ptr %t765, ptr %t766
|
|
%t767 = load ptr, ptr %t766
|
|
%t768 = getelementptr inbounds %Cmp_Val, ptr %t767, i32 0, i32 0
|
|
%t769 = load ptr, ptr %t768
|
|
%t770 = call ptr @fn_str_concat(ptr @.str4569, ptr %t769)
|
|
%t771 = call ptr @fn_str_concat(ptr %t770, ptr @.str4570)
|
|
%t772 = call ptr @fn_emit_bind(ptr %t771)
|
|
store ptr %t772, ptr %t773
|
|
call void @fn_emit(ptr @.str4571)
|
|
%t774 = load ptr, ptr %t739
|
|
%t775 = getelementptr inbounds %Cmp_Val, ptr %t774, i32 0, i32 0
|
|
%t776 = load ptr, ptr %t775
|
|
call void @fn_emit(ptr %t776)
|
|
call void @fn_emit(ptr @.str4572)
|
|
%t777 = load ptr, ptr %t748
|
|
%t778 = getelementptr inbounds %Cmp_Val, ptr %t777, i32 0, i32 0
|
|
%t779 = load ptr, ptr %t778
|
|
call void @fn_emit(ptr %t779)
|
|
call void @fn_emit(ptr @.str4573)
|
|
%t780 = load ptr, ptr %t757
|
|
%t781 = getelementptr inbounds %Cmp_Val, ptr %t780, i32 0, i32 0
|
|
%t782 = load ptr, ptr %t781
|
|
call void @fn_emit(ptr %t782)
|
|
call void @fn_emit(ptr @.str4574)
|
|
%t783 = load ptr, ptr %t773
|
|
call void @fn_emit(ptr %t783)
|
|
call void @fn_emit(ptr @.str4575)
|
|
%t784 = call ptr @fn_val(ptr @.str4576, ptr @.str4577)
|
|
store ptr %t784, ptr %retval
|
|
br label %ret
|
|
ifend132:
|
|
%t785 = load ptr, ptr %t38
|
|
%t786 = call i32 @fn_str_eq(ptr %t785, ptr @.str4578)
|
|
%t787 = icmp ne i32 %t786, 0
|
|
br i1 %t787, label %then133, label %ifend135
|
|
then133:
|
|
%t788 = load ptr, ptr %t0
|
|
%t789 = getelementptr inbounds %Cmp_Node, ptr %t788, i32 0, i32 7
|
|
%t790 = load ptr, ptr %t789
|
|
%t791 = getelementptr inbounds %LSlice, ptr %t790, i32 0, i32 0
|
|
%t792 = load ptr, ptr %t791
|
|
%t793 = getelementptr inbounds ptr, ptr %t792, i32 0
|
|
%t794 = load ptr, ptr %t793
|
|
%t795 = call ptr @fn_emit_expr(ptr %t794)
|
|
store ptr %t795, ptr %t796
|
|
%t797 = load ptr, ptr %t0
|
|
%t798 = getelementptr inbounds %Cmp_Node, ptr %t797, i32 0, i32 7
|
|
%t799 = load ptr, ptr %t798
|
|
%t800 = getelementptr inbounds %LSlice, ptr %t799, i32 0, i32 0
|
|
%t801 = load ptr, ptr %t800
|
|
%t802 = getelementptr inbounds ptr, ptr %t801, i32 1
|
|
%t803 = load ptr, ptr %t802
|
|
%t804 = call ptr @fn_emit_expr(ptr %t803)
|
|
store ptr %t804, ptr %t805
|
|
%t806 = load ptr, ptr %t796
|
|
%t807 = getelementptr inbounds %Cmp_Val, ptr %t806, i32 0, i32 0
|
|
%t808 = load ptr, ptr %t807
|
|
%t809 = call ptr @fn_str_concat(ptr @.str4579, ptr %t808)
|
|
%t810 = call ptr @fn_str_concat(ptr %t809, ptr @.str4580)
|
|
%t811 = load ptr, ptr %t805
|
|
%t812 = getelementptr inbounds %Cmp_Val, ptr %t811, i32 0, i32 0
|
|
%t813 = load ptr, ptr %t812
|
|
%t814 = call ptr @fn_str_concat(ptr %t810, ptr %t813)
|
|
%t815 = call ptr @fn_str_concat(ptr %t814, ptr @.str4581)
|
|
%t816 = call ptr @fn_emit_bind(ptr %t815)
|
|
%t817 = call ptr @fn_val(ptr %t816, ptr @.str4582)
|
|
store ptr %t817, ptr %retval
|
|
br label %ret
|
|
ifend135:
|
|
%t818 = load ptr, ptr %t38
|
|
%t819 = call i32 @fn_str_eq(ptr %t818, ptr @.str4583)
|
|
%t820 = icmp ne i32 %t819, 0
|
|
br i1 %t820, label %then136, label %ifend138
|
|
then136:
|
|
%t821 = call ptr @fn_emit_bind(ptr @.str4584)
|
|
%t822 = call ptr @fn_val(ptr %t821, ptr @.str4585)
|
|
store ptr %t822, ptr %retval
|
|
br label %ret
|
|
ifend138:
|
|
%t823 = load ptr, ptr %t38
|
|
%t824 = call i32 @fn_str_eq(ptr %t823, ptr @.str4586)
|
|
%t825 = icmp ne i32 %t824, 0
|
|
br i1 %t825, label %then139, label %ifend141
|
|
then139:
|
|
%t826 = load ptr, ptr %t0
|
|
%t827 = getelementptr inbounds %Cmp_Node, ptr %t826, i32 0, i32 7
|
|
%t828 = load ptr, ptr %t827
|
|
%t829 = getelementptr inbounds %LSlice, ptr %t828, i32 0, i32 0
|
|
%t830 = load ptr, ptr %t829
|
|
%t831 = getelementptr inbounds ptr, ptr %t830, i32 0
|
|
%t832 = load ptr, ptr %t831
|
|
%t833 = call ptr @fn_emit_expr(ptr %t832)
|
|
store ptr %t833, ptr %t834
|
|
%t835 = load ptr, ptr %t834
|
|
%t836 = getelementptr inbounds %Cmp_Val, ptr %t835, i32 0, i32 0
|
|
%t837 = load ptr, ptr %t836
|
|
%t838 = call ptr @fn_str_concat(ptr @.str4587, ptr %t837)
|
|
%t839 = call ptr @fn_str_concat(ptr %t838, ptr @.str4588)
|
|
%t840 = call ptr @fn_emit_bind(ptr %t839)
|
|
%t841 = call ptr @fn_val(ptr %t840, ptr @.str4589)
|
|
store ptr %t841, ptr %retval
|
|
br label %ret
|
|
ifend141:
|
|
%t842 = load ptr, ptr %t38
|
|
%t843 = call i32 @fn_str_eq(ptr %t842, ptr @.str4590)
|
|
%t844 = icmp ne i32 %t843, 0
|
|
br i1 %t844, label %then142, label %ifend144
|
|
then142:
|
|
%t845 = load ptr, ptr %t0
|
|
%t846 = getelementptr inbounds %Cmp_Node, ptr %t845, i32 0, i32 7
|
|
%t847 = load ptr, ptr %t846
|
|
%t848 = getelementptr inbounds %LSlice, ptr %t847, i32 0, i32 0
|
|
%t849 = load ptr, ptr %t848
|
|
%t850 = getelementptr inbounds ptr, ptr %t849, i32 0
|
|
%t851 = load ptr, ptr %t850
|
|
%t852 = call ptr @fn_emit_expr(ptr %t851)
|
|
store ptr %t852, ptr %t853
|
|
%t854 = load ptr, ptr %t853
|
|
%t855 = getelementptr inbounds %Cmp_Val, ptr %t854, i32 0, i32 0
|
|
%t856 = load ptr, ptr %t855
|
|
%t857 = call ptr @fn_str_concat(ptr @.str4591, ptr %t856)
|
|
%t858 = call ptr @fn_str_concat(ptr %t857, ptr @.str4592)
|
|
%t859 = call ptr @fn_emit_bind(ptr %t858)
|
|
%t860 = call ptr @fn_val(ptr %t859, ptr @.str4593)
|
|
store ptr %t860, ptr %retval
|
|
br label %ret
|
|
ifend144:
|
|
%t861 = load ptr, ptr %t38
|
|
%t862 = call i32 @fn_str_eq(ptr %t861, ptr @.str4594)
|
|
%t863 = icmp ne i32 %t862, 0
|
|
br i1 %t863, label %then145, label %ifend147
|
|
then145:
|
|
%t864 = load ptr, ptr %t0
|
|
%t865 = getelementptr inbounds %Cmp_Node, ptr %t864, i32 0, i32 7
|
|
%t866 = load ptr, ptr %t865
|
|
%t867 = getelementptr inbounds %LSlice, ptr %t866, i32 0, i32 0
|
|
%t868 = load ptr, ptr %t867
|
|
%t869 = getelementptr inbounds ptr, ptr %t868, i32 0
|
|
%t870 = load ptr, ptr %t869
|
|
%t871 = call ptr @fn_emit_expr(ptr %t870)
|
|
store ptr %t871, ptr %t872
|
|
%t873 = load ptr, ptr %t0
|
|
%t874 = getelementptr inbounds %Cmp_Node, ptr %t873, i32 0, i32 7
|
|
%t875 = load ptr, ptr %t874
|
|
%t876 = getelementptr inbounds %LSlice, ptr %t875, i32 0, i32 0
|
|
%t877 = load ptr, ptr %t876
|
|
%t878 = getelementptr inbounds ptr, ptr %t877, i32 1
|
|
%t879 = load ptr, ptr %t878
|
|
%t880 = call ptr @fn_emit_expr(ptr %t879)
|
|
store ptr %t880, ptr %t881
|
|
%t882 = load ptr, ptr %t872
|
|
%t883 = getelementptr inbounds %Cmp_Val, ptr %t882, i32 0, i32 0
|
|
%t884 = load ptr, ptr %t883
|
|
%t885 = call ptr @fn_str_concat(ptr @.str4595, ptr %t884)
|
|
%t886 = call ptr @fn_str_concat(ptr %t885, ptr @.str4596)
|
|
%t887 = load ptr, ptr %t881
|
|
%t888 = getelementptr inbounds %Cmp_Val, ptr %t887, i32 0, i32 0
|
|
%t889 = load ptr, ptr %t888
|
|
%t890 = call ptr @fn_str_concat(ptr %t886, ptr %t889)
|
|
%t891 = call ptr @fn_str_concat(ptr %t890, ptr @.str4597)
|
|
%t892 = call ptr @fn_emit_bind(ptr %t891)
|
|
%t893 = call ptr @fn_val(ptr %t892, ptr @.str4598)
|
|
store ptr %t893, ptr %retval
|
|
br label %ret
|
|
ifend147:
|
|
%t894 = load ptr, ptr %t38
|
|
%t895 = call i32 @fn_str_eq(ptr %t894, ptr @.str4599)
|
|
%t896 = icmp ne i32 %t895, 0
|
|
br i1 %t896, label %then148, label %ifend150
|
|
then148:
|
|
%t897 = load ptr, ptr %t0
|
|
%t898 = getelementptr inbounds %Cmp_Node, ptr %t897, i32 0, i32 7
|
|
%t899 = load ptr, ptr %t898
|
|
%t900 = getelementptr inbounds %LSlice, ptr %t899, i32 0, i32 0
|
|
%t901 = load ptr, ptr %t900
|
|
%t902 = getelementptr inbounds ptr, ptr %t901, i32 0
|
|
%t903 = load ptr, ptr %t902
|
|
%t904 = call ptr @fn_emit_expr(ptr %t903)
|
|
store ptr %t904, ptr %t905
|
|
%t906 = load ptr, ptr %t0
|
|
%t907 = getelementptr inbounds %Cmp_Node, ptr %t906, i32 0, i32 7
|
|
%t908 = load ptr, ptr %t907
|
|
%t909 = getelementptr inbounds %LSlice, ptr %t908, i32 0, i32 0
|
|
%t910 = load ptr, ptr %t909
|
|
%t911 = getelementptr inbounds ptr, ptr %t910, i32 1
|
|
%t912 = load ptr, ptr %t911
|
|
%t913 = call ptr @fn_emit_expr(ptr %t912)
|
|
store ptr %t913, ptr %t914
|
|
%t915 = load ptr, ptr %t905
|
|
%t916 = getelementptr inbounds %Cmp_Val, ptr %t915, i32 0, i32 0
|
|
%t917 = load ptr, ptr %t916
|
|
%t918 = call ptr @fn_str_concat(ptr @.str4600, ptr %t917)
|
|
%t919 = call ptr @fn_str_concat(ptr %t918, ptr @.str4601)
|
|
%t920 = load ptr, ptr %t914
|
|
%t921 = getelementptr inbounds %Cmp_Val, ptr %t920, i32 0, i32 0
|
|
%t922 = load ptr, ptr %t921
|
|
%t923 = call ptr @fn_str_concat(ptr %t919, ptr %t922)
|
|
%t924 = call ptr @fn_str_concat(ptr %t923, ptr @.str4602)
|
|
%t925 = call ptr @fn_emit_bind(ptr %t924)
|
|
%t926 = call ptr @fn_val(ptr %t925, ptr @.str4603)
|
|
store ptr %t926, ptr %retval
|
|
br label %ret
|
|
ifend150:
|
|
%t927 = load ptr, ptr %t38
|
|
%t928 = call i32 @fn_str_eq(ptr %t927, ptr @.str4604)
|
|
%t929 = icmp ne i32 %t928, 0
|
|
br i1 %t929, label %then151, label %ifend153
|
|
then151:
|
|
%t930 = load ptr, ptr %t0
|
|
%t931 = getelementptr inbounds %Cmp_Node, ptr %t930, i32 0, i32 7
|
|
%t932 = load ptr, ptr %t931
|
|
%t933 = getelementptr inbounds %LSlice, ptr %t932, i32 0, i32 0
|
|
%t934 = load ptr, ptr %t933
|
|
%t935 = getelementptr inbounds ptr, ptr %t934, i32 0
|
|
%t936 = load ptr, ptr %t935
|
|
%t937 = call ptr @fn_emit_expr(ptr %t936)
|
|
store ptr %t937, ptr %t938
|
|
%t939 = load ptr, ptr %t0
|
|
%t940 = getelementptr inbounds %Cmp_Node, ptr %t939, i32 0, i32 7
|
|
%t941 = load ptr, ptr %t940
|
|
%t942 = getelementptr inbounds %LSlice, ptr %t941, i32 0, i32 0
|
|
%t943 = load ptr, ptr %t942
|
|
%t944 = getelementptr inbounds ptr, ptr %t943, i32 1
|
|
%t945 = load ptr, ptr %t944
|
|
%t946 = call ptr @fn_emit_expr(ptr %t945)
|
|
store ptr %t946, ptr %t947
|
|
call void @fn_emit(ptr @.str4605)
|
|
%t948 = load ptr, ptr %t938
|
|
%t949 = getelementptr inbounds %Cmp_Val, ptr %t948, i32 0, i32 0
|
|
%t950 = load ptr, ptr %t949
|
|
call void @fn_emit(ptr %t950)
|
|
call void @fn_emit(ptr @.str4606)
|
|
%t951 = load ptr, ptr %t947
|
|
%t952 = getelementptr inbounds %Cmp_Val, ptr %t951, i32 0, i32 0
|
|
%t953 = load ptr, ptr %t952
|
|
call void @fn_emit(ptr %t953)
|
|
call void @fn_emit(ptr @.str4607)
|
|
%t954 = call ptr @fn_val(ptr @.str4608, ptr @.str4609)
|
|
store ptr %t954, ptr %retval
|
|
br label %ret
|
|
ifend153:
|
|
%t955 = load ptr, ptr %t38
|
|
%t956 = call i32 @fn_str_eq(ptr %t955, ptr @.str4610)
|
|
%t957 = icmp ne i32 %t956, 0
|
|
br i1 %t957, label %then154, label %ifend156
|
|
then154:
|
|
%t958 = load ptr, ptr %t0
|
|
%t959 = getelementptr inbounds %Cmp_Node, ptr %t958, i32 0, i32 7
|
|
%t960 = load ptr, ptr %t959
|
|
%t961 = getelementptr inbounds %LSlice, ptr %t960, i32 0, i32 0
|
|
%t962 = load ptr, ptr %t961
|
|
%t963 = getelementptr inbounds ptr, ptr %t962, i32 0
|
|
%t964 = load ptr, ptr %t963
|
|
%t965 = call ptr @fn_emit_expr(ptr %t964)
|
|
store ptr %t965, ptr %t966
|
|
%t967 = load ptr, ptr %t0
|
|
%t968 = getelementptr inbounds %Cmp_Node, ptr %t967, i32 0, i32 7
|
|
%t969 = load ptr, ptr %t968
|
|
%t970 = getelementptr inbounds %LSlice, ptr %t969, i32 0, i32 0
|
|
%t971 = load ptr, ptr %t970
|
|
%t972 = getelementptr inbounds ptr, ptr %t971, i32 1
|
|
%t973 = load ptr, ptr %t972
|
|
%t974 = call ptr @fn_emit_expr(ptr %t973)
|
|
store ptr %t974, ptr %t975
|
|
call void @fn_emit(ptr @.str4611)
|
|
%t976 = load ptr, ptr %t966
|
|
%t977 = getelementptr inbounds %Cmp_Val, ptr %t976, i32 0, i32 0
|
|
%t978 = load ptr, ptr %t977
|
|
call void @fn_emit(ptr %t978)
|
|
call void @fn_emit(ptr @.str4612)
|
|
%t979 = load ptr, ptr %t975
|
|
%t980 = getelementptr inbounds %Cmp_Val, ptr %t979, i32 0, i32 0
|
|
%t981 = load ptr, ptr %t980
|
|
call void @fn_emit(ptr %t981)
|
|
call void @fn_emit(ptr @.str4613)
|
|
%t982 = call ptr @fn_val(ptr @.str4614, ptr @.str4615)
|
|
store ptr %t982, ptr %retval
|
|
br label %ret
|
|
ifend156:
|
|
%t983 = load ptr, ptr %t38
|
|
%t984 = call i32 @fn_str_eq(ptr %t983, ptr @.str4616)
|
|
%t985 = icmp ne i32 %t984, 0
|
|
br i1 %t985, label %then157, label %ifend159
|
|
then157:
|
|
%t986 = load ptr, ptr %t0
|
|
%t987 = getelementptr inbounds %Cmp_Node, ptr %t986, i32 0, i32 7
|
|
%t988 = load ptr, ptr %t987
|
|
%t989 = getelementptr inbounds %LSlice, ptr %t988, i32 0, i32 0
|
|
%t990 = load ptr, ptr %t989
|
|
%t991 = getelementptr inbounds ptr, ptr %t990, i32 0
|
|
%t992 = load ptr, ptr %t991
|
|
%t993 = call ptr @fn_emit_expr(ptr %t992)
|
|
store ptr %t993, ptr %t994
|
|
%t995 = load ptr, ptr %t994
|
|
%t996 = getelementptr inbounds %Cmp_Val, ptr %t995, i32 0, i32 0
|
|
%t997 = load ptr, ptr %t996
|
|
%t998 = call ptr @fn_str_concat(ptr @.str4617, ptr %t997)
|
|
%t999 = call ptr @fn_str_concat(ptr %t998, ptr @.str4618)
|
|
%t1000 = call ptr @fn_emit_bind(ptr %t999)
|
|
%t1001 = call ptr @fn_val(ptr %t1000, ptr @.str4619)
|
|
store ptr %t1001, ptr %retval
|
|
br label %ret
|
|
ifend159:
|
|
%t1002 = load ptr, ptr %t38
|
|
%t1003 = call i32 @fn_is_intrinsic(ptr %t1002)
|
|
%t1004 = icmp ne i32 %t1003, 0
|
|
br i1 %t1004, label %then160, label %ifend162
|
|
then160:
|
|
%t1005 = load ptr, ptr %t38
|
|
%t1006 = load ptr, ptr %t0
|
|
%t1007 = call ptr @fn_emit_intrinsic(ptr %t1005, ptr %t1006)
|
|
store ptr %t1007, ptr %retval
|
|
br label %ret
|
|
ifend162:
|
|
%t1008 = load ptr, ptr %t38
|
|
%t1009 = call i32 @fn_is_intrinsic2(ptr %t1008)
|
|
%t1010 = icmp ne i32 %t1009, 0
|
|
br i1 %t1010, label %then163, label %ifend165
|
|
then163:
|
|
%t1011 = load ptr, ptr %t38
|
|
%t1012 = load ptr, ptr %t0
|
|
%t1013 = call ptr @fn_emit_intrinsic2(ptr %t1011, ptr %t1012)
|
|
store ptr %t1013, ptr %retval
|
|
br label %ret
|
|
ifend165:
|
|
%t1014 = load ptr, ptr %t38
|
|
%t1015 = call i32 @fn_is_math_builtin(ptr %t1014)
|
|
%t1016 = icmp ne i32 %t1015, 0
|
|
br i1 %t1016, label %then166, label %ifend168
|
|
then166:
|
|
%t1017 = load ptr, ptr %t38
|
|
%t1018 = load ptr, ptr %t0
|
|
%t1019 = call ptr @fn_emit_math_builtin(ptr %t1017, ptr %t1018)
|
|
store ptr %t1019, ptr %retval
|
|
br label %ret
|
|
ifend168:
|
|
%t1020 = load ptr, ptr %t38
|
|
%t1021 = call ptr @fn_find_extern(ptr %t1020)
|
|
store ptr %t1021, ptr %t1022
|
|
%t1023 = load ptr, ptr %t1022
|
|
%t1024 = icmp ne ptr %t1023, null
|
|
%t1025 = zext i1 %t1024 to i32
|
|
%t1026 = icmp ne i32 %t1025, 0
|
|
br i1 %t1026, label %then169, label %ifend171
|
|
then169:
|
|
%t1027 = load ptr, ptr %t0
|
|
%t1028 = load ptr, ptr %t1022
|
|
%t1029 = call ptr @fn_param_labels(ptr %t1028)
|
|
call void @fn_reorder_named(ptr %t1027, ptr %t1029)
|
|
%t1030 = getelementptr %LSlice, ptr null, i32 1
|
|
%t1031 = ptrtoint ptr %t1030 to i64
|
|
%t1032 = call ptr @malloc(i64 %t1031)
|
|
%t1033 = getelementptr inbounds %LSlice, ptr %t1032, i32 0, i32 0
|
|
store ptr null, ptr %t1033
|
|
%t1034 = getelementptr inbounds %LSlice, ptr %t1032, i32 0, i32 1
|
|
store i32 0, ptr %t1034
|
|
%t1035 = getelementptr inbounds %LSlice, ptr %t1032, i32 0, i32 2
|
|
store i32 0, ptr %t1035
|
|
store ptr %t1032, ptr %t1036
|
|
%t1037 = getelementptr %LSlice, ptr null, i32 1
|
|
%t1038 = ptrtoint ptr %t1037 to i64
|
|
%t1039 = call ptr @malloc(i64 %t1038)
|
|
%t1040 = getelementptr inbounds %LSlice, ptr %t1039, i32 0, i32 0
|
|
store ptr null, ptr %t1040
|
|
%t1041 = getelementptr inbounds %LSlice, ptr %t1039, i32 0, i32 1
|
|
store i32 0, ptr %t1041
|
|
%t1042 = getelementptr inbounds %LSlice, ptr %t1039, i32 0, i32 2
|
|
store i32 0, ptr %t1042
|
|
store ptr %t1039, ptr %t1043
|
|
store i32 0, ptr %t1044
|
|
br label %wcond172
|
|
wcond172:
|
|
%t1045 = load i32, ptr %t1044
|
|
%t1046 = load ptr, ptr %t0
|
|
%t1047 = getelementptr inbounds %Cmp_Node, ptr %t1046, i32 0, i32 7
|
|
%t1048 = load ptr, ptr %t1047
|
|
%t1049 = getelementptr inbounds %LSlice, ptr %t1048, i32 0, i32 1
|
|
%t1050 = load i32, ptr %t1049
|
|
%t1051 = icmp slt i32 %t1045, %t1050
|
|
%t1052 = zext i1 %t1051 to i32
|
|
%t1053 = icmp ne i32 %t1052, 0
|
|
br i1 %t1053, label %wbody173, label %wend174
|
|
wbody173:
|
|
%t1054 = load ptr, ptr %t0
|
|
%t1055 = getelementptr inbounds %Cmp_Node, ptr %t1054, i32 0, i32 7
|
|
%t1056 = load ptr, ptr %t1055
|
|
%t1057 = getelementptr inbounds %LSlice, ptr %t1056, i32 0, i32 0
|
|
%t1058 = load ptr, ptr %t1057
|
|
%t1059 = load i32, ptr %t1044
|
|
%t1060 = getelementptr inbounds ptr, ptr %t1058, i32 %t1059
|
|
%t1061 = load ptr, ptr %t1060
|
|
%t1062 = call ptr @fn_emit_expr(ptr %t1061)
|
|
store ptr %t1062, ptr %t1063
|
|
%t1064 = load ptr, ptr %t1036
|
|
%t1065 = getelementptr inbounds %LSlice, ptr %t1064, i32 0, i32 1
|
|
%t1066 = getelementptr inbounds %LSlice, ptr %t1064, i32 0, i32 2
|
|
%t1067 = getelementptr inbounds %LSlice, ptr %t1064, i32 0, i32 0
|
|
%t1068 = load i32, ptr %t1065
|
|
%t1069 = load i32, ptr %t1066
|
|
%t1070 = icmp sge i32 %t1068, %t1069
|
|
br i1 %t1070, label %grow175, label %put176
|
|
grow175:
|
|
%t1071 = mul i32 %t1069, 2
|
|
%t1072 = icmp eq i32 %t1069, 0
|
|
%t1073 = select i1 %t1072, i32 8, i32 %t1071
|
|
%t1074 = getelementptr ptr, ptr null, i32 1
|
|
%t1075 = ptrtoint ptr %t1074 to i64
|
|
%t1076 = zext i32 %t1073 to i64
|
|
%t1077 = mul i64 %t1076, %t1075
|
|
%t1078 = load ptr, ptr %t1067
|
|
%t1079 = call ptr @realloc(ptr %t1078, i64 %t1077)
|
|
store ptr %t1079, ptr %t1067
|
|
store i32 %t1073, ptr %t1066
|
|
br label %put176
|
|
put176:
|
|
%t1080 = load ptr, ptr %t1063
|
|
%t1081 = getelementptr inbounds %Cmp_Val, ptr %t1080, i32 0, i32 0
|
|
%t1082 = load ptr, ptr %t1081
|
|
%t1083 = load ptr, ptr %t1067
|
|
%t1084 = getelementptr inbounds ptr, ptr %t1083, i32 %t1068
|
|
store ptr %t1082, ptr %t1084
|
|
%t1085 = add i32 %t1068, 1
|
|
store i32 %t1085, ptr %t1065
|
|
%t1086 = load ptr, ptr %t1043
|
|
%t1087 = getelementptr inbounds %LSlice, ptr %t1086, i32 0, i32 1
|
|
%t1088 = getelementptr inbounds %LSlice, ptr %t1086, i32 0, i32 2
|
|
%t1089 = getelementptr inbounds %LSlice, ptr %t1086, i32 0, i32 0
|
|
%t1090 = load i32, ptr %t1087
|
|
%t1091 = load i32, ptr %t1088
|
|
%t1092 = icmp sge i32 %t1090, %t1091
|
|
br i1 %t1092, label %grow177, label %put178
|
|
grow177:
|
|
%t1093 = mul i32 %t1091, 2
|
|
%t1094 = icmp eq i32 %t1091, 0
|
|
%t1095 = select i1 %t1094, i32 8, i32 %t1093
|
|
%t1096 = getelementptr ptr, ptr null, i32 1
|
|
%t1097 = ptrtoint ptr %t1096 to i64
|
|
%t1098 = zext i32 %t1095 to i64
|
|
%t1099 = mul i64 %t1098, %t1097
|
|
%t1100 = load ptr, ptr %t1089
|
|
%t1101 = call ptr @realloc(ptr %t1100, i64 %t1099)
|
|
store ptr %t1101, ptr %t1089
|
|
store i32 %t1095, ptr %t1088
|
|
br label %put178
|
|
put178:
|
|
%t1102 = load ptr, ptr %t1063
|
|
%t1103 = getelementptr inbounds %Cmp_Val, ptr %t1102, i32 0, i32 1
|
|
%t1104 = load ptr, ptr %t1103
|
|
%t1105 = load ptr, ptr %t1089
|
|
%t1106 = getelementptr inbounds ptr, ptr %t1105, i32 %t1090
|
|
store ptr %t1104, ptr %t1106
|
|
%t1107 = add i32 %t1090, 1
|
|
store i32 %t1107, ptr %t1087
|
|
%t1108 = load i32, ptr %t1044
|
|
%t1109 = add i32 %t1108, 1
|
|
store i32 %t1109, ptr %t1044
|
|
br label %wcond172
|
|
wend174:
|
|
%t1110 = load ptr, ptr %t1022
|
|
%t1111 = getelementptr inbounds %Cmp_Node, ptr %t1110, i32 0, i32 3
|
|
%t1112 = load ptr, ptr %t1111
|
|
%t1113 = call ptr @fn_llty(ptr %t1112)
|
|
store ptr %t1113, ptr %t1114
|
|
call void @fn_emit(ptr @.str4620)
|
|
store ptr @.str4621, ptr %t1115
|
|
%t1116 = load ptr, ptr %t1114
|
|
%t1117 = call i32 @fn_str_eq(ptr %t1116, ptr @.str4622)
|
|
%t1118 = icmp eq i32 %t1117, 0
|
|
%t1119 = zext i1 %t1118 to i32
|
|
%t1120 = icmp ne i32 %t1119, 0
|
|
br i1 %t1120, label %then179, label %ifend181
|
|
then179:
|
|
%t1121 = call ptr @fn_nreg()
|
|
store ptr %t1121, ptr %t1115
|
|
%t1122 = load ptr, ptr %t1115
|
|
call void @fn_emit(ptr %t1122)
|
|
call void @fn_emit(ptr @.str4623)
|
|
br label %ifend181
|
|
ifend181:
|
|
call void @fn_emit(ptr @.str4624)
|
|
%t1123 = load ptr, ptr %t1114
|
|
call void @fn_emit(ptr %t1123)
|
|
call void @fn_emit(ptr @.str4625)
|
|
%t1124 = load ptr, ptr %t1022
|
|
%t1125 = getelementptr inbounds %Cmp_Node, ptr %t1124, i32 0, i32 4
|
|
%t1126 = load ptr, ptr %t1125
|
|
%t1127 = getelementptr inbounds %Cmp_Node, ptr %t1126, i32 0, i32 1
|
|
%t1128 = load ptr, ptr %t1127
|
|
call void @fn_emit(ptr %t1128)
|
|
call void @fn_emit(ptr @.str4626)
|
|
store i32 0, ptr %t1044
|
|
br label %wcond182
|
|
wcond182:
|
|
%t1129 = load i32, ptr %t1044
|
|
%t1130 = load ptr, ptr %t1036
|
|
%t1131 = getelementptr inbounds %LSlice, ptr %t1130, i32 0, i32 1
|
|
%t1132 = load i32, ptr %t1131
|
|
%t1133 = icmp slt i32 %t1129, %t1132
|
|
%t1134 = zext i1 %t1133 to i32
|
|
%t1135 = icmp ne i32 %t1134, 0
|
|
br i1 %t1135, label %wbody183, label %wend184
|
|
wbody183:
|
|
%t1136 = load i32, ptr %t1044
|
|
%t1137 = icmp sgt i32 %t1136, 0
|
|
%t1138 = zext i1 %t1137 to i32
|
|
%t1139 = icmp ne i32 %t1138, 0
|
|
br i1 %t1139, label %then185, label %ifend187
|
|
then185:
|
|
call void @fn_emit(ptr @.str4627)
|
|
br label %ifend187
|
|
ifend187:
|
|
%t1140 = load ptr, ptr %t1043
|
|
%t1141 = getelementptr inbounds %LSlice, ptr %t1140, i32 0, i32 0
|
|
%t1142 = load ptr, ptr %t1141
|
|
%t1143 = load i32, ptr %t1044
|
|
%t1144 = getelementptr inbounds ptr, ptr %t1142, i32 %t1143
|
|
%t1145 = load ptr, ptr %t1144
|
|
%t1146 = call ptr @fn_llty(ptr %t1145)
|
|
call void @fn_emit(ptr %t1146)
|
|
call void @fn_emit(ptr @.str4628)
|
|
%t1147 = load ptr, ptr %t1036
|
|
%t1148 = getelementptr inbounds %LSlice, ptr %t1147, i32 0, i32 0
|
|
%t1149 = load ptr, ptr %t1148
|
|
%t1150 = load i32, ptr %t1044
|
|
%t1151 = getelementptr inbounds ptr, ptr %t1149, i32 %t1150
|
|
%t1152 = load ptr, ptr %t1151
|
|
call void @fn_emit(ptr %t1152)
|
|
%t1153 = load i32, ptr %t1044
|
|
%t1154 = add i32 %t1153, 1
|
|
store i32 %t1154, ptr %t1044
|
|
br label %wcond182
|
|
wend184:
|
|
call void @fn_emit(ptr @.str4629)
|
|
%t1155 = load ptr, ptr %t1115
|
|
%t1156 = load ptr, ptr %t1022
|
|
%t1157 = getelementptr inbounds %Cmp_Node, ptr %t1156, i32 0, i32 3
|
|
%t1158 = load ptr, ptr %t1157
|
|
%t1159 = call ptr @fn_val(ptr %t1155, ptr %t1158)
|
|
store ptr %t1159, ptr %retval
|
|
br label %ret
|
|
ifend171:
|
|
%t1160 = load ptr, ptr %t38
|
|
%t1161 = call ptr @fn_find_fn(ptr %t1160)
|
|
store ptr %t1161, ptr %t1162
|
|
%t1163 = load ptr, ptr %t38
|
|
store ptr %t1163, ptr %t1164
|
|
%t1165 = load ptr, ptr %t1162
|
|
%t1166 = icmp eq ptr %t1165, null
|
|
%t1167 = zext i1 %t1166 to i32
|
|
%t1168 = icmp ne i32 %t1167, 0
|
|
br i1 %t1168, label %then188, label %ifend190
|
|
then188:
|
|
%t1169 = load ptr, ptr %t38
|
|
%t1170 = call ptr @fn_str_concat(ptr @.str4630, ptr %t1169)
|
|
store ptr %t1170, ptr %t1171
|
|
%t1172 = load ptr, ptr %t1171
|
|
%t1173 = call ptr @fn_find_fn(ptr %t1172)
|
|
store ptr %t1173, ptr %t1162
|
|
%t1174 = load ptr, ptr %t1162
|
|
%t1175 = icmp eq ptr %t1174, null
|
|
%t1176 = zext i1 %t1175 to i32
|
|
%t1177 = icmp ne i32 %t1176, 0
|
|
br i1 %t1177, label %then191, label %ifend193
|
|
then191:
|
|
%t1178 = load ptr, ptr %t38
|
|
%t1179 = call ptr @fn_str_concat(ptr @.str4631, ptr %t1178)
|
|
call void @fn_perr(ptr %t1179)
|
|
br label %ifend193
|
|
ifend193:
|
|
%t1180 = load ptr, ptr %t1171
|
|
store ptr %t1180, ptr %t1164
|
|
br label %ifend190
|
|
ifend190:
|
|
%t1181 = load ptr, ptr %t0
|
|
%t1182 = load ptr, ptr %t1162
|
|
%t1183 = call ptr @fn_param_labels(ptr %t1182)
|
|
call void @fn_reorder_named(ptr %t1181, ptr %t1183)
|
|
%t1184 = load ptr, ptr %t1162
|
|
%t1185 = call ptr @fn_param_types(ptr %t1184)
|
|
store ptr %t1185, ptr %t1186
|
|
%t1187 = getelementptr %LSlice, ptr null, i32 1
|
|
%t1188 = ptrtoint ptr %t1187 to i64
|
|
%t1189 = call ptr @malloc(i64 %t1188)
|
|
%t1190 = getelementptr inbounds %LSlice, ptr %t1189, i32 0, i32 0
|
|
store ptr null, ptr %t1190
|
|
%t1191 = getelementptr inbounds %LSlice, ptr %t1189, i32 0, i32 1
|
|
store i32 0, ptr %t1191
|
|
%t1192 = getelementptr inbounds %LSlice, ptr %t1189, i32 0, i32 2
|
|
store i32 0, ptr %t1192
|
|
store ptr %t1189, ptr %t1193
|
|
%t1194 = getelementptr %LSlice, ptr null, i32 1
|
|
%t1195 = ptrtoint ptr %t1194 to i64
|
|
%t1196 = call ptr @malloc(i64 %t1195)
|
|
%t1197 = getelementptr inbounds %LSlice, ptr %t1196, i32 0, i32 0
|
|
store ptr null, ptr %t1197
|
|
%t1198 = getelementptr inbounds %LSlice, ptr %t1196, i32 0, i32 1
|
|
store i32 0, ptr %t1198
|
|
%t1199 = getelementptr inbounds %LSlice, ptr %t1196, i32 0, i32 2
|
|
store i32 0, ptr %t1199
|
|
store ptr %t1196, ptr %t1200
|
|
store i32 0, ptr %t1201
|
|
br label %wcond194
|
|
wcond194:
|
|
%t1202 = load i32, ptr %t1201
|
|
%t1203 = load ptr, ptr %t0
|
|
%t1204 = getelementptr inbounds %Cmp_Node, ptr %t1203, i32 0, i32 7
|
|
%t1205 = load ptr, ptr %t1204
|
|
%t1206 = getelementptr inbounds %LSlice, ptr %t1205, i32 0, i32 1
|
|
%t1207 = load i32, ptr %t1206
|
|
%t1208 = icmp slt i32 %t1202, %t1207
|
|
%t1209 = zext i1 %t1208 to i32
|
|
%t1210 = icmp ne i32 %t1209, 0
|
|
br i1 %t1210, label %wbody195, label %wend196
|
|
wbody195:
|
|
%t1211 = load ptr, ptr %t0
|
|
%t1212 = getelementptr inbounds %Cmp_Node, ptr %t1211, i32 0, i32 7
|
|
%t1213 = load ptr, ptr %t1212
|
|
%t1214 = getelementptr inbounds %LSlice, ptr %t1213, i32 0, i32 0
|
|
%t1215 = load ptr, ptr %t1214
|
|
%t1216 = load i32, ptr %t1201
|
|
%t1217 = getelementptr inbounds ptr, ptr %t1215, i32 %t1216
|
|
%t1218 = load ptr, ptr %t1217
|
|
%t1219 = call ptr @fn_emit_expr(ptr %t1218)
|
|
store ptr %t1219, ptr %t1220
|
|
%t1221 = load ptr, ptr %t1220
|
|
%t1222 = getelementptr inbounds %Cmp_Val, ptr %t1221, i32 0, i32 1
|
|
%t1223 = load ptr, ptr %t1222
|
|
store ptr %t1223, ptr %t1224
|
|
%t1225 = load i32, ptr %t1201
|
|
%t1226 = load ptr, ptr %t1186
|
|
%t1227 = getelementptr inbounds %LSlice, ptr %t1226, i32 0, i32 1
|
|
%t1228 = load i32, ptr %t1227
|
|
%t1229 = icmp slt i32 %t1225, %t1228
|
|
%t1230 = zext i1 %t1229 to i32
|
|
%t1231 = icmp ne i32 %t1230, 0
|
|
br i1 %t1231, label %then197, label %ifend199
|
|
then197:
|
|
%t1232 = load ptr, ptr %t1186
|
|
%t1233 = getelementptr inbounds %LSlice, ptr %t1232, i32 0, i32 0
|
|
%t1234 = load ptr, ptr %t1233
|
|
%t1235 = load i32, ptr %t1201
|
|
%t1236 = getelementptr inbounds ptr, ptr %t1234, i32 %t1235
|
|
%t1237 = load ptr, ptr %t1236
|
|
store ptr %t1237, ptr %t1224
|
|
br label %ifend199
|
|
ifend199:
|
|
%t1238 = load ptr, ptr %t1193
|
|
%t1239 = getelementptr inbounds %LSlice, ptr %t1238, i32 0, i32 1
|
|
%t1240 = getelementptr inbounds %LSlice, ptr %t1238, i32 0, i32 2
|
|
%t1241 = getelementptr inbounds %LSlice, ptr %t1238, i32 0, i32 0
|
|
%t1242 = load i32, ptr %t1239
|
|
%t1243 = load i32, ptr %t1240
|
|
%t1244 = icmp sge i32 %t1242, %t1243
|
|
br i1 %t1244, label %grow200, label %put201
|
|
grow200:
|
|
%t1245 = mul i32 %t1243, 2
|
|
%t1246 = icmp eq i32 %t1243, 0
|
|
%t1247 = select i1 %t1246, i32 8, i32 %t1245
|
|
%t1248 = getelementptr ptr, ptr null, i32 1
|
|
%t1249 = ptrtoint ptr %t1248 to i64
|
|
%t1250 = zext i32 %t1247 to i64
|
|
%t1251 = mul i64 %t1250, %t1249
|
|
%t1252 = load ptr, ptr %t1241
|
|
%t1253 = call ptr @realloc(ptr %t1252, i64 %t1251)
|
|
store ptr %t1253, ptr %t1241
|
|
store i32 %t1247, ptr %t1240
|
|
br label %put201
|
|
put201:
|
|
%t1254 = load ptr, ptr %t1220
|
|
%t1255 = load ptr, ptr %t1224
|
|
%t1256 = call ptr @fn_coerce_code(ptr %t1254, ptr %t1255)
|
|
%t1257 = load ptr, ptr %t1241
|
|
%t1258 = getelementptr inbounds ptr, ptr %t1257, i32 %t1242
|
|
store ptr %t1256, ptr %t1258
|
|
%t1259 = add i32 %t1242, 1
|
|
store i32 %t1259, ptr %t1239
|
|
%t1260 = load ptr, ptr %t1200
|
|
%t1261 = getelementptr inbounds %LSlice, ptr %t1260, i32 0, i32 1
|
|
%t1262 = getelementptr inbounds %LSlice, ptr %t1260, i32 0, i32 2
|
|
%t1263 = getelementptr inbounds %LSlice, ptr %t1260, i32 0, i32 0
|
|
%t1264 = load i32, ptr %t1261
|
|
%t1265 = load i32, ptr %t1262
|
|
%t1266 = icmp sge i32 %t1264, %t1265
|
|
br i1 %t1266, label %grow202, label %put203
|
|
grow202:
|
|
%t1267 = mul i32 %t1265, 2
|
|
%t1268 = icmp eq i32 %t1265, 0
|
|
%t1269 = select i1 %t1268, i32 8, i32 %t1267
|
|
%t1270 = getelementptr ptr, ptr null, i32 1
|
|
%t1271 = ptrtoint ptr %t1270 to i64
|
|
%t1272 = zext i32 %t1269 to i64
|
|
%t1273 = mul i64 %t1272, %t1271
|
|
%t1274 = load ptr, ptr %t1263
|
|
%t1275 = call ptr @realloc(ptr %t1274, i64 %t1273)
|
|
store ptr %t1275, ptr %t1263
|
|
store i32 %t1269, ptr %t1262
|
|
br label %put203
|
|
put203:
|
|
%t1276 = load ptr, ptr %t1224
|
|
%t1277 = load ptr, ptr %t1263
|
|
%t1278 = getelementptr inbounds ptr, ptr %t1277, i32 %t1264
|
|
store ptr %t1276, ptr %t1278
|
|
%t1279 = add i32 %t1264, 1
|
|
store i32 %t1279, ptr %t1261
|
|
%t1280 = load i32, ptr %t1201
|
|
%t1281 = add i32 %t1280, 1
|
|
store i32 %t1281, ptr %t1201
|
|
br label %wcond194
|
|
wend196:
|
|
%t1282 = load ptr, ptr %t1162
|
|
%t1283 = getelementptr inbounds %Cmp_Node, ptr %t1282, i32 0, i32 3
|
|
%t1284 = load ptr, ptr %t1283
|
|
%t1285 = call ptr @fn_llty(ptr %t1284)
|
|
store ptr %t1285, ptr %t1286
|
|
call void @fn_emit(ptr @.str4632)
|
|
store ptr @.str4633, ptr %t1287
|
|
%t1288 = load ptr, ptr %t1286
|
|
%t1289 = call i32 @fn_str_eq(ptr %t1288, ptr @.str4634)
|
|
%t1290 = icmp eq i32 %t1289, 0
|
|
%t1291 = zext i1 %t1290 to i32
|
|
%t1292 = icmp ne i32 %t1291, 0
|
|
br i1 %t1292, label %then204, label %ifend206
|
|
then204:
|
|
%t1293 = call ptr @fn_nreg()
|
|
store ptr %t1293, ptr %t1287
|
|
%t1294 = load ptr, ptr %t1287
|
|
call void @fn_emit(ptr %t1294)
|
|
call void @fn_emit(ptr @.str4635)
|
|
br label %ifend206
|
|
ifend206:
|
|
call void @fn_emit(ptr @.str4636)
|
|
%t1295 = load ptr, ptr %t1286
|
|
call void @fn_emit(ptr %t1295)
|
|
call void @fn_emit(ptr @.str4637)
|
|
%t1296 = load ptr, ptr %t1164
|
|
call void @fn_emit(ptr %t1296)
|
|
call void @fn_emit(ptr @.str4638)
|
|
store i32 0, ptr %t1201
|
|
br label %wcond207
|
|
wcond207:
|
|
%t1297 = load i32, ptr %t1201
|
|
%t1298 = load ptr, ptr %t1193
|
|
%t1299 = getelementptr inbounds %LSlice, ptr %t1298, i32 0, i32 1
|
|
%t1300 = load i32, ptr %t1299
|
|
%t1301 = icmp slt i32 %t1297, %t1300
|
|
%t1302 = zext i1 %t1301 to i32
|
|
%t1303 = icmp ne i32 %t1302, 0
|
|
br i1 %t1303, label %wbody208, label %wend209
|
|
wbody208:
|
|
%t1304 = load i32, ptr %t1201
|
|
%t1305 = icmp sgt i32 %t1304, 0
|
|
%t1306 = zext i1 %t1305 to i32
|
|
%t1307 = icmp ne i32 %t1306, 0
|
|
br i1 %t1307, label %then210, label %ifend212
|
|
then210:
|
|
call void @fn_emit(ptr @.str4639)
|
|
br label %ifend212
|
|
ifend212:
|
|
%t1308 = load ptr, ptr %t1200
|
|
%t1309 = getelementptr inbounds %LSlice, ptr %t1308, i32 0, i32 0
|
|
%t1310 = load ptr, ptr %t1309
|
|
%t1311 = load i32, ptr %t1201
|
|
%t1312 = getelementptr inbounds ptr, ptr %t1310, i32 %t1311
|
|
%t1313 = load ptr, ptr %t1312
|
|
%t1314 = call ptr @fn_llty(ptr %t1313)
|
|
call void @fn_emit(ptr %t1314)
|
|
call void @fn_emit(ptr @.str4640)
|
|
%t1315 = load ptr, ptr %t1193
|
|
%t1316 = getelementptr inbounds %LSlice, ptr %t1315, i32 0, i32 0
|
|
%t1317 = load ptr, ptr %t1316
|
|
%t1318 = load i32, ptr %t1201
|
|
%t1319 = getelementptr inbounds ptr, ptr %t1317, i32 %t1318
|
|
%t1320 = load ptr, ptr %t1319
|
|
call void @fn_emit(ptr %t1320)
|
|
%t1321 = load i32, ptr %t1201
|
|
%t1322 = add i32 %t1321, 1
|
|
store i32 %t1322, ptr %t1201
|
|
br label %wcond207
|
|
wend209:
|
|
call void @fn_emit(ptr @.str4641)
|
|
%t1323 = load ptr, ptr %t1287
|
|
%t1324 = load ptr, ptr %t1162
|
|
%t1325 = getelementptr inbounds %Cmp_Node, ptr %t1324, i32 0, i32 3
|
|
%t1326 = load ptr, ptr %t1325
|
|
%t1327 = call ptr @fn_val(ptr %t1323, ptr %t1326)
|
|
store ptr %t1327, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t1328 = load ptr, ptr %retval
|
|
ret ptr %t1328
|
|
}
|
|
|
|
define ptr @fn_emit_expr(ptr %arg_e) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t56 = alloca ptr
|
|
%t61 = alloca ptr
|
|
%t66 = alloca ptr
|
|
%t124 = alloca i32
|
|
%t146 = alloca ptr
|
|
%t175 = alloca ptr
|
|
%t221 = alloca i32
|
|
%t242 = alloca i32
|
|
%t254 = alloca ptr
|
|
%t264 = alloca ptr
|
|
%t277 = alloca ptr
|
|
%t289 = alloca ptr
|
|
%t296 = alloca ptr
|
|
%t339 = alloca ptr
|
|
%t398 = alloca ptr
|
|
store ptr %arg_e, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = icmp eq ptr %t1, null
|
|
%t3 = zext i1 %t2 to i32
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = call ptr @fn_val(ptr @.str4642, ptr @.str4643)
|
|
store ptr %t5, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 0
|
|
%t8 = load i32, ptr %t7
|
|
%t9 = icmp eq i32 %t8, 30
|
|
%t10 = zext i1 %t9 to i32
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %then3, label %ifend5
|
|
then3:
|
|
%t12 = load ptr, ptr %t0
|
|
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 2
|
|
%t14 = load i32, ptr %t13
|
|
%t15 = call ptr @fn_itoa(i32 %t14)
|
|
%t16 = call ptr @fn_val(ptr %t15, ptr @.str4644)
|
|
store ptr %t16, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 0
|
|
%t19 = load i32, ptr %t18
|
|
%t20 = icmp eq i32 %t19, 40
|
|
%t21 = zext i1 %t20 to i32
|
|
%t22 = icmp ne i32 %t21, 0
|
|
br i1 %t22, label %then6, label %ifend8
|
|
then6:
|
|
%t23 = load ptr, ptr %t0
|
|
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 2
|
|
%t25 = load i32, ptr %t24
|
|
%t26 = call ptr @fn_itoa(i32 %t25)
|
|
%t27 = call ptr @fn_val(ptr %t26, ptr @.str4645)
|
|
store ptr %t27, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t28 = load ptr, ptr %t0
|
|
%t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 0
|
|
%t30 = load i32, ptr %t29
|
|
%t31 = icmp eq i32 %t30, 32
|
|
%t32 = zext i1 %t31 to i32
|
|
%t33 = icmp ne i32 %t32, 0
|
|
br i1 %t33, label %then9, label %ifend11
|
|
then9:
|
|
%t34 = load ptr, ptr %t0
|
|
%t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 2
|
|
%t36 = load i32, ptr %t35
|
|
%t37 = call ptr @fn_itoa(i32 %t36)
|
|
%t38 = call ptr @fn_val(ptr %t37, ptr @.str4646)
|
|
store ptr %t38, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t39 = load ptr, ptr %t0
|
|
%t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 0
|
|
%t41 = load i32, ptr %t40
|
|
%t42 = icmp eq i32 %t41, 43
|
|
%t43 = zext i1 %t42 to i32
|
|
%t44 = icmp ne i32 %t43, 0
|
|
br i1 %t44, label %then12, label %ifend14
|
|
then12:
|
|
%t45 = call ptr @fn_val(ptr @.str4647, ptr @.str4648)
|
|
store ptr %t45, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t46 = load ptr, ptr %t0
|
|
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 0
|
|
%t48 = load i32, ptr %t47
|
|
%t49 = icmp eq i32 %t48, 44
|
|
%t50 = zext i1 %t49 to i32
|
|
%t51 = icmp ne i32 %t50, 0
|
|
br i1 %t51, label %then15, label %ifend17
|
|
then15:
|
|
%t52 = load ptr, ptr %t0
|
|
%t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 4
|
|
%t54 = load ptr, ptr %t53
|
|
%t55 = call ptr @fn_emit_expr(ptr %t54)
|
|
store ptr %t55, ptr %t56
|
|
%t57 = load ptr, ptr %t0
|
|
%t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 5
|
|
%t59 = load ptr, ptr %t58
|
|
%t60 = call ptr @fn_emit_expr(ptr %t59)
|
|
store ptr %t60, ptr %t61
|
|
%t62 = load ptr, ptr %t0
|
|
%t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 6
|
|
%t64 = load ptr, ptr %t63
|
|
%t65 = call ptr @fn_emit_expr(ptr %t64)
|
|
store ptr %t65, ptr %t66
|
|
store i32 1, ptr @g_g_uses_strslice
|
|
%t67 = load ptr, ptr %t56
|
|
%t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 0
|
|
%t69 = load ptr, ptr %t68
|
|
%t70 = call ptr @fn_str_concat(ptr @.str4649, ptr %t69)
|
|
%t71 = call ptr @fn_str_concat(ptr %t70, ptr @.str4650)
|
|
%t72 = load ptr, ptr %t61
|
|
%t73 = getelementptr inbounds %Cmp_Val, ptr %t72, i32 0, i32 0
|
|
%t74 = load ptr, ptr %t73
|
|
%t75 = call ptr @fn_str_concat(ptr %t71, ptr %t74)
|
|
%t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str4651)
|
|
%t77 = load ptr, ptr %t66
|
|
%t78 = getelementptr inbounds %Cmp_Val, ptr %t77, i32 0, i32 0
|
|
%t79 = load ptr, ptr %t78
|
|
%t80 = call ptr @fn_str_concat(ptr %t76, ptr %t79)
|
|
%t81 = call ptr @fn_str_concat(ptr %t80, ptr @.str4652)
|
|
%t82 = call ptr @fn_emit_bind(ptr %t81)
|
|
%t83 = call ptr @fn_val(ptr %t82, ptr @.str4653)
|
|
store ptr %t83, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t84 = load ptr, ptr %t0
|
|
%t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 0
|
|
%t86 = load i32, ptr %t85
|
|
%t87 = icmp eq i32 %t86, 31
|
|
%t88 = zext i1 %t87 to i32
|
|
%t89 = icmp ne i32 %t88, 0
|
|
br i1 %t89, label %then18, label %ifend20
|
|
then18:
|
|
%t90 = load ptr, ptr %t0
|
|
%t91 = getelementptr inbounds %Cmp_Node, ptr %t90, i32 0, i32 1
|
|
%t92 = load ptr, ptr %t91
|
|
%t93 = call ptr @fn_emit_str_const(ptr %t92)
|
|
%t94 = call ptr @fn_val(ptr %t93, ptr @.str4654)
|
|
store ptr %t94, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t95 = load ptr, ptr %t0
|
|
%t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 0
|
|
%t97 = load i32, ptr %t96
|
|
%t98 = icmp eq i32 %t97, 39
|
|
%t99 = zext i1 %t98 to i32
|
|
%t100 = icmp ne i32 %t99, 0
|
|
br i1 %t100, label %then21, label %ifend23
|
|
then21:
|
|
%t101 = load ptr, ptr %t0
|
|
%t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 1
|
|
%t103 = load ptr, ptr %t102
|
|
%t104 = call i32 @fn_is_slice_ty(ptr %t103)
|
|
%t105 = icmp ne i32 %t104, 0
|
|
br i1 %t105, label %then24, label %ifend26
|
|
then24:
|
|
%t106 = load ptr, ptr %t0
|
|
%t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 1
|
|
%t108 = load ptr, ptr %t107
|
|
%t109 = call ptr @fn_emit_new_slice(ptr %t108)
|
|
store ptr %t109, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t110 = load ptr, ptr %t0
|
|
%t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 1
|
|
%t112 = load ptr, ptr %t111
|
|
%t113 = call ptr @fn_emit_new_struct(ptr %t112)
|
|
store ptr %t113, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t114 = load ptr, ptr %t0
|
|
%t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 0
|
|
%t116 = load i32, ptr %t115
|
|
%t117 = icmp eq i32 %t116, 33
|
|
%t118 = zext i1 %t117 to i32
|
|
%t119 = icmp ne i32 %t118, 0
|
|
br i1 %t119, label %then27, label %ifend29
|
|
then27:
|
|
%t120 = load ptr, ptr %t0
|
|
%t121 = getelementptr inbounds %Cmp_Node, ptr %t120, i32 0, i32 1
|
|
%t122 = load ptr, ptr %t121
|
|
%t123 = call i32 @fn_loc_find(ptr %t122)
|
|
store i32 %t123, ptr %t124
|
|
%t125 = load i32, ptr %t124
|
|
%t126 = icmp sge i32 %t125, 0
|
|
%t127 = zext i1 %t126 to i32
|
|
%t128 = icmp ne i32 %t127, 0
|
|
br i1 %t128, label %then30, label %ifend32
|
|
then30:
|
|
%t129 = load ptr, ptr @g_loc_reg
|
|
%t130 = getelementptr inbounds %LSlice, ptr %t129, i32 0, i32 0
|
|
%t131 = load ptr, ptr %t130
|
|
%t132 = load i32, ptr %t124
|
|
%t133 = getelementptr inbounds ptr, ptr %t131, i32 %t132
|
|
%t134 = load ptr, ptr %t133
|
|
%t135 = load ptr, ptr @g_loc_ty
|
|
%t136 = getelementptr inbounds %LSlice, ptr %t135, i32 0, i32 0
|
|
%t137 = load ptr, ptr %t136
|
|
%t138 = load i32, ptr %t124
|
|
%t139 = getelementptr inbounds ptr, ptr %t137, i32 %t138
|
|
%t140 = load ptr, ptr %t139
|
|
%t141 = call ptr @fn_emit_load_at(ptr %t134, ptr %t140)
|
|
store ptr %t141, ptr %retval
|
|
br label %ret
|
|
ifend32:
|
|
%t142 = load ptr, ptr %t0
|
|
%t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 1
|
|
%t144 = load ptr, ptr %t143
|
|
%t145 = call ptr @fn_find_global(ptr %t144)
|
|
store ptr %t145, ptr %t146
|
|
%t147 = load ptr, ptr %t146
|
|
%t148 = icmp ne ptr %t147, null
|
|
%t149 = zext i1 %t148 to i32
|
|
%t150 = icmp ne i32 %t149, 0
|
|
br i1 %t150, label %then33, label %ifend35
|
|
then33:
|
|
%t151 = load ptr, ptr %t146
|
|
%t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 0
|
|
%t153 = load i32, ptr %t152
|
|
%t154 = icmp eq i32 %t153, 3
|
|
%t155 = zext i1 %t154 to i32
|
|
%t156 = icmp ne i32 %t155, 0
|
|
br i1 %t156, label %then36, label %ifend38
|
|
then36:
|
|
%t157 = load ptr, ptr %t146
|
|
%t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 4
|
|
%t159 = load ptr, ptr %t158
|
|
%t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 2
|
|
%t161 = load i32, ptr %t160
|
|
%t162 = call ptr @fn_itoa(i32 %t161)
|
|
%t163 = call ptr @fn_val(ptr %t162, ptr @.str4655)
|
|
store ptr %t163, ptr %retval
|
|
br label %ret
|
|
ifend38:
|
|
%t164 = load ptr, ptr %t146
|
|
%t165 = getelementptr inbounds %Cmp_Node, ptr %t164, i32 0, i32 3
|
|
%t166 = load ptr, ptr %t165
|
|
%t167 = call ptr @fn_llty(ptr %t166)
|
|
%t168 = call ptr @fn_str_concat(ptr @.str4656, ptr %t167)
|
|
%t169 = call ptr @fn_str_concat(ptr %t168, ptr @.str4657)
|
|
%t170 = load ptr, ptr %t0
|
|
%t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 1
|
|
%t172 = load ptr, ptr %t171
|
|
%t173 = call ptr @fn_str_concat(ptr %t169, ptr %t172)
|
|
%t174 = call ptr @fn_emit_bind(ptr %t173)
|
|
store ptr %t174, ptr %t175
|
|
%t176 = load ptr, ptr %t175
|
|
%t177 = load ptr, ptr %t146
|
|
%t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 3
|
|
%t179 = load ptr, ptr %t178
|
|
%t180 = call ptr @fn_val(ptr %t176, ptr %t179)
|
|
store ptr %t180, ptr %retval
|
|
br label %ret
|
|
ifend35:
|
|
%t181 = load ptr, ptr %t0
|
|
%t182 = getelementptr inbounds %Cmp_Node, ptr %t181, i32 0, i32 1
|
|
%t183 = load ptr, ptr %t182
|
|
%t184 = call i32 @fn_is_ui_ident(ptr %t183)
|
|
%t185 = icmp ne i32 %t184, 0
|
|
br i1 %t185, label %then39, label %ifend41
|
|
then39:
|
|
%t186 = load ptr, ptr %t0
|
|
%t187 = getelementptr inbounds %Cmp_Node, ptr %t186, i32 0, i32 1
|
|
%t188 = load ptr, ptr %t187
|
|
%t189 = call i32 @fn_ui_index_of(ptr %t188)
|
|
%t190 = call ptr @fn_itoa(i32 %t189)
|
|
%t191 = call ptr @fn_val(ptr %t190, ptr @.str4658)
|
|
store ptr %t191, ptr %retval
|
|
br label %ret
|
|
ifend41:
|
|
%t192 = load ptr, ptr %t0
|
|
%t193 = getelementptr inbounds %Cmp_Node, ptr %t192, i32 0, i32 1
|
|
%t194 = load ptr, ptr %t193
|
|
%t195 = call ptr @fn_str_concat(ptr @.str4659, ptr %t194)
|
|
call void @fn_perr(ptr %t195)
|
|
br label %ifend29
|
|
ifend29:
|
|
%t196 = load ptr, ptr %t0
|
|
%t197 = getelementptr inbounds %Cmp_Node, ptr %t196, i32 0, i32 0
|
|
%t198 = load i32, ptr %t197
|
|
%t199 = icmp eq i32 %t198, 35
|
|
%t200 = zext i1 %t199 to i32
|
|
%t201 = icmp ne i32 %t200, 0
|
|
br i1 %t201, label %then42, label %ifend44
|
|
then42:
|
|
%t202 = load ptr, ptr %t0
|
|
%t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 4
|
|
%t204 = load ptr, ptr %t203
|
|
%t205 = getelementptr inbounds %Cmp_Node, ptr %t204, i32 0, i32 0
|
|
%t206 = load i32, ptr %t205
|
|
%t207 = icmp eq i32 %t206, 33
|
|
%t208 = zext i1 %t207 to i32
|
|
%t209 = icmp ne i32 %t208, 0
|
|
br i1 %t209, label %then45, label %ifend47
|
|
then45:
|
|
%t210 = load ptr, ptr %t0
|
|
%t211 = getelementptr inbounds %Cmp_Node, ptr %t210, i32 0, i32 4
|
|
%t212 = load ptr, ptr %t211
|
|
%t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 1
|
|
%t214 = load ptr, ptr %t213
|
|
%t215 = call i32 @fn_str_eq(ptr %t214, ptr @.str4660)
|
|
%t216 = icmp ne i32 %t215, 0
|
|
br i1 %t216, label %then48, label %ifend50
|
|
then48:
|
|
%t217 = load ptr, ptr %t0
|
|
%t218 = getelementptr inbounds %Cmp_Node, ptr %t217, i32 0, i32 1
|
|
%t219 = load ptr, ptr %t218
|
|
%t220 = call i32 @fn_color_lookup(ptr %t219)
|
|
store i32 %t220, ptr %t221
|
|
%t222 = load i32, ptr %t221
|
|
%t223 = icmp slt i32 %t222, 0
|
|
%t224 = zext i1 %t223 to i32
|
|
%t225 = icmp ne i32 %t224, 0
|
|
br i1 %t225, label %then51, label %ifend53
|
|
then51:
|
|
%t226 = load ptr, ptr %t0
|
|
%t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 1
|
|
%t228 = load ptr, ptr %t227
|
|
%t229 = call ptr @fn_str_concat(ptr @.str4661, ptr %t228)
|
|
call void @fn_perr(ptr %t229)
|
|
br label %ifend53
|
|
ifend53:
|
|
%t230 = load i32, ptr %t221
|
|
%t231 = call ptr @fn_itoa(i32 %t230)
|
|
%t232 = call ptr @fn_val(ptr %t231, ptr @.str4662)
|
|
store ptr %t232, ptr %retval
|
|
br label %ret
|
|
ifend50:
|
|
%t233 = load ptr, ptr %t0
|
|
%t234 = getelementptr inbounds %Cmp_Node, ptr %t233, i32 0, i32 4
|
|
%t235 = load ptr, ptr %t234
|
|
%t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 1
|
|
%t237 = load ptr, ptr %t236
|
|
%t238 = load ptr, ptr %t0
|
|
%t239 = getelementptr inbounds %Cmp_Node, ptr %t238, i32 0, i32 1
|
|
%t240 = load ptr, ptr %t239
|
|
%t241 = call i32 @fn_enum_ordinal(ptr %t237, ptr %t240)
|
|
store i32 %t241, ptr %t242
|
|
%t243 = load i32, ptr %t242
|
|
%t244 = icmp sge i32 %t243, 0
|
|
%t245 = zext i1 %t244 to i32
|
|
%t246 = icmp ne i32 %t245, 0
|
|
br i1 %t246, label %then54, label %ifend56
|
|
then54:
|
|
%t247 = load i32, ptr %t242
|
|
%t248 = call ptr @fn_itoa(i32 %t247)
|
|
%t249 = call ptr @fn_val(ptr %t248, ptr @.str4663)
|
|
store ptr %t249, ptr %retval
|
|
br label %ret
|
|
ifend56:
|
|
br label %ifend47
|
|
ifend47:
|
|
%t250 = load ptr, ptr %t0
|
|
%t251 = getelementptr inbounds %Cmp_Node, ptr %t250, i32 0, i32 4
|
|
%t252 = load ptr, ptr %t251
|
|
%t253 = call ptr @fn_static_type(ptr %t252)
|
|
store ptr %t253, ptr %t254
|
|
%t255 = load ptr, ptr %t254
|
|
%t256 = icmp ne ptr %t255, null
|
|
%t257 = zext i1 %t256 to i32
|
|
%t258 = icmp ne i32 %t257, 0
|
|
br i1 %t258, label %then57, label %ifend59
|
|
then57:
|
|
%t259 = load ptr, ptr %t254
|
|
%t260 = load ptr, ptr %t0
|
|
%t261 = getelementptr inbounds %Cmp_Node, ptr %t260, i32 0, i32 1
|
|
%t262 = load ptr, ptr %t261
|
|
%t263 = call ptr @fn_computed_expr(ptr %t259, ptr %t262)
|
|
store ptr %t263, ptr %t264
|
|
%t265 = load ptr, ptr %t264
|
|
%t266 = icmp ne ptr %t265, null
|
|
%t267 = zext i1 %t266 to i32
|
|
%t268 = icmp ne i32 %t267, 0
|
|
br i1 %t268, label %then60, label %ifend62
|
|
then60:
|
|
%t269 = load ptr, ptr %t264
|
|
%t270 = load ptr, ptr %t0
|
|
%t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 4
|
|
%t272 = load ptr, ptr %t271
|
|
%t273 = call ptr @fn_qualify_fields(ptr %t269, ptr %t272)
|
|
%t274 = call ptr @fn_emit_expr(ptr %t273)
|
|
store ptr %t274, ptr %retval
|
|
br label %ret
|
|
ifend62:
|
|
br label %ifend59
|
|
ifend59:
|
|
%t275 = load ptr, ptr %t0
|
|
%t276 = call ptr @fn_emit_member_addr(ptr %t275)
|
|
store ptr %t276, ptr %t277
|
|
%t278 = load ptr, ptr %t277
|
|
%t279 = load ptr, ptr @g_g_addr_ty
|
|
%t280 = call ptr @fn_emit_load_at(ptr %t278, ptr %t279)
|
|
store ptr %t280, ptr %retval
|
|
br label %ret
|
|
ifend44:
|
|
%t281 = load ptr, ptr %t0
|
|
%t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 0
|
|
%t283 = load i32, ptr %t282
|
|
%t284 = icmp eq i32 %t283, 36
|
|
%t285 = zext i1 %t284 to i32
|
|
%t286 = icmp ne i32 %t285, 0
|
|
br i1 %t286, label %then63, label %ifend65
|
|
then63:
|
|
%t287 = load ptr, ptr %t0
|
|
%t288 = call ptr @fn_emit_index_addr(ptr %t287)
|
|
store ptr %t288, ptr %t289
|
|
%t290 = load ptr, ptr @g_g_addr_ty
|
|
%t291 = call i32 @fn_str_eq(ptr %t290, ptr @.str4664)
|
|
%t292 = icmp ne i32 %t291, 0
|
|
br i1 %t292, label %then66, label %ifend68
|
|
then66:
|
|
%t293 = load ptr, ptr %t289
|
|
%t294 = call ptr @fn_str_concat(ptr @.str4665, ptr %t293)
|
|
%t295 = call ptr @fn_emit_bind(ptr %t294)
|
|
store ptr %t295, ptr %t296
|
|
%t297 = load ptr, ptr %t296
|
|
%t298 = call ptr @fn_str_concat(ptr @.str4666, ptr %t297)
|
|
%t299 = call ptr @fn_str_concat(ptr %t298, ptr @.str4667)
|
|
%t300 = call ptr @fn_emit_bind(ptr %t299)
|
|
%t301 = call ptr @fn_val(ptr %t300, ptr @.str4668)
|
|
store ptr %t301, ptr %retval
|
|
br label %ret
|
|
ifend68:
|
|
%t302 = load ptr, ptr %t289
|
|
%t303 = load ptr, ptr @g_g_addr_ty
|
|
%t304 = call ptr @fn_emit_load_at(ptr %t302, ptr %t303)
|
|
store ptr %t304, ptr %retval
|
|
br label %ret
|
|
ifend65:
|
|
%t305 = load ptr, ptr %t0
|
|
%t306 = getelementptr inbounds %Cmp_Node, ptr %t305, i32 0, i32 0
|
|
%t307 = load i32, ptr %t306
|
|
%t308 = icmp eq i32 %t307, 49
|
|
%t309 = zext i1 %t308 to i32
|
|
%t310 = icmp ne i32 %t309, 0
|
|
br i1 %t310, label %then69, label %ifend71
|
|
then69:
|
|
%t311 = load ptr, ptr %t0
|
|
%t312 = call ptr @fn_emit_emit(ptr %t311)
|
|
store ptr %t312, ptr %retval
|
|
br label %ret
|
|
ifend71:
|
|
%t313 = load ptr, ptr %t0
|
|
%t314 = getelementptr inbounds %Cmp_Node, ptr %t313, i32 0, i32 0
|
|
%t315 = load i32, ptr %t314
|
|
%t316 = icmp eq i32 %t315, 34
|
|
%t317 = zext i1 %t316 to i32
|
|
%t318 = icmp ne i32 %t317, 0
|
|
br i1 %t318, label %then72, label %ifend74
|
|
then72:
|
|
%t319 = load ptr, ptr %t0
|
|
%t320 = call ptr @fn_emit_call(ptr %t319)
|
|
store ptr %t320, ptr %retval
|
|
br label %ret
|
|
ifend74:
|
|
%t321 = load ptr, ptr %t0
|
|
%t322 = getelementptr inbounds %Cmp_Node, ptr %t321, i32 0, i32 0
|
|
%t323 = load i32, ptr %t322
|
|
%t324 = icmp eq i32 %t323, 37
|
|
%t325 = zext i1 %t324 to i32
|
|
%t326 = icmp ne i32 %t325, 0
|
|
br i1 %t326, label %then75, label %ifend77
|
|
then75:
|
|
%t327 = load ptr, ptr %t0
|
|
%t328 = call ptr @fn_emit_bin(ptr %t327)
|
|
store ptr %t328, ptr %retval
|
|
br label %ret
|
|
ifend77:
|
|
%t329 = load ptr, ptr %t0
|
|
%t330 = getelementptr inbounds %Cmp_Node, ptr %t329, i32 0, i32 0
|
|
%t331 = load i32, ptr %t330
|
|
%t332 = icmp eq i32 %t331, 38
|
|
%t333 = zext i1 %t332 to i32
|
|
%t334 = icmp ne i32 %t333, 0
|
|
br i1 %t334, label %then78, label %ifend80
|
|
then78:
|
|
%t335 = load ptr, ptr %t0
|
|
%t336 = getelementptr inbounds %Cmp_Node, ptr %t335, i32 0, i32 4
|
|
%t337 = load ptr, ptr %t336
|
|
%t338 = call ptr @fn_emit_expr(ptr %t337)
|
|
store ptr %t338, ptr %t339
|
|
%t340 = load ptr, ptr %t339
|
|
%t341 = getelementptr inbounds %Cmp_Val, ptr %t340, i32 0, i32 1
|
|
%t342 = load ptr, ptr %t341
|
|
%t343 = call ptr @fn_llty(ptr %t342)
|
|
%t344 = call i32 @fn_str_eq(ptr %t343, ptr @.str4669)
|
|
%t345 = icmp ne i32 %t344, 0
|
|
br i1 %t345, label %then81, label %ifend83
|
|
then81:
|
|
%t346 = load ptr, ptr %t0
|
|
%t347 = getelementptr inbounds %Cmp_Node, ptr %t346, i32 0, i32 1
|
|
%t348 = load ptr, ptr %t347
|
|
%t349 = call i32 @fn_str_eq(ptr %t348, ptr @.str4670)
|
|
%t350 = icmp ne i32 %t349, 0
|
|
br i1 %t350, label %then84, label %ifend86
|
|
then84:
|
|
%t351 = load ptr, ptr %t339
|
|
%t352 = getelementptr inbounds %Cmp_Val, ptr %t351, i32 0, i32 0
|
|
%t353 = load ptr, ptr %t352
|
|
%t354 = call ptr @fn_str_concat(ptr @.str4671, ptr %t353)
|
|
%t355 = call ptr @fn_emit_bind(ptr %t354)
|
|
%t356 = call ptr @fn_val(ptr %t355, ptr @.str4672)
|
|
store ptr %t356, ptr %retval
|
|
br label %ret
|
|
ifend86:
|
|
%t357 = load ptr, ptr %t0
|
|
%t358 = getelementptr inbounds %Cmp_Node, ptr %t357, i32 0, i32 1
|
|
%t359 = load ptr, ptr %t358
|
|
%t360 = call i32 @fn_str_eq(ptr %t359, ptr @.str4673)
|
|
%t361 = icmp ne i32 %t360, 0
|
|
br i1 %t361, label %then87, label %ifend89
|
|
then87:
|
|
%t362 = load ptr, ptr %t339
|
|
%t363 = getelementptr inbounds %Cmp_Val, ptr %t362, i32 0, i32 0
|
|
%t364 = load ptr, ptr %t363
|
|
%t365 = call ptr @fn_str_concat(ptr @.str4674, ptr %t364)
|
|
%t366 = call ptr @fn_str_concat(ptr %t365, ptr @.str4675)
|
|
%t367 = call ptr @fn_emit_bind(ptr %t366)
|
|
%t368 = call ptr @fn_val(ptr %t367, ptr @.str4676)
|
|
store ptr %t368, ptr %retval
|
|
br label %ret
|
|
ifend89:
|
|
br label %ifend83
|
|
ifend83:
|
|
%t369 = load ptr, ptr %t0
|
|
%t370 = getelementptr inbounds %Cmp_Node, ptr %t369, i32 0, i32 1
|
|
%t371 = load ptr, ptr %t370
|
|
%t372 = call i32 @fn_str_eq(ptr %t371, ptr @.str4677)
|
|
%t373 = icmp ne i32 %t372, 0
|
|
br i1 %t373, label %then90, label %ifend92
|
|
then90:
|
|
%t374 = load ptr, ptr %t339
|
|
%t375 = getelementptr inbounds %Cmp_Val, ptr %t374, i32 0, i32 0
|
|
%t376 = load ptr, ptr %t375
|
|
%t377 = call ptr @fn_str_concat(ptr @.str4678, ptr %t376)
|
|
%t378 = call ptr @fn_emit_bind(ptr %t377)
|
|
%t379 = call ptr @fn_val(ptr %t378, ptr @.str4679)
|
|
store ptr %t379, ptr %retval
|
|
br label %ret
|
|
ifend92:
|
|
%t380 = load ptr, ptr %t0
|
|
%t381 = getelementptr inbounds %Cmp_Node, ptr %t380, i32 0, i32 1
|
|
%t382 = load ptr, ptr %t381
|
|
%t383 = call i32 @fn_str_eq(ptr %t382, ptr @.str4680)
|
|
%t384 = icmp ne i32 %t383, 0
|
|
br i1 %t384, label %then93, label %ifend95
|
|
then93:
|
|
%t385 = load ptr, ptr %t339
|
|
%t386 = getelementptr inbounds %Cmp_Val, ptr %t385, i32 0, i32 0
|
|
%t387 = load ptr, ptr %t386
|
|
%t388 = call ptr @fn_str_concat(ptr @.str4681, ptr %t387)
|
|
%t389 = call ptr @fn_str_concat(ptr %t388, ptr @.str4682)
|
|
%t390 = call ptr @fn_emit_bind(ptr %t389)
|
|
%t391 = call ptr @fn_val(ptr %t390, ptr @.str4683)
|
|
store ptr %t391, ptr %retval
|
|
br label %ret
|
|
ifend95:
|
|
%t392 = load ptr, ptr %t339
|
|
%t393 = getelementptr inbounds %Cmp_Val, ptr %t392, i32 0, i32 0
|
|
%t394 = load ptr, ptr %t393
|
|
%t395 = call ptr @fn_str_concat(ptr @.str4684, ptr %t394)
|
|
%t396 = call ptr @fn_str_concat(ptr %t395, ptr @.str4685)
|
|
%t397 = call ptr @fn_emit_bind(ptr %t396)
|
|
store ptr %t397, ptr %t398
|
|
%t399 = load ptr, ptr %t398
|
|
%t400 = call ptr @fn_str_concat(ptr @.str4686, ptr %t399)
|
|
%t401 = call ptr @fn_str_concat(ptr %t400, ptr @.str4687)
|
|
%t402 = call ptr @fn_emit_bind(ptr %t401)
|
|
%t403 = call ptr @fn_val(ptr %t402, ptr @.str4688)
|
|
store ptr %t403, ptr %retval
|
|
br label %ret
|
|
ifend80:
|
|
call void @fn_perr(ptr @.str4689)
|
|
%t404 = call ptr @fn_val(ptr @.str4690, ptr @.str4691)
|
|
store ptr %t404, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t405 = load ptr, ptr %retval
|
|
ret ptr %t405
|
|
}
|
|
|
|
define void @fn_emit_block(ptr %arg_b) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_b, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1
|
|
%t7 = load i32, ptr %t6
|
|
%t8 = icmp slt i32 %t2, %t7
|
|
%t9 = zext i1 %t8 to i32
|
|
%t10 = icmp ne i32 %t9, 0
|
|
br i1 %t10, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t11 = load i32, ptr @g_g_term
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then3, label %ifend5
|
|
then3:
|
|
br label %ret
|
|
ifend5:
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 7
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0
|
|
%t17 = load ptr, ptr %t16
|
|
%t18 = load i32, ptr %t1
|
|
%t19 = getelementptr inbounds ptr, ptr %t17, i32 %t18
|
|
%t20 = load ptr, ptr %t19
|
|
call void @fn_emit_stmt(ptr %t20)
|
|
%t21 = load i32, ptr %t1
|
|
%t22 = add i32 %t21, 1
|
|
store i32 %t22, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_store_at(ptr %arg_lt, ptr %arg_v, ptr %arg_addr) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
store ptr %arg_lt, ptr %t0
|
|
store ptr %arg_v, ptr %t1
|
|
store ptr %arg_addr, ptr %t2
|
|
call void @fn_emit(ptr @.str4692)
|
|
%t3 = load ptr, ptr %t0
|
|
call void @fn_emit(ptr %t3)
|
|
call void @fn_emit(ptr @.str4693)
|
|
%t4 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t4)
|
|
call void @fn_emit(ptr @.str4694)
|
|
%t5 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t5)
|
|
call void @fn_emit(ptr @.str4695)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_assign(ptr %arg_st) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t4 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t6 = alloca ptr
|
|
%t17 = alloca i32
|
|
%t57 = alloca ptr
|
|
%t93 = alloca ptr
|
|
%t98 = alloca ptr
|
|
%t102 = alloca ptr
|
|
%t123 = alloca ptr
|
|
%t124 = alloca ptr
|
|
store ptr %arg_st, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
|
|
%t3 = load ptr, ptr %t2
|
|
store ptr %t3, ptr %t4
|
|
store ptr @.str4696, ptr %t5
|
|
store ptr @.str4697, ptr %t6
|
|
%t7 = load ptr, ptr %t4
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 0
|
|
%t9 = load i32, ptr %t8
|
|
%t10 = icmp eq i32 %t9, 33
|
|
%t11 = zext i1 %t10 to i32
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then0, label %else1
|
|
then0:
|
|
%t13 = load ptr, ptr %t4
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = call i32 @fn_loc_find(ptr %t15)
|
|
store i32 %t16, ptr %t17
|
|
%t18 = load i32, ptr %t17
|
|
%t19 = icmp sge i32 %t18, 0
|
|
%t20 = zext i1 %t19 to i32
|
|
%t21 = icmp ne i32 %t20, 0
|
|
br i1 %t21, label %then3, label %else4
|
|
then3:
|
|
%t22 = load ptr, ptr @g_loc_mut
|
|
%t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = load i32, ptr %t17
|
|
%t26 = getelementptr inbounds i32, ptr %t24, i32 %t25
|
|
%t27 = load i32, ptr %t26
|
|
%t28 = icmp eq i32 %t27, 0
|
|
%t29 = zext i1 %t28 to i32
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then6, label %ifend8
|
|
then6:
|
|
%t31 = load ptr, ptr %t4
|
|
%t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1
|
|
%t33 = load ptr, ptr %t32
|
|
%t34 = call ptr @fn_str_concat(ptr @.str4698, ptr %t33)
|
|
%t35 = call ptr @fn_str_concat(ptr %t34, ptr @.str4699)
|
|
%t36 = load ptr, ptr %t0
|
|
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 8
|
|
%t38 = load i32, ptr %t37
|
|
%t39 = call ptr @fn_itoa(i32 %t38)
|
|
%t40 = call ptr @fn_str_concat(ptr %t35, ptr %t39)
|
|
call void @fn_perr(ptr %t40)
|
|
br label %ifend8
|
|
ifend8:
|
|
%t41 = load ptr, ptr @g_loc_reg
|
|
%t42 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0
|
|
%t43 = load ptr, ptr %t42
|
|
%t44 = load i32, ptr %t17
|
|
%t45 = getelementptr inbounds ptr, ptr %t43, i32 %t44
|
|
%t46 = load ptr, ptr %t45
|
|
store ptr %t46, ptr %t5
|
|
%t47 = load ptr, ptr @g_loc_ty
|
|
%t48 = getelementptr inbounds %LSlice, ptr %t47, i32 0, i32 0
|
|
%t49 = load ptr, ptr %t48
|
|
%t50 = load i32, ptr %t17
|
|
%t51 = getelementptr inbounds ptr, ptr %t49, i32 %t50
|
|
%t52 = load ptr, ptr %t51
|
|
store ptr %t52, ptr %t6
|
|
br label %ifend5
|
|
else4:
|
|
%t53 = load ptr, ptr %t4
|
|
%t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1
|
|
%t55 = load ptr, ptr %t54
|
|
%t56 = call ptr @fn_find_global(ptr %t55)
|
|
store ptr %t56, ptr %t57
|
|
%t58 = load ptr, ptr %t57
|
|
%t59 = icmp eq ptr %t58, null
|
|
%t60 = zext i1 %t59 to i32
|
|
%t61 = icmp ne i32 %t60, 0
|
|
br i1 %t61, label %then9, label %ifend11
|
|
then9:
|
|
%t62 = load ptr, ptr %t4
|
|
%t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 1
|
|
%t64 = load ptr, ptr %t63
|
|
%t65 = call ptr @fn_str_concat(ptr @.str4700, ptr %t64)
|
|
call void @fn_perr(ptr %t65)
|
|
br label %ifend11
|
|
ifend11:
|
|
%t66 = load ptr, ptr %t4
|
|
%t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 1
|
|
%t68 = load ptr, ptr %t67
|
|
%t69 = call ptr @fn_str_concat(ptr @.str4701, ptr %t68)
|
|
store ptr %t69, ptr %t5
|
|
%t70 = load ptr, ptr %t57
|
|
%t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 3
|
|
%t72 = load ptr, ptr %t71
|
|
store ptr %t72, ptr %t6
|
|
br label %ifend5
|
|
ifend5:
|
|
br label %ifend2
|
|
else1:
|
|
%t73 = load ptr, ptr %t4
|
|
%t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 0
|
|
%t75 = load i32, ptr %t74
|
|
%t76 = icmp eq i32 %t75, 35
|
|
%t77 = zext i1 %t76 to i32
|
|
%t78 = icmp ne i32 %t77, 0
|
|
br i1 %t78, label %then12, label %else13
|
|
then12:
|
|
%t79 = load ptr, ptr %t4
|
|
%t80 = call ptr @fn_emit_member_addr(ptr %t79)
|
|
store ptr %t80, ptr %t5
|
|
%t81 = load ptr, ptr @g_g_addr_ty
|
|
store ptr %t81, ptr %t6
|
|
br label %ifend14
|
|
else13:
|
|
%t82 = load ptr, ptr %t4
|
|
%t83 = getelementptr inbounds %Cmp_Node, ptr %t82, i32 0, i32 0
|
|
%t84 = load i32, ptr %t83
|
|
%t85 = icmp eq i32 %t84, 36
|
|
%t86 = zext i1 %t85 to i32
|
|
%t87 = icmp ne i32 %t86, 0
|
|
br i1 %t87, label %then15, label %else16
|
|
then15:
|
|
%t88 = load ptr, ptr %t4
|
|
%t89 = call ptr @fn_emit_index_addr(ptr %t88)
|
|
store ptr %t89, ptr %t5
|
|
%t90 = load ptr, ptr @g_g_addr_ty
|
|
store ptr %t90, ptr %t6
|
|
br label %ifend17
|
|
else16:
|
|
call void @fn_perr(ptr @.str4702)
|
|
br label %ifend17
|
|
ifend17:
|
|
br label %ifend14
|
|
ifend14:
|
|
br label %ifend2
|
|
ifend2:
|
|
%t91 = load ptr, ptr %t6
|
|
%t92 = call ptr @fn_llty(ptr %t91)
|
|
store ptr %t92, ptr %t93
|
|
%t94 = load ptr, ptr %t0
|
|
%t95 = getelementptr inbounds %Cmp_Node, ptr %t94, i32 0, i32 5
|
|
%t96 = load ptr, ptr %t95
|
|
%t97 = call ptr @fn_emit_expr(ptr %t96)
|
|
store ptr %t97, ptr %t98
|
|
%t99 = load ptr, ptr %t98
|
|
%t100 = load ptr, ptr %t6
|
|
%t101 = call ptr @fn_coerce_code(ptr %t99, ptr %t100)
|
|
store ptr %t101, ptr %t102
|
|
%t103 = load ptr, ptr %t93
|
|
%t104 = call i32 @fn_str_eq(ptr %t103, ptr @.str4703)
|
|
%t105 = icmp ne i32 %t104, 0
|
|
br i1 %t105, label %then18, label %ifend20
|
|
then18:
|
|
%t106 = load ptr, ptr %t102
|
|
%t107 = call ptr @fn_str_concat(ptr @.str4704, ptr %t106)
|
|
%t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str4705)
|
|
%t109 = call ptr @fn_emit_bind(ptr %t108)
|
|
store ptr %t109, ptr %t102
|
|
br label %ifend20
|
|
ifend20:
|
|
%t110 = load ptr, ptr %t0
|
|
%t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 1
|
|
%t112 = load ptr, ptr %t111
|
|
%t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str4706)
|
|
%t114 = icmp eq i32 %t113, 0
|
|
%t115 = zext i1 %t114 to i32
|
|
%t116 = icmp ne i32 %t115, 0
|
|
br i1 %t116, label %then21, label %ifend23
|
|
then21:
|
|
%t117 = load ptr, ptr %t93
|
|
%t118 = call ptr @fn_str_concat(ptr @.str4707, ptr %t117)
|
|
%t119 = call ptr @fn_str_concat(ptr %t118, ptr @.str4708)
|
|
%t120 = load ptr, ptr %t5
|
|
%t121 = call ptr @fn_str_concat(ptr %t119, ptr %t120)
|
|
%t122 = call ptr @fn_emit_bind(ptr %t121)
|
|
store ptr %t122, ptr %t123
|
|
store ptr @.str4709, ptr %t124
|
|
%t125 = load ptr, ptr %t0
|
|
%t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 1
|
|
%t127 = load ptr, ptr %t126
|
|
%t128 = call i32 @fn_str_eq(ptr %t127, ptr @.str4710)
|
|
%t129 = icmp ne i32 %t128, 0
|
|
br i1 %t129, label %then24, label %ifend26
|
|
then24:
|
|
store ptr @.str4711, ptr %t124
|
|
br label %ifend26
|
|
ifend26:
|
|
%t130 = load ptr, ptr %t0
|
|
%t131 = getelementptr inbounds %Cmp_Node, ptr %t130, i32 0, i32 1
|
|
%t132 = load ptr, ptr %t131
|
|
%t133 = call i32 @fn_str_eq(ptr %t132, ptr @.str4712)
|
|
%t134 = icmp ne i32 %t133, 0
|
|
br i1 %t134, label %then27, label %ifend29
|
|
then27:
|
|
store ptr @.str4713, ptr %t124
|
|
br label %ifend29
|
|
ifend29:
|
|
%t135 = load ptr, ptr %t0
|
|
%t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 1
|
|
%t137 = load ptr, ptr %t136
|
|
%t138 = call i32 @fn_str_eq(ptr %t137, ptr @.str4714)
|
|
%t139 = icmp ne i32 %t138, 0
|
|
br i1 %t139, label %then30, label %ifend32
|
|
then30:
|
|
store ptr @.str4715, ptr %t124
|
|
br label %ifend32
|
|
ifend32:
|
|
%t140 = load ptr, ptr %t124
|
|
%t141 = call ptr @fn_str_concat(ptr %t140, ptr @.str4716)
|
|
%t142 = load ptr, ptr %t93
|
|
%t143 = call ptr @fn_str_concat(ptr %t141, ptr %t142)
|
|
%t144 = call ptr @fn_str_concat(ptr %t143, ptr @.str4717)
|
|
%t145 = load ptr, ptr %t123
|
|
%t146 = call ptr @fn_str_concat(ptr %t144, ptr %t145)
|
|
%t147 = call ptr @fn_str_concat(ptr %t146, ptr @.str4718)
|
|
%t148 = load ptr, ptr %t102
|
|
%t149 = call ptr @fn_str_concat(ptr %t147, ptr %t148)
|
|
%t150 = call ptr @fn_emit_bind(ptr %t149)
|
|
store ptr %t150, ptr %t102
|
|
br label %ifend23
|
|
ifend23:
|
|
%t151 = load ptr, ptr %t93
|
|
%t152 = load ptr, ptr %t102
|
|
%t153 = load ptr, ptr %t5
|
|
call void @fn_store_at(ptr %t151, ptr %t152, ptr %t153)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_if(ptr %arg_st) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t12 = alloca ptr
|
|
%t18 = alloca i32
|
|
%t20 = alloca ptr
|
|
%t22 = alloca ptr
|
|
%t24 = alloca ptr
|
|
store ptr %arg_st, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = call ptr @fn_emit_expr(ptr %t3)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = getelementptr inbounds %Cmp_Val, ptr %t6, i32 0, i32 0
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = call ptr @fn_str_concat(ptr @.str4719, ptr %t8)
|
|
%t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str4720)
|
|
%t11 = call ptr @fn_emit_bind(ptr %t10)
|
|
store ptr %t11, ptr %t12
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 6
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = icmp ne ptr %t15, null
|
|
%t17 = zext i1 %t16 to i32
|
|
store i32 %t17, ptr %t18
|
|
%t19 = call ptr @fn_lbl(ptr @.str4721)
|
|
store ptr %t19, ptr %t20
|
|
%t21 = call ptr @fn_lbl(ptr @.str4722)
|
|
store ptr %t21, ptr %t22
|
|
%t23 = call ptr @fn_lbl(ptr @.str4723)
|
|
store ptr %t23, ptr %t24
|
|
%t25 = load i32, ptr %t18
|
|
%t26 = icmp ne i32 %t25, 0
|
|
br i1 %t26, label %then0, label %else1
|
|
then0:
|
|
call void @fn_emit(ptr @.str4724)
|
|
%t27 = load ptr, ptr %t12
|
|
call void @fn_emit(ptr %t27)
|
|
call void @fn_emit(ptr @.str4725)
|
|
%t28 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t28)
|
|
call void @fn_emit(ptr @.str4726)
|
|
%t29 = load ptr, ptr %t22
|
|
call void @fn_emit(ptr %t29)
|
|
call void @fn_emit(ptr @.str4727)
|
|
br label %ifend2
|
|
else1:
|
|
call void @fn_emit(ptr @.str4728)
|
|
%t30 = load ptr, ptr %t12
|
|
call void @fn_emit(ptr %t30)
|
|
call void @fn_emit(ptr @.str4729)
|
|
%t31 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t31)
|
|
call void @fn_emit(ptr @.str4730)
|
|
%t32 = load ptr, ptr %t24
|
|
call void @fn_emit(ptr %t32)
|
|
call void @fn_emit(ptr @.str4731)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t33 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t33)
|
|
call void @fn_emit(ptr @.str4732)
|
|
store i32 0, ptr @g_g_term
|
|
%t34 = load ptr, ptr %t0
|
|
%t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 5
|
|
%t36 = load ptr, ptr %t35
|
|
call void @fn_emit_block(ptr %t36)
|
|
%t37 = load i32, ptr @g_g_term
|
|
%t38 = icmp eq i32 %t37, 0
|
|
%t39 = zext i1 %t38 to i32
|
|
%t40 = icmp ne i32 %t39, 0
|
|
br i1 %t40, label %then3, label %ifend5
|
|
then3:
|
|
call void @fn_emit(ptr @.str4733)
|
|
%t41 = load ptr, ptr %t24
|
|
call void @fn_emit(ptr %t41)
|
|
call void @fn_emit(ptr @.str4734)
|
|
br label %ifend5
|
|
ifend5:
|
|
%t42 = load i32, ptr %t18
|
|
%t43 = icmp ne i32 %t42, 0
|
|
br i1 %t43, label %then6, label %ifend8
|
|
then6:
|
|
%t44 = load ptr, ptr %t22
|
|
call void @fn_emit(ptr %t44)
|
|
call void @fn_emit(ptr @.str4735)
|
|
store i32 0, ptr @g_g_term
|
|
%t45 = load ptr, ptr %t0
|
|
%t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 6
|
|
%t47 = load ptr, ptr %t46
|
|
%t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 0
|
|
%t49 = load i32, ptr %t48
|
|
%t50 = icmp eq i32 %t49, 12
|
|
%t51 = zext i1 %t50 to i32
|
|
%t52 = icmp ne i32 %t51, 0
|
|
br i1 %t52, label %then9, label %else10
|
|
then9:
|
|
%t53 = load ptr, ptr %t0
|
|
%t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 6
|
|
%t55 = load ptr, ptr %t54
|
|
call void @fn_emit_stmt(ptr %t55)
|
|
br label %ifend11
|
|
else10:
|
|
%t56 = load ptr, ptr %t0
|
|
%t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 6
|
|
%t58 = load ptr, ptr %t57
|
|
call void @fn_emit_block(ptr %t58)
|
|
br label %ifend11
|
|
ifend11:
|
|
%t59 = load i32, ptr @g_g_term
|
|
%t60 = icmp eq i32 %t59, 0
|
|
%t61 = zext i1 %t60 to i32
|
|
%t62 = icmp ne i32 %t61, 0
|
|
br i1 %t62, label %then12, label %ifend14
|
|
then12:
|
|
call void @fn_emit(ptr @.str4736)
|
|
%t63 = load ptr, ptr %t24
|
|
call void @fn_emit(ptr %t63)
|
|
call void @fn_emit(ptr @.str4737)
|
|
br label %ifend14
|
|
ifend14:
|
|
br label %ifend8
|
|
ifend8:
|
|
%t64 = load ptr, ptr %t24
|
|
call void @fn_emit(ptr %t64)
|
|
call void @fn_emit(ptr @.str4738)
|
|
store i32 0, ptr @g_g_term
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_while(ptr %arg_st) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t4 = alloca ptr
|
|
%t6 = alloca ptr
|
|
%t13 = alloca ptr
|
|
%t20 = alloca ptr
|
|
store ptr %arg_st, ptr %t0
|
|
%t1 = call ptr @fn_lbl(ptr @.str4739)
|
|
store ptr %t1, ptr %t2
|
|
%t3 = call ptr @fn_lbl(ptr @.str4740)
|
|
store ptr %t3, ptr %t4
|
|
%t5 = call ptr @fn_lbl(ptr @.str4741)
|
|
store ptr %t5, ptr %t6
|
|
call void @fn_emit(ptr @.str4742)
|
|
%t7 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t7)
|
|
call void @fn_emit(ptr @.str4743)
|
|
%t8 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t8)
|
|
call void @fn_emit(ptr @.str4744)
|
|
%t9 = load ptr, ptr %t0
|
|
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 4
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = call ptr @fn_emit_expr(ptr %t11)
|
|
store ptr %t12, ptr %t13
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Val, ptr %t14, i32 0, i32 0
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = call ptr @fn_str_concat(ptr @.str4745, ptr %t16)
|
|
%t18 = call ptr @fn_str_concat(ptr %t17, ptr @.str4746)
|
|
%t19 = call ptr @fn_emit_bind(ptr %t18)
|
|
store ptr %t19, ptr %t20
|
|
call void @fn_emit(ptr @.str4747)
|
|
%t21 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t21)
|
|
call void @fn_emit(ptr @.str4748)
|
|
%t22 = load ptr, ptr %t4
|
|
call void @fn_emit(ptr %t22)
|
|
call void @fn_emit(ptr @.str4749)
|
|
%t23 = load ptr, ptr %t6
|
|
call void @fn_emit(ptr %t23)
|
|
call void @fn_emit(ptr @.str4750)
|
|
%t24 = load ptr, ptr %t4
|
|
call void @fn_emit(ptr %t24)
|
|
call void @fn_emit(ptr @.str4751)
|
|
store i32 0, ptr @g_g_term
|
|
%t25 = load ptr, ptr %t2
|
|
%t26 = load ptr, ptr %t6
|
|
call void @fn_loop_push(ptr %t25, ptr %t26)
|
|
%t27 = load ptr, ptr %t0
|
|
%t28 = getelementptr inbounds %Cmp_Node, ptr %t27, i32 0, i32 5
|
|
%t29 = load ptr, ptr %t28
|
|
call void @fn_emit_block(ptr %t29)
|
|
call void @fn_loop_pop()
|
|
%t30 = load i32, ptr @g_g_term
|
|
%t31 = icmp eq i32 %t30, 0
|
|
%t32 = zext i1 %t31 to i32
|
|
%t33 = icmp ne i32 %t32, 0
|
|
br i1 %t33, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_emit(ptr @.str4752)
|
|
%t34 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str4753)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t35 = load ptr, ptr %t6
|
|
call void @fn_emit(ptr %t35)
|
|
call void @fn_emit(ptr @.str4754)
|
|
store i32 0, ptr @g_g_term
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_for(ptr %arg_st) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t17 = alloca ptr
|
|
%t19 = alloca ptr
|
|
%t21 = alloca ptr
|
|
%t23 = alloca ptr
|
|
%t29 = alloca ptr
|
|
%t34 = alloca ptr
|
|
%t43 = alloca ptr
|
|
%t62 = alloca ptr
|
|
%t67 = alloca ptr
|
|
store ptr %arg_st, ptr %t0
|
|
%t1 = call ptr @fn_emit_alloca(ptr @.str4755)
|
|
store ptr %t1, ptr %t2
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 4
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = call ptr @fn_emit_expr(ptr %t5)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = getelementptr inbounds %Cmp_Val, ptr %t8, i32 0, i32 0
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = load ptr, ptr %t2
|
|
call void @fn_store_at(ptr @.str4756, ptr %t10, ptr %t11)
|
|
%t12 = load ptr, ptr %t0
|
|
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = load ptr, ptr %t2
|
|
call void @fn_loc_push(ptr %t14, ptr %t15, ptr @.str4757)
|
|
%t16 = call ptr @fn_lbl(ptr @.str4758)
|
|
store ptr %t16, ptr %t17
|
|
%t18 = call ptr @fn_lbl(ptr @.str4759)
|
|
store ptr %t18, ptr %t19
|
|
%t20 = call ptr @fn_lbl(ptr @.str4760)
|
|
store ptr %t20, ptr %t21
|
|
%t22 = call ptr @fn_lbl(ptr @.str4761)
|
|
store ptr %t22, ptr %t23
|
|
call void @fn_emit(ptr @.str4762)
|
|
%t24 = load ptr, ptr %t17
|
|
call void @fn_emit(ptr %t24)
|
|
call void @fn_emit(ptr @.str4763)
|
|
%t25 = load ptr, ptr %t17
|
|
call void @fn_emit(ptr %t25)
|
|
call void @fn_emit(ptr @.str4764)
|
|
%t26 = load ptr, ptr %t2
|
|
%t27 = call ptr @fn_str_concat(ptr @.str4765, ptr %t26)
|
|
%t28 = call ptr @fn_emit_bind(ptr %t27)
|
|
store ptr %t28, ptr %t29
|
|
%t30 = load ptr, ptr %t0
|
|
%t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 5
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = call ptr @fn_emit_expr(ptr %t32)
|
|
store ptr %t33, ptr %t34
|
|
%t35 = load ptr, ptr %t29
|
|
%t36 = call ptr @fn_str_concat(ptr @.str4766, ptr %t35)
|
|
%t37 = call ptr @fn_str_concat(ptr %t36, ptr @.str4767)
|
|
%t38 = load ptr, ptr %t34
|
|
%t39 = getelementptr inbounds %Cmp_Val, ptr %t38, i32 0, i32 0
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = call ptr @fn_str_concat(ptr %t37, ptr %t40)
|
|
%t42 = call ptr @fn_emit_bind(ptr %t41)
|
|
store ptr %t42, ptr %t43
|
|
call void @fn_emit(ptr @.str4768)
|
|
%t44 = load ptr, ptr %t43
|
|
call void @fn_emit(ptr %t44)
|
|
call void @fn_emit(ptr @.str4769)
|
|
%t45 = load ptr, ptr %t19
|
|
call void @fn_emit(ptr %t45)
|
|
call void @fn_emit(ptr @.str4770)
|
|
%t46 = load ptr, ptr %t23
|
|
call void @fn_emit(ptr %t46)
|
|
call void @fn_emit(ptr @.str4771)
|
|
%t47 = load ptr, ptr %t19
|
|
call void @fn_emit(ptr %t47)
|
|
call void @fn_emit(ptr @.str4772)
|
|
store i32 0, ptr @g_g_term
|
|
%t48 = load ptr, ptr %t21
|
|
%t49 = load ptr, ptr %t23
|
|
call void @fn_loop_push(ptr %t48, ptr %t49)
|
|
%t50 = load ptr, ptr %t0
|
|
%t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 6
|
|
%t52 = load ptr, ptr %t51
|
|
call void @fn_emit_block(ptr %t52)
|
|
call void @fn_loop_pop()
|
|
%t53 = load i32, ptr @g_g_term
|
|
%t54 = icmp eq i32 %t53, 0
|
|
%t55 = zext i1 %t54 to i32
|
|
%t56 = icmp ne i32 %t55, 0
|
|
br i1 %t56, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_emit(ptr @.str4773)
|
|
%t57 = load ptr, ptr %t21
|
|
call void @fn_emit(ptr %t57)
|
|
call void @fn_emit(ptr @.str4774)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t58 = load ptr, ptr %t21
|
|
call void @fn_emit(ptr %t58)
|
|
call void @fn_emit(ptr @.str4775)
|
|
%t59 = load ptr, ptr %t2
|
|
%t60 = call ptr @fn_str_concat(ptr @.str4776, ptr %t59)
|
|
%t61 = call ptr @fn_emit_bind(ptr %t60)
|
|
store ptr %t61, ptr %t62
|
|
%t63 = load ptr, ptr %t62
|
|
%t64 = call ptr @fn_str_concat(ptr @.str4777, ptr %t63)
|
|
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str4778)
|
|
%t66 = call ptr @fn_emit_bind(ptr %t65)
|
|
store ptr %t66, ptr %t67
|
|
%t68 = load ptr, ptr %t67
|
|
%t69 = load ptr, ptr %t2
|
|
call void @fn_store_at(ptr @.str4779, ptr %t68, ptr %t69)
|
|
call void @fn_emit(ptr @.str4780)
|
|
%t70 = load ptr, ptr %t17
|
|
call void @fn_emit(ptr %t70)
|
|
call void @fn_emit(ptr @.str4781)
|
|
%t71 = load ptr, ptr %t23
|
|
call void @fn_emit(ptr %t71)
|
|
call void @fn_emit(ptr @.str4782)
|
|
store i32 0, ptr @g_g_term
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_return(ptr %arg_st) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t11 = alloca ptr
|
|
store ptr %arg_st, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = icmp ne ptr %t3, null
|
|
%t5 = zext i1 %t4 to i32
|
|
%t6 = icmp ne i32 %t5, 0
|
|
br i1 %t6, label %then0, label %ifend2
|
|
then0:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 4
|
|
%t9 = load ptr, ptr %t8
|
|
%t10 = call ptr @fn_emit_expr(ptr %t9)
|
|
store ptr %t10, ptr %t11
|
|
%t12 = load ptr, ptr @g_ret_ty
|
|
%t13 = call ptr @fn_llty(ptr %t12)
|
|
%t14 = load ptr, ptr %t11
|
|
%t15 = load ptr, ptr @g_ret_ty
|
|
%t16 = call ptr @fn_coerce_code(ptr %t14, ptr %t15)
|
|
call void @fn_store_at(ptr %t13, ptr %t16, ptr @.str4783)
|
|
br label %ifend2
|
|
ifend2:
|
|
call void @fn_emit(ptr @.str4784)
|
|
store i32 1, ptr @g_g_term
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_arm_is_default(ptr %arg_arm) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t11 = alloca i32
|
|
store ptr %arg_arm, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1
|
|
%t7 = load i32, ptr %t6
|
|
%t8 = icmp slt i32 %t2, %t7
|
|
%t9 = zext i1 %t8 to i32
|
|
%t10 = icmp ne i32 %t9, 0
|
|
br i1 %t10, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t12 = load ptr, ptr %t0
|
|
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = load i32, ptr %t1
|
|
%t18 = getelementptr inbounds ptr, ptr %t16, i32 %t17
|
|
%t19 = load ptr, ptr %t18
|
|
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 0
|
|
%t21 = load i32, ptr %t20
|
|
%t22 = icmp eq i32 %t21, 33
|
|
%t23 = zext i1 %t22 to i32
|
|
%t24 = icmp ne i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
store i32 %t25, ptr %t11
|
|
br i1 %t24, label %sc3, label %scend4
|
|
sc3:
|
|
%t26 = load ptr, ptr %t0
|
|
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = load i32, ptr %t1
|
|
%t32 = getelementptr inbounds ptr, ptr %t30, i32 %t31
|
|
%t33 = load ptr, ptr %t32
|
|
%t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1
|
|
%t35 = load ptr, ptr %t34
|
|
%t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str4785)
|
|
%t37 = icmp ne i32 %t36, 0
|
|
%t38 = zext i1 %t37 to i32
|
|
store i32 %t38, ptr %t11
|
|
br label %scend4
|
|
scend4:
|
|
%t39 = load i32, ptr %t11
|
|
%t40 = icmp ne i32 %t39, 0
|
|
br i1 %t40, label %then5, label %ifend7
|
|
then5:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend7:
|
|
%t41 = load i32, ptr %t1
|
|
%t42 = add i32 %t41, 1
|
|
store i32 %t42, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t43 = load i32, ptr %retval
|
|
ret i32 %t43
|
|
}
|
|
|
|
define void @fn_emit_match(ptr %arg_st) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t8 = alloca ptr
|
|
%t9 = alloca i32
|
|
%t27 = alloca ptr
|
|
%t32 = alloca ptr
|
|
%t33 = alloca i32
|
|
%t34 = alloca i32
|
|
%t53 = alloca ptr
|
|
%t64 = alloca ptr
|
|
%t77 = alloca ptr
|
|
%t79 = alloca ptr
|
|
store ptr %arg_st, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = call ptr @fn_emit_expr(ptr %t3)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = call ptr @fn_lbl(ptr @.str4786)
|
|
store ptr %t6, ptr %t7
|
|
store ptr null, ptr %t8
|
|
store i32 0, ptr %t9
|
|
br label %wcond0
|
|
wcond0:
|
|
%t10 = load i32, ptr %t9
|
|
%t11 = load ptr, ptr %t0
|
|
%t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 7
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 1
|
|
%t15 = load i32, ptr %t14
|
|
%t16 = icmp slt i32 %t10, %t15
|
|
%t17 = zext i1 %t16 to i32
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t19 = load ptr, ptr %t0
|
|
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 7
|
|
%t21 = load ptr, ptr %t20
|
|
%t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0
|
|
%t23 = load ptr, ptr %t22
|
|
%t24 = load i32, ptr %t9
|
|
%t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24
|
|
%t26 = load ptr, ptr %t25
|
|
store ptr %t26, ptr %t27
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = call i32 @fn_arm_is_default(ptr %t28)
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then3, label %else4
|
|
then3:
|
|
%t31 = load ptr, ptr %t27
|
|
store ptr %t31, ptr %t8
|
|
br label %ifend5
|
|
else4:
|
|
store ptr @.str4787, ptr %t32
|
|
store i32 1, ptr %t33
|
|
store i32 0, ptr %t34
|
|
br label %wcond6
|
|
wcond6:
|
|
%t35 = load i32, ptr %t34
|
|
%t36 = load ptr, ptr %t27
|
|
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 1
|
|
%t40 = load i32, ptr %t39
|
|
%t41 = icmp slt i32 %t35, %t40
|
|
%t42 = zext i1 %t41 to i32
|
|
%t43 = icmp ne i32 %t42, 0
|
|
br i1 %t43, label %wbody7, label %wend8
|
|
wbody7:
|
|
%t44 = load ptr, ptr %t27
|
|
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 7
|
|
%t46 = load ptr, ptr %t45
|
|
%t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = load i32, ptr %t34
|
|
%t50 = getelementptr inbounds ptr, ptr %t48, i32 %t49
|
|
%t51 = load ptr, ptr %t50
|
|
%t52 = call ptr @fn_emit_expr(ptr %t51)
|
|
store ptr %t52, ptr %t53
|
|
%t54 = load ptr, ptr %t5
|
|
%t55 = getelementptr inbounds %Cmp_Val, ptr %t54, i32 0, i32 0
|
|
%t56 = load ptr, ptr %t55
|
|
%t57 = call ptr @fn_str_concat(ptr @.str4788, ptr %t56)
|
|
%t58 = call ptr @fn_str_concat(ptr %t57, ptr @.str4789)
|
|
%t59 = load ptr, ptr %t53
|
|
%t60 = getelementptr inbounds %Cmp_Val, ptr %t59, i32 0, i32 0
|
|
%t61 = load ptr, ptr %t60
|
|
%t62 = call ptr @fn_str_concat(ptr %t58, ptr %t61)
|
|
%t63 = call ptr @fn_emit_bind(ptr %t62)
|
|
store ptr %t63, ptr %t64
|
|
%t65 = load i32, ptr %t33
|
|
%t66 = icmp ne i32 %t65, 0
|
|
br i1 %t66, label %then9, label %else10
|
|
then9:
|
|
%t67 = load ptr, ptr %t64
|
|
store ptr %t67, ptr %t32
|
|
store i32 0, ptr %t33
|
|
br label %ifend11
|
|
else10:
|
|
%t68 = load ptr, ptr %t32
|
|
%t69 = call ptr @fn_str_concat(ptr @.str4790, ptr %t68)
|
|
%t70 = call ptr @fn_str_concat(ptr %t69, ptr @.str4791)
|
|
%t71 = load ptr, ptr %t64
|
|
%t72 = call ptr @fn_str_concat(ptr %t70, ptr %t71)
|
|
%t73 = call ptr @fn_emit_bind(ptr %t72)
|
|
store ptr %t73, ptr %t32
|
|
br label %ifend11
|
|
ifend11:
|
|
%t74 = load i32, ptr %t34
|
|
%t75 = add i32 %t74, 1
|
|
store i32 %t75, ptr %t34
|
|
br label %wcond6
|
|
wend8:
|
|
%t76 = call ptr @fn_lbl(ptr @.str4792)
|
|
store ptr %t76, ptr %t77
|
|
%t78 = call ptr @fn_lbl(ptr @.str4793)
|
|
store ptr %t78, ptr %t79
|
|
call void @fn_emit(ptr @.str4794)
|
|
%t80 = load ptr, ptr %t32
|
|
call void @fn_emit(ptr %t80)
|
|
call void @fn_emit(ptr @.str4795)
|
|
%t81 = load ptr, ptr %t77
|
|
call void @fn_emit(ptr %t81)
|
|
call void @fn_emit(ptr @.str4796)
|
|
%t82 = load ptr, ptr %t79
|
|
call void @fn_emit(ptr %t82)
|
|
call void @fn_emit(ptr @.str4797)
|
|
%t83 = load ptr, ptr %t77
|
|
call void @fn_emit(ptr %t83)
|
|
call void @fn_emit(ptr @.str4798)
|
|
store i32 0, ptr @g_g_term
|
|
%t84 = load ptr, ptr %t27
|
|
%t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 4
|
|
%t86 = load ptr, ptr %t85
|
|
call void @fn_emit_block(ptr %t86)
|
|
%t87 = load i32, ptr @g_g_term
|
|
%t88 = icmp eq i32 %t87, 0
|
|
%t89 = zext i1 %t88 to i32
|
|
%t90 = icmp ne i32 %t89, 0
|
|
br i1 %t90, label %then12, label %ifend14
|
|
then12:
|
|
call void @fn_emit(ptr @.str4799)
|
|
%t91 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t91)
|
|
call void @fn_emit(ptr @.str4800)
|
|
br label %ifend14
|
|
ifend14:
|
|
%t92 = load ptr, ptr %t79
|
|
call void @fn_emit(ptr %t92)
|
|
call void @fn_emit(ptr @.str4801)
|
|
store i32 0, ptr @g_g_term
|
|
br label %ifend5
|
|
ifend5:
|
|
%t93 = load i32, ptr %t9
|
|
%t94 = add i32 %t93, 1
|
|
store i32 %t94, ptr %t9
|
|
br label %wcond0
|
|
wend2:
|
|
%t95 = load ptr, ptr %t8
|
|
%t96 = icmp ne ptr %t95, null
|
|
%t97 = zext i1 %t96 to i32
|
|
%t98 = icmp ne i32 %t97, 0
|
|
br i1 %t98, label %then15, label %ifend17
|
|
then15:
|
|
%t99 = load ptr, ptr %t8
|
|
%t100 = getelementptr inbounds %Cmp_Node, ptr %t99, i32 0, i32 4
|
|
%t101 = load ptr, ptr %t100
|
|
call void @fn_emit_block(ptr %t101)
|
|
br label %ifend17
|
|
ifend17:
|
|
%t102 = load i32, ptr @g_g_term
|
|
%t103 = icmp eq i32 %t102, 0
|
|
%t104 = zext i1 %t103 to i32
|
|
%t105 = icmp ne i32 %t104, 0
|
|
br i1 %t105, label %then18, label %ifend20
|
|
then18:
|
|
call void @fn_emit(ptr @.str4802)
|
|
%t106 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t106)
|
|
call void @fn_emit(ptr @.str4803)
|
|
br label %ifend20
|
|
ifend20:
|
|
%t107 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t107)
|
|
call void @fn_emit(ptr @.str4804)
|
|
store i32 0, ptr @g_g_term
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_emit_emit(ptr %arg_st) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t20 = alloca ptr
|
|
%t27 = alloca ptr
|
|
%t28 = alloca i32
|
|
%t46 = alloca ptr
|
|
%t47 = alloca ptr
|
|
%t48 = alloca i32
|
|
%t95 = alloca ptr
|
|
%t96 = alloca ptr
|
|
%t106 = alloca ptr
|
|
%t120 = alloca ptr
|
|
%t173 = alloca ptr
|
|
%t181 = alloca i32
|
|
%t182 = alloca i32
|
|
%t193 = alloca ptr
|
|
%t225 = alloca ptr
|
|
%t241 = alloca ptr
|
|
%t242 = alloca i32
|
|
%t279 = alloca ptr
|
|
store ptr %arg_st, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = call ptr @fn_find_event(ptr %t3)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = icmp eq ptr %t6, null
|
|
%t8 = zext i1 %t7 to i32
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then0, label %ifend2
|
|
then0:
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 1
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = call ptr @fn_str_concat(ptr @.str4805, ptr %t12)
|
|
call void @fn_perr(ptr %t13)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t14 = getelementptr %LSlice, ptr null, i32 1
|
|
%t15 = ptrtoint ptr %t14 to i64
|
|
%t16 = call ptr @malloc(i64 %t15)
|
|
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
|
|
store ptr null, ptr %t17
|
|
%t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1
|
|
store i32 0, ptr %t18
|
|
%t19 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 2
|
|
store i32 0, ptr %t19
|
|
store ptr %t16, ptr %t20
|
|
%t21 = getelementptr %LSlice, ptr null, i32 1
|
|
%t22 = ptrtoint ptr %t21 to i64
|
|
%t23 = call ptr @malloc(i64 %t22)
|
|
%t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0
|
|
store ptr null, ptr %t24
|
|
%t25 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 1
|
|
store i32 0, ptr %t25
|
|
%t26 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 2
|
|
store i32 0, ptr %t26
|
|
store ptr %t23, ptr %t27
|
|
store i32 0, ptr %t28
|
|
br label %wcond3
|
|
wcond3:
|
|
%t29 = load i32, ptr %t28
|
|
%t30 = load ptr, ptr %t5
|
|
%t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1
|
|
%t34 = load i32, ptr %t33
|
|
%t35 = icmp slt i32 %t29, %t34
|
|
%t36 = zext i1 %t35 to i32
|
|
%t37 = icmp ne i32 %t36, 0
|
|
br i1 %t37, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t38 = load ptr, ptr %t5
|
|
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0
|
|
%t42 = load ptr, ptr %t41
|
|
%t43 = load i32, ptr %t28
|
|
%t44 = getelementptr inbounds ptr, ptr %t42, i32 %t43
|
|
%t45 = load ptr, ptr %t44
|
|
store ptr %t45, ptr %t46
|
|
store ptr null, ptr %t47
|
|
store i32 0, ptr %t48
|
|
br label %wcond6
|
|
wcond6:
|
|
%t49 = load i32, ptr %t48
|
|
%t50 = load ptr, ptr %t0
|
|
%t51 = getelementptr inbounds %Cmp_Node, ptr %t50, i32 0, i32 4
|
|
%t52 = load ptr, ptr %t51
|
|
%t53 = getelementptr inbounds %Cmp_Node, ptr %t52, i32 0, i32 7
|
|
%t54 = load ptr, ptr %t53
|
|
%t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1
|
|
%t56 = load i32, ptr %t55
|
|
%t57 = icmp slt i32 %t49, %t56
|
|
%t58 = zext i1 %t57 to i32
|
|
%t59 = icmp ne i32 %t58, 0
|
|
br i1 %t59, label %wbody7, label %wend8
|
|
wbody7:
|
|
%t60 = load ptr, ptr %t0
|
|
%t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 4
|
|
%t62 = load ptr, ptr %t61
|
|
%t63 = getelementptr inbounds %Cmp_Node, ptr %t62, i32 0, i32 7
|
|
%t64 = load ptr, ptr %t63
|
|
%t65 = getelementptr inbounds %LSlice, ptr %t64, i32 0, i32 0
|
|
%t66 = load ptr, ptr %t65
|
|
%t67 = load i32, ptr %t48
|
|
%t68 = getelementptr inbounds ptr, ptr %t66, i32 %t67
|
|
%t69 = load ptr, ptr %t68
|
|
%t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 1
|
|
%t71 = load ptr, ptr %t70
|
|
%t72 = load ptr, ptr %t46
|
|
%t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1
|
|
%t74 = load ptr, ptr %t73
|
|
%t75 = call i32 @fn_str_eq(ptr %t71, ptr %t74)
|
|
%t76 = icmp ne i32 %t75, 0
|
|
br i1 %t76, label %then9, label %ifend11
|
|
then9:
|
|
%t77 = load ptr, ptr %t0
|
|
%t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 4
|
|
%t79 = load ptr, ptr %t78
|
|
%t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 7
|
|
%t81 = load ptr, ptr %t80
|
|
%t82 = getelementptr inbounds %LSlice, ptr %t81, i32 0, i32 0
|
|
%t83 = load ptr, ptr %t82
|
|
%t84 = load i32, ptr %t48
|
|
%t85 = getelementptr inbounds ptr, ptr %t83, i32 %t84
|
|
%t86 = load ptr, ptr %t85
|
|
%t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 4
|
|
%t88 = load ptr, ptr %t87
|
|
store ptr %t88, ptr %t47
|
|
br label %ifend11
|
|
ifend11:
|
|
%t89 = load i32, ptr %t48
|
|
%t90 = add i32 %t89, 1
|
|
store i32 %t90, ptr %t48
|
|
br label %wcond6
|
|
wend8:
|
|
%t91 = load ptr, ptr %t46
|
|
%t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 3
|
|
%t93 = load ptr, ptr %t92
|
|
%t94 = call ptr @fn_llty(ptr %t93)
|
|
store ptr %t94, ptr %t95
|
|
store ptr @.str4806, ptr %t96
|
|
%t97 = load ptr, ptr %t95
|
|
%t98 = call i32 @fn_str_eq(ptr %t97, ptr @.str4807)
|
|
%t99 = icmp ne i32 %t98, 0
|
|
br i1 %t99, label %then12, label %ifend14
|
|
then12:
|
|
store ptr @.str4808, ptr %t96
|
|
br label %ifend14
|
|
ifend14:
|
|
%t100 = load ptr, ptr %t47
|
|
%t101 = icmp ne ptr %t100, null
|
|
%t102 = zext i1 %t101 to i32
|
|
%t103 = icmp ne i32 %t102, 0
|
|
br i1 %t103, label %then15, label %else16
|
|
then15:
|
|
%t104 = load ptr, ptr %t47
|
|
%t105 = call ptr @fn_emit_expr(ptr %t104)
|
|
store ptr %t105, ptr %t106
|
|
%t107 = load ptr, ptr %t106
|
|
%t108 = getelementptr inbounds %Cmp_Val, ptr %t107, i32 0, i32 0
|
|
%t109 = load ptr, ptr %t108
|
|
store ptr %t109, ptr %t96
|
|
br label %ifend17
|
|
else16:
|
|
%t110 = load ptr, ptr %t46
|
|
%t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 4
|
|
%t112 = load ptr, ptr %t111
|
|
%t113 = icmp ne ptr %t112, null
|
|
%t114 = zext i1 %t113 to i32
|
|
%t115 = icmp ne i32 %t114, 0
|
|
br i1 %t115, label %then18, label %ifend20
|
|
then18:
|
|
%t116 = load ptr, ptr %t46
|
|
%t117 = getelementptr inbounds %Cmp_Node, ptr %t116, i32 0, i32 4
|
|
%t118 = load ptr, ptr %t117
|
|
%t119 = call ptr @fn_emit_expr(ptr %t118)
|
|
store ptr %t119, ptr %t120
|
|
%t121 = load ptr, ptr %t120
|
|
%t122 = getelementptr inbounds %Cmp_Val, ptr %t121, i32 0, i32 0
|
|
%t123 = load ptr, ptr %t122
|
|
store ptr %t123, ptr %t96
|
|
br label %ifend20
|
|
ifend20:
|
|
br label %ifend17
|
|
ifend17:
|
|
%t124 = load ptr, ptr %t20
|
|
%t125 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 1
|
|
%t126 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 2
|
|
%t127 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 0
|
|
%t128 = load i32, ptr %t125
|
|
%t129 = load i32, ptr %t126
|
|
%t130 = icmp sge i32 %t128, %t129
|
|
br i1 %t130, label %grow21, label %put22
|
|
grow21:
|
|
%t131 = mul i32 %t129, 2
|
|
%t132 = icmp eq i32 %t129, 0
|
|
%t133 = select i1 %t132, i32 8, i32 %t131
|
|
%t134 = getelementptr ptr, ptr null, i32 1
|
|
%t135 = ptrtoint ptr %t134 to i64
|
|
%t136 = zext i32 %t133 to i64
|
|
%t137 = mul i64 %t136, %t135
|
|
%t138 = load ptr, ptr %t127
|
|
%t139 = call ptr @realloc(ptr %t138, i64 %t137)
|
|
store ptr %t139, ptr %t127
|
|
store i32 %t133, ptr %t126
|
|
br label %put22
|
|
put22:
|
|
%t140 = load ptr, ptr %t96
|
|
%t141 = load ptr, ptr %t127
|
|
%t142 = getelementptr inbounds ptr, ptr %t141, i32 %t128
|
|
store ptr %t140, ptr %t142
|
|
%t143 = add i32 %t128, 1
|
|
store i32 %t143, ptr %t125
|
|
%t144 = load ptr, ptr %t27
|
|
%t145 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 1
|
|
%t146 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 2
|
|
%t147 = getelementptr inbounds %LSlice, ptr %t144, i32 0, i32 0
|
|
%t148 = load i32, ptr %t145
|
|
%t149 = load i32, ptr %t146
|
|
%t150 = icmp sge i32 %t148, %t149
|
|
br i1 %t150, label %grow23, label %put24
|
|
grow23:
|
|
%t151 = mul i32 %t149, 2
|
|
%t152 = icmp eq i32 %t149, 0
|
|
%t153 = select i1 %t152, i32 8, i32 %t151
|
|
%t154 = getelementptr ptr, ptr null, i32 1
|
|
%t155 = ptrtoint ptr %t154 to i64
|
|
%t156 = zext i32 %t153 to i64
|
|
%t157 = mul i64 %t156, %t155
|
|
%t158 = load ptr, ptr %t147
|
|
%t159 = call ptr @realloc(ptr %t158, i64 %t157)
|
|
store ptr %t159, ptr %t147
|
|
store i32 %t153, ptr %t146
|
|
br label %put24
|
|
put24:
|
|
%t160 = load ptr, ptr %t95
|
|
%t161 = load ptr, ptr %t147
|
|
%t162 = getelementptr inbounds ptr, ptr %t161, i32 %t148
|
|
store ptr %t160, ptr %t162
|
|
%t163 = add i32 %t148, 1
|
|
store i32 %t163, ptr %t145
|
|
%t164 = load i32, ptr %t28
|
|
%t165 = add i32 %t164, 1
|
|
store i32 %t165, ptr %t28
|
|
br label %wcond3
|
|
wend5:
|
|
%t166 = load ptr, ptr %t5
|
|
%t167 = getelementptr inbounds %Cmp_Node, ptr %t166, i32 0, i32 3
|
|
%t168 = load ptr, ptr %t167
|
|
%t169 = icmp ne ptr %t168, null
|
|
%t170 = zext i1 %t169 to i32
|
|
%t171 = icmp ne i32 %t170, 0
|
|
br i1 %t171, label %then25, label %ifend27
|
|
then25:
|
|
%t172 = call ptr @fn_nreg()
|
|
store ptr %t172, ptr %t173
|
|
call void @fn_emit(ptr @.str4809)
|
|
%t174 = load ptr, ptr %t173
|
|
call void @fn_emit(ptr %t174)
|
|
call void @fn_emit(ptr @.str4810)
|
|
call void @fn_emit(ptr @.str4811)
|
|
%t175 = load ptr, ptr %t0
|
|
%t176 = getelementptr inbounds %Cmp_Node, ptr %t175, i32 0, i32 1
|
|
%t177 = load ptr, ptr %t176
|
|
%t178 = call i32 @fn_net_event_id(ptr %t177)
|
|
%t179 = call ptr @fn_itoa(i32 %t178)
|
|
call void @fn_emit(ptr %t179)
|
|
call void @fn_emit(ptr @.str4812)
|
|
%t180 = load ptr, ptr %t173
|
|
call void @fn_emit(ptr %t180)
|
|
call void @fn_emit(ptr @.str4813)
|
|
store i32 4, ptr %t181
|
|
store i32 0, ptr %t182
|
|
br label %wcond28
|
|
wcond28:
|
|
%t183 = load i32, ptr %t182
|
|
%t184 = load ptr, ptr %t5
|
|
%t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 7
|
|
%t186 = load ptr, ptr %t185
|
|
%t187 = getelementptr inbounds %LSlice, ptr %t186, i32 0, i32 1
|
|
%t188 = load i32, ptr %t187
|
|
%t189 = icmp slt i32 %t183, %t188
|
|
%t190 = zext i1 %t189 to i32
|
|
%t191 = icmp ne i32 %t190, 0
|
|
br i1 %t191, label %wbody29, label %wend30
|
|
wbody29:
|
|
%t192 = call ptr @fn_nreg()
|
|
store ptr %t192, ptr %t193
|
|
call void @fn_emit(ptr @.str4814)
|
|
%t194 = load ptr, ptr %t193
|
|
call void @fn_emit(ptr %t194)
|
|
call void @fn_emit(ptr @.str4815)
|
|
%t195 = load i32, ptr %t181
|
|
%t196 = call ptr @fn_itoa(i32 %t195)
|
|
call void @fn_emit(ptr %t196)
|
|
call void @fn_emit(ptr @.str4816)
|
|
call void @fn_emit(ptr @.str4817)
|
|
%t197 = load ptr, ptr %t27
|
|
%t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0
|
|
%t199 = load ptr, ptr %t198
|
|
%t200 = load i32, ptr %t182
|
|
%t201 = getelementptr inbounds ptr, ptr %t199, i32 %t200
|
|
%t202 = load ptr, ptr %t201
|
|
call void @fn_emit(ptr %t202)
|
|
call void @fn_emit(ptr @.str4818)
|
|
%t203 = load ptr, ptr %t20
|
|
%t204 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 0
|
|
%t205 = load ptr, ptr %t204
|
|
%t206 = load i32, ptr %t182
|
|
%t207 = getelementptr inbounds ptr, ptr %t205, i32 %t206
|
|
%t208 = load ptr, ptr %t207
|
|
call void @fn_emit(ptr %t208)
|
|
call void @fn_emit(ptr @.str4819)
|
|
%t209 = load ptr, ptr %t193
|
|
call void @fn_emit(ptr %t209)
|
|
call void @fn_emit(ptr @.str4820)
|
|
%t210 = load i32, ptr %t181
|
|
%t211 = load ptr, ptr %t5
|
|
%t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 7
|
|
%t213 = load ptr, ptr %t212
|
|
%t214 = getelementptr inbounds %LSlice, ptr %t213, i32 0, i32 0
|
|
%t215 = load ptr, ptr %t214
|
|
%t216 = load i32, ptr %t182
|
|
%t217 = getelementptr inbounds ptr, ptr %t215, i32 %t216
|
|
%t218 = load ptr, ptr %t217
|
|
%t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 3
|
|
%t220 = load ptr, ptr %t219
|
|
%t221 = call i32 @fn_net_field_ibytes(ptr %t220)
|
|
%t222 = add i32 %t210, %t221
|
|
store i32 %t222, ptr %t181
|
|
%t223 = load i32, ptr %t182
|
|
%t224 = add i32 %t223, 1
|
|
store i32 %t224, ptr %t182
|
|
br label %wcond28
|
|
wend30:
|
|
store ptr @.str4821, ptr %t225
|
|
%t226 = load ptr, ptr %t5
|
|
%t227 = getelementptr inbounds %Cmp_Node, ptr %t226, i32 0, i32 3
|
|
%t228 = load ptr, ptr %t227
|
|
%t229 = call i32 @fn_str_eq(ptr %t228, ptr @.str4822)
|
|
%t230 = icmp ne i32 %t229, 0
|
|
br i1 %t230, label %then31, label %ifend33
|
|
then31:
|
|
store ptr @.str4823, ptr %t225
|
|
br label %ifend33
|
|
ifend33:
|
|
%t231 = call ptr @fn_find_extern(ptr @.str4824)
|
|
%t232 = icmp eq ptr %t231, null
|
|
%t233 = zext i1 %t232 to i32
|
|
%t234 = icmp ne i32 %t233, 0
|
|
br i1 %t234, label %then34, label %ifend36
|
|
then34:
|
|
store i32 1, ptr @g_g_uses_loopback
|
|
br label %ifend36
|
|
ifend36:
|
|
call void @fn_emit(ptr @.str4825)
|
|
%t235 = call ptr @fn_net_send_sym()
|
|
call void @fn_emit(ptr %t235)
|
|
call void @fn_emit(ptr @.str4826)
|
|
%t236 = load ptr, ptr %t225
|
|
call void @fn_emit(ptr %t236)
|
|
call void @fn_emit(ptr @.str4827)
|
|
%t237 = load i32, ptr %t181
|
|
%t238 = call ptr @fn_itoa(i32 %t237)
|
|
call void @fn_emit(ptr %t238)
|
|
call void @fn_emit(ptr @.str4828)
|
|
%t239 = call ptr @fn_val(ptr @.str4829, ptr @.str4830)
|
|
store ptr %t239, ptr %retval
|
|
br label %ret
|
|
ifend27:
|
|
%t240 = call ptr @fn_buf_new()
|
|
store ptr %t240, ptr %t241
|
|
store i32 0, ptr %t242
|
|
br label %wcond37
|
|
wcond37:
|
|
%t243 = load i32, ptr %t242
|
|
%t244 = load ptr, ptr %t20
|
|
%t245 = getelementptr inbounds %LSlice, ptr %t244, i32 0, i32 1
|
|
%t246 = load i32, ptr %t245
|
|
%t247 = icmp slt i32 %t243, %t246
|
|
%t248 = zext i1 %t247 to i32
|
|
%t249 = icmp ne i32 %t248, 0
|
|
br i1 %t249, label %wbody38, label %wend39
|
|
wbody38:
|
|
%t250 = load i32, ptr %t242
|
|
%t251 = icmp sgt i32 %t250, 0
|
|
%t252 = zext i1 %t251 to i32
|
|
%t253 = icmp ne i32 %t252, 0
|
|
br i1 %t253, label %then40, label %ifend42
|
|
then40:
|
|
%t254 = load ptr, ptr %t241
|
|
call void @fn_buf_puts(ptr %t254, ptr @.str4831)
|
|
br label %ifend42
|
|
ifend42:
|
|
%t255 = load ptr, ptr %t241
|
|
%t256 = load ptr, ptr %t27
|
|
%t257 = getelementptr inbounds %LSlice, ptr %t256, i32 0, i32 0
|
|
%t258 = load ptr, ptr %t257
|
|
%t259 = load i32, ptr %t242
|
|
%t260 = getelementptr inbounds ptr, ptr %t258, i32 %t259
|
|
%t261 = load ptr, ptr %t260
|
|
call void @fn_buf_puts(ptr %t255, ptr %t261)
|
|
%t262 = load ptr, ptr %t241
|
|
call void @fn_buf_puts(ptr %t262, ptr @.str4832)
|
|
%t263 = load ptr, ptr %t241
|
|
%t264 = load ptr, ptr %t20
|
|
%t265 = getelementptr inbounds %LSlice, ptr %t264, i32 0, i32 0
|
|
%t266 = load ptr, ptr %t265
|
|
%t267 = load i32, ptr %t242
|
|
%t268 = getelementptr inbounds ptr, ptr %t266, i32 %t267
|
|
%t269 = load ptr, ptr %t268
|
|
call void @fn_buf_puts(ptr %t263, ptr %t269)
|
|
%t270 = load i32, ptr %t242
|
|
%t271 = add i32 %t270, 1
|
|
store i32 %t271, ptr %t242
|
|
br label %wcond37
|
|
wend39:
|
|
%t272 = load ptr, ptr %t5
|
|
%t273 = getelementptr inbounds %Cmp_Node, ptr %t272, i32 0, i32 2
|
|
%t274 = load i32, ptr %t273
|
|
%t275 = icmp eq i32 %t274, 1
|
|
%t276 = zext i1 %t275 to i32
|
|
%t277 = icmp ne i32 %t276, 0
|
|
br i1 %t277, label %then43, label %ifend45
|
|
then43:
|
|
%t278 = call ptr @fn_nreg()
|
|
store ptr %t278, ptr %t279
|
|
call void @fn_emit(ptr @.str4833)
|
|
%t280 = load ptr, ptr %t279
|
|
call void @fn_emit(ptr %t280)
|
|
call void @fn_emit(ptr @.str4834)
|
|
%t281 = load ptr, ptr %t0
|
|
%t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 1
|
|
%t283 = load ptr, ptr %t282
|
|
call void @fn_emit(ptr %t283)
|
|
call void @fn_emit(ptr @.str4835)
|
|
%t284 = load ptr, ptr %t241
|
|
%t285 = call ptr @fn_buf_str(ptr %t284)
|
|
call void @fn_emit(ptr %t285)
|
|
call void @fn_emit(ptr @.str4836)
|
|
%t286 = load ptr, ptr %t279
|
|
%t287 = call ptr @fn_val(ptr %t286, ptr @.str4837)
|
|
store ptr %t287, ptr %retval
|
|
br label %ret
|
|
ifend45:
|
|
call void @fn_emit(ptr @.str4838)
|
|
%t288 = load ptr, ptr %t0
|
|
%t289 = getelementptr inbounds %Cmp_Node, ptr %t288, i32 0, i32 1
|
|
%t290 = load ptr, ptr %t289
|
|
call void @fn_emit(ptr %t290)
|
|
call void @fn_emit(ptr @.str4839)
|
|
%t291 = load ptr, ptr %t241
|
|
%t292 = call ptr @fn_buf_str(ptr %t291)
|
|
call void @fn_emit(ptr %t292)
|
|
call void @fn_emit(ptr @.str4840)
|
|
%t293 = call ptr @fn_val(ptr @.str4841, ptr @.str4842)
|
|
store ptr %t293, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t294 = load ptr, ptr %retval
|
|
ret ptr %t294
|
|
}
|
|
|
|
define void @fn_emit_stmt(ptr %arg_st) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t10 = alloca ptr
|
|
%t19 = alloca ptr
|
|
%t26 = alloca ptr
|
|
%t44 = alloca ptr
|
|
%t51 = alloca ptr
|
|
%t64 = alloca ptr
|
|
%t162 = alloca ptr
|
|
%t199 = alloca ptr
|
|
%t235 = alloca ptr
|
|
store ptr %arg_st, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 0
|
|
%t3 = load i32, ptr %t2
|
|
%t4 = icmp eq i32 %t3, 10
|
|
%t5 = zext i1 %t4 to i32
|
|
%t6 = icmp ne i32 %t5, 0
|
|
br i1 %t6, label %then0, label %ifend2
|
|
then0:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 3
|
|
%t9 = load ptr, ptr %t8
|
|
store ptr %t9, ptr %t10
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = icmp eq ptr %t11, null
|
|
%t13 = zext i1 %t12 to i32
|
|
%t14 = icmp ne i32 %t13, 0
|
|
br i1 %t14, label %then3, label %ifend5
|
|
then3:
|
|
%t15 = load ptr, ptr %t0
|
|
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 4
|
|
%t17 = load ptr, ptr %t16
|
|
%t18 = call ptr @fn_emit_expr(ptr %t17)
|
|
store ptr %t18, ptr %t19
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = getelementptr inbounds %Cmp_Val, ptr %t20, i32 0, i32 1
|
|
%t22 = load ptr, ptr %t21
|
|
store ptr %t22, ptr %t10
|
|
%t23 = load ptr, ptr %t10
|
|
%t24 = call ptr @fn_llty(ptr %t23)
|
|
%t25 = call ptr @fn_emit_alloca(ptr %t24)
|
|
store ptr %t25, ptr %t26
|
|
%t27 = load ptr, ptr %t10
|
|
%t28 = call ptr @fn_llty(ptr %t27)
|
|
%t29 = load ptr, ptr %t19
|
|
%t30 = getelementptr inbounds %Cmp_Val, ptr %t29, i32 0, i32 0
|
|
%t31 = load ptr, ptr %t30
|
|
%t32 = load ptr, ptr %t26
|
|
call void @fn_store_at(ptr %t28, ptr %t31, ptr %t32)
|
|
%t33 = load ptr, ptr %t0
|
|
%t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1
|
|
%t35 = load ptr, ptr %t34
|
|
%t36 = load ptr, ptr %t26
|
|
%t37 = load ptr, ptr %t10
|
|
call void @fn_loc_push(ptr %t35, ptr %t36, ptr %t37)
|
|
%t38 = load ptr, ptr %t0
|
|
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 2
|
|
%t40 = load i32, ptr %t39
|
|
call void @fn_loc_set_mut(i32 %t40)
|
|
br label %ret
|
|
ifend5:
|
|
%t41 = load ptr, ptr %t10
|
|
%t42 = call ptr @fn_llty(ptr %t41)
|
|
%t43 = call ptr @fn_emit_alloca(ptr %t42)
|
|
store ptr %t43, ptr %t44
|
|
%t45 = load ptr, ptr %t0
|
|
%t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 4
|
|
%t47 = load ptr, ptr %t46
|
|
%t48 = icmp eq ptr %t47, null
|
|
%t49 = zext i1 %t48 to i32
|
|
%t50 = icmp ne i32 %t49, 0
|
|
br i1 %t50, label %then6, label %else7
|
|
then6:
|
|
store ptr @.str4843, ptr %t51
|
|
%t52 = load ptr, ptr %t10
|
|
%t53 = call ptr @fn_llty(ptr %t52)
|
|
%t54 = call i32 @fn_str_eq(ptr %t53, ptr @.str4844)
|
|
%t55 = icmp ne i32 %t54, 0
|
|
br i1 %t55, label %then9, label %ifend11
|
|
then9:
|
|
store ptr @.str4845, ptr %t51
|
|
br label %ifend11
|
|
ifend11:
|
|
%t56 = load ptr, ptr %t10
|
|
%t57 = call ptr @fn_llty(ptr %t56)
|
|
%t58 = load ptr, ptr %t51
|
|
%t59 = load ptr, ptr %t44
|
|
call void @fn_store_at(ptr %t57, ptr %t58, ptr %t59)
|
|
br label %ifend8
|
|
else7:
|
|
%t60 = load ptr, ptr %t0
|
|
%t61 = getelementptr inbounds %Cmp_Node, ptr %t60, i32 0, i32 4
|
|
%t62 = load ptr, ptr %t61
|
|
%t63 = call ptr @fn_emit_expr(ptr %t62)
|
|
store ptr %t63, ptr %t64
|
|
%t65 = load ptr, ptr %t10
|
|
%t66 = call ptr @fn_llty(ptr %t65)
|
|
%t67 = load ptr, ptr %t64
|
|
%t68 = load ptr, ptr %t10
|
|
%t69 = call ptr @fn_coerce_code(ptr %t67, ptr %t68)
|
|
%t70 = load ptr, ptr %t44
|
|
call void @fn_store_at(ptr %t66, ptr %t69, ptr %t70)
|
|
br label %ifend8
|
|
ifend8:
|
|
%t71 = load ptr, ptr %t0
|
|
%t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 1
|
|
%t73 = load ptr, ptr %t72
|
|
%t74 = load ptr, ptr %t44
|
|
%t75 = load ptr, ptr %t10
|
|
call void @fn_loc_push(ptr %t73, ptr %t74, ptr %t75)
|
|
%t76 = load ptr, ptr %t0
|
|
%t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 2
|
|
%t78 = load i32, ptr %t77
|
|
call void @fn_loc_set_mut(i32 %t78)
|
|
br label %ret
|
|
ifend2:
|
|
%t79 = load ptr, ptr %t0
|
|
%t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 0
|
|
%t81 = load i32, ptr %t80
|
|
%t82 = icmp eq i32 %t81, 11
|
|
%t83 = zext i1 %t82 to i32
|
|
%t84 = icmp ne i32 %t83, 0
|
|
br i1 %t84, label %then12, label %ifend14
|
|
then12:
|
|
%t85 = load ptr, ptr %t0
|
|
call void @fn_emit_assign(ptr %t85)
|
|
br label %ret
|
|
ifend14:
|
|
%t86 = load ptr, ptr %t0
|
|
%t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 0
|
|
%t88 = load i32, ptr %t87
|
|
%t89 = icmp eq i32 %t88, 12
|
|
%t90 = zext i1 %t89 to i32
|
|
%t91 = icmp ne i32 %t90, 0
|
|
br i1 %t91, label %then15, label %ifend17
|
|
then15:
|
|
%t92 = load ptr, ptr %t0
|
|
call void @fn_emit_if(ptr %t92)
|
|
br label %ret
|
|
ifend17:
|
|
%t93 = load ptr, ptr %t0
|
|
%t94 = getelementptr inbounds %Cmp_Node, ptr %t93, i32 0, i32 0
|
|
%t95 = load i32, ptr %t94
|
|
%t96 = icmp eq i32 %t95, 13
|
|
%t97 = zext i1 %t96 to i32
|
|
%t98 = icmp ne i32 %t97, 0
|
|
br i1 %t98, label %then18, label %ifend20
|
|
then18:
|
|
%t99 = load ptr, ptr %t0
|
|
call void @fn_emit_while(ptr %t99)
|
|
br label %ret
|
|
ifend20:
|
|
%t100 = load ptr, ptr %t0
|
|
%t101 = getelementptr inbounds %Cmp_Node, ptr %t100, i32 0, i32 0
|
|
%t102 = load i32, ptr %t101
|
|
%t103 = icmp eq i32 %t102, 14
|
|
%t104 = zext i1 %t103 to i32
|
|
%t105 = icmp ne i32 %t104, 0
|
|
br i1 %t105, label %then21, label %ifend23
|
|
then21:
|
|
%t106 = load ptr, ptr %t0
|
|
call void @fn_emit_for(ptr %t106)
|
|
br label %ret
|
|
ifend23:
|
|
%t107 = load ptr, ptr %t0
|
|
%t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 0
|
|
%t109 = load i32, ptr %t108
|
|
%t110 = icmp eq i32 %t109, 15
|
|
%t111 = zext i1 %t110 to i32
|
|
%t112 = icmp ne i32 %t111, 0
|
|
br i1 %t112, label %then24, label %ifend26
|
|
then24:
|
|
%t113 = load ptr, ptr %t0
|
|
call void @fn_emit_return(ptr %t113)
|
|
br label %ret
|
|
ifend26:
|
|
%t114 = load ptr, ptr %t0
|
|
%t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 0
|
|
%t116 = load i32, ptr %t115
|
|
%t117 = icmp eq i32 %t116, 17
|
|
%t118 = zext i1 %t117 to i32
|
|
%t119 = icmp ne i32 %t118, 0
|
|
br i1 %t119, label %then27, label %ifend29
|
|
then27:
|
|
call void @fn_emit(ptr @.str4846)
|
|
%t120 = load ptr, ptr @g_brk_lbl
|
|
%t121 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 0
|
|
%t122 = load ptr, ptr %t121
|
|
%t123 = load i32, ptr @g_nloop
|
|
%t124 = sub i32 %t123, 1
|
|
%t125 = getelementptr inbounds ptr, ptr %t122, i32 %t124
|
|
%t126 = load ptr, ptr %t125
|
|
call void @fn_emit(ptr %t126)
|
|
call void @fn_emit(ptr @.str4847)
|
|
store i32 1, ptr @g_g_term
|
|
br label %ret
|
|
ifend29:
|
|
%t127 = load ptr, ptr %t0
|
|
%t128 = getelementptr inbounds %Cmp_Node, ptr %t127, i32 0, i32 0
|
|
%t129 = load i32, ptr %t128
|
|
%t130 = icmp eq i32 %t129, 18
|
|
%t131 = zext i1 %t130 to i32
|
|
%t132 = icmp ne i32 %t131, 0
|
|
br i1 %t132, label %then30, label %ifend32
|
|
then30:
|
|
call void @fn_emit(ptr @.str4848)
|
|
%t133 = load ptr, ptr @g_cnt_lbl
|
|
%t134 = getelementptr inbounds %LSlice, ptr %t133, i32 0, i32 0
|
|
%t135 = load ptr, ptr %t134
|
|
%t136 = load i32, ptr @g_nloop
|
|
%t137 = sub i32 %t136, 1
|
|
%t138 = getelementptr inbounds ptr, ptr %t135, i32 %t137
|
|
%t139 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t139)
|
|
call void @fn_emit(ptr @.str4849)
|
|
store i32 1, ptr @g_g_term
|
|
br label %ret
|
|
ifend32:
|
|
%t140 = load ptr, ptr %t0
|
|
%t141 = getelementptr inbounds %Cmp_Node, ptr %t140, i32 0, i32 0
|
|
%t142 = load i32, ptr %t141
|
|
%t143 = icmp eq i32 %t142, 19
|
|
%t144 = zext i1 %t143 to i32
|
|
%t145 = icmp ne i32 %t144, 0
|
|
br i1 %t145, label %then33, label %ifend35
|
|
then33:
|
|
%t146 = load ptr, ptr %t0
|
|
call void @fn_emit_match(ptr %t146)
|
|
br label %ret
|
|
ifend35:
|
|
%t147 = load ptr, ptr %t0
|
|
%t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 0
|
|
%t149 = load i32, ptr %t148
|
|
%t150 = icmp eq i32 %t149, 21
|
|
%t151 = zext i1 %t150 to i32
|
|
%t152 = icmp ne i32 %t151, 0
|
|
br i1 %t152, label %then36, label %ifend38
|
|
then36:
|
|
%t153 = load ptr, ptr %t0
|
|
call void @fn_emit_query(ptr %t153)
|
|
br label %ret
|
|
ifend38:
|
|
%t154 = load ptr, ptr %t0
|
|
%t155 = getelementptr inbounds %Cmp_Node, ptr %t154, i32 0, i32 0
|
|
%t156 = load i32, ptr %t155
|
|
%t157 = icmp eq i32 %t156, 22
|
|
%t158 = zext i1 %t157 to i32
|
|
%t159 = icmp ne i32 %t158, 0
|
|
br i1 %t159, label %then39, label %ifend41
|
|
then39:
|
|
%t160 = load ptr, ptr %t0
|
|
%t161 = call ptr @fn_emit_spawn(ptr %t160)
|
|
store ptr %t161, ptr %t162
|
|
br label %ret
|
|
ifend41:
|
|
%t163 = load ptr, ptr %t0
|
|
%t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 0
|
|
%t165 = load i32, ptr %t164
|
|
%t166 = icmp eq i32 %t165, 23
|
|
%t167 = zext i1 %t166 to i32
|
|
%t168 = icmp ne i32 %t167, 0
|
|
br i1 %t168, label %then42, label %ifend44
|
|
then42:
|
|
%t169 = load ptr, ptr %t0
|
|
call void @fn_emit_despawn(ptr %t169)
|
|
br label %ret
|
|
ifend44:
|
|
%t170 = load ptr, ptr %t0
|
|
%t171 = getelementptr inbounds %Cmp_Node, ptr %t170, i32 0, i32 0
|
|
%t172 = load i32, ptr %t171
|
|
%t173 = icmp eq i32 %t172, 28
|
|
%t174 = zext i1 %t173 to i32
|
|
%t175 = icmp ne i32 %t174, 0
|
|
br i1 %t175, label %then45, label %ifend47
|
|
then45:
|
|
%t176 = load ptr, ptr %t0
|
|
call void @fn_emit_toggle(ptr %t176)
|
|
br label %ret
|
|
ifend47:
|
|
%t177 = load ptr, ptr %t0
|
|
%t178 = getelementptr inbounds %Cmp_Node, ptr %t177, i32 0, i32 0
|
|
%t179 = load i32, ptr %t178
|
|
%t180 = icmp eq i32 %t179, 46
|
|
%t181 = zext i1 %t180 to i32
|
|
%t182 = icmp ne i32 %t181, 0
|
|
br i1 %t182, label %then48, label %ifend50
|
|
then48:
|
|
%t183 = load ptr, ptr %t0
|
|
call void @fn_emit_attach(ptr %t183)
|
|
br label %ret
|
|
ifend50:
|
|
%t184 = load ptr, ptr %t0
|
|
%t185 = getelementptr inbounds %Cmp_Node, ptr %t184, i32 0, i32 0
|
|
%t186 = load i32, ptr %t185
|
|
%t187 = icmp eq i32 %t186, 47
|
|
%t188 = zext i1 %t187 to i32
|
|
%t189 = icmp ne i32 %t188, 0
|
|
br i1 %t189, label %then51, label %ifend53
|
|
then51:
|
|
%t190 = load ptr, ptr %t0
|
|
call void @fn_emit_detach(ptr %t190)
|
|
br label %ret
|
|
ifend53:
|
|
%t191 = load ptr, ptr %t0
|
|
%t192 = getelementptr inbounds %Cmp_Node, ptr %t191, i32 0, i32 0
|
|
%t193 = load i32, ptr %t192
|
|
%t194 = icmp eq i32 %t193, 49
|
|
%t195 = zext i1 %t194 to i32
|
|
%t196 = icmp ne i32 %t195, 0
|
|
br i1 %t196, label %then54, label %ifend56
|
|
then54:
|
|
%t197 = load ptr, ptr %t0
|
|
%t198 = call ptr @fn_emit_emit(ptr %t197)
|
|
store ptr %t198, ptr %t199
|
|
br label %ret
|
|
ifend56:
|
|
%t200 = load ptr, ptr %t0
|
|
%t201 = getelementptr inbounds %Cmp_Node, ptr %t200, i32 0, i32 0
|
|
%t202 = load i32, ptr %t201
|
|
%t203 = icmp eq i32 %t202, 50
|
|
%t204 = zext i1 %t203 to i32
|
|
%t205 = icmp ne i32 %t204, 0
|
|
br i1 %t205, label %then57, label %ifend59
|
|
then57:
|
|
%t206 = load ptr, ptr @g_g_cancel_addr
|
|
%t207 = icmp eq ptr %t206, null
|
|
%t208 = zext i1 %t207 to i32
|
|
%t209 = icmp ne i32 %t208, 0
|
|
br i1 %t209, label %then60, label %ifend62
|
|
then60:
|
|
call void @fn_perr(ptr @.str4850)
|
|
br label %ifend62
|
|
ifend62:
|
|
call void @fn_emit(ptr @.str4851)
|
|
%t210 = load ptr, ptr @g_g_cancel_addr
|
|
call void @fn_emit(ptr %t210)
|
|
call void @fn_emit(ptr @.str4852)
|
|
br label %ret
|
|
ifend59:
|
|
%t211 = load ptr, ptr %t0
|
|
%t212 = getelementptr inbounds %Cmp_Node, ptr %t211, i32 0, i32 0
|
|
%t213 = load i32, ptr %t212
|
|
%t214 = icmp eq i32 %t213, 24
|
|
%t215 = zext i1 %t214 to i32
|
|
%t216 = icmp ne i32 %t215, 0
|
|
br i1 %t216, label %then63, label %ifend65
|
|
then63:
|
|
%t217 = load ptr, ptr %t0
|
|
call void @fn_emit_machine(ptr %t217)
|
|
br label %ret
|
|
ifend65:
|
|
%t218 = load ptr, ptr %t0
|
|
%t219 = getelementptr inbounds %Cmp_Node, ptr %t218, i32 0, i32 0
|
|
%t220 = load i32, ptr %t219
|
|
%t221 = icmp eq i32 %t220, 26
|
|
%t222 = zext i1 %t221 to i32
|
|
%t223 = icmp ne i32 %t222, 0
|
|
br i1 %t223, label %then66, label %ifend68
|
|
then66:
|
|
%t224 = load ptr, ptr %t0
|
|
call void @fn_emit_become(ptr %t224)
|
|
br label %ret
|
|
ifend68:
|
|
%t225 = load ptr, ptr %t0
|
|
%t226 = getelementptr inbounds %Cmp_Node, ptr %t225, i32 0, i32 0
|
|
%t227 = load i32, ptr %t226
|
|
%t228 = icmp eq i32 %t227, 16
|
|
%t229 = zext i1 %t228 to i32
|
|
%t230 = icmp ne i32 %t229, 0
|
|
br i1 %t230, label %then69, label %ifend71
|
|
then69:
|
|
%t231 = load ptr, ptr %t0
|
|
%t232 = getelementptr inbounds %Cmp_Node, ptr %t231, i32 0, i32 4
|
|
%t233 = load ptr, ptr %t232
|
|
%t234 = call ptr @fn_emit_expr(ptr %t233)
|
|
store ptr %t234, ptr %t235
|
|
br label %ret
|
|
ifend71:
|
|
call void @fn_perr(ptr @.str4853)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_loop_push(ptr %arg_cont, ptr %arg_brk) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
store ptr %arg_cont, ptr %t0
|
|
store ptr %arg_brk, ptr %t1
|
|
%t2 = load i32, ptr @g_nloop
|
|
%t3 = load ptr, ptr @g_cnt_lbl
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %then0, label %else1
|
|
then0:
|
|
%t9 = load ptr, ptr @g_cnt_lbl
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr @g_nloop
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t0
|
|
store ptr %t14, ptr %t13
|
|
%t15 = load ptr, ptr @g_brk_lbl
|
|
%t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0
|
|
%t17 = load ptr, ptr %t16
|
|
%t18 = load i32, ptr @g_nloop
|
|
%t19 = getelementptr inbounds ptr, ptr %t17, i32 %t18
|
|
%t20 = load ptr, ptr %t1
|
|
store ptr %t20, ptr %t19
|
|
br label %ifend2
|
|
else1:
|
|
%t21 = load ptr, ptr @g_cnt_lbl
|
|
%t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 1
|
|
%t23 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 2
|
|
%t24 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0
|
|
%t25 = load i32, ptr %t22
|
|
%t26 = load i32, ptr %t23
|
|
%t27 = icmp sge i32 %t25, %t26
|
|
br i1 %t27, label %grow3, label %put4
|
|
grow3:
|
|
%t28 = mul i32 %t26, 2
|
|
%t29 = icmp eq i32 %t26, 0
|
|
%t30 = select i1 %t29, i32 8, i32 %t28
|
|
%t31 = getelementptr ptr, ptr null, i32 1
|
|
%t32 = ptrtoint ptr %t31 to i64
|
|
%t33 = zext i32 %t30 to i64
|
|
%t34 = mul i64 %t33, %t32
|
|
%t35 = load ptr, ptr %t24
|
|
%t36 = call ptr @realloc(ptr %t35, i64 %t34)
|
|
store ptr %t36, ptr %t24
|
|
store i32 %t30, ptr %t23
|
|
br label %put4
|
|
put4:
|
|
%t37 = load ptr, ptr %t0
|
|
%t38 = load ptr, ptr %t24
|
|
%t39 = getelementptr inbounds ptr, ptr %t38, i32 %t25
|
|
store ptr %t37, ptr %t39
|
|
%t40 = add i32 %t25, 1
|
|
store i32 %t40, ptr %t22
|
|
%t41 = load ptr, ptr @g_brk_lbl
|
|
%t42 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 1
|
|
%t43 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 2
|
|
%t44 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0
|
|
%t45 = load i32, ptr %t42
|
|
%t46 = load i32, ptr %t43
|
|
%t47 = icmp sge i32 %t45, %t46
|
|
br i1 %t47, label %grow5, label %put6
|
|
grow5:
|
|
%t48 = mul i32 %t46, 2
|
|
%t49 = icmp eq i32 %t46, 0
|
|
%t50 = select i1 %t49, i32 8, i32 %t48
|
|
%t51 = getelementptr ptr, ptr null, i32 1
|
|
%t52 = ptrtoint ptr %t51 to i64
|
|
%t53 = zext i32 %t50 to i64
|
|
%t54 = mul i64 %t53, %t52
|
|
%t55 = load ptr, ptr %t44
|
|
%t56 = call ptr @realloc(ptr %t55, i64 %t54)
|
|
store ptr %t56, ptr %t44
|
|
store i32 %t50, ptr %t43
|
|
br label %put6
|
|
put6:
|
|
%t57 = load ptr, ptr %t1
|
|
%t58 = load ptr, ptr %t44
|
|
%t59 = getelementptr inbounds ptr, ptr %t58, i32 %t45
|
|
store ptr %t57, ptr %t59
|
|
%t60 = add i32 %t45, 1
|
|
store i32 %t60, ptr %t42
|
|
br label %ifend2
|
|
ifend2:
|
|
%t61 = load i32, ptr @g_nloop
|
|
%t62 = add i32 %t61, 1
|
|
store i32 %t62, ptr @g_nloop
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_loop_pop() {
|
|
entry:
|
|
%t0 = load i32, ptr @g_nloop
|
|
%t1 = sub i32 %t0, 1
|
|
store i32 %t1, ptr @g_nloop
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_has_systems() {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca i32
|
|
store i32 0, ptr %t0
|
|
br label %wcond0
|
|
wcond0:
|
|
%t1 = load i32, ptr %t0
|
|
%t2 = load ptr, ptr @g_prog
|
|
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
|
|
%t4 = load i32, ptr %t3
|
|
%t5 = icmp slt i32 %t1, %t4
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t8 = load ptr, ptr @g_prog
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = load i32, ptr %t0
|
|
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0
|
|
%t15 = load i32, ptr %t14
|
|
%t16 = icmp eq i32 %t15, 9
|
|
%t17 = zext i1 %t16 to i32
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then3, label %ifend5
|
|
then3:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t19 = load i32, ptr %t0
|
|
%t20 = add i32 %t19, 1
|
|
store i32 %t20, ptr %t0
|
|
br label %wcond0
|
|
wend2:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t21 = load i32, ptr %retval
|
|
ret i32 %t21
|
|
}
|
|
|
|
define i32 @fn_has_models() {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca i32
|
|
store i32 0, ptr %t0
|
|
br label %wcond0
|
|
wcond0:
|
|
%t1 = load i32, ptr %t0
|
|
%t2 = load ptr, ptr @g_prog
|
|
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
|
|
%t4 = load i32, ptr %t3
|
|
%t5 = icmp slt i32 %t1, %t4
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t8 = load ptr, ptr @g_prog
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = load i32, ptr %t0
|
|
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0
|
|
%t15 = load i32, ptr %t14
|
|
%t16 = icmp eq i32 %t15, 10
|
|
%t17 = zext i1 %t16 to i32
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then3, label %ifend5
|
|
then3:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t19 = load i32, ptr %t0
|
|
%t20 = add i32 %t19, 1
|
|
store i32 %t20, ptr %t0
|
|
br label %wcond0
|
|
wend2:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t21 = load i32, ptr %retval
|
|
ret i32 %t21
|
|
}
|
|
|
|
define i32 @fn_has_entry() {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca i32
|
|
store i32 0, ptr %t0
|
|
br label %wcond0
|
|
wcond0:
|
|
%t1 = load i32, ptr %t0
|
|
%t2 = load ptr, ptr @g_prog
|
|
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
|
|
%t4 = load i32, ptr %t3
|
|
%t5 = icmp slt i32 %t1, %t4
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t8 = load ptr, ptr @g_prog
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = load i32, ptr %t0
|
|
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0
|
|
%t15 = load i32, ptr %t14
|
|
%t16 = icmp eq i32 %t15, 6
|
|
%t17 = zext i1 %t16 to i32
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then3, label %ifend5
|
|
then3:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t19 = load i32, ptr %t0
|
|
%t20 = add i32 %t19, 1
|
|
store i32 %t20, ptr %t0
|
|
br label %wcond0
|
|
wend2:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t21 = load i32, ptr %retval
|
|
ret i32 %t21
|
|
}
|
|
|
|
define i32 @fn_has_ecs() {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca i32
|
|
%t1 = call i32 @fn_has_systems()
|
|
%t2 = icmp ne i32 %t1, 0
|
|
%t3 = zext i1 %t2 to i32
|
|
store i32 %t3, ptr %t0
|
|
br i1 %t2, label %scend1, label %sc0
|
|
sc0:
|
|
%t4 = call i32 @fn_has_models()
|
|
%t5 = icmp ne i32 %t4, 0
|
|
%t6 = zext i1 %t5 to i32
|
|
store i32 %t6, ptr %t0
|
|
br label %scend1
|
|
scend1:
|
|
%t7 = load i32, ptr %t0
|
|
store i32 %t7, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t8 = load i32, ptr %retval
|
|
ret i32 %t8
|
|
}
|
|
|
|
define void @fn_emit_ecs_storage() {
|
|
entry:
|
|
%t7 = alloca ptr
|
|
%t24 = alloca i32
|
|
%t38 = alloca ptr
|
|
%t90 = alloca i32
|
|
call void @fn_emith(ptr @.str4854)
|
|
call void @fn_emith(ptr @.str4855)
|
|
call void @fn_emith(ptr @.str4856)
|
|
%t0 = load ptr, ptr @g_g_scenes
|
|
%t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = icmp sgt i32 %t2, 0
|
|
%t4 = zext i1 %t3 to i32
|
|
%t5 = icmp ne i32 %t4, 0
|
|
br i1 %t5, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_emith(ptr @.str4857)
|
|
br label %ifend2
|
|
ifend2:
|
|
call void @fn_emith(ptr @.str4858)
|
|
%t6 = call ptr @fn_itoa(i32 1024)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = call ptr @fn_str_concat(ptr @.str4859, ptr %t8)
|
|
%t10 = call ptr @fn_str_concat(ptr %t9, ptr @.str4860)
|
|
call void @fn_emith(ptr %t10)
|
|
%t11 = load ptr, ptr %t7
|
|
%t12 = call ptr @fn_str_concat(ptr @.str4861, ptr %t11)
|
|
%t13 = call ptr @fn_str_concat(ptr %t12, ptr @.str4862)
|
|
call void @fn_emith(ptr %t13)
|
|
%t14 = load ptr, ptr %t7
|
|
%t15 = call ptr @fn_str_concat(ptr @.str4863, ptr %t14)
|
|
%t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str4864)
|
|
call void @fn_emith(ptr %t16)
|
|
call void @fn_emith(ptr @.str4865)
|
|
%t17 = call i32 @fn_net_any()
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then3, label %ifend5
|
|
then3:
|
|
call void @fn_emith(ptr @.str4866)
|
|
call void @fn_emith(ptr @.str4867)
|
|
br label %ifend5
|
|
ifend5:
|
|
%t19 = call i32 @fn_net_has_owned()
|
|
%t20 = icmp ne i32 %t19, 0
|
|
br i1 %t20, label %then6, label %ifend8
|
|
then6:
|
|
%t21 = load ptr, ptr %t7
|
|
%t22 = call ptr @fn_str_concat(ptr @.str4868, ptr %t21)
|
|
%t23 = call ptr @fn_str_concat(ptr %t22, ptr @.str4869)
|
|
call void @fn_emith(ptr %t23)
|
|
br label %ifend8
|
|
ifend8:
|
|
store i32 0, ptr %t24
|
|
br label %wcond9
|
|
wcond9:
|
|
%t25 = load i32, ptr %t24
|
|
%t26 = load ptr, ptr @g_prog
|
|
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1
|
|
%t28 = load i32, ptr %t27
|
|
%t29 = icmp slt i32 %t25, %t28
|
|
%t30 = zext i1 %t29 to i32
|
|
%t31 = icmp ne i32 %t30, 0
|
|
br i1 %t31, label %wbody10, label %wend11
|
|
wbody10:
|
|
%t32 = load ptr, ptr @g_prog
|
|
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0
|
|
%t34 = load ptr, ptr %t33
|
|
%t35 = load i32, ptr %t24
|
|
%t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35
|
|
%t37 = load ptr, ptr %t36
|
|
store ptr %t37, ptr %t38
|
|
%t39 = load ptr, ptr %t38
|
|
%t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 0
|
|
%t41 = load i32, ptr %t40
|
|
%t42 = icmp eq i32 %t41, 8
|
|
%t43 = zext i1 %t42 to i32
|
|
%t44 = icmp ne i32 %t43, 0
|
|
br i1 %t44, label %then12, label %ifend14
|
|
then12:
|
|
%t45 = load ptr, ptr %t38
|
|
%t46 = getelementptr inbounds %Cmp_Node, ptr %t45, i32 0, i32 1
|
|
%t47 = load ptr, ptr %t46
|
|
%t48 = call ptr @fn_str_concat(ptr @.str4870, ptr %t47)
|
|
%t49 = call ptr @fn_str_concat(ptr %t48, ptr @.str4871)
|
|
%t50 = load ptr, ptr %t7
|
|
%t51 = call ptr @fn_str_concat(ptr %t49, ptr %t50)
|
|
%t52 = call ptr @fn_str_concat(ptr %t51, ptr @.str4872)
|
|
%t53 = load ptr, ptr %t38
|
|
%t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 1
|
|
%t55 = load ptr, ptr %t54
|
|
%t56 = call ptr @fn_str_concat(ptr %t52, ptr %t55)
|
|
%t57 = call ptr @fn_str_concat(ptr %t56, ptr @.str4873)
|
|
call void @fn_emith(ptr %t57)
|
|
%t58 = load ptr, ptr %t38
|
|
%t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 1
|
|
%t60 = load ptr, ptr %t59
|
|
%t61 = call ptr @fn_str_concat(ptr @.str4874, ptr %t60)
|
|
%t62 = call ptr @fn_str_concat(ptr %t61, ptr @.str4875)
|
|
%t63 = load ptr, ptr %t7
|
|
%t64 = call ptr @fn_str_concat(ptr %t62, ptr %t63)
|
|
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str4876)
|
|
call void @fn_emith(ptr %t65)
|
|
br label %ifend14
|
|
ifend14:
|
|
%t66 = load ptr, ptr %t38
|
|
%t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 0
|
|
%t68 = load i32, ptr %t67
|
|
%t69 = icmp eq i32 %t68, 10
|
|
%t70 = zext i1 %t69 to i32
|
|
%t71 = icmp ne i32 %t70, 0
|
|
br i1 %t71, label %then15, label %ifend17
|
|
then15:
|
|
%t72 = load ptr, ptr %t38
|
|
%t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1
|
|
%t74 = load ptr, ptr %t73
|
|
%t75 = call ptr @fn_str_concat(ptr @.str4877, ptr %t74)
|
|
%t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str4878)
|
|
call void @fn_emith(ptr %t76)
|
|
br label %ifend17
|
|
ifend17:
|
|
%t77 = load ptr, ptr %t38
|
|
%t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 0
|
|
%t79 = load i32, ptr %t78
|
|
%t80 = icmp eq i32 %t79, 9
|
|
%t81 = zext i1 %t80 to i32
|
|
%t82 = icmp ne i32 %t81, 0
|
|
br i1 %t82, label %then18, label %ifend20
|
|
then18:
|
|
%t83 = load ptr, ptr %t38
|
|
%t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1
|
|
%t85 = load ptr, ptr %t84
|
|
%t86 = call ptr @fn_str_concat(ptr @.str4879, ptr %t85)
|
|
%t87 = call ptr @fn_str_concat(ptr %t86, ptr @.str4880)
|
|
call void @fn_emith(ptr %t87)
|
|
br label %ifend20
|
|
ifend20:
|
|
%t88 = load i32, ptr %t24
|
|
%t89 = add i32 %t88, 1
|
|
store i32 %t89, ptr %t24
|
|
br label %wcond9
|
|
wend11:
|
|
store i32 0, ptr %t90
|
|
br label %wcond21
|
|
wcond21:
|
|
%t91 = load i32, ptr %t90
|
|
%t92 = load ptr, ptr @g_g_toggled_layers
|
|
%t93 = getelementptr inbounds %LSlice, ptr %t92, i32 0, i32 1
|
|
%t94 = load i32, ptr %t93
|
|
%t95 = icmp slt i32 %t91, %t94
|
|
%t96 = zext i1 %t95 to i32
|
|
%t97 = icmp ne i32 %t96, 0
|
|
br i1 %t97, label %wbody22, label %wend23
|
|
wbody22:
|
|
%t98 = load ptr, ptr @g_g_toggled_layers
|
|
%t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0
|
|
%t100 = load ptr, ptr %t99
|
|
%t101 = load i32, ptr %t90
|
|
%t102 = getelementptr inbounds ptr, ptr %t100, i32 %t101
|
|
%t103 = load ptr, ptr %t102
|
|
%t104 = call ptr @fn_str_concat(ptr @.str4881, ptr %t103)
|
|
%t105 = call ptr @fn_str_concat(ptr %t104, ptr @.str4882)
|
|
call void @fn_emith(ptr %t105)
|
|
%t106 = load i32, ptr %t90
|
|
%t107 = add i32 %t106, 1
|
|
store i32 %t107, ptr %t90
|
|
br label %wcond21
|
|
wend23:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_ecs_allocator() {
|
|
entry:
|
|
%t1 = alloca ptr
|
|
%t2 = alloca i32
|
|
%t24 = alloca ptr
|
|
%t0 = call ptr @fn_itoa(i32 1024)
|
|
store ptr %t0, ptr %t1
|
|
call void @fn_emit(ptr @.str4883)
|
|
store i32 0, ptr %t2
|
|
br label %wcond0
|
|
wcond0:
|
|
%t3 = load i32, ptr %t2
|
|
%t4 = load ptr, ptr @g_prog
|
|
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
|
|
%t6 = load i32, ptr %t5
|
|
%t7 = icmp slt i32 %t3, %t6
|
|
%t8 = zext i1 %t7 to i32
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t10 = load ptr, ptr @g_prog
|
|
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = load i32, ptr %t2
|
|
%t14 = getelementptr inbounds ptr, ptr %t12, i32 %t13
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0
|
|
%t17 = load i32, ptr %t16
|
|
%t18 = icmp eq i32 %t17, 8
|
|
%t19 = zext i1 %t18 to i32
|
|
%t20 = icmp ne i32 %t19, 0
|
|
br i1 %t20, label %then3, label %ifend5
|
|
then3:
|
|
%t21 = load i32, ptr %t2
|
|
%t22 = call ptr @fn_itoa(i32 %t21)
|
|
%t23 = call ptr @fn_str_concat(ptr @.str4884, ptr %t22)
|
|
store ptr %t23, ptr %t24
|
|
call void @fn_emit(ptr @.str4885)
|
|
%t25 = load ptr, ptr %t24
|
|
call void @fn_emit(ptr %t25)
|
|
call void @fn_emit(ptr @.str4886)
|
|
%t26 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t26)
|
|
call void @fn_emit(ptr @.str4887)
|
|
%t27 = load ptr, ptr @g_prog
|
|
%t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0
|
|
%t29 = load ptr, ptr %t28
|
|
%t30 = load i32, ptr %t2
|
|
%t31 = getelementptr inbounds ptr, ptr %t29, i32 %t30
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1
|
|
%t34 = load ptr, ptr %t33
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str4888)
|
|
call void @fn_emit(ptr @.str4889)
|
|
%t35 = load ptr, ptr %t24
|
|
call void @fn_emit(ptr %t35)
|
|
call void @fn_emit(ptr @.str4890)
|
|
br label %ifend5
|
|
ifend5:
|
|
%t36 = load i32, ptr %t2
|
|
%t37 = add i32 %t36, 1
|
|
store i32 %t37, ptr %t2
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_emit(ptr @.str4891)
|
|
%t38 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t38)
|
|
call void @fn_emit(ptr @.str4892)
|
|
call void @fn_emit(ptr @.str4893)
|
|
%t39 = call i32 @fn_net_has_owned()
|
|
%t40 = icmp ne i32 %t39, 0
|
|
br i1 %t40, label %then6, label %ifend8
|
|
then6:
|
|
call void @fn_emit(ptr @.str4894)
|
|
%t41 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t41)
|
|
call void @fn_emit(ptr @.str4895)
|
|
call void @fn_emit(ptr @.str4896)
|
|
br label %ifend8
|
|
ifend8:
|
|
call void @fn_emit(ptr @.str4897)
|
|
call void @fn_emit(ptr @.str4898)
|
|
call void @fn_emit(ptr @.str4899)
|
|
call void @fn_emit(ptr @.str4900)
|
|
call void @fn_emit(ptr @.str4901)
|
|
call void @fn_emit(ptr @.str4902)
|
|
call void @fn_emit(ptr @.str4903)
|
|
call void @fn_emit(ptr @.str4904)
|
|
call void @fn_emit(ptr @.str4905)
|
|
%t42 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t42)
|
|
call void @fn_emit(ptr @.str4906)
|
|
call void @fn_emit(ptr @.str4907)
|
|
call void @fn_emit(ptr @.str4908)
|
|
call void @fn_emit(ptr @.str4909)
|
|
call void @fn_emit(ptr @.str4910)
|
|
call void @fn_emit(ptr @.str4911)
|
|
call void @fn_emit(ptr @.str4912)
|
|
call void @fn_emit(ptr @.str4913)
|
|
call void @fn_emit(ptr @.str4914)
|
|
call void @fn_emit(ptr @.str4915)
|
|
call void @fn_emit(ptr @.str4916)
|
|
call void @fn_emit(ptr @.str4917)
|
|
%t43 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t43)
|
|
call void @fn_emit(ptr @.str4918)
|
|
call void @fn_emit(ptr @.str4919)
|
|
call void @fn_emit(ptr @.str4920)
|
|
call void @fn_emit(ptr @.str4921)
|
|
call void @fn_emit(ptr @.str4922)
|
|
%t44 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t44)
|
|
call void @fn_emit(ptr @.str4923)
|
|
call void @fn_emit(ptr @.str4924)
|
|
call void @fn_emit(ptr @.str4925)
|
|
call void @fn_emit(ptr @.str4926)
|
|
call void @fn_emit(ptr @.str4927)
|
|
%t45 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t45)
|
|
call void @fn_emit(ptr @.str4928)
|
|
call void @fn_emit(ptr @.str4929)
|
|
call void @fn_emit(ptr @.str4930)
|
|
call void @fn_emit(ptr @.str4931)
|
|
call void @fn_emit(ptr @.str4932)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_find_arch_id(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
store ptr %arg_name, ptr %t0
|
|
store i32 0, ptr %t1
|
|
store i32 1, ptr %t2
|
|
br label %wcond0
|
|
wcond0:
|
|
%t3 = load i32, ptr %t1
|
|
%t4 = load ptr, ptr @g_prog
|
|
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
|
|
%t6 = load i32, ptr %t5
|
|
%t7 = icmp slt i32 %t3, %t6
|
|
%t8 = zext i1 %t7 to i32
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t10 = load ptr, ptr @g_prog
|
|
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = load i32, ptr %t1
|
|
%t14 = getelementptr inbounds ptr, ptr %t12, i32 %t13
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 0
|
|
%t17 = load i32, ptr %t16
|
|
%t18 = icmp eq i32 %t17, 10
|
|
%t19 = zext i1 %t18 to i32
|
|
%t20 = icmp ne i32 %t19, 0
|
|
br i1 %t20, label %then3, label %ifend5
|
|
then3:
|
|
%t21 = load ptr, ptr @g_prog
|
|
%t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0
|
|
%t23 = load ptr, ptr %t22
|
|
%t24 = load i32, ptr %t1
|
|
%t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 1
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = load ptr, ptr %t0
|
|
%t30 = call i32 @fn_str_eq(ptr %t28, ptr %t29)
|
|
%t31 = icmp ne i32 %t30, 0
|
|
br i1 %t31, label %then6, label %ifend8
|
|
then6:
|
|
%t32 = load i32, ptr %t2
|
|
store i32 %t32, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t33 = load i32, ptr %t2
|
|
%t34 = add i32 %t33, 1
|
|
store i32 %t34, ptr %t2
|
|
br label %ifend5
|
|
ifend5:
|
|
%t35 = load i32, ptr %t1
|
|
%t36 = add i32 %t35, 1
|
|
store i32 %t36, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t37 = load i32, ptr %retval
|
|
ret i32 %t37
|
|
}
|
|
|
|
define void @fn_emit_query(ptr %arg_st) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t4 = alloca ptr
|
|
%t42 = alloca ptr
|
|
%t44 = alloca ptr
|
|
%t46 = alloca ptr
|
|
%t48 = alloca ptr
|
|
%t54 = alloca ptr
|
|
%t56 = alloca ptr
|
|
%t63 = alloca ptr
|
|
%t71 = alloca ptr
|
|
%t73 = alloca ptr
|
|
%t80 = alloca ptr
|
|
%t85 = alloca ptr
|
|
%t87 = alloca ptr
|
|
%t95 = alloca ptr
|
|
%t96 = alloca i32
|
|
%t114 = alloca ptr
|
|
%t119 = alloca i32
|
|
%t120 = alloca ptr
|
|
%t126 = alloca ptr
|
|
%t133 = alloca ptr
|
|
%t141 = alloca ptr
|
|
%t147 = alloca ptr
|
|
%t152 = alloca ptr
|
|
%t160 = alloca ptr
|
|
%t170 = alloca ptr
|
|
%t176 = alloca ptr
|
|
%t184 = alloca i32
|
|
%t185 = alloca i32
|
|
%t203 = alloca ptr
|
|
%t204 = alloca i32
|
|
%t232 = alloca ptr
|
|
%t243 = alloca ptr
|
|
%t274 = alloca ptr
|
|
%t281 = alloca ptr
|
|
%t283 = alloca ptr
|
|
%t303 = alloca ptr
|
|
%t308 = alloca ptr
|
|
store ptr %arg_st, ptr %t0
|
|
%t1 = call ptr @fn_itoa(i32 1024)
|
|
store ptr %t1, ptr %t2
|
|
%t3 = call ptr @fn_emit_alloca(ptr @.str4933)
|
|
store ptr %t3, ptr %t4
|
|
%t5 = load ptr, ptr %t4
|
|
call void @fn_store_at(ptr @.str4934, ptr @.str4935, ptr %t5)
|
|
%t6 = load i32, ptr @g_nself
|
|
%t7 = load ptr, ptr @g_self_stk
|
|
%t8 = getelementptr inbounds %LSlice, ptr %t7, i32 0, i32 1
|
|
%t9 = load i32, ptr %t8
|
|
%t10 = icmp slt i32 %t6, %t9
|
|
%t11 = zext i1 %t10 to i32
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then0, label %else1
|
|
then0:
|
|
%t13 = load ptr, ptr @g_self_stk
|
|
%t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = load i32, ptr @g_nself
|
|
%t17 = getelementptr inbounds ptr, ptr %t15, i32 %t16
|
|
%t18 = load ptr, ptr %t4
|
|
store ptr %t18, ptr %t17
|
|
br label %ifend2
|
|
else1:
|
|
%t19 = load ptr, ptr @g_self_stk
|
|
%t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 1
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 2
|
|
%t22 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
|
|
%t23 = load i32, ptr %t20
|
|
%t24 = load i32, ptr %t21
|
|
%t25 = icmp sge i32 %t23, %t24
|
|
br i1 %t25, label %grow3, label %put4
|
|
grow3:
|
|
%t26 = mul i32 %t24, 2
|
|
%t27 = icmp eq i32 %t24, 0
|
|
%t28 = select i1 %t27, i32 8, i32 %t26
|
|
%t29 = getelementptr ptr, ptr null, i32 1
|
|
%t30 = ptrtoint ptr %t29 to i64
|
|
%t31 = zext i32 %t28 to i64
|
|
%t32 = mul i64 %t31, %t30
|
|
%t33 = load ptr, ptr %t22
|
|
%t34 = call ptr @realloc(ptr %t33, i64 %t32)
|
|
store ptr %t34, ptr %t22
|
|
store i32 %t28, ptr %t21
|
|
br label %put4
|
|
put4:
|
|
%t35 = load ptr, ptr %t4
|
|
%t36 = load ptr, ptr %t22
|
|
%t37 = getelementptr inbounds ptr, ptr %t36, i32 %t23
|
|
store ptr %t35, ptr %t37
|
|
%t38 = add i32 %t23, 1
|
|
store i32 %t38, ptr %t20
|
|
br label %ifend2
|
|
ifend2:
|
|
%t39 = load i32, ptr @g_nself
|
|
%t40 = add i32 %t39, 1
|
|
store i32 %t40, ptr @g_nself
|
|
%t41 = call ptr @fn_lbl(ptr @.str4936)
|
|
store ptr %t41, ptr %t42
|
|
%t43 = call ptr @fn_lbl(ptr @.str4937)
|
|
store ptr %t43, ptr %t44
|
|
%t45 = call ptr @fn_lbl(ptr @.str4938)
|
|
store ptr %t45, ptr %t46
|
|
%t47 = call ptr @fn_lbl(ptr @.str4939)
|
|
store ptr %t47, ptr %t48
|
|
call void @fn_emit(ptr @.str4940)
|
|
%t49 = load ptr, ptr %t42
|
|
call void @fn_emit(ptr %t49)
|
|
call void @fn_emit(ptr @.str4941)
|
|
%t50 = load ptr, ptr %t42
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str4942)
|
|
%t51 = load ptr, ptr %t4
|
|
%t52 = call ptr @fn_str_concat(ptr @.str4943, ptr %t51)
|
|
%t53 = call ptr @fn_emit_bind(ptr %t52)
|
|
store ptr %t53, ptr %t54
|
|
%t55 = call ptr @fn_emit_bind(ptr @.str4944)
|
|
store ptr %t55, ptr %t56
|
|
%t57 = load ptr, ptr %t54
|
|
%t58 = call ptr @fn_str_concat(ptr @.str4945, ptr %t57)
|
|
%t59 = call ptr @fn_str_concat(ptr %t58, ptr @.str4946)
|
|
%t60 = load ptr, ptr %t56
|
|
%t61 = call ptr @fn_str_concat(ptr %t59, ptr %t60)
|
|
%t62 = call ptr @fn_emit_bind(ptr %t61)
|
|
store ptr %t62, ptr %t63
|
|
call void @fn_emit(ptr @.str4947)
|
|
%t64 = load ptr, ptr %t63
|
|
call void @fn_emit(ptr %t64)
|
|
call void @fn_emit(ptr @.str4948)
|
|
%t65 = load ptr, ptr %t44
|
|
call void @fn_emit(ptr %t65)
|
|
call void @fn_emit(ptr @.str4949)
|
|
%t66 = load ptr, ptr %t48
|
|
call void @fn_emit(ptr %t66)
|
|
call void @fn_emit(ptr @.str4950)
|
|
%t67 = load ptr, ptr %t44
|
|
call void @fn_emit(ptr %t67)
|
|
call void @fn_emit(ptr @.str4951)
|
|
store i32 0, ptr @g_g_term
|
|
%t68 = load ptr, ptr %t4
|
|
%t69 = call ptr @fn_str_concat(ptr @.str4952, ptr %t68)
|
|
%t70 = call ptr @fn_emit_bind(ptr %t69)
|
|
store ptr %t70, ptr %t71
|
|
%t72 = call ptr @fn_nreg()
|
|
store ptr %t72, ptr %t73
|
|
call void @fn_emit(ptr @.str4953)
|
|
%t74 = load ptr, ptr %t73
|
|
call void @fn_emit(ptr %t74)
|
|
call void @fn_emit(ptr @.str4954)
|
|
%t75 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t75)
|
|
call void @fn_emit(ptr @.str4955)
|
|
%t76 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t76)
|
|
call void @fn_emit(ptr @.str4956)
|
|
%t77 = load ptr, ptr %t73
|
|
%t78 = call ptr @fn_str_concat(ptr @.str4957, ptr %t77)
|
|
%t79 = call ptr @fn_emit_bind(ptr %t78)
|
|
store ptr %t79, ptr %t80
|
|
%t81 = load ptr, ptr %t80
|
|
%t82 = call ptr @fn_str_concat(ptr @.str4958, ptr %t81)
|
|
%t83 = call ptr @fn_str_concat(ptr %t82, ptr @.str4959)
|
|
%t84 = call ptr @fn_emit_bind(ptr %t83)
|
|
store ptr %t84, ptr %t85
|
|
%t86 = call ptr @fn_lbl(ptr @.str4960)
|
|
store ptr %t86, ptr %t87
|
|
call void @fn_emit(ptr @.str4961)
|
|
%t88 = load ptr, ptr %t85
|
|
call void @fn_emit(ptr %t88)
|
|
call void @fn_emit(ptr @.str4962)
|
|
%t89 = load ptr, ptr %t87
|
|
call void @fn_emit(ptr %t89)
|
|
call void @fn_emit(ptr @.str4963)
|
|
%t90 = load ptr, ptr %t46
|
|
call void @fn_emit(ptr %t90)
|
|
call void @fn_emit(ptr @.str4964)
|
|
%t91 = load ptr, ptr %t87
|
|
call void @fn_emit(ptr %t91)
|
|
call void @fn_emit(ptr @.str4965)
|
|
%t92 = load ptr, ptr %t0
|
|
%t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 6
|
|
%t94 = load ptr, ptr %t93
|
|
store ptr %t94, ptr %t95
|
|
store i32 0, ptr %t96
|
|
br label %wcond5
|
|
wcond5:
|
|
%t97 = load i32, ptr %t96
|
|
%t98 = load ptr, ptr %t95
|
|
%t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 7
|
|
%t100 = load ptr, ptr %t99
|
|
%t101 = getelementptr inbounds %LSlice, ptr %t100, i32 0, i32 1
|
|
%t102 = load i32, ptr %t101
|
|
%t103 = icmp slt i32 %t97, %t102
|
|
%t104 = zext i1 %t103 to i32
|
|
%t105 = icmp ne i32 %t104, 0
|
|
br i1 %t105, label %wbody6, label %wend7
|
|
wbody6:
|
|
%t106 = load ptr, ptr %t95
|
|
%t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 7
|
|
%t108 = load ptr, ptr %t107
|
|
%t109 = getelementptr inbounds %LSlice, ptr %t108, i32 0, i32 0
|
|
%t110 = load ptr, ptr %t109
|
|
%t111 = load i32, ptr %t96
|
|
%t112 = getelementptr inbounds ptr, ptr %t110, i32 %t111
|
|
%t113 = load ptr, ptr %t112
|
|
store ptr %t113, ptr %t114
|
|
%t115 = load ptr, ptr %t114
|
|
%t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 1
|
|
%t117 = load ptr, ptr %t116
|
|
%t118 = call i32 @fn_find_arch_id(ptr %t117)
|
|
store i32 %t118, ptr %t119
|
|
store ptr @.str4966, ptr %t120
|
|
%t121 = load i32, ptr %t119
|
|
%t122 = icmp sgt i32 %t121, 0
|
|
%t123 = zext i1 %t122 to i32
|
|
%t124 = icmp ne i32 %t123, 0
|
|
br i1 %t124, label %then8, label %else9
|
|
then8:
|
|
%t125 = call ptr @fn_nreg()
|
|
store ptr %t125, ptr %t126
|
|
call void @fn_emit(ptr @.str4967)
|
|
%t127 = load ptr, ptr %t126
|
|
call void @fn_emit(ptr %t127)
|
|
call void @fn_emit(ptr @.str4968)
|
|
%t128 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t128)
|
|
call void @fn_emit(ptr @.str4969)
|
|
%t129 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t129)
|
|
call void @fn_emit(ptr @.str4970)
|
|
%t130 = load ptr, ptr %t126
|
|
%t131 = call ptr @fn_str_concat(ptr @.str4971, ptr %t130)
|
|
%t132 = call ptr @fn_emit_bind(ptr %t131)
|
|
store ptr %t132, ptr %t133
|
|
%t134 = load ptr, ptr %t133
|
|
%t135 = call ptr @fn_str_concat(ptr @.str4972, ptr %t134)
|
|
%t136 = call ptr @fn_str_concat(ptr %t135, ptr @.str4973)
|
|
%t137 = load i32, ptr %t119
|
|
%t138 = call ptr @fn_itoa(i32 %t137)
|
|
%t139 = call ptr @fn_str_concat(ptr %t136, ptr %t138)
|
|
%t140 = call ptr @fn_emit_bind(ptr %t139)
|
|
store ptr %t140, ptr %t141
|
|
%t142 = load ptr, ptr %t114
|
|
%t143 = getelementptr inbounds %Cmp_Node, ptr %t142, i32 0, i32 1
|
|
%t144 = load ptr, ptr %t143
|
|
%t145 = call ptr @fn_str_concat(ptr @.str4974, ptr %t144)
|
|
%t146 = call ptr @fn_emit_bind(ptr %t145)
|
|
store ptr %t146, ptr %t147
|
|
%t148 = load ptr, ptr %t147
|
|
%t149 = call ptr @fn_str_concat(ptr @.str4975, ptr %t148)
|
|
%t150 = call ptr @fn_str_concat(ptr %t149, ptr @.str4976)
|
|
%t151 = call ptr @fn_emit_bind(ptr %t150)
|
|
store ptr %t151, ptr %t152
|
|
%t153 = load ptr, ptr %t141
|
|
%t154 = call ptr @fn_str_concat(ptr @.str4977, ptr %t153)
|
|
%t155 = call ptr @fn_str_concat(ptr %t154, ptr @.str4978)
|
|
%t156 = load ptr, ptr %t152
|
|
%t157 = call ptr @fn_str_concat(ptr %t155, ptr %t156)
|
|
%t158 = call ptr @fn_emit_bind(ptr %t157)
|
|
store ptr %t158, ptr %t120
|
|
br label %ifend10
|
|
else9:
|
|
%t159 = call ptr @fn_nreg()
|
|
store ptr %t159, ptr %t160
|
|
call void @fn_emit(ptr @.str4979)
|
|
%t161 = load ptr, ptr %t160
|
|
call void @fn_emit(ptr %t161)
|
|
call void @fn_emit(ptr @.str4980)
|
|
%t162 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t162)
|
|
call void @fn_emit(ptr @.str4981)
|
|
%t163 = load ptr, ptr %t114
|
|
%t164 = getelementptr inbounds %Cmp_Node, ptr %t163, i32 0, i32 1
|
|
%t165 = load ptr, ptr %t164
|
|
call void @fn_emit(ptr %t165)
|
|
call void @fn_emit(ptr @.str4982)
|
|
%t166 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t166)
|
|
call void @fn_emit(ptr @.str4983)
|
|
%t167 = load ptr, ptr %t160
|
|
%t168 = call ptr @fn_str_concat(ptr @.str4984, ptr %t167)
|
|
%t169 = call ptr @fn_emit_bind(ptr %t168)
|
|
store ptr %t169, ptr %t170
|
|
%t171 = load ptr, ptr %t170
|
|
%t172 = call ptr @fn_str_concat(ptr @.str4985, ptr %t171)
|
|
%t173 = call ptr @fn_str_concat(ptr %t172, ptr @.str4986)
|
|
%t174 = call ptr @fn_emit_bind(ptr %t173)
|
|
store ptr %t174, ptr %t120
|
|
br label %ifend10
|
|
ifend10:
|
|
%t175 = call ptr @fn_lbl(ptr @.str4987)
|
|
store ptr %t175, ptr %t176
|
|
call void @fn_emit(ptr @.str4988)
|
|
%t177 = load ptr, ptr %t120
|
|
call void @fn_emit(ptr %t177)
|
|
call void @fn_emit(ptr @.str4989)
|
|
%t178 = load ptr, ptr %t176
|
|
call void @fn_emit(ptr %t178)
|
|
call void @fn_emit(ptr @.str4990)
|
|
%t179 = load ptr, ptr %t46
|
|
call void @fn_emit(ptr %t179)
|
|
call void @fn_emit(ptr @.str4991)
|
|
%t180 = load ptr, ptr %t176
|
|
call void @fn_emit(ptr %t180)
|
|
call void @fn_emit(ptr @.str4992)
|
|
%t181 = load i32, ptr %t96
|
|
%t182 = add i32 %t181, 1
|
|
store i32 %t182, ptr %t96
|
|
br label %wcond5
|
|
wend7:
|
|
%t183 = load i32, ptr @g_nloc
|
|
store i32 %t183, ptr %t184
|
|
store i32 0, ptr %t185
|
|
store i32 0, ptr %t96
|
|
br label %wcond11
|
|
wcond11:
|
|
%t186 = load i32, ptr %t96
|
|
%t187 = load ptr, ptr %t95
|
|
%t188 = getelementptr inbounds %Cmp_Node, ptr %t187, i32 0, i32 7
|
|
%t189 = load ptr, ptr %t188
|
|
%t190 = getelementptr inbounds %LSlice, ptr %t189, i32 0, i32 1
|
|
%t191 = load i32, ptr %t190
|
|
%t192 = icmp slt i32 %t186, %t191
|
|
%t193 = zext i1 %t192 to i32
|
|
%t194 = icmp ne i32 %t193, 0
|
|
br i1 %t194, label %wbody12, label %wend13
|
|
wbody12:
|
|
%t195 = load ptr, ptr %t95
|
|
%t196 = getelementptr inbounds %Cmp_Node, ptr %t195, i32 0, i32 7
|
|
%t197 = load ptr, ptr %t196
|
|
%t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0
|
|
%t199 = load ptr, ptr %t198
|
|
%t200 = load i32, ptr %t96
|
|
%t201 = getelementptr inbounds ptr, ptr %t199, i32 %t200
|
|
%t202 = load ptr, ptr %t201
|
|
store ptr %t202, ptr %t203
|
|
%t205 = load ptr, ptr %t203
|
|
%t206 = getelementptr inbounds %Cmp_Node, ptr %t205, i32 0, i32 2
|
|
%t207 = load i32, ptr %t206
|
|
%t208 = icmp eq i32 %t207, 0
|
|
%t209 = zext i1 %t208 to i32
|
|
%t210 = icmp ne i32 %t209, 0
|
|
%t211 = zext i1 %t210 to i32
|
|
store i32 %t211, ptr %t204
|
|
br i1 %t210, label %sc14, label %scend15
|
|
sc14:
|
|
%t212 = load ptr, ptr %t203
|
|
%t213 = getelementptr inbounds %Cmp_Node, ptr %t212, i32 0, i32 1
|
|
%t214 = load ptr, ptr %t213
|
|
%t215 = call i32 @fn_find_arch_id(ptr %t214)
|
|
%t216 = icmp eq i32 %t215, 0
|
|
%t217 = zext i1 %t216 to i32
|
|
%t218 = icmp ne i32 %t217, 0
|
|
%t219 = zext i1 %t218 to i32
|
|
store i32 %t219, ptr %t204
|
|
br label %scend15
|
|
scend15:
|
|
%t220 = load i32, ptr %t204
|
|
%t221 = icmp ne i32 %t220, 0
|
|
br i1 %t221, label %then16, label %ifend18
|
|
then16:
|
|
%t222 = load i32, ptr %t185
|
|
%t223 = load ptr, ptr %t0
|
|
%t224 = getelementptr inbounds %Cmp_Node, ptr %t223, i32 0, i32 7
|
|
%t225 = load ptr, ptr %t224
|
|
%t226 = getelementptr inbounds %LSlice, ptr %t225, i32 0, i32 1
|
|
%t227 = load i32, ptr %t226
|
|
%t228 = icmp slt i32 %t222, %t227
|
|
%t229 = zext i1 %t228 to i32
|
|
%t230 = icmp ne i32 %t229, 0
|
|
br i1 %t230, label %then19, label %ifend21
|
|
then19:
|
|
%t231 = call ptr @fn_nreg()
|
|
store ptr %t231, ptr %t232
|
|
call void @fn_emit(ptr @.str4993)
|
|
%t233 = load ptr, ptr %t232
|
|
call void @fn_emit(ptr %t233)
|
|
call void @fn_emit(ptr @.str4994)
|
|
%t234 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t234)
|
|
call void @fn_emit(ptr @.str4995)
|
|
%t235 = load ptr, ptr %t203
|
|
%t236 = getelementptr inbounds %Cmp_Node, ptr %t235, i32 0, i32 1
|
|
%t237 = load ptr, ptr %t236
|
|
call void @fn_emit(ptr %t237)
|
|
call void @fn_emit(ptr @.str4996)
|
|
%t238 = load ptr, ptr %t203
|
|
%t239 = getelementptr inbounds %Cmp_Node, ptr %t238, i32 0, i32 1
|
|
%t240 = load ptr, ptr %t239
|
|
call void @fn_emit(ptr %t240)
|
|
call void @fn_emit(ptr @.str4997)
|
|
%t241 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t241)
|
|
call void @fn_emit(ptr @.str4998)
|
|
%t242 = call ptr @fn_emit_alloca(ptr @.str4999)
|
|
store ptr %t242, ptr %t243
|
|
call void @fn_emit(ptr @.str5000)
|
|
%t244 = load ptr, ptr %t232
|
|
call void @fn_emit(ptr %t244)
|
|
call void @fn_emit(ptr @.str5001)
|
|
%t245 = load ptr, ptr %t243
|
|
call void @fn_emit(ptr %t245)
|
|
call void @fn_emit(ptr @.str5002)
|
|
%t246 = load ptr, ptr %t0
|
|
%t247 = getelementptr inbounds %Cmp_Node, ptr %t246, i32 0, i32 7
|
|
%t248 = load ptr, ptr %t247
|
|
%t249 = getelementptr inbounds %LSlice, ptr %t248, i32 0, i32 0
|
|
%t250 = load ptr, ptr %t249
|
|
%t251 = load i32, ptr %t185
|
|
%t252 = getelementptr inbounds ptr, ptr %t250, i32 %t251
|
|
%t253 = load ptr, ptr %t252
|
|
%t254 = getelementptr inbounds %Cmp_Node, ptr %t253, i32 0, i32 1
|
|
%t255 = load ptr, ptr %t254
|
|
%t256 = load ptr, ptr %t243
|
|
%t257 = load ptr, ptr %t203
|
|
%t258 = getelementptr inbounds %Cmp_Node, ptr %t257, i32 0, i32 1
|
|
%t259 = load ptr, ptr %t258
|
|
call void @fn_loc_push(ptr %t255, ptr %t256, ptr %t259)
|
|
%t260 = load i32, ptr %t185
|
|
%t261 = add i32 %t260, 1
|
|
store i32 %t261, ptr %t185
|
|
br label %ifend21
|
|
ifend21:
|
|
br label %ifend18
|
|
ifend18:
|
|
%t262 = load i32, ptr %t96
|
|
%t263 = add i32 %t262, 1
|
|
store i32 %t263, ptr %t96
|
|
br label %wcond11
|
|
wend13:
|
|
%t264 = load ptr, ptr %t0
|
|
%t265 = getelementptr inbounds %Cmp_Node, ptr %t264, i32 0, i32 5
|
|
%t266 = load ptr, ptr %t265
|
|
%t267 = icmp ne ptr %t266, null
|
|
%t268 = zext i1 %t267 to i32
|
|
%t269 = icmp ne i32 %t268, 0
|
|
br i1 %t269, label %then22, label %ifend24
|
|
then22:
|
|
%t270 = load ptr, ptr %t0
|
|
%t271 = getelementptr inbounds %Cmp_Node, ptr %t270, i32 0, i32 5
|
|
%t272 = load ptr, ptr %t271
|
|
%t273 = call ptr @fn_emit_expr(ptr %t272)
|
|
store ptr %t273, ptr %t274
|
|
%t275 = load ptr, ptr %t274
|
|
%t276 = getelementptr inbounds %Cmp_Val, ptr %t275, i32 0, i32 0
|
|
%t277 = load ptr, ptr %t276
|
|
%t278 = call ptr @fn_str_concat(ptr @.str5003, ptr %t277)
|
|
%t279 = call ptr @fn_str_concat(ptr %t278, ptr @.str5004)
|
|
%t280 = call ptr @fn_emit_bind(ptr %t279)
|
|
store ptr %t280, ptr %t281
|
|
%t282 = call ptr @fn_lbl(ptr @.str5005)
|
|
store ptr %t282, ptr %t283
|
|
call void @fn_emit(ptr @.str5006)
|
|
%t284 = load ptr, ptr %t281
|
|
call void @fn_emit(ptr %t284)
|
|
call void @fn_emit(ptr @.str5007)
|
|
%t285 = load ptr, ptr %t283
|
|
call void @fn_emit(ptr %t285)
|
|
call void @fn_emit(ptr @.str5008)
|
|
%t286 = load ptr, ptr %t46
|
|
call void @fn_emit(ptr %t286)
|
|
call void @fn_emit(ptr @.str5009)
|
|
%t287 = load ptr, ptr %t283
|
|
call void @fn_emit(ptr %t287)
|
|
call void @fn_emit(ptr @.str5010)
|
|
br label %ifend24
|
|
ifend24:
|
|
%t288 = load ptr, ptr %t46
|
|
%t289 = load ptr, ptr %t48
|
|
call void @fn_loop_push(ptr %t288, ptr %t289)
|
|
%t290 = load ptr, ptr %t0
|
|
%t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 4
|
|
%t292 = load ptr, ptr %t291
|
|
call void @fn_emit_block(ptr %t292)
|
|
call void @fn_loop_pop()
|
|
%t293 = load i32, ptr %t184
|
|
store i32 %t293, ptr @g_nloc
|
|
%t294 = load i32, ptr @g_g_term
|
|
%t295 = icmp eq i32 %t294, 0
|
|
%t296 = zext i1 %t295 to i32
|
|
%t297 = icmp ne i32 %t296, 0
|
|
br i1 %t297, label %then25, label %ifend27
|
|
then25:
|
|
call void @fn_emit(ptr @.str5011)
|
|
%t298 = load ptr, ptr %t46
|
|
call void @fn_emit(ptr %t298)
|
|
call void @fn_emit(ptr @.str5012)
|
|
br label %ifend27
|
|
ifend27:
|
|
%t299 = load ptr, ptr %t46
|
|
call void @fn_emit(ptr %t299)
|
|
call void @fn_emit(ptr @.str5013)
|
|
%t300 = load ptr, ptr %t4
|
|
%t301 = call ptr @fn_str_concat(ptr @.str5014, ptr %t300)
|
|
%t302 = call ptr @fn_emit_bind(ptr %t301)
|
|
store ptr %t302, ptr %t303
|
|
%t304 = load ptr, ptr %t303
|
|
%t305 = call ptr @fn_str_concat(ptr @.str5015, ptr %t304)
|
|
%t306 = call ptr @fn_str_concat(ptr %t305, ptr @.str5016)
|
|
%t307 = call ptr @fn_emit_bind(ptr %t306)
|
|
store ptr %t307, ptr %t308
|
|
%t309 = load ptr, ptr %t308
|
|
%t310 = load ptr, ptr %t4
|
|
call void @fn_store_at(ptr @.str5017, ptr %t309, ptr %t310)
|
|
call void @fn_emit(ptr @.str5018)
|
|
%t311 = load ptr, ptr %t42
|
|
call void @fn_emit(ptr %t311)
|
|
call void @fn_emit(ptr @.str5019)
|
|
%t312 = load ptr, ptr %t48
|
|
call void @fn_emit(ptr %t312)
|
|
call void @fn_emit(ptr @.str5020)
|
|
store i32 0, ptr @g_g_term
|
|
%t313 = load i32, ptr @g_nself
|
|
%t314 = sub i32 %t313, 1
|
|
store i32 %t314, ptr @g_nself
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_init_component(ptr %arg_e, ptr %arg_comp, ptr %arg_rec) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t4 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t15 = alloca ptr
|
|
%t22 = alloca ptr
|
|
%t28 = alloca i32
|
|
%t46 = alloca ptr
|
|
%t48 = alloca ptr
|
|
%t58 = alloca ptr
|
|
%t59 = alloca ptr
|
|
%t73 = alloca ptr
|
|
%t86 = alloca i32
|
|
%t104 = alloca ptr
|
|
%t110 = alloca i32
|
|
%t116 = alloca ptr
|
|
%t126 = alloca ptr
|
|
%t141 = alloca ptr
|
|
%t147 = alloca i32
|
|
%t149 = alloca ptr
|
|
%t160 = alloca ptr
|
|
store ptr %arg_e, ptr %t0
|
|
store ptr %arg_comp, ptr %t1
|
|
store ptr %arg_rec, ptr %t2
|
|
%t3 = call ptr @fn_itoa(i32 1024)
|
|
store ptr %t3, ptr %t4
|
|
%t5 = load ptr, ptr %t1
|
|
%t6 = call ptr @fn_find_comp(ptr %t5)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = icmp eq ptr %t8, null
|
|
%t10 = zext i1 %t9 to i32
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %then0, label %ifend2
|
|
then0:
|
|
%t12 = load ptr, ptr %t1
|
|
%t13 = call ptr @fn_str_concat(ptr @.str5021, ptr %t12)
|
|
call void @fn_perr(ptr %t13)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t14 = call ptr @fn_nreg()
|
|
store ptr %t14, ptr %t15
|
|
call void @fn_emit(ptr @.str5022)
|
|
%t16 = load ptr, ptr %t15
|
|
call void @fn_emit(ptr %t16)
|
|
call void @fn_emit(ptr @.str5023)
|
|
%t17 = load ptr, ptr %t4
|
|
call void @fn_emit(ptr %t17)
|
|
call void @fn_emit(ptr @.str5024)
|
|
%t18 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t18)
|
|
call void @fn_emit(ptr @.str5025)
|
|
%t19 = load ptr, ptr %t0
|
|
call void @fn_emit(ptr %t19)
|
|
call void @fn_emit(ptr @.str5026)
|
|
call void @fn_emit(ptr @.str5027)
|
|
%t20 = load ptr, ptr %t15
|
|
call void @fn_emit(ptr %t20)
|
|
call void @fn_emit(ptr @.str5028)
|
|
%t21 = call ptr @fn_nreg()
|
|
store ptr %t21, ptr %t22
|
|
call void @fn_emit(ptr @.str5029)
|
|
%t23 = load ptr, ptr %t22
|
|
call void @fn_emit(ptr %t23)
|
|
call void @fn_emit(ptr @.str5030)
|
|
%t24 = load ptr, ptr %t4
|
|
call void @fn_emit(ptr %t24)
|
|
call void @fn_emit(ptr @.str5031)
|
|
%t25 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t25)
|
|
call void @fn_emit(ptr @.str5032)
|
|
%t26 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t26)
|
|
call void @fn_emit(ptr @.str5033)
|
|
%t27 = load ptr, ptr %t0
|
|
call void @fn_emit(ptr %t27)
|
|
call void @fn_emit(ptr @.str5034)
|
|
store i32 0, ptr %t28
|
|
br label %wcond3
|
|
wcond3:
|
|
%t29 = load i32, ptr %t28
|
|
%t30 = load ptr, ptr %t7
|
|
%t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1
|
|
%t34 = load i32, ptr %t33
|
|
%t35 = icmp slt i32 %t29, %t34
|
|
%t36 = zext i1 %t35 to i32
|
|
%t37 = icmp ne i32 %t36, 0
|
|
br i1 %t37, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t38 = load ptr, ptr %t7
|
|
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 7
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0
|
|
%t42 = load ptr, ptr %t41
|
|
%t43 = load i32, ptr %t28
|
|
%t44 = getelementptr inbounds ptr, ptr %t42, i32 %t43
|
|
%t45 = load ptr, ptr %t44
|
|
store ptr %t45, ptr %t46
|
|
%t47 = call ptr @fn_nreg()
|
|
store ptr %t47, ptr %t48
|
|
call void @fn_emit(ptr @.str5035)
|
|
%t49 = load ptr, ptr %t48
|
|
call void @fn_emit(ptr %t49)
|
|
call void @fn_emit(ptr @.str5036)
|
|
%t50 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str5037)
|
|
%t51 = load ptr, ptr %t22
|
|
call void @fn_emit(ptr %t51)
|
|
call void @fn_emit(ptr @.str5038)
|
|
%t52 = load i32, ptr %t28
|
|
%t53 = call ptr @fn_itoa(i32 %t52)
|
|
call void @fn_emit(ptr %t53)
|
|
call void @fn_emit(ptr @.str5039)
|
|
%t54 = load ptr, ptr %t46
|
|
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 3
|
|
%t56 = load ptr, ptr %t55
|
|
%t57 = call ptr @fn_llty(ptr %t56)
|
|
store ptr %t57, ptr %t58
|
|
store ptr @.str5040, ptr %t59
|
|
%t60 = load ptr, ptr %t58
|
|
%t61 = call i32 @fn_str_eq(ptr %t60, ptr @.str5041)
|
|
%t62 = icmp ne i32 %t61, 0
|
|
br i1 %t62, label %then6, label %ifend8
|
|
then6:
|
|
store ptr @.str5042, ptr %t59
|
|
br label %ifend8
|
|
ifend8:
|
|
%t63 = load ptr, ptr %t46
|
|
%t64 = getelementptr inbounds %Cmp_Node, ptr %t63, i32 0, i32 4
|
|
%t65 = load ptr, ptr %t64
|
|
%t66 = icmp ne ptr %t65, null
|
|
%t67 = zext i1 %t66 to i32
|
|
%t68 = icmp ne i32 %t67, 0
|
|
br i1 %t68, label %then9, label %ifend11
|
|
then9:
|
|
%t69 = load ptr, ptr %t46
|
|
%t70 = getelementptr inbounds %Cmp_Node, ptr %t69, i32 0, i32 4
|
|
%t71 = load ptr, ptr %t70
|
|
%t72 = call ptr @fn_emit_expr(ptr %t71)
|
|
store ptr %t72, ptr %t73
|
|
%t74 = load ptr, ptr %t73
|
|
%t75 = getelementptr inbounds %Cmp_Val, ptr %t74, i32 0, i32 0
|
|
%t76 = load ptr, ptr %t75
|
|
store ptr %t76, ptr %t59
|
|
br label %ifend11
|
|
ifend11:
|
|
call void @fn_emit(ptr @.str5043)
|
|
%t77 = load ptr, ptr %t58
|
|
call void @fn_emit(ptr %t77)
|
|
call void @fn_emit(ptr @.str5044)
|
|
%t78 = load ptr, ptr %t59
|
|
call void @fn_emit(ptr %t78)
|
|
call void @fn_emit(ptr @.str5045)
|
|
%t79 = load ptr, ptr %t48
|
|
call void @fn_emit(ptr %t79)
|
|
call void @fn_emit(ptr @.str5046)
|
|
%t80 = load i32, ptr %t28
|
|
%t81 = add i32 %t80, 1
|
|
store i32 %t81, ptr %t28
|
|
br label %wcond3
|
|
wend5:
|
|
%t82 = load ptr, ptr %t2
|
|
%t83 = icmp ne ptr %t82, null
|
|
%t84 = zext i1 %t83 to i32
|
|
%t85 = icmp ne i32 %t84, 0
|
|
br i1 %t85, label %then12, label %ifend14
|
|
then12:
|
|
store i32 0, ptr %t86
|
|
br label %wcond15
|
|
wcond15:
|
|
%t87 = load i32, ptr %t86
|
|
%t88 = load ptr, ptr %t2
|
|
%t89 = getelementptr inbounds %Cmp_Node, ptr %t88, i32 0, i32 7
|
|
%t90 = load ptr, ptr %t89
|
|
%t91 = getelementptr inbounds %LSlice, ptr %t90, i32 0, i32 1
|
|
%t92 = load i32, ptr %t91
|
|
%t93 = icmp slt i32 %t87, %t92
|
|
%t94 = zext i1 %t93 to i32
|
|
%t95 = icmp ne i32 %t94, 0
|
|
br i1 %t95, label %wbody16, label %wend17
|
|
wbody16:
|
|
%t96 = load ptr, ptr %t2
|
|
%t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 7
|
|
%t98 = load ptr, ptr %t97
|
|
%t99 = getelementptr inbounds %LSlice, ptr %t98, i32 0, i32 0
|
|
%t100 = load ptr, ptr %t99
|
|
%t101 = load i32, ptr %t86
|
|
%t102 = getelementptr inbounds ptr, ptr %t100, i32 %t101
|
|
%t103 = load ptr, ptr %t102
|
|
store ptr %t103, ptr %t104
|
|
%t105 = load ptr, ptr %t7
|
|
%t106 = load ptr, ptr %t104
|
|
%t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 1
|
|
%t108 = load ptr, ptr %t107
|
|
%t109 = call i32 @fn_field_index(ptr %t105, ptr %t108)
|
|
store i32 %t109, ptr %t110
|
|
%t111 = load i32, ptr %t110
|
|
%t112 = icmp sge i32 %t111, 0
|
|
%t113 = zext i1 %t112 to i32
|
|
%t114 = icmp ne i32 %t113, 0
|
|
br i1 %t114, label %then18, label %ifend20
|
|
then18:
|
|
%t115 = call ptr @fn_nreg()
|
|
store ptr %t115, ptr %t116
|
|
call void @fn_emit(ptr @.str5047)
|
|
%t117 = load ptr, ptr %t116
|
|
call void @fn_emit(ptr %t117)
|
|
call void @fn_emit(ptr @.str5048)
|
|
%t118 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t118)
|
|
call void @fn_emit(ptr @.str5049)
|
|
%t119 = load ptr, ptr %t22
|
|
call void @fn_emit(ptr %t119)
|
|
call void @fn_emit(ptr @.str5050)
|
|
%t120 = load i32, ptr %t110
|
|
%t121 = call ptr @fn_itoa(i32 %t120)
|
|
call void @fn_emit(ptr %t121)
|
|
call void @fn_emit(ptr @.str5051)
|
|
%t122 = load ptr, ptr %t104
|
|
%t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 4
|
|
%t124 = load ptr, ptr %t123
|
|
%t125 = call ptr @fn_emit_expr(ptr %t124)
|
|
store ptr %t125, ptr %t126
|
|
call void @fn_emit(ptr @.str5052)
|
|
%t127 = load ptr, ptr %t7
|
|
%t128 = load ptr, ptr %t104
|
|
%t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 1
|
|
%t130 = load ptr, ptr %t129
|
|
%t131 = call ptr @fn_field_type(ptr %t127, ptr %t130)
|
|
%t132 = call ptr @fn_llty(ptr %t131)
|
|
call void @fn_emit(ptr %t132)
|
|
call void @fn_emit(ptr @.str5053)
|
|
%t133 = load ptr, ptr %t126
|
|
%t134 = getelementptr inbounds %Cmp_Val, ptr %t133, i32 0, i32 0
|
|
%t135 = load ptr, ptr %t134
|
|
call void @fn_emit(ptr %t135)
|
|
call void @fn_emit(ptr @.str5054)
|
|
%t136 = load ptr, ptr %t116
|
|
call void @fn_emit(ptr %t136)
|
|
call void @fn_emit(ptr @.str5055)
|
|
br label %ifend20
|
|
ifend20:
|
|
%t137 = load i32, ptr %t86
|
|
%t138 = add i32 %t137, 1
|
|
store i32 %t138, ptr %t86
|
|
br label %wcond15
|
|
wend17:
|
|
br label %ifend14
|
|
ifend14:
|
|
%t139 = load ptr, ptr %t1
|
|
%t140 = call ptr @fn_onattach_body(ptr %t139)
|
|
store ptr %t140, ptr %t141
|
|
%t142 = load ptr, ptr %t141
|
|
%t143 = icmp ne ptr %t142, null
|
|
%t144 = zext i1 %t143 to i32
|
|
%t145 = icmp ne i32 %t144, 0
|
|
br i1 %t145, label %then21, label %ifend23
|
|
then21:
|
|
%t146 = load i32, ptr @g_nloc
|
|
store i32 %t146, ptr %t147
|
|
%t148 = call ptr @fn_emit_alloca(ptr @.str5056)
|
|
store ptr %t148, ptr %t149
|
|
call void @fn_emit(ptr @.str5057)
|
|
%t150 = load ptr, ptr %t22
|
|
call void @fn_emit(ptr %t150)
|
|
call void @fn_emit(ptr @.str5058)
|
|
%t151 = load ptr, ptr %t149
|
|
call void @fn_emit(ptr %t151)
|
|
call void @fn_emit(ptr @.str5059)
|
|
%t152 = load ptr, ptr %t1
|
|
%t153 = load ptr, ptr %t149
|
|
%t154 = load ptr, ptr %t1
|
|
call void @fn_loc_push(ptr %t152, ptr %t153, ptr %t154)
|
|
%t155 = load ptr, ptr %t141
|
|
call void @fn_emit_block(ptr %t155)
|
|
%t156 = load i32, ptr %t147
|
|
store i32 %t156, ptr @g_nloc
|
|
br label %ifend23
|
|
ifend23:
|
|
%t157 = load ptr, ptr %t1
|
|
%t158 = call ptr @fn_str_concat(ptr @.str5060, ptr %t157)
|
|
%t159 = call ptr @fn_str_concat(ptr %t158, ptr @.str5061)
|
|
store ptr %t159, ptr %t160
|
|
%t161 = load ptr, ptr %t160
|
|
%t162 = call ptr @fn_find_event(ptr %t161)
|
|
%t163 = icmp ne ptr %t162, null
|
|
%t164 = zext i1 %t163 to i32
|
|
%t165 = icmp ne i32 %t164, 0
|
|
br i1 %t165, label %then24, label %ifend26
|
|
then24:
|
|
call void @fn_emit(ptr @.str5062)
|
|
%t166 = load ptr, ptr %t160
|
|
call void @fn_emit(ptr %t166)
|
|
call void @fn_emit(ptr @.str5063)
|
|
%t167 = load ptr, ptr %t0
|
|
call void @fn_emit(ptr %t167)
|
|
call void @fn_emit(ptr @.str5064)
|
|
br label %ifend26
|
|
ifend26:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_bind_props(ptr %arg_model, ptr %arg_e) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t4 = alloca i32
|
|
%t24 = alloca ptr
|
|
%t26 = alloca ptr
|
|
%t33 = alloca ptr
|
|
store ptr %arg_model, ptr %t0
|
|
store ptr %arg_e, ptr %t1
|
|
%t2 = call ptr @fn_itoa(i32 1024)
|
|
store ptr %t2, ptr %t3
|
|
store i32 0, ptr %t4
|
|
br label %wcond0
|
|
wcond0:
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = load ptr, ptr %t0
|
|
%t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 7
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1
|
|
%t10 = load i32, ptr %t9
|
|
%t11 = icmp slt i32 %t5, %t10
|
|
%t12 = zext i1 %t11 to i32
|
|
%t13 = icmp ne i32 %t12, 0
|
|
br i1 %t13, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t14 = load ptr, ptr %t0
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 7
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = load i32, ptr %t4
|
|
%t20 = getelementptr inbounds ptr, ptr %t18, i32 %t19
|
|
%t21 = load ptr, ptr %t20
|
|
%t22 = getelementptr inbounds %Cmp_Node, ptr %t21, i32 0, i32 1
|
|
%t23 = load ptr, ptr %t22
|
|
store ptr %t23, ptr %t24
|
|
%t25 = call ptr @fn_nreg()
|
|
store ptr %t25, ptr %t26
|
|
call void @fn_emit(ptr @.str5065)
|
|
%t27 = load ptr, ptr %t26
|
|
call void @fn_emit(ptr %t27)
|
|
call void @fn_emit(ptr @.str5066)
|
|
%t28 = load ptr, ptr %t3
|
|
call void @fn_emit(ptr %t28)
|
|
call void @fn_emit(ptr @.str5067)
|
|
%t29 = load ptr, ptr %t24
|
|
call void @fn_emit(ptr %t29)
|
|
call void @fn_emit(ptr @.str5068)
|
|
%t30 = load ptr, ptr %t24
|
|
call void @fn_emit(ptr %t30)
|
|
call void @fn_emit(ptr @.str5069)
|
|
%t31 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t31)
|
|
call void @fn_emit(ptr @.str5070)
|
|
%t32 = call ptr @fn_emit_alloca(ptr @.str5071)
|
|
store ptr %t32, ptr %t33
|
|
call void @fn_emit(ptr @.str5072)
|
|
%t34 = load ptr, ptr %t26
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str5073)
|
|
%t35 = load ptr, ptr %t33
|
|
call void @fn_emit(ptr %t35)
|
|
call void @fn_emit(ptr @.str5074)
|
|
%t36 = load ptr, ptr %t24
|
|
%t37 = load ptr, ptr %t33
|
|
%t38 = load ptr, ptr %t24
|
|
call void @fn_loc_push(ptr %t36, ptr %t37, ptr %t38)
|
|
%t39 = load i32, ptr %t4
|
|
%t40 = add i32 %t39, 1
|
|
store i32 %t40, ptr %t4
|
|
br label %wcond0
|
|
wend2:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_emit_spawn(ptr %arg_st) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t7 = alloca i32
|
|
%t13 = alloca ptr
|
|
%t15 = alloca ptr
|
|
%t26 = alloca ptr
|
|
%t27 = alloca i32
|
|
%t47 = alloca ptr
|
|
%t48 = alloca ptr
|
|
%t49 = alloca i32
|
|
%t93 = alloca ptr
|
|
%t99 = alloca i32
|
|
%t109 = alloca ptr
|
|
%t117 = alloca i32
|
|
store ptr %arg_st, ptr %t0
|
|
%t1 = call ptr @fn_emit_bind(ptr @.str5075)
|
|
store ptr %t1, ptr %t2
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = call i32 @fn_find_arch_id(ptr %t5)
|
|
store i32 %t6, ptr %t7
|
|
%t8 = load i32, ptr %t7
|
|
%t9 = icmp sgt i32 %t8, 0
|
|
%t10 = zext i1 %t9 to i32
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %then0, label %else1
|
|
then0:
|
|
%t12 = call ptr @fn_itoa(i32 1024)
|
|
store ptr %t12, ptr %t13
|
|
%t14 = call ptr @fn_nreg()
|
|
store ptr %t14, ptr %t15
|
|
call void @fn_emit(ptr @.str5076)
|
|
%t16 = load ptr, ptr %t15
|
|
call void @fn_emit(ptr %t16)
|
|
call void @fn_emit(ptr @.str5077)
|
|
%t17 = load ptr, ptr %t13
|
|
call void @fn_emit(ptr %t17)
|
|
call void @fn_emit(ptr @.str5078)
|
|
%t18 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t18)
|
|
call void @fn_emit(ptr @.str5079)
|
|
call void @fn_emit(ptr @.str5080)
|
|
%t19 = load i32, ptr %t7
|
|
%t20 = call ptr @fn_itoa(i32 %t19)
|
|
call void @fn_emit(ptr %t20)
|
|
call void @fn_emit(ptr @.str5081)
|
|
%t21 = load ptr, ptr %t15
|
|
call void @fn_emit(ptr %t21)
|
|
call void @fn_emit(ptr @.str5082)
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = call ptr @fn_find_arch(ptr %t24)
|
|
store ptr %t25, ptr %t26
|
|
store i32 0, ptr %t27
|
|
br label %wcond3
|
|
wcond3:
|
|
%t28 = load i32, ptr %t27
|
|
%t29 = load ptr, ptr %t26
|
|
%t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 7
|
|
%t31 = load ptr, ptr %t30
|
|
%t32 = getelementptr inbounds %LSlice, ptr %t31, i32 0, i32 1
|
|
%t33 = load i32, ptr %t32
|
|
%t34 = icmp slt i32 %t28, %t33
|
|
%t35 = zext i1 %t34 to i32
|
|
%t36 = icmp ne i32 %t35, 0
|
|
br i1 %t36, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t37 = load ptr, ptr %t26
|
|
%t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 7
|
|
%t39 = load ptr, ptr %t38
|
|
%t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0
|
|
%t41 = load ptr, ptr %t40
|
|
%t42 = load i32, ptr %t27
|
|
%t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42
|
|
%t44 = load ptr, ptr %t43
|
|
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 1
|
|
%t46 = load ptr, ptr %t45
|
|
store ptr %t46, ptr %t47
|
|
store ptr null, ptr %t48
|
|
store i32 0, ptr %t49
|
|
br label %wcond6
|
|
wcond6:
|
|
%t50 = load i32, ptr %t49
|
|
%t51 = load ptr, ptr %t0
|
|
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 7
|
|
%t53 = load ptr, ptr %t52
|
|
%t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1
|
|
%t55 = load i32, ptr %t54
|
|
%t56 = icmp slt i32 %t50, %t55
|
|
%t57 = zext i1 %t56 to i32
|
|
%t58 = icmp ne i32 %t57, 0
|
|
br i1 %t58, label %wbody7, label %wend8
|
|
wbody7:
|
|
%t59 = load ptr, ptr %t0
|
|
%t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 7
|
|
%t61 = load ptr, ptr %t60
|
|
%t62 = getelementptr inbounds %LSlice, ptr %t61, i32 0, i32 0
|
|
%t63 = load ptr, ptr %t62
|
|
%t64 = load i32, ptr %t49
|
|
%t65 = getelementptr inbounds ptr, ptr %t63, i32 %t64
|
|
%t66 = load ptr, ptr %t65
|
|
%t67 = getelementptr inbounds %Cmp_Node, ptr %t66, i32 0, i32 1
|
|
%t68 = load ptr, ptr %t67
|
|
%t69 = load ptr, ptr %t47
|
|
%t70 = call i32 @fn_str_eq(ptr %t68, ptr %t69)
|
|
%t71 = icmp ne i32 %t70, 0
|
|
br i1 %t71, label %then9, label %ifend11
|
|
then9:
|
|
%t72 = load ptr, ptr %t0
|
|
%t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 7
|
|
%t74 = load ptr, ptr %t73
|
|
%t75 = getelementptr inbounds %LSlice, ptr %t74, i32 0, i32 0
|
|
%t76 = load ptr, ptr %t75
|
|
%t77 = load i32, ptr %t49
|
|
%t78 = getelementptr inbounds ptr, ptr %t76, i32 %t77
|
|
%t79 = load ptr, ptr %t78
|
|
%t80 = getelementptr inbounds %Cmp_Node, ptr %t79, i32 0, i32 4
|
|
%t81 = load ptr, ptr %t80
|
|
store ptr %t81, ptr %t48
|
|
br label %ifend11
|
|
ifend11:
|
|
%t82 = load i32, ptr %t49
|
|
%t83 = add i32 %t82, 1
|
|
store i32 %t83, ptr %t49
|
|
br label %wcond6
|
|
wend8:
|
|
%t84 = load ptr, ptr %t2
|
|
%t85 = load ptr, ptr %t47
|
|
%t86 = load ptr, ptr %t48
|
|
call void @fn_emit_init_component(ptr %t84, ptr %t85, ptr %t86)
|
|
%t87 = load i32, ptr %t27
|
|
%t88 = add i32 %t87, 1
|
|
store i32 %t88, ptr %t27
|
|
br label %wcond3
|
|
wend5:
|
|
%t89 = load ptr, ptr %t0
|
|
%t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 1
|
|
%t91 = load ptr, ptr %t90
|
|
%t92 = call ptr @fn_onspawn_body(ptr %t91)
|
|
store ptr %t92, ptr %t93
|
|
%t94 = load ptr, ptr %t93
|
|
%t95 = icmp ne ptr %t94, null
|
|
%t96 = zext i1 %t95 to i32
|
|
%t97 = icmp ne i32 %t96, 0
|
|
br i1 %t97, label %then12, label %ifend14
|
|
then12:
|
|
%t98 = load i32, ptr @g_nloc
|
|
store i32 %t98, ptr %t99
|
|
%t100 = load ptr, ptr %t26
|
|
%t101 = load ptr, ptr %t2
|
|
call void @fn_emit_bind_props(ptr %t100, ptr %t101)
|
|
%t102 = load ptr, ptr %t93
|
|
call void @fn_emit_block(ptr %t102)
|
|
%t103 = load i32, ptr %t99
|
|
store i32 %t103, ptr @g_nloc
|
|
br label %ifend14
|
|
ifend14:
|
|
%t104 = load ptr, ptr %t0
|
|
%t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 1
|
|
%t106 = load ptr, ptr %t105
|
|
%t107 = call ptr @fn_str_concat(ptr @.str5083, ptr %t106)
|
|
%t108 = call ptr @fn_str_concat(ptr %t107, ptr @.str5084)
|
|
store ptr %t108, ptr %t109
|
|
%t110 = load ptr, ptr %t109
|
|
%t111 = call ptr @fn_find_event(ptr %t110)
|
|
%t112 = icmp ne ptr %t111, null
|
|
%t113 = zext i1 %t112 to i32
|
|
%t114 = icmp ne i32 %t113, 0
|
|
br i1 %t114, label %then15, label %ifend17
|
|
then15:
|
|
call void @fn_emit(ptr @.str5085)
|
|
%t115 = load ptr, ptr %t109
|
|
call void @fn_emit(ptr %t115)
|
|
call void @fn_emit(ptr @.str5086)
|
|
%t116 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t116)
|
|
call void @fn_emit(ptr @.str5087)
|
|
br label %ifend17
|
|
ifend17:
|
|
br label %ifend2
|
|
else1:
|
|
store i32 0, ptr %t117
|
|
br label %wcond18
|
|
wcond18:
|
|
%t118 = load i32, ptr %t117
|
|
%t119 = load ptr, ptr %t0
|
|
%t120 = getelementptr inbounds %Cmp_Node, ptr %t119, i32 0, i32 7
|
|
%t121 = load ptr, ptr %t120
|
|
%t122 = getelementptr inbounds %LSlice, ptr %t121, i32 0, i32 1
|
|
%t123 = load i32, ptr %t122
|
|
%t124 = icmp slt i32 %t118, %t123
|
|
%t125 = zext i1 %t124 to i32
|
|
%t126 = icmp ne i32 %t125, 0
|
|
br i1 %t126, label %wbody19, label %wend20
|
|
wbody19:
|
|
%t127 = load ptr, ptr %t2
|
|
%t128 = load ptr, ptr %t0
|
|
%t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 7
|
|
%t130 = load ptr, ptr %t129
|
|
%t131 = getelementptr inbounds %LSlice, ptr %t130, i32 0, i32 0
|
|
%t132 = load ptr, ptr %t131
|
|
%t133 = load i32, ptr %t117
|
|
%t134 = getelementptr inbounds ptr, ptr %t132, i32 %t133
|
|
%t135 = load ptr, ptr %t134
|
|
%t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 1
|
|
%t137 = load ptr, ptr %t136
|
|
%t138 = load ptr, ptr %t0
|
|
%t139 = getelementptr inbounds %Cmp_Node, ptr %t138, i32 0, i32 7
|
|
%t140 = load ptr, ptr %t139
|
|
%t141 = getelementptr inbounds %LSlice, ptr %t140, i32 0, i32 0
|
|
%t142 = load ptr, ptr %t141
|
|
%t143 = load i32, ptr %t117
|
|
%t144 = getelementptr inbounds ptr, ptr %t142, i32 %t143
|
|
%t145 = load ptr, ptr %t144
|
|
%t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 4
|
|
%t147 = load ptr, ptr %t146
|
|
call void @fn_emit_init_component(ptr %t127, ptr %t137, ptr %t147)
|
|
%t148 = load i32, ptr %t117
|
|
%t149 = add i32 %t148, 1
|
|
store i32 %t149, ptr %t117
|
|
br label %wcond18
|
|
wend20:
|
|
br label %ifend2
|
|
ifend2:
|
|
%t150 = load ptr, ptr %t2
|
|
store ptr %t150, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t151 = load ptr, ptr %retval
|
|
ret ptr %t151
|
|
}
|
|
|
|
define void @fn_emit_despawn(ptr %arg_st) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t13 = alloca ptr
|
|
%t15 = alloca ptr
|
|
%t24 = alloca ptr
|
|
%t25 = alloca i32
|
|
%t41 = alloca ptr
|
|
%t50 = alloca ptr
|
|
%t52 = alloca ptr
|
|
%t54 = alloca ptr
|
|
%t66 = alloca ptr
|
|
store ptr %arg_st, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = call ptr @fn_emit_expr(ptr %t3)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = load ptr, ptr @g_g_ondespawn
|
|
%t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1
|
|
%t8 = load i32, ptr %t7
|
|
%t9 = icmp sgt i32 %t8, 0
|
|
%t10 = zext i1 %t9 to i32
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %then0, label %ifend2
|
|
then0:
|
|
%t12 = call ptr @fn_itoa(i32 1024)
|
|
store ptr %t12, ptr %t13
|
|
%t14 = call ptr @fn_nreg()
|
|
store ptr %t14, ptr %t15
|
|
call void @fn_emit(ptr @.str5088)
|
|
%t16 = load ptr, ptr %t15
|
|
call void @fn_emit(ptr %t16)
|
|
call void @fn_emit(ptr @.str5089)
|
|
%t17 = load ptr, ptr %t13
|
|
call void @fn_emit(ptr %t17)
|
|
call void @fn_emit(ptr @.str5090)
|
|
%t18 = load ptr, ptr %t5
|
|
%t19 = getelementptr inbounds %Cmp_Val, ptr %t18, i32 0, i32 0
|
|
%t20 = load ptr, ptr %t19
|
|
call void @fn_emit(ptr %t20)
|
|
call void @fn_emit(ptr @.str5091)
|
|
%t21 = load ptr, ptr %t15
|
|
%t22 = call ptr @fn_str_concat(ptr @.str5092, ptr %t21)
|
|
%t23 = call ptr @fn_emit_bind(ptr %t22)
|
|
store ptr %t23, ptr %t24
|
|
store i32 0, ptr %t25
|
|
br label %wcond3
|
|
wcond3:
|
|
%t26 = load i32, ptr %t25
|
|
%t27 = load ptr, ptr @g_g_ondespawn
|
|
%t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 1
|
|
%t29 = load i32, ptr %t28
|
|
%t30 = icmp slt i32 %t26, %t29
|
|
%t31 = zext i1 %t30 to i32
|
|
%t32 = icmp ne i32 %t31, 0
|
|
br i1 %t32, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t33 = load ptr, ptr @g_g_ondespawn
|
|
%t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0
|
|
%t35 = load ptr, ptr %t34
|
|
%t36 = load i32, ptr %t25
|
|
%t37 = getelementptr inbounds ptr, ptr %t35, i32 %t36
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 1
|
|
%t40 = load ptr, ptr %t39
|
|
store ptr %t40, ptr %t41
|
|
%t42 = load ptr, ptr %t24
|
|
%t43 = call ptr @fn_str_concat(ptr @.str5093, ptr %t42)
|
|
%t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str5094)
|
|
%t45 = load ptr, ptr %t41
|
|
%t46 = call i32 @fn_find_arch_id(ptr %t45)
|
|
%t47 = call ptr @fn_itoa(i32 %t46)
|
|
%t48 = call ptr @fn_str_concat(ptr %t44, ptr %t47)
|
|
%t49 = call ptr @fn_emit_bind(ptr %t48)
|
|
store ptr %t49, ptr %t50
|
|
%t51 = call ptr @fn_lbl(ptr @.str5095)
|
|
store ptr %t51, ptr %t52
|
|
%t53 = call ptr @fn_lbl(ptr @.str5096)
|
|
store ptr %t53, ptr %t54
|
|
call void @fn_emit(ptr @.str5097)
|
|
%t55 = load ptr, ptr %t50
|
|
call void @fn_emit(ptr %t55)
|
|
call void @fn_emit(ptr @.str5098)
|
|
%t56 = load ptr, ptr %t52
|
|
call void @fn_emit(ptr %t56)
|
|
call void @fn_emit(ptr @.str5099)
|
|
%t57 = load ptr, ptr %t54
|
|
call void @fn_emit(ptr %t57)
|
|
call void @fn_emit(ptr @.str5100)
|
|
%t58 = load ptr, ptr %t52
|
|
call void @fn_emit(ptr %t58)
|
|
call void @fn_emit(ptr @.str5101)
|
|
%t59 = load ptr, ptr %t41
|
|
call void @fn_emit(ptr %t59)
|
|
call void @fn_emit(ptr @.str5102)
|
|
%t60 = load ptr, ptr %t5
|
|
%t61 = getelementptr inbounds %Cmp_Val, ptr %t60, i32 0, i32 0
|
|
%t62 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t62)
|
|
call void @fn_emit(ptr @.str5103)
|
|
%t63 = load ptr, ptr %t41
|
|
%t64 = call ptr @fn_str_concat(ptr @.str5104, ptr %t63)
|
|
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str5105)
|
|
store ptr %t65, ptr %t66
|
|
%t67 = load ptr, ptr %t66
|
|
%t68 = call ptr @fn_find_event(ptr %t67)
|
|
%t69 = icmp ne ptr %t68, null
|
|
%t70 = zext i1 %t69 to i32
|
|
%t71 = icmp ne i32 %t70, 0
|
|
br i1 %t71, label %then6, label %ifend8
|
|
then6:
|
|
call void @fn_emit(ptr @.str5106)
|
|
%t72 = load ptr, ptr %t66
|
|
call void @fn_emit(ptr %t72)
|
|
call void @fn_emit(ptr @.str5107)
|
|
%t73 = load ptr, ptr %t5
|
|
%t74 = getelementptr inbounds %Cmp_Val, ptr %t73, i32 0, i32 0
|
|
%t75 = load ptr, ptr %t74
|
|
call void @fn_emit(ptr %t75)
|
|
call void @fn_emit(ptr @.str5108)
|
|
br label %ifend8
|
|
ifend8:
|
|
call void @fn_emit(ptr @.str5109)
|
|
%t76 = load ptr, ptr %t54
|
|
call void @fn_emit(ptr %t76)
|
|
call void @fn_emit(ptr @.str5110)
|
|
%t77 = load ptr, ptr %t54
|
|
call void @fn_emit(ptr %t77)
|
|
call void @fn_emit(ptr @.str5111)
|
|
%t78 = load i32, ptr %t25
|
|
%t79 = add i32 %t78, 1
|
|
store i32 %t79, ptr %t25
|
|
br label %wcond3
|
|
wend5:
|
|
br label %ifend2
|
|
ifend2:
|
|
%t80 = load ptr, ptr @g_g_events
|
|
%t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 1
|
|
%t82 = load i32, ptr %t81
|
|
%t83 = icmp sgt i32 %t82, 0
|
|
%t84 = zext i1 %t83 to i32
|
|
%t85 = icmp ne i32 %t84, 0
|
|
br i1 %t85, label %then9, label %ifend11
|
|
then9:
|
|
call void @fn_emit(ptr @.str5112)
|
|
%t86 = load ptr, ptr %t5
|
|
%t87 = getelementptr inbounds %Cmp_Val, ptr %t86, i32 0, i32 0
|
|
%t88 = load ptr, ptr %t87
|
|
call void @fn_emit(ptr %t88)
|
|
call void @fn_emit(ptr @.str5113)
|
|
br label %ifend11
|
|
ifend11:
|
|
call void @fn_emit(ptr @.str5114)
|
|
%t89 = load ptr, ptr %t5
|
|
%t90 = getelementptr inbounds %Cmp_Val, ptr %t89, i32 0, i32 0
|
|
%t91 = load ptr, ptr %t90
|
|
call void @fn_emit(ptr %t91)
|
|
call void @fn_emit(ptr @.str5115)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_attach(ptr %arg_st) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t9 = alloca ptr
|
|
%t21 = alloca ptr
|
|
%t26 = alloca ptr
|
|
%t28 = alloca ptr
|
|
%t30 = alloca ptr
|
|
store ptr %arg_st, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = call ptr @fn_emit_expr(ptr %t3)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = call ptr @fn_itoa(i32 1024)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = call ptr @fn_nreg()
|
|
store ptr %t8, ptr %t9
|
|
call void @fn_emit(ptr @.str5116)
|
|
%t10 = load ptr, ptr %t9
|
|
call void @fn_emit(ptr %t10)
|
|
call void @fn_emit(ptr @.str5117)
|
|
%t11 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t11)
|
|
call void @fn_emit(ptr @.str5118)
|
|
%t12 = load ptr, ptr %t0
|
|
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1
|
|
%t14 = load ptr, ptr %t13
|
|
call void @fn_emit(ptr %t14)
|
|
call void @fn_emit(ptr @.str5119)
|
|
%t15 = load ptr, ptr %t5
|
|
%t16 = getelementptr inbounds %Cmp_Val, ptr %t15, i32 0, i32 0
|
|
%t17 = load ptr, ptr %t16
|
|
call void @fn_emit(ptr %t17)
|
|
call void @fn_emit(ptr @.str5120)
|
|
%t18 = load ptr, ptr %t9
|
|
%t19 = call ptr @fn_str_concat(ptr @.str5121, ptr %t18)
|
|
%t20 = call ptr @fn_emit_bind(ptr %t19)
|
|
store ptr %t20, ptr %t21
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = call ptr @fn_str_concat(ptr @.str5122, ptr %t22)
|
|
%t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str5123)
|
|
%t25 = call ptr @fn_emit_bind(ptr %t24)
|
|
store ptr %t25, ptr %t26
|
|
%t27 = call ptr @fn_lbl(ptr @.str5124)
|
|
store ptr %t27, ptr %t28
|
|
%t29 = call ptr @fn_lbl(ptr @.str5125)
|
|
store ptr %t29, ptr %t30
|
|
call void @fn_emit(ptr @.str5126)
|
|
%t31 = load ptr, ptr %t26
|
|
call void @fn_emit(ptr %t31)
|
|
call void @fn_emit(ptr @.str5127)
|
|
%t32 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t32)
|
|
call void @fn_emit(ptr @.str5128)
|
|
%t33 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t33)
|
|
call void @fn_emit(ptr @.str5129)
|
|
%t34 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str5130)
|
|
store i32 0, ptr @g_g_term
|
|
%t35 = load ptr, ptr %t5
|
|
%t36 = getelementptr inbounds %Cmp_Val, ptr %t35, i32 0, i32 0
|
|
%t37 = load ptr, ptr %t36
|
|
%t38 = load ptr, ptr %t0
|
|
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 1
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = load ptr, ptr %t0
|
|
%t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 5
|
|
%t43 = load ptr, ptr %t42
|
|
call void @fn_emit_init_component(ptr %t37, ptr %t40, ptr %t43)
|
|
%t44 = load i32, ptr @g_g_term
|
|
%t45 = icmp eq i32 %t44, 0
|
|
%t46 = zext i1 %t45 to i32
|
|
%t47 = icmp ne i32 %t46, 0
|
|
br i1 %t47, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_emit(ptr @.str5131)
|
|
%t48 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t48)
|
|
call void @fn_emit(ptr @.str5132)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t49 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t49)
|
|
call void @fn_emit(ptr @.str5133)
|
|
store i32 0, ptr @g_g_term
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_detach(ptr %arg_st) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t9 = alloca ptr
|
|
%t21 = alloca ptr
|
|
%t26 = alloca ptr
|
|
%t28 = alloca ptr
|
|
%t30 = alloca ptr
|
|
%t40 = alloca ptr
|
|
%t46 = alloca i32
|
|
%t48 = alloca ptr
|
|
%t61 = alloca ptr
|
|
%t78 = alloca ptr
|
|
store ptr %arg_st, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = call ptr @fn_emit_expr(ptr %t3)
|
|
store ptr %t4, ptr %t5
|
|
%t6 = call ptr @fn_itoa(i32 1024)
|
|
store ptr %t6, ptr %t7
|
|
%t8 = call ptr @fn_nreg()
|
|
store ptr %t8, ptr %t9
|
|
call void @fn_emit(ptr @.str5134)
|
|
%t10 = load ptr, ptr %t9
|
|
call void @fn_emit(ptr %t10)
|
|
call void @fn_emit(ptr @.str5135)
|
|
%t11 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t11)
|
|
call void @fn_emit(ptr @.str5136)
|
|
%t12 = load ptr, ptr %t0
|
|
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 1
|
|
%t14 = load ptr, ptr %t13
|
|
call void @fn_emit(ptr %t14)
|
|
call void @fn_emit(ptr @.str5137)
|
|
%t15 = load ptr, ptr %t5
|
|
%t16 = getelementptr inbounds %Cmp_Val, ptr %t15, i32 0, i32 0
|
|
%t17 = load ptr, ptr %t16
|
|
call void @fn_emit(ptr %t17)
|
|
call void @fn_emit(ptr @.str5138)
|
|
%t18 = load ptr, ptr %t9
|
|
%t19 = call ptr @fn_str_concat(ptr @.str5139, ptr %t18)
|
|
%t20 = call ptr @fn_emit_bind(ptr %t19)
|
|
store ptr %t20, ptr %t21
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = call ptr @fn_str_concat(ptr @.str5140, ptr %t22)
|
|
%t24 = call ptr @fn_str_concat(ptr %t23, ptr @.str5141)
|
|
%t25 = call ptr @fn_emit_bind(ptr %t24)
|
|
store ptr %t25, ptr %t26
|
|
%t27 = call ptr @fn_lbl(ptr @.str5142)
|
|
store ptr %t27, ptr %t28
|
|
%t29 = call ptr @fn_lbl(ptr @.str5143)
|
|
store ptr %t29, ptr %t30
|
|
call void @fn_emit(ptr @.str5144)
|
|
%t31 = load ptr, ptr %t26
|
|
call void @fn_emit(ptr %t31)
|
|
call void @fn_emit(ptr @.str5145)
|
|
%t32 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t32)
|
|
call void @fn_emit(ptr @.str5146)
|
|
%t33 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t33)
|
|
call void @fn_emit(ptr @.str5147)
|
|
%t34 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str5148)
|
|
store i32 0, ptr @g_g_term
|
|
call void @fn_emit(ptr @.str5149)
|
|
%t35 = load ptr, ptr %t9
|
|
call void @fn_emit(ptr %t35)
|
|
call void @fn_emit(ptr @.str5150)
|
|
%t36 = load ptr, ptr %t0
|
|
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 1
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = call ptr @fn_ondetach_body(ptr %t38)
|
|
store ptr %t39, ptr %t40
|
|
%t41 = load ptr, ptr %t40
|
|
%t42 = icmp ne ptr %t41, null
|
|
%t43 = zext i1 %t42 to i32
|
|
%t44 = icmp ne i32 %t43, 0
|
|
br i1 %t44, label %then0, label %ifend2
|
|
then0:
|
|
%t45 = load i32, ptr @g_nloc
|
|
store i32 %t45, ptr %t46
|
|
%t47 = call ptr @fn_nreg()
|
|
store ptr %t47, ptr %t48
|
|
call void @fn_emit(ptr @.str5151)
|
|
%t49 = load ptr, ptr %t48
|
|
call void @fn_emit(ptr %t49)
|
|
call void @fn_emit(ptr @.str5152)
|
|
%t50 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str5153)
|
|
%t51 = load ptr, ptr %t0
|
|
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1
|
|
%t53 = load ptr, ptr %t52
|
|
call void @fn_emit(ptr %t53)
|
|
call void @fn_emit(ptr @.str5154)
|
|
%t54 = load ptr, ptr %t0
|
|
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1
|
|
%t56 = load ptr, ptr %t55
|
|
call void @fn_emit(ptr %t56)
|
|
call void @fn_emit(ptr @.str5155)
|
|
%t57 = load ptr, ptr %t5
|
|
%t58 = getelementptr inbounds %Cmp_Val, ptr %t57, i32 0, i32 0
|
|
%t59 = load ptr, ptr %t58
|
|
call void @fn_emit(ptr %t59)
|
|
call void @fn_emit(ptr @.str5156)
|
|
%t60 = call ptr @fn_emit_alloca(ptr @.str5157)
|
|
store ptr %t60, ptr %t61
|
|
call void @fn_emit(ptr @.str5158)
|
|
%t62 = load ptr, ptr %t48
|
|
call void @fn_emit(ptr %t62)
|
|
call void @fn_emit(ptr @.str5159)
|
|
%t63 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t63)
|
|
call void @fn_emit(ptr @.str5160)
|
|
%t64 = load ptr, ptr %t0
|
|
%t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 1
|
|
%t66 = load ptr, ptr %t65
|
|
%t67 = load ptr, ptr %t61
|
|
%t68 = load ptr, ptr %t0
|
|
%t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1
|
|
%t70 = load ptr, ptr %t69
|
|
call void @fn_loc_push(ptr %t66, ptr %t67, ptr %t70)
|
|
%t71 = load ptr, ptr %t40
|
|
call void @fn_emit_block(ptr %t71)
|
|
%t72 = load i32, ptr %t46
|
|
store i32 %t72, ptr @g_nloc
|
|
br label %ifend2
|
|
ifend2:
|
|
%t73 = load ptr, ptr %t0
|
|
%t74 = getelementptr inbounds %Cmp_Node, ptr %t73, i32 0, i32 1
|
|
%t75 = load ptr, ptr %t74
|
|
%t76 = call ptr @fn_str_concat(ptr @.str5161, ptr %t75)
|
|
%t77 = call ptr @fn_str_concat(ptr %t76, ptr @.str5162)
|
|
store ptr %t77, ptr %t78
|
|
%t79 = load ptr, ptr %t78
|
|
%t80 = call ptr @fn_find_event(ptr %t79)
|
|
%t81 = icmp ne ptr %t80, null
|
|
%t82 = zext i1 %t81 to i32
|
|
%t83 = icmp ne i32 %t82, 0
|
|
br i1 %t83, label %then3, label %ifend5
|
|
then3:
|
|
call void @fn_emit(ptr @.str5163)
|
|
%t84 = load ptr, ptr %t78
|
|
call void @fn_emit(ptr %t84)
|
|
call void @fn_emit(ptr @.str5164)
|
|
%t85 = load ptr, ptr %t5
|
|
%t86 = getelementptr inbounds %Cmp_Val, ptr %t85, i32 0, i32 0
|
|
%t87 = load ptr, ptr %t86
|
|
call void @fn_emit(ptr %t87)
|
|
call void @fn_emit(ptr @.str5165)
|
|
br label %ifend5
|
|
ifend5:
|
|
%t88 = load i32, ptr @g_g_term
|
|
%t89 = icmp eq i32 %t88, 0
|
|
%t90 = zext i1 %t89 to i32
|
|
%t91 = icmp ne i32 %t90, 0
|
|
br i1 %t91, label %then6, label %ifend8
|
|
then6:
|
|
call void @fn_emit(ptr @.str5166)
|
|
%t92 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t92)
|
|
call void @fn_emit(ptr @.str5167)
|
|
br label %ifend8
|
|
ifend8:
|
|
%t93 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t93)
|
|
call void @fn_emit(ptr @.str5168)
|
|
store i32 0, ptr @g_g_term
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_toggle(ptr %arg_st) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t8 = alloca i32
|
|
%t33 = alloca ptr
|
|
%t61 = alloca ptr
|
|
%t63 = alloca ptr
|
|
%t65 = alloca ptr
|
|
%t76 = alloca ptr
|
|
%t96 = alloca i32
|
|
%t98 = alloca ptr
|
|
%t111 = alloca ptr
|
|
%t128 = alloca ptr
|
|
%t149 = alloca ptr
|
|
store ptr %arg_st, ptr %t0
|
|
store ptr @.str5169, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = getelementptr inbounds %Cmp_Node, ptr %t2, i32 0, i32 2
|
|
%t4 = load i32, ptr %t3
|
|
%t5 = icmp eq i32 %t4, 1
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %then0, label %ifend2
|
|
then0:
|
|
store ptr @.str5170, ptr %t1
|
|
br label %ifend2
|
|
ifend2:
|
|
%t9 = load ptr, ptr %t0
|
|
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 3
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = icmp ne ptr %t11, null
|
|
%t13 = zext i1 %t12 to i32
|
|
%t14 = icmp ne i32 %t13, 0
|
|
%t15 = zext i1 %t14 to i32
|
|
store i32 %t15, ptr %t8
|
|
br i1 %t14, label %sc3, label %scend4
|
|
sc3:
|
|
%t16 = load ptr, ptr %t0
|
|
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 3
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = call i32 @fn_str_eq(ptr %t18, ptr @.str5171)
|
|
%t20 = icmp ne i32 %t19, 0
|
|
%t21 = zext i1 %t20 to i32
|
|
store i32 %t21, ptr %t8
|
|
br label %scend4
|
|
scend4:
|
|
%t22 = load i32, ptr %t8
|
|
%t23 = icmp ne i32 %t22, 0
|
|
br i1 %t23, label %then5, label %ifend7
|
|
then5:
|
|
call void @fn_emit(ptr @.str5172)
|
|
%t24 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t24)
|
|
call void @fn_emit(ptr @.str5173)
|
|
%t25 = load ptr, ptr %t0
|
|
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 1
|
|
%t27 = load ptr, ptr %t26
|
|
call void @fn_emit(ptr %t27)
|
|
call void @fn_emit(ptr @.str5174)
|
|
%t28 = load ptr, ptr %t0
|
|
%t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 1
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = call ptr @fn_str_concat(ptr @.str5175, ptr %t30)
|
|
%t32 = call ptr @fn_str_concat(ptr %t31, ptr @.str5176)
|
|
store ptr %t32, ptr %t33
|
|
%t34 = load ptr, ptr %t0
|
|
%t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 2
|
|
%t36 = load i32, ptr %t35
|
|
%t37 = icmp eq i32 %t36, 1
|
|
%t38 = zext i1 %t37 to i32
|
|
%t39 = icmp ne i32 %t38, 0
|
|
br i1 %t39, label %then8, label %ifend10
|
|
then8:
|
|
%t40 = load ptr, ptr %t0
|
|
%t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 1
|
|
%t42 = load ptr, ptr %t41
|
|
%t43 = call ptr @fn_str_concat(ptr @.str5177, ptr %t42)
|
|
%t44 = call ptr @fn_str_concat(ptr %t43, ptr @.str5178)
|
|
store ptr %t44, ptr %t33
|
|
br label %ifend10
|
|
ifend10:
|
|
%t45 = load ptr, ptr %t33
|
|
%t46 = call ptr @fn_find_event(ptr %t45)
|
|
%t47 = icmp ne ptr %t46, null
|
|
%t48 = zext i1 %t47 to i32
|
|
%t49 = icmp ne i32 %t48, 0
|
|
br i1 %t49, label %then11, label %ifend13
|
|
then11:
|
|
call void @fn_emit(ptr @.str5179)
|
|
%t50 = load ptr, ptr %t33
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str5180)
|
|
br label %ifend13
|
|
ifend13:
|
|
br label %ret
|
|
ifend7:
|
|
%t51 = load ptr, ptr %t0
|
|
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 4
|
|
%t53 = load ptr, ptr %t52
|
|
%t54 = icmp ne ptr %t53, null
|
|
%t55 = zext i1 %t54 to i32
|
|
%t56 = icmp ne i32 %t55, 0
|
|
br i1 %t56, label %then14, label %else15
|
|
then14:
|
|
%t57 = load ptr, ptr %t0
|
|
%t58 = getelementptr inbounds %Cmp_Node, ptr %t57, i32 0, i32 4
|
|
%t59 = load ptr, ptr %t58
|
|
%t60 = call ptr @fn_emit_expr(ptr %t59)
|
|
store ptr %t60, ptr %t61
|
|
%t62 = call ptr @fn_itoa(i32 1024)
|
|
store ptr %t62, ptr %t63
|
|
%t64 = call ptr @fn_nreg()
|
|
store ptr %t64, ptr %t65
|
|
call void @fn_emit(ptr @.str5181)
|
|
%t66 = load ptr, ptr %t65
|
|
call void @fn_emit(ptr %t66)
|
|
call void @fn_emit(ptr @.str5182)
|
|
%t67 = load ptr, ptr %t63
|
|
call void @fn_emit(ptr %t67)
|
|
call void @fn_emit(ptr @.str5183)
|
|
%t68 = load ptr, ptr %t0
|
|
%t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 1
|
|
%t70 = load ptr, ptr %t69
|
|
call void @fn_emit(ptr %t70)
|
|
call void @fn_emit(ptr @.str5184)
|
|
%t71 = load ptr, ptr %t61
|
|
%t72 = getelementptr inbounds %Cmp_Val, ptr %t71, i32 0, i32 0
|
|
%t73 = load ptr, ptr %t72
|
|
call void @fn_emit(ptr %t73)
|
|
call void @fn_emit(ptr @.str5185)
|
|
call void @fn_emit(ptr @.str5186)
|
|
%t74 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t74)
|
|
call void @fn_emit(ptr @.str5187)
|
|
%t75 = load ptr, ptr %t65
|
|
call void @fn_emit(ptr %t75)
|
|
call void @fn_emit(ptr @.str5188)
|
|
store ptr null, ptr %t76
|
|
%t77 = load ptr, ptr %t0
|
|
%t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 2
|
|
%t79 = load i32, ptr %t78
|
|
%t80 = icmp eq i32 %t79, 1
|
|
%t81 = zext i1 %t80 to i32
|
|
%t82 = icmp ne i32 %t81, 0
|
|
br i1 %t82, label %then17, label %else18
|
|
then17:
|
|
%t83 = load ptr, ptr %t0
|
|
%t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1
|
|
%t85 = load ptr, ptr %t84
|
|
%t86 = call ptr @fn_onenable_body(ptr %t85)
|
|
store ptr %t86, ptr %t76
|
|
br label %ifend19
|
|
else18:
|
|
%t87 = load ptr, ptr %t0
|
|
%t88 = getelementptr inbounds %Cmp_Node, ptr %t87, i32 0, i32 1
|
|
%t89 = load ptr, ptr %t88
|
|
%t90 = call ptr @fn_ondisable_body(ptr %t89)
|
|
store ptr %t90, ptr %t76
|
|
br label %ifend19
|
|
ifend19:
|
|
%t91 = load ptr, ptr %t76
|
|
%t92 = icmp ne ptr %t91, null
|
|
%t93 = zext i1 %t92 to i32
|
|
%t94 = icmp ne i32 %t93, 0
|
|
br i1 %t94, label %then20, label %ifend22
|
|
then20:
|
|
%t95 = load i32, ptr @g_nloc
|
|
store i32 %t95, ptr %t96
|
|
%t97 = call ptr @fn_nreg()
|
|
store ptr %t97, ptr %t98
|
|
call void @fn_emit(ptr @.str5189)
|
|
%t99 = load ptr, ptr %t98
|
|
call void @fn_emit(ptr %t99)
|
|
call void @fn_emit(ptr @.str5190)
|
|
%t100 = load ptr, ptr %t63
|
|
call void @fn_emit(ptr %t100)
|
|
call void @fn_emit(ptr @.str5191)
|
|
%t101 = load ptr, ptr %t0
|
|
%t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 1
|
|
%t103 = load ptr, ptr %t102
|
|
call void @fn_emit(ptr %t103)
|
|
call void @fn_emit(ptr @.str5192)
|
|
%t104 = load ptr, ptr %t0
|
|
%t105 = getelementptr inbounds %Cmp_Node, ptr %t104, i32 0, i32 1
|
|
%t106 = load ptr, ptr %t105
|
|
call void @fn_emit(ptr %t106)
|
|
call void @fn_emit(ptr @.str5193)
|
|
%t107 = load ptr, ptr %t61
|
|
%t108 = getelementptr inbounds %Cmp_Val, ptr %t107, i32 0, i32 0
|
|
%t109 = load ptr, ptr %t108
|
|
call void @fn_emit(ptr %t109)
|
|
call void @fn_emit(ptr @.str5194)
|
|
%t110 = call ptr @fn_emit_alloca(ptr @.str5195)
|
|
store ptr %t110, ptr %t111
|
|
call void @fn_emit(ptr @.str5196)
|
|
%t112 = load ptr, ptr %t98
|
|
call void @fn_emit(ptr %t112)
|
|
call void @fn_emit(ptr @.str5197)
|
|
%t113 = load ptr, ptr %t111
|
|
call void @fn_emit(ptr %t113)
|
|
call void @fn_emit(ptr @.str5198)
|
|
%t114 = load ptr, ptr %t0
|
|
%t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 1
|
|
%t116 = load ptr, ptr %t115
|
|
%t117 = load ptr, ptr %t111
|
|
%t118 = load ptr, ptr %t0
|
|
%t119 = getelementptr inbounds %Cmp_Node, ptr %t118, i32 0, i32 1
|
|
%t120 = load ptr, ptr %t119
|
|
call void @fn_loc_push(ptr %t116, ptr %t117, ptr %t120)
|
|
%t121 = load ptr, ptr %t76
|
|
call void @fn_emit_block(ptr %t121)
|
|
%t122 = load i32, ptr %t96
|
|
store i32 %t122, ptr @g_nloc
|
|
br label %ifend22
|
|
ifend22:
|
|
%t123 = load ptr, ptr %t0
|
|
%t124 = getelementptr inbounds %Cmp_Node, ptr %t123, i32 0, i32 1
|
|
%t125 = load ptr, ptr %t124
|
|
%t126 = call ptr @fn_str_concat(ptr @.str5199, ptr %t125)
|
|
%t127 = call ptr @fn_str_concat(ptr %t126, ptr @.str5200)
|
|
store ptr %t127, ptr %t128
|
|
%t129 = load ptr, ptr %t0
|
|
%t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 2
|
|
%t131 = load i32, ptr %t130
|
|
%t132 = icmp eq i32 %t131, 1
|
|
%t133 = zext i1 %t132 to i32
|
|
%t134 = icmp ne i32 %t133, 0
|
|
br i1 %t134, label %then23, label %ifend25
|
|
then23:
|
|
%t135 = load ptr, ptr %t0
|
|
%t136 = getelementptr inbounds %Cmp_Node, ptr %t135, i32 0, i32 1
|
|
%t137 = load ptr, ptr %t136
|
|
%t138 = call ptr @fn_str_concat(ptr @.str5201, ptr %t137)
|
|
%t139 = call ptr @fn_str_concat(ptr %t138, ptr @.str5202)
|
|
store ptr %t139, ptr %t128
|
|
br label %ifend25
|
|
ifend25:
|
|
%t140 = load ptr, ptr %t128
|
|
%t141 = call ptr @fn_find_event(ptr %t140)
|
|
%t142 = icmp ne ptr %t141, null
|
|
%t143 = zext i1 %t142 to i32
|
|
%t144 = icmp ne i32 %t143, 0
|
|
br i1 %t144, label %then26, label %ifend28
|
|
then26:
|
|
call void @fn_emit(ptr @.str5203)
|
|
%t145 = load ptr, ptr %t128
|
|
call void @fn_emit(ptr %t145)
|
|
call void @fn_emit(ptr @.str5204)
|
|
%t146 = load ptr, ptr %t61
|
|
%t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0
|
|
%t148 = load ptr, ptr %t147
|
|
call void @fn_emit(ptr %t148)
|
|
call void @fn_emit(ptr @.str5205)
|
|
br label %ifend28
|
|
ifend28:
|
|
br label %ifend16
|
|
else15:
|
|
store ptr @.str5206, ptr %t149
|
|
%t150 = load ptr, ptr %t0
|
|
%t151 = getelementptr inbounds %Cmp_Node, ptr %t150, i32 0, i32 1
|
|
%t152 = load ptr, ptr %t151
|
|
%t153 = call i32 @fn_is_model(ptr %t152)
|
|
%t154 = icmp ne i32 %t153, 0
|
|
br i1 %t154, label %then29, label %ifend31
|
|
then29:
|
|
store ptr @.str5207, ptr %t149
|
|
br label %ifend31
|
|
ifend31:
|
|
call void @fn_emit(ptr @.str5208)
|
|
%t155 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t155)
|
|
call void @fn_emit(ptr @.str5209)
|
|
%t156 = load ptr, ptr %t149
|
|
call void @fn_emit(ptr %t156)
|
|
%t157 = load ptr, ptr %t0
|
|
%t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 1
|
|
%t159 = load ptr, ptr %t158
|
|
call void @fn_emit(ptr %t159)
|
|
call void @fn_emit(ptr @.str5210)
|
|
br label %ifend16
|
|
ifend16:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_system_fn(ptr %arg_sys) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t8 = alloca ptr
|
|
store ptr %arg_sys, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 6
|
|
%t3 = load ptr, ptr %t2
|
|
store ptr %t3, ptr @g_g_cur_scene
|
|
store i32 0, ptr @g_ll_t
|
|
store i32 0, ptr @g_ll_lbl
|
|
store i32 0, ptr @g_g_term
|
|
call void @fn_loc_reset()
|
|
store i32 0, ptr @g_nloop
|
|
store i32 0, ptr @g_nself
|
|
store ptr @.str5211, ptr @g_ret_ty
|
|
%t4 = call ptr @fn_buf_new()
|
|
store ptr %t4, ptr %t5
|
|
%t6 = call ptr @fn_buf_new()
|
|
store ptr %t6, ptr @g_falloc
|
|
%t7 = load ptr, ptr @g_code
|
|
store ptr %t7, ptr %t8
|
|
%t9 = load ptr, ptr %t5
|
|
store ptr %t9, ptr @g_code
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = getelementptr inbounds %Cmp_Node, ptr %t10, i32 0, i32 4
|
|
%t12 = load ptr, ptr %t11
|
|
call void @fn_emit_block(ptr %t12)
|
|
%t13 = load i32, ptr @g_g_term
|
|
%t14 = icmp eq i32 %t13, 0
|
|
%t15 = zext i1 %t14 to i32
|
|
%t16 = icmp ne i32 %t15, 0
|
|
br i1 %t16, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_emit(ptr @.str5212)
|
|
br label %ifend2
|
|
ifend2:
|
|
call void @fn_emit(ptr @.str5213)
|
|
%t17 = load ptr, ptr %t8
|
|
store ptr %t17, ptr @g_code
|
|
call void @fn_emit(ptr @.str5214)
|
|
%t18 = load ptr, ptr %t0
|
|
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 1
|
|
%t20 = load ptr, ptr %t19
|
|
call void @fn_emit(ptr %t20)
|
|
call void @fn_emit(ptr @.str5215)
|
|
%t21 = load ptr, ptr @g_falloc
|
|
%t22 = call ptr @fn_buf_str(ptr %t21)
|
|
call void @fn_emit(ptr %t22)
|
|
%t23 = load ptr, ptr %t5
|
|
%t24 = call ptr @fn_buf_str(ptr %t23)
|
|
call void @fn_emit(ptr %t24)
|
|
call void @fn_emit(ptr @.str5216)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_call_one(ptr %arg_d) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t6 = alloca ptr
|
|
%t11 = alloca ptr
|
|
%t12 = alloca i32
|
|
%t37 = alloca ptr
|
|
%t42 = alloca ptr
|
|
%t56 = alloca ptr
|
|
%t61 = alloca ptr
|
|
%t69 = alloca ptr
|
|
%t71 = alloca ptr
|
|
store ptr %arg_d, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = call ptr @fn_str_concat(ptr @.str5217, ptr %t3)
|
|
%t5 = call ptr @fn_emit_bind(ptr %t4)
|
|
store ptr %t5, ptr %t6
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = call ptr @fn_str_concat(ptr @.str5218, ptr %t7)
|
|
%t9 = call ptr @fn_str_concat(ptr %t8, ptr @.str5219)
|
|
%t10 = call ptr @fn_emit_bind(ptr %t9)
|
|
store ptr %t10, ptr %t11
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 5
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = icmp ne ptr %t15, null
|
|
%t17 = zext i1 %t16 to i32
|
|
%t18 = icmp ne i32 %t17, 0
|
|
%t19 = zext i1 %t18 to i32
|
|
store i32 %t19, ptr %t12
|
|
br i1 %t18, label %sc0, label %scend1
|
|
sc0:
|
|
%t20 = load ptr, ptr %t0
|
|
%t21 = getelementptr inbounds %Cmp_Node, ptr %t20, i32 0, i32 5
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = call i32 @fn_is_toggled_layer(ptr %t24)
|
|
%t26 = icmp ne i32 %t25, 0
|
|
%t27 = zext i1 %t26 to i32
|
|
store i32 %t27, ptr %t12
|
|
br label %scend1
|
|
scend1:
|
|
%t28 = load i32, ptr %t12
|
|
%t29 = icmp ne i32 %t28, 0
|
|
br i1 %t29, label %then2, label %ifend4
|
|
then2:
|
|
%t30 = load ptr, ptr %t0
|
|
%t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 5
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1
|
|
%t34 = load ptr, ptr %t33
|
|
%t35 = call ptr @fn_str_concat(ptr @.str5220, ptr %t34)
|
|
%t36 = call ptr @fn_emit_bind(ptr %t35)
|
|
store ptr %t36, ptr %t37
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = call ptr @fn_str_concat(ptr @.str5221, ptr %t38)
|
|
%t40 = call ptr @fn_str_concat(ptr %t39, ptr @.str5222)
|
|
%t41 = call ptr @fn_emit_bind(ptr %t40)
|
|
store ptr %t41, ptr %t42
|
|
%t43 = load ptr, ptr %t11
|
|
%t44 = call ptr @fn_str_concat(ptr @.str5223, ptr %t43)
|
|
%t45 = call ptr @fn_str_concat(ptr %t44, ptr @.str5224)
|
|
%t46 = load ptr, ptr %t42
|
|
%t47 = call ptr @fn_str_concat(ptr %t45, ptr %t46)
|
|
%t48 = call ptr @fn_emit_bind(ptr %t47)
|
|
store ptr %t48, ptr %t11
|
|
br label %ifend4
|
|
ifend4:
|
|
%t49 = load ptr, ptr %t0
|
|
%t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 2
|
|
%t51 = load i32, ptr %t50
|
|
%t52 = icmp eq i32 %t51, 1
|
|
%t53 = zext i1 %t52 to i32
|
|
%t54 = icmp ne i32 %t53, 0
|
|
br i1 %t54, label %then5, label %ifend7
|
|
then5:
|
|
%t55 = call ptr @fn_emit_bind(ptr @.str5225)
|
|
store ptr %t55, ptr %t56
|
|
%t57 = load ptr, ptr %t56
|
|
%t58 = call ptr @fn_str_concat(ptr @.str5226, ptr %t57)
|
|
%t59 = call ptr @fn_str_concat(ptr %t58, ptr @.str5227)
|
|
%t60 = call ptr @fn_emit_bind(ptr %t59)
|
|
store ptr %t60, ptr %t61
|
|
%t62 = load ptr, ptr %t11
|
|
%t63 = call ptr @fn_str_concat(ptr @.str5228, ptr %t62)
|
|
%t64 = call ptr @fn_str_concat(ptr %t63, ptr @.str5229)
|
|
%t65 = load ptr, ptr %t61
|
|
%t66 = call ptr @fn_str_concat(ptr %t64, ptr %t65)
|
|
%t67 = call ptr @fn_emit_bind(ptr %t66)
|
|
store ptr %t67, ptr %t11
|
|
br label %ifend7
|
|
ifend7:
|
|
%t68 = call ptr @fn_lbl(ptr @.str5230)
|
|
store ptr %t68, ptr %t69
|
|
%t70 = call ptr @fn_lbl(ptr @.str5231)
|
|
store ptr %t70, ptr %t71
|
|
call void @fn_emit(ptr @.str5232)
|
|
%t72 = load ptr, ptr %t11
|
|
call void @fn_emit(ptr %t72)
|
|
call void @fn_emit(ptr @.str5233)
|
|
%t73 = load ptr, ptr %t69
|
|
call void @fn_emit(ptr %t73)
|
|
call void @fn_emit(ptr @.str5234)
|
|
%t74 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t74)
|
|
call void @fn_emit(ptr @.str5235)
|
|
%t75 = load ptr, ptr %t69
|
|
call void @fn_emit(ptr %t75)
|
|
call void @fn_emit(ptr @.str5236)
|
|
%t76 = load ptr, ptr %t0
|
|
%t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 1
|
|
%t78 = load ptr, ptr %t77
|
|
call void @fn_emit(ptr %t78)
|
|
call void @fn_emit(ptr @.str5237)
|
|
call void @fn_emit(ptr @.str5238)
|
|
%t79 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t79)
|
|
call void @fn_emit(ptr @.str5239)
|
|
%t80 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t80)
|
|
call void @fn_emit(ptr @.str5240)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_calls_for_phase(ptr %arg_phase) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t15 = alloca ptr
|
|
%t16 = alloca i32
|
|
%t17 = alloca i32
|
|
%t47 = alloca i32
|
|
%t61 = alloca ptr
|
|
%t62 = alloca i32
|
|
%t63 = alloca i32
|
|
%t97 = alloca ptr
|
|
%t111 = alloca ptr
|
|
%t112 = alloca i32
|
|
%t113 = alloca i32
|
|
%t151 = alloca ptr
|
|
%t153 = alloca ptr
|
|
%t155 = alloca ptr
|
|
store ptr %arg_phase, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_prog
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_prog
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
store ptr %t14, ptr %t15
|
|
%t18 = load ptr, ptr %t15
|
|
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0
|
|
%t20 = load i32, ptr %t19
|
|
%t21 = icmp eq i32 %t20, 9
|
|
%t22 = zext i1 %t21 to i32
|
|
%t23 = icmp ne i32 %t22, 0
|
|
%t24 = zext i1 %t23 to i32
|
|
store i32 %t24, ptr %t17
|
|
br i1 %t23, label %sc3, label %scend4
|
|
sc3:
|
|
%t25 = load ptr, ptr %t15
|
|
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 3
|
|
%t27 = load ptr, ptr %t26
|
|
%t28 = load ptr, ptr %t0
|
|
%t29 = call i32 @fn_str_eq(ptr %t27, ptr %t28)
|
|
%t30 = icmp ne i32 %t29, 0
|
|
%t31 = zext i1 %t30 to i32
|
|
store i32 %t31, ptr %t17
|
|
br label %scend4
|
|
scend4:
|
|
%t32 = load i32, ptr %t17
|
|
%t33 = icmp ne i32 %t32, 0
|
|
%t34 = zext i1 %t33 to i32
|
|
store i32 %t34, ptr %t16
|
|
br i1 %t33, label %sc5, label %scend6
|
|
sc5:
|
|
%t35 = load ptr, ptr %t15
|
|
%t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 6
|
|
%t37 = load ptr, ptr %t36
|
|
%t38 = icmp eq ptr %t37, null
|
|
%t39 = zext i1 %t38 to i32
|
|
%t40 = icmp ne i32 %t39, 0
|
|
%t41 = zext i1 %t40 to i32
|
|
store i32 %t41, ptr %t16
|
|
br label %scend6
|
|
scend6:
|
|
%t42 = load i32, ptr %t16
|
|
%t43 = icmp ne i32 %t42, 0
|
|
br i1 %t43, label %then7, label %ifend9
|
|
then7:
|
|
%t44 = load ptr, ptr %t15
|
|
call void @fn_emit_call_one(ptr %t44)
|
|
br label %ifend9
|
|
ifend9:
|
|
%t45 = load i32, ptr %t1
|
|
%t46 = add i32 %t45, 1
|
|
store i32 %t46, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
store i32 0, ptr %t47
|
|
store i32 0, ptr %t1
|
|
br label %wcond10
|
|
wcond10:
|
|
%t48 = load i32, ptr %t1
|
|
%t49 = load ptr, ptr @g_prog
|
|
%t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 1
|
|
%t51 = load i32, ptr %t50
|
|
%t52 = icmp slt i32 %t48, %t51
|
|
%t53 = zext i1 %t52 to i32
|
|
%t54 = icmp ne i32 %t53, 0
|
|
br i1 %t54, label %wbody11, label %wend12
|
|
wbody11:
|
|
%t55 = load ptr, ptr @g_prog
|
|
%t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0
|
|
%t57 = load ptr, ptr %t56
|
|
%t58 = load i32, ptr %t1
|
|
%t59 = getelementptr inbounds ptr, ptr %t57, i32 %t58
|
|
%t60 = load ptr, ptr %t59
|
|
store ptr %t60, ptr %t61
|
|
%t64 = load ptr, ptr %t61
|
|
%t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 0
|
|
%t66 = load i32, ptr %t65
|
|
%t67 = icmp eq i32 %t66, 9
|
|
%t68 = zext i1 %t67 to i32
|
|
%t69 = icmp ne i32 %t68, 0
|
|
%t70 = zext i1 %t69 to i32
|
|
store i32 %t70, ptr %t63
|
|
br i1 %t69, label %sc13, label %scend14
|
|
sc13:
|
|
%t71 = load ptr, ptr %t61
|
|
%t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 3
|
|
%t73 = load ptr, ptr %t72
|
|
%t74 = load ptr, ptr %t0
|
|
%t75 = call i32 @fn_str_eq(ptr %t73, ptr %t74)
|
|
%t76 = icmp ne i32 %t75, 0
|
|
%t77 = zext i1 %t76 to i32
|
|
store i32 %t77, ptr %t63
|
|
br label %scend14
|
|
scend14:
|
|
%t78 = load i32, ptr %t63
|
|
%t79 = icmp ne i32 %t78, 0
|
|
%t80 = zext i1 %t79 to i32
|
|
store i32 %t80, ptr %t62
|
|
br i1 %t79, label %sc15, label %scend16
|
|
sc15:
|
|
%t81 = load ptr, ptr %t61
|
|
%t82 = getelementptr inbounds %Cmp_Node, ptr %t81, i32 0, i32 6
|
|
%t83 = load ptr, ptr %t82
|
|
%t84 = icmp ne ptr %t83, null
|
|
%t85 = zext i1 %t84 to i32
|
|
%t86 = icmp ne i32 %t85, 0
|
|
%t87 = zext i1 %t86 to i32
|
|
store i32 %t87, ptr %t62
|
|
br label %scend16
|
|
scend16:
|
|
%t88 = load i32, ptr %t62
|
|
%t89 = icmp ne i32 %t88, 0
|
|
br i1 %t89, label %then17, label %ifend19
|
|
then17:
|
|
store i32 1, ptr %t47
|
|
br label %ifend19
|
|
ifend19:
|
|
%t90 = load i32, ptr %t1
|
|
%t91 = add i32 %t90, 1
|
|
store i32 %t91, ptr %t1
|
|
br label %wcond10
|
|
wend12:
|
|
%t92 = load i32, ptr %t47
|
|
%t93 = icmp eq i32 %t92, 0
|
|
%t94 = zext i1 %t93 to i32
|
|
%t95 = icmp ne i32 %t94, 0
|
|
br i1 %t95, label %then20, label %ifend22
|
|
then20:
|
|
br label %ret
|
|
ifend22:
|
|
%t96 = call ptr @fn_emit_bind(ptr @.str5241)
|
|
store ptr %t96, ptr %t97
|
|
store i32 0, ptr %t1
|
|
br label %wcond23
|
|
wcond23:
|
|
%t98 = load i32, ptr %t1
|
|
%t99 = load ptr, ptr @g_prog
|
|
%t100 = getelementptr inbounds %LSlice, ptr %t99, i32 0, i32 1
|
|
%t101 = load i32, ptr %t100
|
|
%t102 = icmp slt i32 %t98, %t101
|
|
%t103 = zext i1 %t102 to i32
|
|
%t104 = icmp ne i32 %t103, 0
|
|
br i1 %t104, label %wbody24, label %wend25
|
|
wbody24:
|
|
%t105 = load ptr, ptr @g_prog
|
|
%t106 = getelementptr inbounds %LSlice, ptr %t105, i32 0, i32 0
|
|
%t107 = load ptr, ptr %t106
|
|
%t108 = load i32, ptr %t1
|
|
%t109 = getelementptr inbounds ptr, ptr %t107, i32 %t108
|
|
%t110 = load ptr, ptr %t109
|
|
store ptr %t110, ptr %t111
|
|
%t114 = load ptr, ptr %t111
|
|
%t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 0
|
|
%t116 = load i32, ptr %t115
|
|
%t117 = icmp eq i32 %t116, 9
|
|
%t118 = zext i1 %t117 to i32
|
|
%t119 = icmp ne i32 %t118, 0
|
|
%t120 = zext i1 %t119 to i32
|
|
store i32 %t120, ptr %t113
|
|
br i1 %t119, label %sc26, label %scend27
|
|
sc26:
|
|
%t121 = load ptr, ptr %t111
|
|
%t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 3
|
|
%t123 = load ptr, ptr %t122
|
|
%t124 = load ptr, ptr %t0
|
|
%t125 = call i32 @fn_str_eq(ptr %t123, ptr %t124)
|
|
%t126 = icmp ne i32 %t125, 0
|
|
%t127 = zext i1 %t126 to i32
|
|
store i32 %t127, ptr %t113
|
|
br label %scend27
|
|
scend27:
|
|
%t128 = load i32, ptr %t113
|
|
%t129 = icmp ne i32 %t128, 0
|
|
%t130 = zext i1 %t129 to i32
|
|
store i32 %t130, ptr %t112
|
|
br i1 %t129, label %sc28, label %scend29
|
|
sc28:
|
|
%t131 = load ptr, ptr %t111
|
|
%t132 = getelementptr inbounds %Cmp_Node, ptr %t131, i32 0, i32 6
|
|
%t133 = load ptr, ptr %t132
|
|
%t134 = icmp ne ptr %t133, null
|
|
%t135 = zext i1 %t134 to i32
|
|
%t136 = icmp ne i32 %t135, 0
|
|
%t137 = zext i1 %t136 to i32
|
|
store i32 %t137, ptr %t112
|
|
br label %scend29
|
|
scend29:
|
|
%t138 = load i32, ptr %t112
|
|
%t139 = icmp ne i32 %t138, 0
|
|
br i1 %t139, label %then30, label %ifend32
|
|
then30:
|
|
%t140 = load ptr, ptr %t97
|
|
%t141 = call ptr @fn_str_concat(ptr @.str5242, ptr %t140)
|
|
%t142 = call ptr @fn_str_concat(ptr %t141, ptr @.str5243)
|
|
%t143 = load ptr, ptr %t111
|
|
%t144 = getelementptr inbounds %Cmp_Node, ptr %t143, i32 0, i32 6
|
|
%t145 = load ptr, ptr %t144
|
|
%t146 = getelementptr inbounds %Cmp_Node, ptr %t145, i32 0, i32 2
|
|
%t147 = load i32, ptr %t146
|
|
%t148 = call ptr @fn_itoa(i32 %t147)
|
|
%t149 = call ptr @fn_str_concat(ptr %t142, ptr %t148)
|
|
%t150 = call ptr @fn_emit_bind(ptr %t149)
|
|
store ptr %t150, ptr %t151
|
|
%t152 = call ptr @fn_lbl(ptr @.str5244)
|
|
store ptr %t152, ptr %t153
|
|
%t154 = call ptr @fn_lbl(ptr @.str5245)
|
|
store ptr %t154, ptr %t155
|
|
call void @fn_emit(ptr @.str5246)
|
|
%t156 = load ptr, ptr %t151
|
|
call void @fn_emit(ptr %t156)
|
|
call void @fn_emit(ptr @.str5247)
|
|
%t157 = load ptr, ptr %t153
|
|
call void @fn_emit(ptr %t157)
|
|
call void @fn_emit(ptr @.str5248)
|
|
%t158 = load ptr, ptr %t155
|
|
call void @fn_emit(ptr %t158)
|
|
call void @fn_emit(ptr @.str5249)
|
|
%t159 = load ptr, ptr %t153
|
|
call void @fn_emit(ptr %t159)
|
|
call void @fn_emit(ptr @.str5250)
|
|
%t160 = load ptr, ptr %t111
|
|
call void @fn_emit_call_one(ptr %t160)
|
|
call void @fn_emit(ptr @.str5251)
|
|
%t161 = load ptr, ptr %t155
|
|
call void @fn_emit(ptr %t161)
|
|
call void @fn_emit(ptr @.str5252)
|
|
%t162 = load ptr, ptr %t155
|
|
call void @fn_emit(ptr %t162)
|
|
call void @fn_emit(ptr @.str5253)
|
|
br label %ifend32
|
|
ifend32:
|
|
%t163 = load i32, ptr %t1
|
|
%t164 = add i32 %t163, 1
|
|
store i32 %t164, ptr %t1
|
|
br label %wcond23
|
|
wend25:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_scene_fn(ptr %arg_name, ptr %arg_kind, ptr %arg_body) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t4 = alloca ptr
|
|
%t7 = alloca ptr
|
|
%t19 = alloca ptr
|
|
%t20 = alloca i32
|
|
store ptr %arg_name, ptr %t0
|
|
store ptr %arg_kind, ptr %t1
|
|
store ptr %arg_body, ptr %t2
|
|
store i32 0, ptr @g_ll_t
|
|
store i32 0, ptr @g_ll_lbl
|
|
store i32 0, ptr @g_g_term
|
|
call void @fn_loc_reset()
|
|
store i32 0, ptr @g_nloop
|
|
store i32 0, ptr @g_nself
|
|
store ptr @.str5254, ptr @g_ret_ty
|
|
%t3 = call ptr @fn_buf_new()
|
|
store ptr %t3, ptr %t4
|
|
%t5 = call ptr @fn_buf_new()
|
|
store ptr %t5, ptr @g_falloc
|
|
%t6 = load ptr, ptr @g_code
|
|
store ptr %t6, ptr %t7
|
|
%t8 = load ptr, ptr %t4
|
|
store ptr %t8, ptr @g_code
|
|
%t9 = load ptr, ptr %t2
|
|
%t10 = icmp ne ptr %t9, null
|
|
%t11 = zext i1 %t10 to i32
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then0, label %ifend2
|
|
then0:
|
|
%t13 = load ptr, ptr %t2
|
|
call void @fn_emit_block(ptr %t13)
|
|
br label %ifend2
|
|
ifend2:
|
|
%t14 = load ptr, ptr %t0
|
|
%t15 = call ptr @fn_str_concat(ptr @.str5255, ptr %t14)
|
|
%t16 = call ptr @fn_str_concat(ptr %t15, ptr @.str5256)
|
|
%t17 = load ptr, ptr %t1
|
|
%t18 = call ptr @fn_str_concat(ptr %t16, ptr %t17)
|
|
store ptr %t18, ptr %t19
|
|
%t21 = load i32, ptr @g_g_term
|
|
%t22 = icmp eq i32 %t21, 0
|
|
%t23 = zext i1 %t22 to i32
|
|
%t24 = icmp ne i32 %t23, 0
|
|
%t25 = zext i1 %t24 to i32
|
|
store i32 %t25, ptr %t20
|
|
br i1 %t24, label %sc3, label %scend4
|
|
sc3:
|
|
%t26 = load ptr, ptr %t19
|
|
%t27 = call ptr @fn_find_event(ptr %t26)
|
|
%t28 = icmp ne ptr %t27, null
|
|
%t29 = zext i1 %t28 to i32
|
|
%t30 = icmp ne i32 %t29, 0
|
|
%t31 = zext i1 %t30 to i32
|
|
store i32 %t31, ptr %t20
|
|
br label %scend4
|
|
scend4:
|
|
%t32 = load i32, ptr %t20
|
|
%t33 = icmp ne i32 %t32, 0
|
|
br i1 %t33, label %then5, label %ifend7
|
|
then5:
|
|
call void @fn_emit(ptr @.str5257)
|
|
%t34 = load ptr, ptr %t19
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str5258)
|
|
br label %ifend7
|
|
ifend7:
|
|
%t35 = load i32, ptr @g_g_term
|
|
%t36 = icmp eq i32 %t35, 0
|
|
%t37 = zext i1 %t36 to i32
|
|
%t38 = icmp ne i32 %t37, 0
|
|
br i1 %t38, label %then8, label %ifend10
|
|
then8:
|
|
call void @fn_emit(ptr @.str5259)
|
|
br label %ifend10
|
|
ifend10:
|
|
call void @fn_emit(ptr @.str5260)
|
|
%t39 = load ptr, ptr %t7
|
|
store ptr %t39, ptr @g_code
|
|
call void @fn_emit(ptr @.str5261)
|
|
%t40 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t40)
|
|
call void @fn_emit(ptr @.str5262)
|
|
%t41 = load ptr, ptr %t0
|
|
call void @fn_emit(ptr %t41)
|
|
call void @fn_emit(ptr @.str5263)
|
|
%t42 = load ptr, ptr @g_falloc
|
|
%t43 = call ptr @fn_buf_str(ptr %t42)
|
|
call void @fn_emit(ptr %t43)
|
|
%t44 = load ptr, ptr %t4
|
|
%t45 = call ptr @fn_buf_str(ptr %t44)
|
|
call void @fn_emit(ptr %t45)
|
|
call void @fn_emit(ptr @.str5264)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_scene_hooks() {
|
|
entry:
|
|
%t0 = alloca i32
|
|
%t14 = alloca ptr
|
|
store i32 0, ptr %t0
|
|
br label %wcond0
|
|
wcond0:
|
|
%t1 = load i32, ptr %t0
|
|
%t2 = load ptr, ptr @g_g_scenes
|
|
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
|
|
%t4 = load i32, ptr %t3
|
|
%t5 = icmp slt i32 %t1, %t4
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t8 = load ptr, ptr @g_g_scenes
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = load i32, ptr %t0
|
|
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
|
|
%t13 = load ptr, ptr %t12
|
|
store ptr %t13, ptr %t14
|
|
%t15 = load ptr, ptr %t14
|
|
store ptr %t15, ptr @g_g_cur_scene
|
|
%t16 = load ptr, ptr %t14
|
|
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 1
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = load ptr, ptr %t14
|
|
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 4
|
|
%t21 = load ptr, ptr %t20
|
|
call void @fn_emit_scene_fn(ptr %t18, ptr @.str5265, ptr %t21)
|
|
%t22 = load ptr, ptr %t14
|
|
%t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 1
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = load ptr, ptr %t14
|
|
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 5
|
|
%t27 = load ptr, ptr %t26
|
|
call void @fn_emit_scene_fn(ptr %t24, ptr @.str5266, ptr %t27)
|
|
%t28 = load i32, ptr %t0
|
|
%t29 = add i32 %t28, 1
|
|
store i32 %t29, ptr %t0
|
|
br label %wcond0
|
|
wend2:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_despawn_hooks() {
|
|
entry:
|
|
%t0 = alloca i32
|
|
%t14 = alloca ptr
|
|
%t19 = alloca ptr
|
|
%t21 = alloca ptr
|
|
%t24 = alloca ptr
|
|
%t33 = alloca ptr
|
|
store i32 0, ptr %t0
|
|
br label %wcond0
|
|
wcond0:
|
|
%t1 = load i32, ptr %t0
|
|
%t2 = load ptr, ptr @g_g_ondespawn
|
|
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
|
|
%t4 = load i32, ptr %t3
|
|
%t5 = icmp slt i32 %t1, %t4
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t8 = load ptr, ptr @g_g_ondespawn
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = load i32, ptr %t0
|
|
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
|
|
%t13 = load ptr, ptr %t12
|
|
store ptr %t13, ptr %t14
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1
|
|
%t17 = load ptr, ptr %t16
|
|
%t18 = call ptr @fn_find_arch(ptr %t17)
|
|
store ptr %t18, ptr %t19
|
|
store i32 0, ptr @g_ll_t
|
|
store i32 0, ptr @g_ll_lbl
|
|
store i32 0, ptr @g_g_term
|
|
call void @fn_loc_reset()
|
|
store i32 0, ptr @g_nloop
|
|
store i32 0, ptr @g_nself
|
|
store ptr @.str5267, ptr @g_ret_ty
|
|
%t20 = call ptr @fn_buf_new()
|
|
store ptr %t20, ptr %t21
|
|
%t22 = call ptr @fn_buf_new()
|
|
store ptr %t22, ptr @g_falloc
|
|
%t23 = load ptr, ptr @g_code
|
|
store ptr %t23, ptr %t24
|
|
%t25 = load ptr, ptr %t21
|
|
store ptr %t25, ptr @g_code
|
|
%t26 = load ptr, ptr %t14
|
|
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 3
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = icmp ne ptr %t28, null
|
|
%t30 = zext i1 %t29 to i32
|
|
%t31 = icmp ne i32 %t30, 0
|
|
br i1 %t31, label %then3, label %ifend5
|
|
then3:
|
|
%t32 = call ptr @fn_emit_alloca(ptr @.str5268)
|
|
store ptr %t32, ptr %t33
|
|
call void @fn_emit(ptr @.str5269)
|
|
%t34 = load ptr, ptr %t33
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str5270)
|
|
%t35 = load ptr, ptr %t14
|
|
%t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 3
|
|
%t37 = load ptr, ptr %t36
|
|
%t38 = load ptr, ptr %t33
|
|
call void @fn_loc_push(ptr %t37, ptr %t38, ptr @.str5271)
|
|
br label %ifend5
|
|
ifend5:
|
|
%t39 = load ptr, ptr %t19
|
|
call void @fn_emit_bind_props(ptr %t39, ptr @.str5272)
|
|
%t40 = load ptr, ptr %t14
|
|
%t41 = getelementptr inbounds %Cmp_Node, ptr %t40, i32 0, i32 4
|
|
%t42 = load ptr, ptr %t41
|
|
call void @fn_emit_block(ptr %t42)
|
|
%t43 = load i32, ptr @g_g_term
|
|
%t44 = icmp eq i32 %t43, 0
|
|
%t45 = zext i1 %t44 to i32
|
|
%t46 = icmp ne i32 %t45, 0
|
|
br i1 %t46, label %then6, label %ifend8
|
|
then6:
|
|
call void @fn_emit(ptr @.str5273)
|
|
br label %ifend8
|
|
ifend8:
|
|
call void @fn_emit(ptr @.str5274)
|
|
%t47 = load ptr, ptr %t24
|
|
store ptr %t47, ptr @g_code
|
|
call void @fn_emit(ptr @.str5275)
|
|
%t48 = load ptr, ptr %t14
|
|
%t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 1
|
|
%t50 = load ptr, ptr %t49
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str5276)
|
|
%t51 = load ptr, ptr @g_falloc
|
|
%t52 = call ptr @fn_buf_str(ptr %t51)
|
|
call void @fn_emit(ptr %t52)
|
|
%t53 = load ptr, ptr %t21
|
|
%t54 = call ptr @fn_buf_str(ptr %t53)
|
|
call void @fn_emit(ptr %t54)
|
|
call void @fn_emit(ptr @.str5277)
|
|
%t55 = load i32, ptr %t0
|
|
%t56 = add i32 %t55, 1
|
|
store i32 %t56, ptr %t0
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_emit_despawn_all_fn()
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_despawn_all_fn() {
|
|
entry:
|
|
%t7 = alloca ptr
|
|
%t10 = alloca i32
|
|
%t26 = alloca ptr
|
|
%t29 = alloca ptr
|
|
%t42 = alloca ptr
|
|
%t0 = load ptr, ptr @g_g_ondespawn
|
|
%t1 = getelementptr inbounds %LSlice, ptr %t0, i32 0, i32 1
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = icmp eq i32 %t2, 0
|
|
%t4 = zext i1 %t3 to i32
|
|
%t5 = icmp ne i32 %t4, 0
|
|
br i1 %t5, label %then0, label %ifend2
|
|
then0:
|
|
br label %ret
|
|
ifend2:
|
|
%t6 = call ptr @fn_itoa(i32 1024)
|
|
store ptr %t6, ptr %t7
|
|
call void @fn_emit(ptr @.str5278)
|
|
call void @fn_emit(ptr @.str5279)
|
|
call void @fn_emit(ptr @.str5280)
|
|
call void @fn_emit(ptr @.str5281)
|
|
call void @fn_emit(ptr @.str5282)
|
|
%t8 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t8)
|
|
call void @fn_emit(ptr @.str5283)
|
|
call void @fn_emit(ptr @.str5284)
|
|
call void @fn_emit(ptr @.str5285)
|
|
call void @fn_emit(ptr @.str5286)
|
|
%t9 = load ptr, ptr %t7
|
|
call void @fn_emit(ptr %t9)
|
|
call void @fn_emit(ptr @.str5287)
|
|
call void @fn_emit(ptr @.str5288)
|
|
store i32 0, ptr %t10
|
|
br label %wcond3
|
|
wcond3:
|
|
%t11 = load i32, ptr %t10
|
|
%t12 = load ptr, ptr @g_g_ondespawn
|
|
%t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1
|
|
%t14 = load i32, ptr %t13
|
|
%t15 = icmp slt i32 %t11, %t14
|
|
%t16 = zext i1 %t15 to i32
|
|
%t17 = icmp ne i32 %t16, 0
|
|
br i1 %t17, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t18 = load ptr, ptr @g_g_ondespawn
|
|
%t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = load i32, ptr %t10
|
|
%t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21
|
|
%t23 = load ptr, ptr %t22
|
|
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1
|
|
%t25 = load ptr, ptr %t24
|
|
store ptr %t25, ptr %t26
|
|
%t27 = load i32, ptr %t10
|
|
%t28 = call ptr @fn_itoa(i32 %t27)
|
|
store ptr %t28, ptr %t29
|
|
call void @fn_emit(ptr @.str5289)
|
|
%t30 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t30)
|
|
call void @fn_emit(ptr @.str5290)
|
|
%t31 = load ptr, ptr %t26
|
|
%t32 = call i32 @fn_find_arch_id(ptr %t31)
|
|
%t33 = call ptr @fn_itoa(i32 %t32)
|
|
call void @fn_emit(ptr %t33)
|
|
call void @fn_emit(ptr @.str5291)
|
|
call void @fn_emit(ptr @.str5292)
|
|
%t34 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str5293)
|
|
%t35 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t35)
|
|
call void @fn_emit(ptr @.str5294)
|
|
%t36 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t36)
|
|
call void @fn_emit(ptr @.str5295)
|
|
call void @fn_emit(ptr @.str5296)
|
|
%t37 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t37)
|
|
call void @fn_emit(ptr @.str5297)
|
|
%t38 = load ptr, ptr %t26
|
|
call void @fn_emit(ptr %t38)
|
|
call void @fn_emit(ptr @.str5298)
|
|
%t39 = load ptr, ptr %t26
|
|
%t40 = call ptr @fn_str_concat(ptr @.str5299, ptr %t39)
|
|
%t41 = call ptr @fn_str_concat(ptr %t40, ptr @.str5300)
|
|
store ptr %t41, ptr %t42
|
|
%t43 = load ptr, ptr %t42
|
|
%t44 = call ptr @fn_find_event(ptr %t43)
|
|
%t45 = icmp ne ptr %t44, null
|
|
%t46 = zext i1 %t45 to i32
|
|
%t47 = icmp ne i32 %t46, 0
|
|
br i1 %t47, label %then6, label %ifend8
|
|
then6:
|
|
call void @fn_emit(ptr @.str5301)
|
|
%t48 = load ptr, ptr %t42
|
|
call void @fn_emit(ptr %t48)
|
|
call void @fn_emit(ptr @.str5302)
|
|
br label %ifend8
|
|
ifend8:
|
|
call void @fn_emit(ptr @.str5303)
|
|
%t49 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t49)
|
|
call void @fn_emit(ptr @.str5304)
|
|
call void @fn_emit(ptr @.str5305)
|
|
%t50 = load ptr, ptr %t29
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str5306)
|
|
%t51 = load i32, ptr %t10
|
|
%t52 = add i32 %t51, 1
|
|
store i32 %t52, ptr %t10
|
|
br label %wcond3
|
|
wend5:
|
|
call void @fn_emit(ptr @.str5307)
|
|
call void @fn_emit(ptr @.str5308)
|
|
call void @fn_emit(ptr @.str5309)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_event_fns() {
|
|
entry:
|
|
%t0 = alloca i32
|
|
%t14 = alloca ptr
|
|
%t18 = alloca ptr
|
|
%t20 = alloca ptr
|
|
%t22 = alloca i32
|
|
%t89 = alloca ptr
|
|
%t92 = alloca ptr
|
|
%t104 = alloca ptr
|
|
%t105 = alloca i32
|
|
%t123 = alloca ptr
|
|
%t128 = alloca ptr
|
|
%t130 = alloca ptr
|
|
%t142 = alloca ptr
|
|
%t156 = alloca ptr
|
|
%t176 = alloca i32
|
|
%t177 = alloca i32
|
|
%t212 = alloca ptr
|
|
%t215 = alloca ptr
|
|
%t217 = alloca ptr
|
|
%t219 = alloca ptr
|
|
%t225 = alloca ptr
|
|
%t229 = alloca ptr
|
|
%t236 = alloca ptr
|
|
%t242 = alloca ptr
|
|
%t250 = alloca ptr
|
|
%t255 = alloca ptr
|
|
%t257 = alloca ptr
|
|
%t259 = alloca ptr
|
|
%t272 = alloca ptr
|
|
%t286 = alloca ptr
|
|
%t289 = alloca ptr
|
|
%t298 = alloca i32
|
|
%t334 = alloca ptr
|
|
%t335 = alloca i32
|
|
%t351 = alloca ptr
|
|
%t354 = alloca ptr
|
|
call void @fn_emith(ptr @.str5310)
|
|
store i32 0, ptr %t0
|
|
br label %wcond0
|
|
wcond0:
|
|
%t1 = load i32, ptr %t0
|
|
%t2 = load ptr, ptr @g_g_events
|
|
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
|
|
%t4 = load i32, ptr %t3
|
|
%t5 = icmp slt i32 %t1, %t4
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t8 = load ptr, ptr @g_g_events
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = load i32, ptr %t0
|
|
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
|
|
%t13 = load ptr, ptr %t12
|
|
store ptr %t13, ptr %t14
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 1
|
|
%t17 = load ptr, ptr %t16
|
|
store ptr %t17, ptr %t18
|
|
%t19 = call ptr @fn_itoa(i32 16)
|
|
store ptr %t19, ptr %t20
|
|
call void @fn_emith(ptr @.str5311)
|
|
%t21 = load ptr, ptr %t18
|
|
call void @fn_emith(ptr %t21)
|
|
call void @fn_emith(ptr @.str5312)
|
|
store i32 0, ptr %t22
|
|
br label %wcond3
|
|
wcond3:
|
|
%t23 = load i32, ptr %t22
|
|
%t24 = load ptr, ptr %t14
|
|
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1
|
|
%t28 = load i32, ptr %t27
|
|
%t29 = icmp slt i32 %t23, %t28
|
|
%t30 = zext i1 %t29 to i32
|
|
%t31 = icmp ne i32 %t30, 0
|
|
br i1 %t31, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t32 = load i32, ptr %t22
|
|
%t33 = icmp sgt i32 %t32, 0
|
|
%t34 = zext i1 %t33 to i32
|
|
%t35 = icmp ne i32 %t34, 0
|
|
br i1 %t35, label %then6, label %ifend8
|
|
then6:
|
|
call void @fn_emith(ptr @.str5313)
|
|
br label %ifend8
|
|
ifend8:
|
|
%t36 = load ptr, ptr %t14
|
|
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = load i32, ptr %t22
|
|
%t42 = getelementptr inbounds ptr, ptr %t40, i32 %t41
|
|
%t43 = load ptr, ptr %t42
|
|
%t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 3
|
|
%t45 = load ptr, ptr %t44
|
|
%t46 = call ptr @fn_llty(ptr %t45)
|
|
call void @fn_emith(ptr %t46)
|
|
%t47 = load i32, ptr %t22
|
|
%t48 = add i32 %t47, 1
|
|
store i32 %t48, ptr %t22
|
|
br label %wcond3
|
|
wend5:
|
|
%t49 = load ptr, ptr %t14
|
|
%t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 2
|
|
%t51 = load i32, ptr %t50
|
|
%t52 = icmp eq i32 %t51, 1
|
|
%t53 = zext i1 %t52 to i32
|
|
%t54 = icmp ne i32 %t53, 0
|
|
br i1 %t54, label %then9, label %ifend11
|
|
then9:
|
|
%t55 = load ptr, ptr %t14
|
|
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 7
|
|
%t57 = load ptr, ptr %t56
|
|
%t58 = getelementptr inbounds %LSlice, ptr %t57, i32 0, i32 1
|
|
%t59 = load i32, ptr %t58
|
|
%t60 = icmp sgt i32 %t59, 0
|
|
%t61 = zext i1 %t60 to i32
|
|
%t62 = icmp ne i32 %t61, 0
|
|
br i1 %t62, label %then12, label %ifend14
|
|
then12:
|
|
call void @fn_emith(ptr @.str5314)
|
|
br label %ifend14
|
|
ifend14:
|
|
call void @fn_emith(ptr @.str5315)
|
|
br label %ifend11
|
|
ifend11:
|
|
call void @fn_emith(ptr @.str5316)
|
|
call void @fn_emith(ptr @.str5317)
|
|
%t63 = load ptr, ptr %t18
|
|
call void @fn_emith(ptr %t63)
|
|
call void @fn_emith(ptr @.str5318)
|
|
%t64 = load ptr, ptr %t20
|
|
call void @fn_emith(ptr %t64)
|
|
call void @fn_emith(ptr @.str5319)
|
|
call void @fn_emith(ptr @.str5320)
|
|
%t65 = load ptr, ptr %t18
|
|
call void @fn_emith(ptr %t65)
|
|
call void @fn_emith(ptr @.str5321)
|
|
call void @fn_emith(ptr @.str5322)
|
|
%t66 = load ptr, ptr %t18
|
|
call void @fn_emith(ptr %t66)
|
|
call void @fn_emith(ptr @.str5323)
|
|
%t67 = load ptr, ptr %t20
|
|
call void @fn_emith(ptr %t67)
|
|
call void @fn_emith(ptr @.str5324)
|
|
call void @fn_emit(ptr @.str5325)
|
|
%t68 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t68)
|
|
call void @fn_emit(ptr @.str5326)
|
|
call void @fn_emit(ptr @.str5327)
|
|
%t69 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t69)
|
|
call void @fn_emit(ptr @.str5328)
|
|
call void @fn_emit(ptr @.str5329)
|
|
%t70 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t70)
|
|
call void @fn_emit(ptr @.str5330)
|
|
call void @fn_emit(ptr @.str5331)
|
|
call void @fn_emit(ptr @.str5332)
|
|
%t71 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t71)
|
|
call void @fn_emit(ptr @.str5333)
|
|
%t72 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t72)
|
|
call void @fn_emit(ptr @.str5334)
|
|
call void @fn_emit(ptr @.str5335)
|
|
call void @fn_emit(ptr @.str5336)
|
|
%t73 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t73)
|
|
call void @fn_emit(ptr @.str5337)
|
|
%t74 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t74)
|
|
call void @fn_emit(ptr @.str5338)
|
|
call void @fn_emit(ptr @.str5339)
|
|
call void @fn_emit(ptr @.str5340)
|
|
%t75 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t75)
|
|
call void @fn_emit(ptr @.str5341)
|
|
call void @fn_emit(ptr @.str5342)
|
|
call void @fn_emit(ptr @.str5343)
|
|
%t76 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t76)
|
|
call void @fn_emit(ptr @.str5344)
|
|
call void @fn_emit(ptr @.str5345)
|
|
%t77 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t77)
|
|
call void @fn_emit(ptr @.str5346)
|
|
call void @fn_emit(ptr @.str5347)
|
|
%t78 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t78)
|
|
call void @fn_emit(ptr @.str5348)
|
|
call void @fn_emit(ptr @.str5349)
|
|
call void @fn_emit(ptr @.str5350)
|
|
%t79 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t79)
|
|
call void @fn_emit(ptr @.str5351)
|
|
%t80 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t80)
|
|
call void @fn_emit(ptr @.str5352)
|
|
call void @fn_emit(ptr @.str5353)
|
|
call void @fn_emit(ptr @.str5354)
|
|
%t81 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t81)
|
|
call void @fn_emit(ptr @.str5355)
|
|
%t82 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t82)
|
|
call void @fn_emit(ptr @.str5356)
|
|
call void @fn_emit(ptr @.str5357)
|
|
call void @fn_emit(ptr @.str5358)
|
|
%t83 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t83)
|
|
call void @fn_emit(ptr @.str5359)
|
|
call void @fn_emit(ptr @.str5360)
|
|
call void @fn_emit(ptr @.str5361)
|
|
%t84 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t84)
|
|
call void @fn_emit(ptr @.str5362)
|
|
call void @fn_emit(ptr @.str5363)
|
|
%t85 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t85)
|
|
call void @fn_emit(ptr @.str5364)
|
|
call void @fn_emit(ptr @.str5365)
|
|
call void @fn_emit(ptr @.str5366)
|
|
call void @fn_emit(ptr @.str5367)
|
|
%t86 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t86)
|
|
call void @fn_emit(ptr @.str5368)
|
|
%t87 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t87)
|
|
call void @fn_emit(ptr @.str5369)
|
|
call void @fn_emit(ptr @.str5370)
|
|
call void @fn_emit(ptr @.str5371)
|
|
store i32 0, ptr @g_ll_t
|
|
store i32 0, ptr @g_ll_lbl
|
|
store i32 0, ptr @g_g_term
|
|
call void @fn_loc_reset()
|
|
store i32 0, ptr @g_nloop
|
|
store i32 0, ptr @g_nself
|
|
store ptr @.str5372, ptr @g_ret_ty
|
|
%t88 = call ptr @fn_buf_new()
|
|
store ptr %t88, ptr %t89
|
|
%t90 = call ptr @fn_buf_new()
|
|
store ptr %t90, ptr @g_falloc
|
|
%t91 = load ptr, ptr @g_code
|
|
store ptr %t91, ptr %t92
|
|
%t93 = load ptr, ptr %t89
|
|
store ptr %t93, ptr @g_code
|
|
call void @fn_emit(ptr @.str5373)
|
|
call void @fn_emit(ptr @.str5374)
|
|
%t94 = call ptr @fn_itoa(i32 32)
|
|
call void @fn_emit(ptr %t94)
|
|
call void @fn_emit(ptr @.str5375)
|
|
call void @fn_emit(ptr @.str5376)
|
|
call void @fn_emit(ptr @.str5377)
|
|
%t95 = load ptr, ptr %t14
|
|
%t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 2
|
|
%t97 = load i32, ptr %t96
|
|
%t98 = icmp eq i32 %t97, 1
|
|
%t99 = zext i1 %t98 to i32
|
|
%t100 = icmp ne i32 %t99, 0
|
|
br i1 %t100, label %then15, label %else16
|
|
then15:
|
|
call void @fn_emit(ptr @.str5378)
|
|
br label %ifend17
|
|
else16:
|
|
call void @fn_emit(ptr @.str5379)
|
|
br label %ifend17
|
|
ifend17:
|
|
call void @fn_emit(ptr @.str5380)
|
|
call void @fn_emit(ptr @.str5381)
|
|
%t101 = load ptr, ptr %t18
|
|
%t102 = call ptr @fn_str_concat(ptr @.str5382, ptr %t101)
|
|
%t103 = call ptr @fn_emit_alloca(ptr %t102)
|
|
store ptr %t103, ptr %t104
|
|
store i32 0, ptr %t105
|
|
br label %wcond18
|
|
wcond18:
|
|
%t106 = load i32, ptr %t105
|
|
%t107 = load ptr, ptr %t14
|
|
%t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 7
|
|
%t109 = load ptr, ptr %t108
|
|
%t110 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 1
|
|
%t111 = load i32, ptr %t110
|
|
%t112 = icmp slt i32 %t106, %t111
|
|
%t113 = zext i1 %t112 to i32
|
|
%t114 = icmp ne i32 %t113, 0
|
|
br i1 %t114, label %wbody19, label %wend20
|
|
wbody19:
|
|
%t115 = load ptr, ptr %t14
|
|
%t116 = getelementptr inbounds %Cmp_Node, ptr %t115, i32 0, i32 7
|
|
%t117 = load ptr, ptr %t116
|
|
%t118 = getelementptr inbounds %LSlice, ptr %t117, i32 0, i32 0
|
|
%t119 = load ptr, ptr %t118
|
|
%t120 = load i32, ptr %t105
|
|
%t121 = getelementptr inbounds ptr, ptr %t119, i32 %t120
|
|
%t122 = load ptr, ptr %t121
|
|
store ptr %t122, ptr %t123
|
|
%t124 = load ptr, ptr %t123
|
|
%t125 = getelementptr inbounds %Cmp_Node, ptr %t124, i32 0, i32 3
|
|
%t126 = load ptr, ptr %t125
|
|
%t127 = call ptr @fn_llty(ptr %t126)
|
|
store ptr %t127, ptr %t128
|
|
%t129 = call ptr @fn_nreg()
|
|
store ptr %t129, ptr %t130
|
|
call void @fn_emit(ptr @.str5383)
|
|
%t131 = load ptr, ptr %t130
|
|
call void @fn_emit(ptr %t131)
|
|
call void @fn_emit(ptr @.str5384)
|
|
%t132 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t132)
|
|
call void @fn_emit(ptr @.str5385)
|
|
%t133 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t133)
|
|
call void @fn_emit(ptr @.str5386)
|
|
%t134 = load i32, ptr %t105
|
|
%t135 = call ptr @fn_itoa(i32 %t134)
|
|
call void @fn_emit(ptr %t135)
|
|
call void @fn_emit(ptr @.str5387)
|
|
call void @fn_emit(ptr @.str5388)
|
|
%t136 = load ptr, ptr %t128
|
|
call void @fn_emit(ptr %t136)
|
|
call void @fn_emit(ptr @.str5389)
|
|
%t137 = load i32, ptr %t105
|
|
%t138 = call ptr @fn_itoa(i32 %t137)
|
|
call void @fn_emit(ptr %t138)
|
|
call void @fn_emit(ptr @.str5390)
|
|
%t139 = load ptr, ptr %t130
|
|
call void @fn_emit(ptr %t139)
|
|
call void @fn_emit(ptr @.str5391)
|
|
%t140 = load ptr, ptr %t128
|
|
%t141 = call ptr @fn_emit_alloca(ptr %t140)
|
|
store ptr %t141, ptr %t142
|
|
call void @fn_emit(ptr @.str5392)
|
|
%t143 = load ptr, ptr %t128
|
|
call void @fn_emit(ptr %t143)
|
|
call void @fn_emit(ptr @.str5393)
|
|
%t144 = load i32, ptr %t105
|
|
%t145 = call ptr @fn_itoa(i32 %t144)
|
|
call void @fn_emit(ptr %t145)
|
|
call void @fn_emit(ptr @.str5394)
|
|
%t146 = load ptr, ptr %t142
|
|
call void @fn_emit(ptr %t146)
|
|
call void @fn_emit(ptr @.str5395)
|
|
%t147 = load ptr, ptr %t123
|
|
%t148 = getelementptr inbounds %Cmp_Node, ptr %t147, i32 0, i32 1
|
|
%t149 = load ptr, ptr %t148
|
|
%t150 = load ptr, ptr %t142
|
|
%t151 = load ptr, ptr %t123
|
|
%t152 = getelementptr inbounds %Cmp_Node, ptr %t151, i32 0, i32 3
|
|
%t153 = load ptr, ptr %t152
|
|
call void @fn_loc_push(ptr %t149, ptr %t150, ptr %t153)
|
|
%t154 = load i32, ptr %t105
|
|
%t155 = add i32 %t154, 1
|
|
store i32 %t155, ptr %t105
|
|
br label %wcond18
|
|
wend20:
|
|
store ptr null, ptr %t156
|
|
%t157 = load ptr, ptr %t14
|
|
%t158 = getelementptr inbounds %Cmp_Node, ptr %t157, i32 0, i32 2
|
|
%t159 = load i32, ptr %t158
|
|
%t160 = icmp eq i32 %t159, 1
|
|
%t161 = zext i1 %t160 to i32
|
|
%t162 = icmp ne i32 %t161, 0
|
|
br i1 %t162, label %then21, label %ifend23
|
|
then21:
|
|
%t163 = call ptr @fn_nreg()
|
|
store ptr %t163, ptr %t156
|
|
call void @fn_emit(ptr @.str5396)
|
|
%t164 = load ptr, ptr %t156
|
|
call void @fn_emit(ptr %t164)
|
|
call void @fn_emit(ptr @.str5397)
|
|
%t165 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t165)
|
|
call void @fn_emit(ptr @.str5398)
|
|
%t166 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t166)
|
|
call void @fn_emit(ptr @.str5399)
|
|
%t167 = load ptr, ptr %t14
|
|
%t168 = getelementptr inbounds %Cmp_Node, ptr %t167, i32 0, i32 7
|
|
%t169 = load ptr, ptr %t168
|
|
%t170 = getelementptr inbounds %LSlice, ptr %t169, i32 0, i32 1
|
|
%t171 = load i32, ptr %t170
|
|
%t172 = call ptr @fn_itoa(i32 %t171)
|
|
call void @fn_emit(ptr %t172)
|
|
call void @fn_emit(ptr @.str5400)
|
|
call void @fn_emit(ptr @.str5401)
|
|
%t173 = load ptr, ptr %t156
|
|
call void @fn_emit(ptr %t173)
|
|
call void @fn_emit(ptr @.str5402)
|
|
%t174 = load ptr, ptr %t156
|
|
store ptr %t174, ptr @g_g_cancel_addr
|
|
br label %ifend23
|
|
ifend23:
|
|
%t175 = load i32, ptr @g_nloc
|
|
store i32 %t175, ptr %t176
|
|
store i32 0, ptr %t177
|
|
br label %wcond24
|
|
wcond24:
|
|
%t178 = load i32, ptr %t177
|
|
%t179 = load ptr, ptr @g_g_onlisten
|
|
%t180 = getelementptr inbounds %LSlice, ptr %t179, i32 0, i32 1
|
|
%t181 = load i32, ptr %t180
|
|
%t182 = icmp slt i32 %t178, %t181
|
|
%t183 = zext i1 %t182 to i32
|
|
%t184 = icmp ne i32 %t183, 0
|
|
br i1 %t184, label %wbody25, label %wend26
|
|
wbody25:
|
|
%t185 = load ptr, ptr @g_g_onlisten
|
|
%t186 = getelementptr inbounds %LSlice, ptr %t185, i32 0, i32 0
|
|
%t187 = load ptr, ptr %t186
|
|
%t188 = load i32, ptr %t177
|
|
%t189 = getelementptr inbounds ptr, ptr %t187, i32 %t188
|
|
%t190 = load ptr, ptr %t189
|
|
%t191 = getelementptr inbounds %Cmp_Node, ptr %t190, i32 0, i32 1
|
|
%t192 = load ptr, ptr %t191
|
|
%t193 = load ptr, ptr %t18
|
|
%t194 = call i32 @fn_str_eq(ptr %t192, ptr %t193)
|
|
%t195 = icmp ne i32 %t194, 0
|
|
br i1 %t195, label %then27, label %ifend29
|
|
then27:
|
|
%t196 = load i32, ptr %t176
|
|
store i32 %t196, ptr @g_nloc
|
|
store i32 0, ptr @g_g_term
|
|
%t197 = load ptr, ptr @g_g_onlisten
|
|
%t198 = getelementptr inbounds %LSlice, ptr %t197, i32 0, i32 0
|
|
%t199 = load ptr, ptr %t198
|
|
%t200 = load i32, ptr %t177
|
|
%t201 = getelementptr inbounds ptr, ptr %t199, i32 %t200
|
|
%t202 = load ptr, ptr %t201
|
|
%t203 = getelementptr inbounds %Cmp_Node, ptr %t202, i32 0, i32 4
|
|
%t204 = load ptr, ptr %t203
|
|
call void @fn_emit_block(ptr %t204)
|
|
br label %ifend29
|
|
ifend29:
|
|
%t205 = load i32, ptr %t177
|
|
%t206 = add i32 %t205, 1
|
|
store i32 %t206, ptr %t177
|
|
br label %wcond24
|
|
wend26:
|
|
%t207 = load i32, ptr @g_g_term
|
|
%t208 = icmp eq i32 %t207, 0
|
|
%t209 = zext i1 %t208 to i32
|
|
%t210 = icmp ne i32 %t209, 0
|
|
br i1 %t210, label %then30, label %ifend32
|
|
then30:
|
|
%t211 = call ptr @fn_emit_alloca(ptr @.str5403)
|
|
store ptr %t211, ptr %t212
|
|
call void @fn_emit(ptr @.str5404)
|
|
%t213 = load ptr, ptr %t212
|
|
call void @fn_emit(ptr %t213)
|
|
call void @fn_emit(ptr @.str5405)
|
|
%t214 = call ptr @fn_lbl(ptr @.str5406)
|
|
store ptr %t214, ptr %t215
|
|
%t216 = call ptr @fn_lbl(ptr @.str5407)
|
|
store ptr %t216, ptr %t217
|
|
%t218 = call ptr @fn_lbl(ptr @.str5408)
|
|
store ptr %t218, ptr %t219
|
|
call void @fn_emit(ptr @.str5409)
|
|
%t220 = load ptr, ptr %t215
|
|
call void @fn_emit(ptr %t220)
|
|
call void @fn_emit(ptr @.str5410)
|
|
%t221 = load ptr, ptr %t215
|
|
call void @fn_emit(ptr %t221)
|
|
call void @fn_emit(ptr @.str5411)
|
|
%t222 = load ptr, ptr %t212
|
|
%t223 = call ptr @fn_str_concat(ptr @.str5412, ptr %t222)
|
|
%t224 = call ptr @fn_emit_bind(ptr %t223)
|
|
store ptr %t224, ptr %t225
|
|
%t226 = load ptr, ptr %t18
|
|
%t227 = call ptr @fn_str_concat(ptr @.str5413, ptr %t226)
|
|
%t228 = call ptr @fn_emit_bind(ptr %t227)
|
|
store ptr %t228, ptr %t229
|
|
%t230 = load ptr, ptr %t225
|
|
%t231 = call ptr @fn_str_concat(ptr @.str5414, ptr %t230)
|
|
%t232 = call ptr @fn_str_concat(ptr %t231, ptr @.str5415)
|
|
%t233 = load ptr, ptr %t229
|
|
%t234 = call ptr @fn_str_concat(ptr %t232, ptr %t233)
|
|
%t235 = call ptr @fn_emit_bind(ptr %t234)
|
|
store ptr %t235, ptr %t236
|
|
call void @fn_emit(ptr @.str5416)
|
|
%t237 = load ptr, ptr %t236
|
|
call void @fn_emit(ptr %t237)
|
|
call void @fn_emit(ptr @.str5417)
|
|
%t238 = load ptr, ptr %t217
|
|
call void @fn_emit(ptr %t238)
|
|
call void @fn_emit(ptr @.str5418)
|
|
%t239 = load ptr, ptr %t219
|
|
call void @fn_emit(ptr %t239)
|
|
call void @fn_emit(ptr @.str5419)
|
|
%t240 = load ptr, ptr %t217
|
|
call void @fn_emit(ptr %t240)
|
|
call void @fn_emit(ptr @.str5420)
|
|
%t241 = call ptr @fn_nreg()
|
|
store ptr %t241, ptr %t242
|
|
call void @fn_emit(ptr @.str5421)
|
|
%t243 = load ptr, ptr %t242
|
|
call void @fn_emit(ptr %t243)
|
|
call void @fn_emit(ptr @.str5422)
|
|
%t244 = load ptr, ptr %t20
|
|
call void @fn_emit(ptr %t244)
|
|
call void @fn_emit(ptr @.str5423)
|
|
%t245 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t245)
|
|
call void @fn_emit(ptr @.str5424)
|
|
%t246 = load ptr, ptr %t225
|
|
call void @fn_emit(ptr %t246)
|
|
call void @fn_emit(ptr @.str5425)
|
|
%t247 = load ptr, ptr %t242
|
|
%t248 = call ptr @fn_str_concat(ptr @.str5426, ptr %t247)
|
|
%t249 = call ptr @fn_emit_bind(ptr %t248)
|
|
store ptr %t249, ptr %t250
|
|
%t251 = load ptr, ptr %t250
|
|
%t252 = call ptr @fn_str_concat(ptr @.str5427, ptr %t251)
|
|
%t253 = call ptr @fn_str_concat(ptr %t252, ptr @.str5428)
|
|
%t254 = call ptr @fn_emit_bind(ptr %t253)
|
|
store ptr %t254, ptr %t255
|
|
%t256 = call ptr @fn_lbl(ptr @.str5429)
|
|
store ptr %t256, ptr %t257
|
|
%t258 = call ptr @fn_lbl(ptr @.str5430)
|
|
store ptr %t258, ptr %t259
|
|
call void @fn_emit(ptr @.str5431)
|
|
%t260 = load ptr, ptr %t255
|
|
call void @fn_emit(ptr %t260)
|
|
call void @fn_emit(ptr @.str5432)
|
|
%t261 = load ptr, ptr %t259
|
|
call void @fn_emit(ptr %t261)
|
|
call void @fn_emit(ptr @.str5433)
|
|
%t262 = load ptr, ptr %t257
|
|
call void @fn_emit(ptr %t262)
|
|
call void @fn_emit(ptr @.str5434)
|
|
%t263 = load ptr, ptr %t257
|
|
call void @fn_emit(ptr %t263)
|
|
call void @fn_emit(ptr @.str5435)
|
|
call void @fn_emit(ptr @.str5436)
|
|
%t264 = load ptr, ptr %t250
|
|
call void @fn_emit(ptr %t264)
|
|
call void @fn_emit(ptr @.str5437)
|
|
%t265 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t265)
|
|
call void @fn_emit(ptr @.str5438)
|
|
call void @fn_emit(ptr @.str5439)
|
|
%t266 = load ptr, ptr %t259
|
|
call void @fn_emit(ptr %t266)
|
|
call void @fn_emit(ptr @.str5440)
|
|
%t267 = load ptr, ptr %t259
|
|
call void @fn_emit(ptr %t267)
|
|
call void @fn_emit(ptr @.str5441)
|
|
%t268 = load ptr, ptr %t225
|
|
%t269 = call ptr @fn_str_concat(ptr @.str5442, ptr %t268)
|
|
%t270 = call ptr @fn_str_concat(ptr %t269, ptr @.str5443)
|
|
%t271 = call ptr @fn_emit_bind(ptr %t270)
|
|
store ptr %t271, ptr %t272
|
|
call void @fn_emit(ptr @.str5444)
|
|
%t273 = load ptr, ptr %t272
|
|
call void @fn_emit(ptr %t273)
|
|
call void @fn_emit(ptr @.str5445)
|
|
%t274 = load ptr, ptr %t212
|
|
call void @fn_emit(ptr %t274)
|
|
call void @fn_emit(ptr @.str5446)
|
|
call void @fn_emit(ptr @.str5447)
|
|
%t275 = load ptr, ptr %t215
|
|
call void @fn_emit(ptr %t275)
|
|
call void @fn_emit(ptr @.str5448)
|
|
%t276 = load ptr, ptr %t219
|
|
call void @fn_emit(ptr %t276)
|
|
call void @fn_emit(ptr @.str5449)
|
|
call void @fn_emit(ptr @.str5450)
|
|
br label %ifend32
|
|
ifend32:
|
|
call void @fn_emit(ptr @.str5451)
|
|
call void @fn_emit(ptr @.str5452)
|
|
%t277 = load ptr, ptr %t14
|
|
%t278 = getelementptr inbounds %Cmp_Node, ptr %t277, i32 0, i32 2
|
|
%t279 = load i32, ptr %t278
|
|
%t280 = icmp eq i32 %t279, 1
|
|
%t281 = zext i1 %t280 to i32
|
|
%t282 = icmp ne i32 %t281, 0
|
|
br i1 %t282, label %then33, label %else34
|
|
then33:
|
|
%t283 = load ptr, ptr %t156
|
|
%t284 = call ptr @fn_str_concat(ptr @.str5453, ptr %t283)
|
|
%t285 = call ptr @fn_emit_bind(ptr %t284)
|
|
store ptr %t285, ptr %t286
|
|
call void @fn_emit(ptr @.str5454)
|
|
%t287 = load ptr, ptr %t286
|
|
call void @fn_emit(ptr %t287)
|
|
call void @fn_emit(ptr @.str5455)
|
|
br label %ifend35
|
|
else34:
|
|
call void @fn_emit(ptr @.str5456)
|
|
br label %ifend35
|
|
ifend35:
|
|
store ptr null, ptr @g_g_cancel_addr
|
|
%t288 = load ptr, ptr %t92
|
|
store ptr %t288, ptr @g_code
|
|
store ptr @.str5457, ptr %t289
|
|
%t290 = load ptr, ptr %t14
|
|
%t291 = getelementptr inbounds %Cmp_Node, ptr %t290, i32 0, i32 2
|
|
%t292 = load i32, ptr %t291
|
|
%t293 = icmp eq i32 %t292, 1
|
|
%t294 = zext i1 %t293 to i32
|
|
%t295 = icmp ne i32 %t294, 0
|
|
br i1 %t295, label %then36, label %ifend38
|
|
then36:
|
|
store ptr @.str5458, ptr %t289
|
|
br label %ifend38
|
|
ifend38:
|
|
call void @fn_emit(ptr @.str5459)
|
|
%t296 = load ptr, ptr %t289
|
|
call void @fn_emit(ptr %t296)
|
|
call void @fn_emit(ptr @.str5460)
|
|
%t297 = load ptr, ptr %t18
|
|
call void @fn_emit(ptr %t297)
|
|
call void @fn_emit(ptr @.str5461)
|
|
store i32 0, ptr %t298
|
|
br label %wcond39
|
|
wcond39:
|
|
%t299 = load i32, ptr %t298
|
|
%t300 = load ptr, ptr %t14
|
|
%t301 = getelementptr inbounds %Cmp_Node, ptr %t300, i32 0, i32 7
|
|
%t302 = load ptr, ptr %t301
|
|
%t303 = getelementptr inbounds %LSlice, ptr %t302, i32 0, i32 1
|
|
%t304 = load i32, ptr %t303
|
|
%t305 = icmp slt i32 %t299, %t304
|
|
%t306 = zext i1 %t305 to i32
|
|
%t307 = icmp ne i32 %t306, 0
|
|
br i1 %t307, label %wbody40, label %wend41
|
|
wbody40:
|
|
%t308 = load i32, ptr %t298
|
|
%t309 = icmp sgt i32 %t308, 0
|
|
%t310 = zext i1 %t309 to i32
|
|
%t311 = icmp ne i32 %t310, 0
|
|
br i1 %t311, label %then42, label %ifend44
|
|
then42:
|
|
call void @fn_emit(ptr @.str5462)
|
|
br label %ifend44
|
|
ifend44:
|
|
%t312 = load ptr, ptr %t14
|
|
%t313 = getelementptr inbounds %Cmp_Node, ptr %t312, i32 0, i32 7
|
|
%t314 = load ptr, ptr %t313
|
|
%t315 = getelementptr inbounds %LSlice, ptr %t314, i32 0, i32 0
|
|
%t316 = load ptr, ptr %t315
|
|
%t317 = load i32, ptr %t298
|
|
%t318 = getelementptr inbounds ptr, ptr %t316, i32 %t317
|
|
%t319 = load ptr, ptr %t318
|
|
%t320 = getelementptr inbounds %Cmp_Node, ptr %t319, i32 0, i32 3
|
|
%t321 = load ptr, ptr %t320
|
|
%t322 = call ptr @fn_llty(ptr %t321)
|
|
call void @fn_emit(ptr %t322)
|
|
call void @fn_emit(ptr @.str5463)
|
|
%t323 = load i32, ptr %t298
|
|
%t324 = call ptr @fn_itoa(i32 %t323)
|
|
call void @fn_emit(ptr %t324)
|
|
%t325 = load i32, ptr %t298
|
|
%t326 = add i32 %t325, 1
|
|
store i32 %t326, ptr %t298
|
|
br label %wcond39
|
|
wend41:
|
|
call void @fn_emit(ptr @.str5464)
|
|
%t327 = load ptr, ptr @g_falloc
|
|
%t328 = call ptr @fn_buf_str(ptr %t327)
|
|
call void @fn_emit(ptr %t328)
|
|
%t329 = load ptr, ptr %t89
|
|
%t330 = call ptr @fn_buf_str(ptr %t329)
|
|
call void @fn_emit(ptr %t330)
|
|
call void @fn_emit(ptr @.str5465)
|
|
%t331 = load i32, ptr %t0
|
|
%t332 = add i32 %t331, 1
|
|
store i32 %t332, ptr %t0
|
|
br label %wcond0
|
|
wend2:
|
|
%t333 = call ptr @fn_itoa(i32 16)
|
|
store ptr %t333, ptr %t334
|
|
call void @fn_emit(ptr @.str5466)
|
|
store i32 0, ptr %t335
|
|
br label %wcond45
|
|
wcond45:
|
|
%t336 = load i32, ptr %t335
|
|
%t337 = load ptr, ptr @g_g_events
|
|
%t338 = getelementptr inbounds %LSlice, ptr %t337, i32 0, i32 1
|
|
%t339 = load i32, ptr %t338
|
|
%t340 = icmp slt i32 %t336, %t339
|
|
%t341 = zext i1 %t340 to i32
|
|
%t342 = icmp ne i32 %t341, 0
|
|
br i1 %t342, label %wbody46, label %wend47
|
|
wbody46:
|
|
%t343 = load ptr, ptr @g_g_events
|
|
%t344 = getelementptr inbounds %LSlice, ptr %t343, i32 0, i32 0
|
|
%t345 = load ptr, ptr %t344
|
|
%t346 = load i32, ptr %t335
|
|
%t347 = getelementptr inbounds ptr, ptr %t345, i32 %t346
|
|
%t348 = load ptr, ptr %t347
|
|
%t349 = getelementptr inbounds %Cmp_Node, ptr %t348, i32 0, i32 1
|
|
%t350 = load ptr, ptr %t349
|
|
store ptr %t350, ptr %t351
|
|
%t352 = load i32, ptr %t335
|
|
%t353 = call ptr @fn_itoa(i32 %t352)
|
|
store ptr %t353, ptr %t354
|
|
call void @fn_emit(ptr @.str5467)
|
|
%t355 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t355)
|
|
call void @fn_emit(ptr @.str5468)
|
|
call void @fn_emit(ptr @.str5469)
|
|
%t356 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t356)
|
|
call void @fn_emit(ptr @.str5470)
|
|
call void @fn_emit(ptr @.str5471)
|
|
%t357 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t357)
|
|
call void @fn_emit(ptr @.str5472)
|
|
%t358 = load ptr, ptr %t351
|
|
call void @fn_emit(ptr %t358)
|
|
call void @fn_emit(ptr @.str5473)
|
|
call void @fn_emit(ptr @.str5474)
|
|
%t359 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t359)
|
|
call void @fn_emit(ptr @.str5475)
|
|
%t360 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t360)
|
|
call void @fn_emit(ptr @.str5476)
|
|
%t361 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t361)
|
|
call void @fn_emit(ptr @.str5477)
|
|
call void @fn_emit(ptr @.str5478)
|
|
%t362 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t362)
|
|
call void @fn_emit(ptr @.str5479)
|
|
%t363 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t363)
|
|
call void @fn_emit(ptr @.str5480)
|
|
%t364 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t364)
|
|
call void @fn_emit(ptr @.str5481)
|
|
call void @fn_emit(ptr @.str5482)
|
|
%t365 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t365)
|
|
call void @fn_emit(ptr @.str5483)
|
|
call void @fn_emit(ptr @.str5484)
|
|
%t366 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t366)
|
|
call void @fn_emit(ptr @.str5485)
|
|
%t367 = load ptr, ptr %t334
|
|
call void @fn_emit(ptr %t367)
|
|
call void @fn_emit(ptr @.str5486)
|
|
%t368 = load ptr, ptr %t351
|
|
call void @fn_emit(ptr %t368)
|
|
call void @fn_emit(ptr @.str5487)
|
|
%t369 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t369)
|
|
call void @fn_emit(ptr @.str5488)
|
|
call void @fn_emit(ptr @.str5489)
|
|
%t370 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t370)
|
|
call void @fn_emit(ptr @.str5490)
|
|
%t371 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t371)
|
|
call void @fn_emit(ptr @.str5491)
|
|
call void @fn_emit(ptr @.str5492)
|
|
%t372 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t372)
|
|
call void @fn_emit(ptr @.str5493)
|
|
%t373 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t373)
|
|
call void @fn_emit(ptr @.str5494)
|
|
call void @fn_emit(ptr @.str5495)
|
|
%t374 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t374)
|
|
call void @fn_emit(ptr @.str5496)
|
|
%t375 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t375)
|
|
call void @fn_emit(ptr @.str5497)
|
|
%t376 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t376)
|
|
call void @fn_emit(ptr @.str5498)
|
|
call void @fn_emit(ptr @.str5499)
|
|
%t377 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t377)
|
|
call void @fn_emit(ptr @.str5500)
|
|
call void @fn_emit(ptr @.str5501)
|
|
%t378 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t378)
|
|
call void @fn_emit(ptr @.str5502)
|
|
%t379 = load ptr, ptr %t334
|
|
call void @fn_emit(ptr %t379)
|
|
call void @fn_emit(ptr @.str5503)
|
|
%t380 = load ptr, ptr %t351
|
|
call void @fn_emit(ptr %t380)
|
|
call void @fn_emit(ptr @.str5504)
|
|
%t381 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t381)
|
|
call void @fn_emit(ptr @.str5505)
|
|
call void @fn_emit(ptr @.str5506)
|
|
%t382 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t382)
|
|
call void @fn_emit(ptr @.str5507)
|
|
%t383 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t383)
|
|
call void @fn_emit(ptr @.str5508)
|
|
call void @fn_emit(ptr @.str5509)
|
|
%t384 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t384)
|
|
call void @fn_emit(ptr @.str5510)
|
|
call void @fn_emit(ptr @.str5511)
|
|
%t385 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t385)
|
|
call void @fn_emit(ptr @.str5512)
|
|
%t386 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t386)
|
|
call void @fn_emit(ptr @.str5513)
|
|
%t387 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t387)
|
|
call void @fn_emit(ptr @.str5514)
|
|
%t388 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t388)
|
|
call void @fn_emit(ptr @.str5515)
|
|
call void @fn_emit(ptr @.str5516)
|
|
%t389 = load ptr, ptr %t354
|
|
call void @fn_emit(ptr %t389)
|
|
call void @fn_emit(ptr @.str5517)
|
|
%t390 = load i32, ptr %t335
|
|
%t391 = add i32 %t390, 1
|
|
%t392 = load ptr, ptr @g_g_events
|
|
%t393 = getelementptr inbounds %LSlice, ptr %t392, i32 0, i32 1
|
|
%t394 = load i32, ptr %t393
|
|
%t395 = icmp slt i32 %t391, %t394
|
|
%t396 = zext i1 %t395 to i32
|
|
%t397 = icmp ne i32 %t396, 0
|
|
br i1 %t397, label %then48, label %else49
|
|
then48:
|
|
call void @fn_emit(ptr @.str5518)
|
|
%t398 = load i32, ptr %t335
|
|
%t399 = add i32 %t398, 1
|
|
%t400 = call ptr @fn_itoa(i32 %t399)
|
|
call void @fn_emit(ptr %t400)
|
|
call void @fn_emit(ptr @.str5519)
|
|
br label %ifend50
|
|
else49:
|
|
call void @fn_emit(ptr @.str5520)
|
|
br label %ifend50
|
|
ifend50:
|
|
%t401 = load i32, ptr %t335
|
|
%t402 = add i32 %t401, 1
|
|
store i32 %t402, ptr %t335
|
|
br label %wcond45
|
|
wend47:
|
|
call void @fn_emit(ptr @.str5521)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_world_table() {
|
|
entry:
|
|
%t1 = alloca ptr
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
%t28 = alloca ptr
|
|
%t29 = alloca i32
|
|
%t30 = alloca i32
|
|
%t58 = alloca ptr
|
|
%t61 = alloca ptr
|
|
%t101 = alloca ptr
|
|
%t104 = alloca ptr
|
|
%t111 = alloca i32
|
|
%t132 = alloca ptr
|
|
%t138 = alloca ptr
|
|
%t181 = alloca ptr
|
|
%t185 = alloca ptr
|
|
%t188 = alloca ptr
|
|
%t199 = alloca i32
|
|
%t220 = alloca ptr
|
|
%t226 = alloca ptr
|
|
%t293 = alloca ptr
|
|
%t297 = alloca ptr
|
|
%t300 = alloca ptr
|
|
%t311 = alloca i32
|
|
%t332 = alloca ptr
|
|
%t338 = alloca ptr
|
|
%t401 = alloca ptr
|
|
%t404 = alloca ptr
|
|
%t459 = alloca ptr
|
|
%t462 = alloca ptr
|
|
%t512 = alloca ptr
|
|
%t514 = alloca ptr
|
|
%t517 = alloca ptr
|
|
%t520 = alloca ptr
|
|
%t526 = alloca ptr
|
|
%t562 = alloca ptr
|
|
%t565 = alloca ptr
|
|
%t0 = call ptr @fn_itoa(i32 1024)
|
|
store ptr %t0, ptr %t1
|
|
call void @fn_emith(ptr @.str5522)
|
|
store i32 0, ptr %t2
|
|
store i32 0, ptr %t3
|
|
br label %wcond0
|
|
wcond0:
|
|
%t4 = load i32, ptr %t3
|
|
%t5 = load ptr, ptr @g_prog
|
|
%t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1
|
|
%t7 = load i32, ptr %t6
|
|
%t8 = icmp slt i32 %t4, %t7
|
|
%t9 = zext i1 %t8 to i32
|
|
%t10 = icmp ne i32 %t9, 0
|
|
br i1 %t10, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t11 = load ptr, ptr @g_prog
|
|
%t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = load i32, ptr %t3
|
|
%t15 = getelementptr inbounds ptr, ptr %t13, i32 %t14
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0
|
|
%t18 = load i32, ptr %t17
|
|
%t19 = icmp eq i32 %t18, 8
|
|
%t20 = zext i1 %t19 to i32
|
|
%t21 = icmp ne i32 %t20, 0
|
|
br i1 %t21, label %then3, label %ifend5
|
|
then3:
|
|
%t22 = load i32, ptr %t2
|
|
%t23 = add i32 %t22, 1
|
|
store i32 %t23, ptr %t2
|
|
br label %ifend5
|
|
ifend5:
|
|
%t24 = load i32, ptr %t3
|
|
%t25 = add i32 %t24, 1
|
|
store i32 %t25, ptr %t3
|
|
br label %wcond0
|
|
wend2:
|
|
%t26 = load i32, ptr %t2
|
|
%t27 = call ptr @fn_itoa(i32 %t26)
|
|
store ptr %t27, ptr %t28
|
|
call void @fn_emith(ptr @.str5523)
|
|
call void @fn_emith(ptr @.str5524)
|
|
call void @fn_emith(ptr @.str5525)
|
|
call void @fn_emith(ptr @.str5526)
|
|
call void @fn_emith(ptr @.str5527)
|
|
call void @fn_emit(ptr @.str5528)
|
|
store i32 0, ptr %t29
|
|
store i32 0, ptr %t30
|
|
br label %wcond6
|
|
wcond6:
|
|
%t31 = load i32, ptr %t30
|
|
%t32 = load ptr, ptr @g_prog
|
|
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 1
|
|
%t34 = load i32, ptr %t33
|
|
%t35 = icmp slt i32 %t31, %t34
|
|
%t36 = zext i1 %t35 to i32
|
|
%t37 = icmp ne i32 %t36, 0
|
|
br i1 %t37, label %wbody7, label %wend8
|
|
wbody7:
|
|
%t38 = load ptr, ptr @g_prog
|
|
%t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = load i32, ptr %t30
|
|
%t42 = getelementptr inbounds ptr, ptr %t40, i32 %t41
|
|
%t43 = load ptr, ptr %t42
|
|
%t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 0
|
|
%t45 = load i32, ptr %t44
|
|
%t46 = icmp eq i32 %t45, 8
|
|
%t47 = zext i1 %t46 to i32
|
|
%t48 = icmp ne i32 %t47, 0
|
|
br i1 %t48, label %then9, label %ifend11
|
|
then9:
|
|
%t49 = load ptr, ptr @g_prog
|
|
%t50 = getelementptr inbounds %LSlice, ptr %t49, i32 0, i32 0
|
|
%t51 = load ptr, ptr %t50
|
|
%t52 = load i32, ptr %t30
|
|
%t53 = getelementptr inbounds ptr, ptr %t51, i32 %t52
|
|
%t54 = load ptr, ptr %t53
|
|
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 1
|
|
%t56 = load ptr, ptr %t55
|
|
%t57 = call ptr @fn_emit_str_const(ptr %t56)
|
|
store ptr %t57, ptr %t58
|
|
%t59 = load i32, ptr %t29
|
|
%t60 = call ptr @fn_itoa(i32 %t59)
|
|
store ptr %t60, ptr %t61
|
|
call void @fn_emit(ptr @.str5529)
|
|
%t62 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t62)
|
|
call void @fn_emit(ptr @.str5530)
|
|
%t63 = load ptr, ptr %t58
|
|
call void @fn_emit(ptr %t63)
|
|
call void @fn_emit(ptr @.str5531)
|
|
call void @fn_emit(ptr @.str5532)
|
|
%t64 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t64)
|
|
call void @fn_emit(ptr @.str5533)
|
|
%t65 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t65)
|
|
call void @fn_emit(ptr @.str5534)
|
|
call void @fn_emit(ptr @.str5535)
|
|
%t66 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t66)
|
|
call void @fn_emit(ptr @.str5536)
|
|
%t67 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t67)
|
|
call void @fn_emit(ptr @.str5537)
|
|
%t68 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t68)
|
|
call void @fn_emit(ptr @.str5538)
|
|
call void @fn_emit(ptr @.str5539)
|
|
%t69 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t69)
|
|
call void @fn_emit(ptr @.str5540)
|
|
%t70 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t70)
|
|
call void @fn_emit(ptr @.str5541)
|
|
call void @fn_emit(ptr @.str5542)
|
|
%t71 = load ptr, ptr %t61
|
|
call void @fn_emit(ptr %t71)
|
|
call void @fn_emit(ptr @.str5543)
|
|
%t72 = load i32, ptr %t29
|
|
%t73 = add i32 %t72, 1
|
|
store i32 %t73, ptr %t29
|
|
br label %ifend11
|
|
ifend11:
|
|
%t74 = load i32, ptr %t30
|
|
%t75 = add i32 %t74, 1
|
|
store i32 %t75, ptr %t30
|
|
br label %wcond6
|
|
wend8:
|
|
call void @fn_emit(ptr @.str5544)
|
|
call void @fn_emit(ptr @.str5545)
|
|
call void @fn_emit(ptr @.str5546)
|
|
call void @fn_emit(ptr @.str5547)
|
|
%t76 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t76)
|
|
call void @fn_emit(ptr @.str5548)
|
|
call void @fn_emit(ptr @.str5549)
|
|
call void @fn_emit(ptr @.str5550)
|
|
call void @fn_emit(ptr @.str5551)
|
|
store i32 0, ptr %t29
|
|
store i32 0, ptr %t30
|
|
br label %wcond12
|
|
wcond12:
|
|
%t77 = load i32, ptr %t30
|
|
%t78 = load ptr, ptr @g_prog
|
|
%t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 1
|
|
%t80 = load i32, ptr %t79
|
|
%t81 = icmp slt i32 %t77, %t80
|
|
%t82 = zext i1 %t81 to i32
|
|
%t83 = icmp ne i32 %t82, 0
|
|
br i1 %t83, label %wbody13, label %wend14
|
|
wbody13:
|
|
%t84 = load ptr, ptr @g_prog
|
|
%t85 = getelementptr inbounds %LSlice, ptr %t84, i32 0, i32 0
|
|
%t86 = load ptr, ptr %t85
|
|
%t87 = load i32, ptr %t30
|
|
%t88 = getelementptr inbounds ptr, ptr %t86, i32 %t87
|
|
%t89 = load ptr, ptr %t88
|
|
%t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 0
|
|
%t91 = load i32, ptr %t90
|
|
%t92 = icmp eq i32 %t91, 8
|
|
%t93 = zext i1 %t92 to i32
|
|
%t94 = icmp ne i32 %t93, 0
|
|
br i1 %t94, label %then15, label %ifend17
|
|
then15:
|
|
%t95 = load ptr, ptr @g_prog
|
|
%t96 = getelementptr inbounds %LSlice, ptr %t95, i32 0, i32 0
|
|
%t97 = load ptr, ptr %t96
|
|
%t98 = load i32, ptr %t30
|
|
%t99 = getelementptr inbounds ptr, ptr %t97, i32 %t98
|
|
%t100 = load ptr, ptr %t99
|
|
store ptr %t100, ptr %t101
|
|
%t102 = load i32, ptr %t29
|
|
%t103 = call ptr @fn_itoa(i32 %t102)
|
|
store ptr %t103, ptr %t104
|
|
call void @fn_emit(ptr @.str5552)
|
|
%t105 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t105)
|
|
call void @fn_emit(ptr @.str5553)
|
|
%t106 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t106)
|
|
call void @fn_emit(ptr @.str5554)
|
|
call void @fn_emit(ptr @.str5555)
|
|
%t107 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t107)
|
|
call void @fn_emit(ptr @.str5556)
|
|
%t108 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t108)
|
|
call void @fn_emit(ptr @.str5557)
|
|
%t109 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t109)
|
|
call void @fn_emit(ptr @.str5558)
|
|
call void @fn_emit(ptr @.str5559)
|
|
%t110 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t110)
|
|
call void @fn_emit(ptr @.str5560)
|
|
store i32 0, ptr %t111
|
|
br label %wcond18
|
|
wcond18:
|
|
%t112 = load i32, ptr %t111
|
|
%t113 = load ptr, ptr %t101
|
|
%t114 = getelementptr inbounds %Cmp_Node, ptr %t113, i32 0, i32 7
|
|
%t115 = load ptr, ptr %t114
|
|
%t116 = getelementptr inbounds %LSlice, ptr %t115, i32 0, i32 1
|
|
%t117 = load i32, ptr %t116
|
|
%t118 = icmp slt i32 %t112, %t117
|
|
%t119 = zext i1 %t118 to i32
|
|
%t120 = icmp ne i32 %t119, 0
|
|
br i1 %t120, label %wbody19, label %wend20
|
|
wbody19:
|
|
%t121 = load ptr, ptr %t101
|
|
%t122 = getelementptr inbounds %Cmp_Node, ptr %t121, i32 0, i32 7
|
|
%t123 = load ptr, ptr %t122
|
|
%t124 = getelementptr inbounds %LSlice, ptr %t123, i32 0, i32 0
|
|
%t125 = load ptr, ptr %t124
|
|
%t126 = load i32, ptr %t111
|
|
%t127 = getelementptr inbounds ptr, ptr %t125, i32 %t126
|
|
%t128 = load ptr, ptr %t127
|
|
%t129 = getelementptr inbounds %Cmp_Node, ptr %t128, i32 0, i32 1
|
|
%t130 = load ptr, ptr %t129
|
|
%t131 = call ptr @fn_emit_str_const(ptr %t130)
|
|
store ptr %t131, ptr %t132
|
|
%t133 = load ptr, ptr %t104
|
|
%t134 = call ptr @fn_str_concat(ptr %t133, ptr @.str5561)
|
|
%t135 = load i32, ptr %t111
|
|
%t136 = call ptr @fn_itoa(i32 %t135)
|
|
%t137 = call ptr @fn_str_concat(ptr %t134, ptr %t136)
|
|
store ptr %t137, ptr %t138
|
|
call void @fn_emit(ptr @.str5562)
|
|
%t139 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t139)
|
|
call void @fn_emit(ptr @.str5563)
|
|
%t140 = load ptr, ptr %t132
|
|
call void @fn_emit(ptr %t140)
|
|
call void @fn_emit(ptr @.str5564)
|
|
call void @fn_emit(ptr @.str5565)
|
|
%t141 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t141)
|
|
call void @fn_emit(ptr @.str5566)
|
|
%t142 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t142)
|
|
call void @fn_emit(ptr @.str5567)
|
|
call void @fn_emit(ptr @.str5568)
|
|
%t143 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t143)
|
|
call void @fn_emit(ptr @.str5569)
|
|
%t144 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t144)
|
|
call void @fn_emit(ptr @.str5570)
|
|
%t145 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t145)
|
|
call void @fn_emit(ptr @.str5571)
|
|
call void @fn_emit(ptr @.str5572)
|
|
%t146 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t146)
|
|
call void @fn_emit(ptr @.str5573)
|
|
%t147 = load i32, ptr %t111
|
|
%t148 = call ptr @fn_itoa(i32 %t147)
|
|
call void @fn_emit(ptr %t148)
|
|
call void @fn_emit(ptr @.str5574)
|
|
call void @fn_emit(ptr @.str5575)
|
|
%t149 = load ptr, ptr %t138
|
|
call void @fn_emit(ptr %t149)
|
|
call void @fn_emit(ptr @.str5576)
|
|
%t150 = load i32, ptr %t111
|
|
%t151 = add i32 %t150, 1
|
|
store i32 %t151, ptr %t111
|
|
br label %wcond18
|
|
wend20:
|
|
call void @fn_emit(ptr @.str5577)
|
|
call void @fn_emit(ptr @.str5578)
|
|
%t152 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t152)
|
|
call void @fn_emit(ptr @.str5579)
|
|
%t153 = load i32, ptr %t29
|
|
%t154 = add i32 %t153, 1
|
|
store i32 %t154, ptr %t29
|
|
br label %ifend17
|
|
ifend17:
|
|
%t155 = load i32, ptr %t30
|
|
%t156 = add i32 %t155, 1
|
|
store i32 %t156, ptr %t30
|
|
br label %wcond12
|
|
wend14:
|
|
call void @fn_emit(ptr @.str5580)
|
|
call void @fn_emit(ptr @.str5581)
|
|
store i32 0, ptr %t29
|
|
store i32 0, ptr %t30
|
|
br label %wcond21
|
|
wcond21:
|
|
%t157 = load i32, ptr %t30
|
|
%t158 = load ptr, ptr @g_prog
|
|
%t159 = getelementptr inbounds %LSlice, ptr %t158, i32 0, i32 1
|
|
%t160 = load i32, ptr %t159
|
|
%t161 = icmp slt i32 %t157, %t160
|
|
%t162 = zext i1 %t161 to i32
|
|
%t163 = icmp ne i32 %t162, 0
|
|
br i1 %t163, label %wbody22, label %wend23
|
|
wbody22:
|
|
%t164 = load ptr, ptr @g_prog
|
|
%t165 = getelementptr inbounds %LSlice, ptr %t164, i32 0, i32 0
|
|
%t166 = load ptr, ptr %t165
|
|
%t167 = load i32, ptr %t30
|
|
%t168 = getelementptr inbounds ptr, ptr %t166, i32 %t167
|
|
%t169 = load ptr, ptr %t168
|
|
%t170 = getelementptr inbounds %Cmp_Node, ptr %t169, i32 0, i32 0
|
|
%t171 = load i32, ptr %t170
|
|
%t172 = icmp eq i32 %t171, 8
|
|
%t173 = zext i1 %t172 to i32
|
|
%t174 = icmp ne i32 %t173, 0
|
|
br i1 %t174, label %then24, label %ifend26
|
|
then24:
|
|
%t175 = load ptr, ptr @g_prog
|
|
%t176 = getelementptr inbounds %LSlice, ptr %t175, i32 0, i32 0
|
|
%t177 = load ptr, ptr %t176
|
|
%t178 = load i32, ptr %t30
|
|
%t179 = getelementptr inbounds ptr, ptr %t177, i32 %t178
|
|
%t180 = load ptr, ptr %t179
|
|
store ptr %t180, ptr %t181
|
|
%t182 = load ptr, ptr %t181
|
|
%t183 = getelementptr inbounds %Cmp_Node, ptr %t182, i32 0, i32 1
|
|
%t184 = load ptr, ptr %t183
|
|
store ptr %t184, ptr %t185
|
|
%t186 = load i32, ptr %t29
|
|
%t187 = call ptr @fn_itoa(i32 %t186)
|
|
store ptr %t187, ptr %t188
|
|
call void @fn_emit(ptr @.str5582)
|
|
%t189 = load ptr, ptr %t188
|
|
call void @fn_emit(ptr %t189)
|
|
call void @fn_emit(ptr @.str5583)
|
|
%t190 = load ptr, ptr %t188
|
|
call void @fn_emit(ptr %t190)
|
|
call void @fn_emit(ptr @.str5584)
|
|
call void @fn_emit(ptr @.str5585)
|
|
%t191 = load ptr, ptr %t188
|
|
call void @fn_emit(ptr %t191)
|
|
call void @fn_emit(ptr @.str5586)
|
|
%t192 = load ptr, ptr %t188
|
|
call void @fn_emit(ptr %t192)
|
|
call void @fn_emit(ptr @.str5587)
|
|
%t193 = load ptr, ptr %t188
|
|
call void @fn_emit(ptr %t193)
|
|
call void @fn_emit(ptr @.str5588)
|
|
call void @fn_emit(ptr @.str5589)
|
|
%t194 = load ptr, ptr %t188
|
|
call void @fn_emit(ptr %t194)
|
|
call void @fn_emit(ptr @.str5590)
|
|
call void @fn_emit(ptr @.str5591)
|
|
%t195 = load ptr, ptr %t188
|
|
call void @fn_emit(ptr %t195)
|
|
call void @fn_emit(ptr @.str5592)
|
|
%t196 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t196)
|
|
call void @fn_emit(ptr @.str5593)
|
|
%t197 = load ptr, ptr %t185
|
|
call void @fn_emit(ptr %t197)
|
|
call void @fn_emit(ptr @.str5594)
|
|
%t198 = load ptr, ptr %t185
|
|
call void @fn_emit(ptr %t198)
|
|
call void @fn_emit(ptr @.str5595)
|
|
store i32 0, ptr %t199
|
|
br label %wcond27
|
|
wcond27:
|
|
%t200 = load i32, ptr %t199
|
|
%t201 = load ptr, ptr %t181
|
|
%t202 = getelementptr inbounds %Cmp_Node, ptr %t201, i32 0, i32 7
|
|
%t203 = load ptr, ptr %t202
|
|
%t204 = getelementptr inbounds %LSlice, ptr %t203, i32 0, i32 1
|
|
%t205 = load i32, ptr %t204
|
|
%t206 = icmp slt i32 %t200, %t205
|
|
%t207 = zext i1 %t206 to i32
|
|
%t208 = icmp ne i32 %t207, 0
|
|
br i1 %t208, label %wbody28, label %wend29
|
|
wbody28:
|
|
%t209 = load ptr, ptr %t181
|
|
%t210 = getelementptr inbounds %Cmp_Node, ptr %t209, i32 0, i32 7
|
|
%t211 = load ptr, ptr %t210
|
|
%t212 = getelementptr inbounds %LSlice, ptr %t211, i32 0, i32 0
|
|
%t213 = load ptr, ptr %t212
|
|
%t214 = load i32, ptr %t199
|
|
%t215 = getelementptr inbounds ptr, ptr %t213, i32 %t214
|
|
%t216 = load ptr, ptr %t215
|
|
%t217 = getelementptr inbounds %Cmp_Node, ptr %t216, i32 0, i32 3
|
|
%t218 = load ptr, ptr %t217
|
|
%t219 = call ptr @fn_llty(ptr %t218)
|
|
store ptr %t219, ptr %t220
|
|
%t221 = load ptr, ptr %t188
|
|
%t222 = call ptr @fn_str_concat(ptr %t221, ptr @.str5596)
|
|
%t223 = load i32, ptr %t199
|
|
%t224 = call ptr @fn_itoa(i32 %t223)
|
|
%t225 = call ptr @fn_str_concat(ptr %t222, ptr %t224)
|
|
store ptr %t225, ptr %t226
|
|
call void @fn_emit(ptr @.str5597)
|
|
%t227 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t227)
|
|
call void @fn_emit(ptr @.str5598)
|
|
%t228 = load i32, ptr %t199
|
|
%t229 = call ptr @fn_itoa(i32 %t228)
|
|
call void @fn_emit(ptr %t229)
|
|
call void @fn_emit(ptr @.str5599)
|
|
call void @fn_emit(ptr @.str5600)
|
|
%t230 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t230)
|
|
call void @fn_emit(ptr @.str5601)
|
|
%t231 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t231)
|
|
call void @fn_emit(ptr @.str5602)
|
|
%t232 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t232)
|
|
call void @fn_emit(ptr @.str5603)
|
|
call void @fn_emit(ptr @.str5604)
|
|
%t233 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t233)
|
|
call void @fn_emit(ptr @.str5605)
|
|
call void @fn_emit(ptr @.str5606)
|
|
%t234 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t234)
|
|
call void @fn_emit(ptr @.str5607)
|
|
%t235 = load ptr, ptr %t185
|
|
call void @fn_emit(ptr %t235)
|
|
call void @fn_emit(ptr @.str5608)
|
|
%t236 = load ptr, ptr %t188
|
|
call void @fn_emit(ptr %t236)
|
|
call void @fn_emit(ptr @.str5609)
|
|
%t237 = load i32, ptr %t199
|
|
%t238 = call ptr @fn_itoa(i32 %t237)
|
|
call void @fn_emit(ptr %t238)
|
|
call void @fn_emit(ptr @.str5610)
|
|
%t239 = load ptr, ptr %t220
|
|
%t240 = call i32 @fn_str_eq(ptr %t239, ptr @.str5611)
|
|
%t241 = icmp ne i32 %t240, 0
|
|
br i1 %t241, label %then30, label %else31
|
|
then30:
|
|
call void @fn_emit(ptr @.str5612)
|
|
%t242 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t242)
|
|
call void @fn_emit(ptr @.str5613)
|
|
%t243 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t243)
|
|
call void @fn_emit(ptr @.str5614)
|
|
call void @fn_emit(ptr @.str5615)
|
|
%t244 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t244)
|
|
call void @fn_emit(ptr @.str5616)
|
|
%t245 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t245)
|
|
call void @fn_emit(ptr @.str5617)
|
|
%t246 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t246)
|
|
call void @fn_emit(ptr @.str5618)
|
|
br label %ifend32
|
|
else31:
|
|
%t247 = load ptr, ptr %t220
|
|
%t248 = call i32 @fn_str_eq(ptr %t247, ptr @.str5619)
|
|
%t249 = icmp ne i32 %t248, 0
|
|
br i1 %t249, label %then33, label %else34
|
|
then33:
|
|
call void @fn_emit(ptr @.str5620)
|
|
%t250 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t250)
|
|
call void @fn_emit(ptr @.str5621)
|
|
%t251 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t251)
|
|
call void @fn_emit(ptr @.str5622)
|
|
call void @fn_emit(ptr @.str5623)
|
|
%t252 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t252)
|
|
call void @fn_emit(ptr @.str5624)
|
|
%t253 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t253)
|
|
call void @fn_emit(ptr @.str5625)
|
|
%t254 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t254)
|
|
call void @fn_emit(ptr @.str5626)
|
|
br label %ifend35
|
|
else34:
|
|
call void @fn_emit(ptr @.str5627)
|
|
%t255 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t255)
|
|
call void @fn_emit(ptr @.str5628)
|
|
%t256 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t256)
|
|
call void @fn_emit(ptr @.str5629)
|
|
call void @fn_emit(ptr @.str5630)
|
|
%t257 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t257)
|
|
call void @fn_emit(ptr @.str5631)
|
|
%t258 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t258)
|
|
call void @fn_emit(ptr @.str5632)
|
|
%t259 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t259)
|
|
call void @fn_emit(ptr @.str5633)
|
|
br label %ifend35
|
|
ifend35:
|
|
br label %ifend32
|
|
ifend32:
|
|
call void @fn_emit(ptr @.str5634)
|
|
%t260 = load ptr, ptr %t226
|
|
call void @fn_emit(ptr %t260)
|
|
call void @fn_emit(ptr @.str5635)
|
|
%t261 = load i32, ptr %t199
|
|
%t262 = add i32 %t261, 1
|
|
store i32 %t262, ptr %t199
|
|
br label %wcond27
|
|
wend29:
|
|
call void @fn_emit(ptr @.str5636)
|
|
call void @fn_emit(ptr @.str5637)
|
|
%t263 = load ptr, ptr %t188
|
|
call void @fn_emit(ptr %t263)
|
|
call void @fn_emit(ptr @.str5638)
|
|
%t264 = load i32, ptr %t29
|
|
%t265 = add i32 %t264, 1
|
|
store i32 %t265, ptr %t29
|
|
br label %ifend26
|
|
ifend26:
|
|
%t266 = load i32, ptr %t30
|
|
%t267 = add i32 %t266, 1
|
|
store i32 %t267, ptr %t30
|
|
br label %wcond21
|
|
wend23:
|
|
call void @fn_emit(ptr @.str5639)
|
|
%t268 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t268)
|
|
call void @fn_emit(ptr @.str5640)
|
|
call void @fn_emit(ptr @.str5641)
|
|
call void @fn_emit(ptr @.str5642)
|
|
call void @fn_emit(ptr @.str5643)
|
|
call void @fn_emit(ptr @.str5644)
|
|
call void @fn_emit(ptr @.str5645)
|
|
call void @fn_emit(ptr @.str5646)
|
|
store i32 0, ptr %t29
|
|
store i32 0, ptr %t30
|
|
br label %wcond36
|
|
wcond36:
|
|
%t269 = load i32, ptr %t30
|
|
%t270 = load ptr, ptr @g_prog
|
|
%t271 = getelementptr inbounds %LSlice, ptr %t270, i32 0, i32 1
|
|
%t272 = load i32, ptr %t271
|
|
%t273 = icmp slt i32 %t269, %t272
|
|
%t274 = zext i1 %t273 to i32
|
|
%t275 = icmp ne i32 %t274, 0
|
|
br i1 %t275, label %wbody37, label %wend38
|
|
wbody37:
|
|
%t276 = load ptr, ptr @g_prog
|
|
%t277 = getelementptr inbounds %LSlice, ptr %t276, i32 0, i32 0
|
|
%t278 = load ptr, ptr %t277
|
|
%t279 = load i32, ptr %t30
|
|
%t280 = getelementptr inbounds ptr, ptr %t278, i32 %t279
|
|
%t281 = load ptr, ptr %t280
|
|
%t282 = getelementptr inbounds %Cmp_Node, ptr %t281, i32 0, i32 0
|
|
%t283 = load i32, ptr %t282
|
|
%t284 = icmp eq i32 %t283, 8
|
|
%t285 = zext i1 %t284 to i32
|
|
%t286 = icmp ne i32 %t285, 0
|
|
br i1 %t286, label %then39, label %ifend41
|
|
then39:
|
|
%t287 = load ptr, ptr @g_prog
|
|
%t288 = getelementptr inbounds %LSlice, ptr %t287, i32 0, i32 0
|
|
%t289 = load ptr, ptr %t288
|
|
%t290 = load i32, ptr %t30
|
|
%t291 = getelementptr inbounds ptr, ptr %t289, i32 %t290
|
|
%t292 = load ptr, ptr %t291
|
|
store ptr %t292, ptr %t293
|
|
%t294 = load ptr, ptr %t293
|
|
%t295 = getelementptr inbounds %Cmp_Node, ptr %t294, i32 0, i32 1
|
|
%t296 = load ptr, ptr %t295
|
|
store ptr %t296, ptr %t297
|
|
%t298 = load i32, ptr %t29
|
|
%t299 = call ptr @fn_itoa(i32 %t298)
|
|
store ptr %t299, ptr %t300
|
|
call void @fn_emit(ptr @.str5647)
|
|
%t301 = load ptr, ptr %t300
|
|
call void @fn_emit(ptr %t301)
|
|
call void @fn_emit(ptr @.str5648)
|
|
%t302 = load ptr, ptr %t300
|
|
call void @fn_emit(ptr %t302)
|
|
call void @fn_emit(ptr @.str5649)
|
|
call void @fn_emit(ptr @.str5650)
|
|
%t303 = load ptr, ptr %t300
|
|
call void @fn_emit(ptr %t303)
|
|
call void @fn_emit(ptr @.str5651)
|
|
%t304 = load ptr, ptr %t300
|
|
call void @fn_emit(ptr %t304)
|
|
call void @fn_emit(ptr @.str5652)
|
|
%t305 = load ptr, ptr %t300
|
|
call void @fn_emit(ptr %t305)
|
|
call void @fn_emit(ptr @.str5653)
|
|
call void @fn_emit(ptr @.str5654)
|
|
%t306 = load ptr, ptr %t300
|
|
call void @fn_emit(ptr %t306)
|
|
call void @fn_emit(ptr @.str5655)
|
|
call void @fn_emit(ptr @.str5656)
|
|
%t307 = load ptr, ptr %t300
|
|
call void @fn_emit(ptr %t307)
|
|
call void @fn_emit(ptr @.str5657)
|
|
%t308 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t308)
|
|
call void @fn_emit(ptr @.str5658)
|
|
%t309 = load ptr, ptr %t297
|
|
call void @fn_emit(ptr %t309)
|
|
call void @fn_emit(ptr @.str5659)
|
|
%t310 = load ptr, ptr %t297
|
|
call void @fn_emit(ptr %t310)
|
|
call void @fn_emit(ptr @.str5660)
|
|
store i32 0, ptr %t311
|
|
br label %wcond42
|
|
wcond42:
|
|
%t312 = load i32, ptr %t311
|
|
%t313 = load ptr, ptr %t293
|
|
%t314 = getelementptr inbounds %Cmp_Node, ptr %t313, i32 0, i32 7
|
|
%t315 = load ptr, ptr %t314
|
|
%t316 = getelementptr inbounds %LSlice, ptr %t315, i32 0, i32 1
|
|
%t317 = load i32, ptr %t316
|
|
%t318 = icmp slt i32 %t312, %t317
|
|
%t319 = zext i1 %t318 to i32
|
|
%t320 = icmp ne i32 %t319, 0
|
|
br i1 %t320, label %wbody43, label %wend44
|
|
wbody43:
|
|
%t321 = load ptr, ptr %t293
|
|
%t322 = getelementptr inbounds %Cmp_Node, ptr %t321, i32 0, i32 7
|
|
%t323 = load ptr, ptr %t322
|
|
%t324 = getelementptr inbounds %LSlice, ptr %t323, i32 0, i32 0
|
|
%t325 = load ptr, ptr %t324
|
|
%t326 = load i32, ptr %t311
|
|
%t327 = getelementptr inbounds ptr, ptr %t325, i32 %t326
|
|
%t328 = load ptr, ptr %t327
|
|
%t329 = getelementptr inbounds %Cmp_Node, ptr %t328, i32 0, i32 3
|
|
%t330 = load ptr, ptr %t329
|
|
%t331 = call ptr @fn_llty(ptr %t330)
|
|
store ptr %t331, ptr %t332
|
|
%t333 = load ptr, ptr %t300
|
|
%t334 = call ptr @fn_str_concat(ptr %t333, ptr @.str5661)
|
|
%t335 = load i32, ptr %t311
|
|
%t336 = call ptr @fn_itoa(i32 %t335)
|
|
%t337 = call ptr @fn_str_concat(ptr %t334, ptr %t336)
|
|
store ptr %t337, ptr %t338
|
|
call void @fn_emit(ptr @.str5662)
|
|
%t339 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t339)
|
|
call void @fn_emit(ptr @.str5663)
|
|
%t340 = load i32, ptr %t311
|
|
%t341 = call ptr @fn_itoa(i32 %t340)
|
|
call void @fn_emit(ptr %t341)
|
|
call void @fn_emit(ptr @.str5664)
|
|
call void @fn_emit(ptr @.str5665)
|
|
%t342 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t342)
|
|
call void @fn_emit(ptr @.str5666)
|
|
%t343 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t343)
|
|
call void @fn_emit(ptr @.str5667)
|
|
%t344 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t344)
|
|
call void @fn_emit(ptr @.str5668)
|
|
call void @fn_emit(ptr @.str5669)
|
|
%t345 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t345)
|
|
call void @fn_emit(ptr @.str5670)
|
|
call void @fn_emit(ptr @.str5671)
|
|
%t346 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t346)
|
|
call void @fn_emit(ptr @.str5672)
|
|
%t347 = load ptr, ptr %t297
|
|
call void @fn_emit(ptr %t347)
|
|
call void @fn_emit(ptr @.str5673)
|
|
%t348 = load ptr, ptr %t300
|
|
call void @fn_emit(ptr %t348)
|
|
call void @fn_emit(ptr @.str5674)
|
|
%t349 = load i32, ptr %t311
|
|
%t350 = call ptr @fn_itoa(i32 %t349)
|
|
call void @fn_emit(ptr %t350)
|
|
call void @fn_emit(ptr @.str5675)
|
|
%t351 = load ptr, ptr %t332
|
|
%t352 = call i32 @fn_str_eq(ptr %t351, ptr @.str5676)
|
|
%t353 = icmp ne i32 %t352, 0
|
|
br i1 %t353, label %then45, label %else46
|
|
then45:
|
|
call void @fn_emit(ptr @.str5677)
|
|
%t354 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t354)
|
|
call void @fn_emit(ptr @.str5678)
|
|
call void @fn_emit(ptr @.str5679)
|
|
%t355 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t355)
|
|
call void @fn_emit(ptr @.str5680)
|
|
%t356 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t356)
|
|
call void @fn_emit(ptr @.str5681)
|
|
br label %ifend47
|
|
else46:
|
|
%t357 = load ptr, ptr %t332
|
|
%t358 = call i32 @fn_str_eq(ptr %t357, ptr @.str5682)
|
|
%t359 = icmp ne i32 %t358, 0
|
|
br i1 %t359, label %then48, label %else49
|
|
then48:
|
|
call void @fn_emit(ptr @.str5683)
|
|
%t360 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t360)
|
|
call void @fn_emit(ptr @.str5684)
|
|
call void @fn_emit(ptr @.str5685)
|
|
%t361 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t361)
|
|
call void @fn_emit(ptr @.str5686)
|
|
%t362 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t362)
|
|
call void @fn_emit(ptr @.str5687)
|
|
br label %ifend50
|
|
else49:
|
|
call void @fn_emit(ptr @.str5688)
|
|
%t363 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t363)
|
|
call void @fn_emit(ptr @.str5689)
|
|
call void @fn_emit(ptr @.str5690)
|
|
%t364 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t364)
|
|
call void @fn_emit(ptr @.str5691)
|
|
%t365 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t365)
|
|
call void @fn_emit(ptr @.str5692)
|
|
br label %ifend50
|
|
ifend50:
|
|
br label %ifend47
|
|
ifend47:
|
|
call void @fn_emit(ptr @.str5693)
|
|
%t366 = load ptr, ptr %t338
|
|
call void @fn_emit(ptr %t366)
|
|
call void @fn_emit(ptr @.str5694)
|
|
%t367 = load i32, ptr %t311
|
|
%t368 = add i32 %t367, 1
|
|
store i32 %t368, ptr %t311
|
|
br label %wcond42
|
|
wend44:
|
|
call void @fn_emit(ptr @.str5695)
|
|
call void @fn_emit(ptr @.str5696)
|
|
%t369 = load ptr, ptr %t300
|
|
call void @fn_emit(ptr %t369)
|
|
call void @fn_emit(ptr @.str5697)
|
|
%t370 = load i32, ptr %t29
|
|
%t371 = add i32 %t370, 1
|
|
store i32 %t371, ptr %t29
|
|
br label %ifend41
|
|
ifend41:
|
|
%t372 = load i32, ptr %t30
|
|
%t373 = add i32 %t372, 1
|
|
store i32 %t373, ptr %t30
|
|
br label %wcond36
|
|
wend38:
|
|
call void @fn_emit(ptr @.str5698)
|
|
%t374 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t374)
|
|
call void @fn_emit(ptr @.str5699)
|
|
call void @fn_emit(ptr @.str5700)
|
|
call void @fn_emit(ptr @.str5701)
|
|
call void @fn_emit(ptr @.str5702)
|
|
call void @fn_emit(ptr @.str5703)
|
|
call void @fn_emit(ptr @.str5704)
|
|
call void @fn_emit(ptr @.str5705)
|
|
store i32 0, ptr %t29
|
|
store i32 0, ptr %t30
|
|
br label %wcond51
|
|
wcond51:
|
|
%t375 = load i32, ptr %t30
|
|
%t376 = load ptr, ptr @g_prog
|
|
%t377 = getelementptr inbounds %LSlice, ptr %t376, i32 0, i32 1
|
|
%t378 = load i32, ptr %t377
|
|
%t379 = icmp slt i32 %t375, %t378
|
|
%t380 = zext i1 %t379 to i32
|
|
%t381 = icmp ne i32 %t380, 0
|
|
br i1 %t381, label %wbody52, label %wend53
|
|
wbody52:
|
|
%t382 = load ptr, ptr @g_prog
|
|
%t383 = getelementptr inbounds %LSlice, ptr %t382, i32 0, i32 0
|
|
%t384 = load ptr, ptr %t383
|
|
%t385 = load i32, ptr %t30
|
|
%t386 = getelementptr inbounds ptr, ptr %t384, i32 %t385
|
|
%t387 = load ptr, ptr %t386
|
|
%t388 = getelementptr inbounds %Cmp_Node, ptr %t387, i32 0, i32 0
|
|
%t389 = load i32, ptr %t388
|
|
%t390 = icmp eq i32 %t389, 8
|
|
%t391 = zext i1 %t390 to i32
|
|
%t392 = icmp ne i32 %t391, 0
|
|
br i1 %t392, label %then54, label %ifend56
|
|
then54:
|
|
%t393 = load ptr, ptr @g_prog
|
|
%t394 = getelementptr inbounds %LSlice, ptr %t393, i32 0, i32 0
|
|
%t395 = load ptr, ptr %t394
|
|
%t396 = load i32, ptr %t30
|
|
%t397 = getelementptr inbounds ptr, ptr %t395, i32 %t396
|
|
%t398 = load ptr, ptr %t397
|
|
%t399 = getelementptr inbounds %Cmp_Node, ptr %t398, i32 0, i32 1
|
|
%t400 = load ptr, ptr %t399
|
|
store ptr %t400, ptr %t401
|
|
%t402 = load i32, ptr %t29
|
|
%t403 = call ptr @fn_itoa(i32 %t402)
|
|
store ptr %t403, ptr %t404
|
|
call void @fn_emit(ptr @.str5706)
|
|
%t405 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t405)
|
|
call void @fn_emit(ptr @.str5707)
|
|
%t406 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t406)
|
|
call void @fn_emit(ptr @.str5708)
|
|
call void @fn_emit(ptr @.str5709)
|
|
%t407 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t407)
|
|
call void @fn_emit(ptr @.str5710)
|
|
%t408 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t408)
|
|
call void @fn_emit(ptr @.str5711)
|
|
%t409 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t409)
|
|
call void @fn_emit(ptr @.str5712)
|
|
call void @fn_emit(ptr @.str5713)
|
|
%t410 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t410)
|
|
call void @fn_emit(ptr @.str5714)
|
|
call void @fn_emit(ptr @.str5715)
|
|
%t411 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t411)
|
|
call void @fn_emit(ptr @.str5716)
|
|
%t412 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t412)
|
|
call void @fn_emit(ptr @.str5717)
|
|
%t413 = load ptr, ptr %t401
|
|
call void @fn_emit(ptr %t413)
|
|
call void @fn_emit(ptr @.str5718)
|
|
call void @fn_emit(ptr @.str5719)
|
|
%t414 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t414)
|
|
call void @fn_emit(ptr @.str5720)
|
|
%t415 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t415)
|
|
call void @fn_emit(ptr @.str5721)
|
|
call void @fn_emit(ptr @.str5722)
|
|
%t416 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t416)
|
|
call void @fn_emit(ptr @.str5723)
|
|
%t417 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t417)
|
|
call void @fn_emit(ptr @.str5724)
|
|
%t418 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t418)
|
|
call void @fn_emit(ptr @.str5725)
|
|
call void @fn_emit(ptr @.str5726)
|
|
%t419 = load ptr, ptr %t404
|
|
call void @fn_emit(ptr %t419)
|
|
call void @fn_emit(ptr @.str5727)
|
|
%t420 = load i32, ptr %t29
|
|
%t421 = add i32 %t420, 1
|
|
store i32 %t421, ptr %t29
|
|
br label %ifend56
|
|
ifend56:
|
|
%t422 = load i32, ptr %t30
|
|
%t423 = add i32 %t422, 1
|
|
store i32 %t423, ptr %t30
|
|
br label %wcond51
|
|
wend53:
|
|
call void @fn_emit(ptr @.str5728)
|
|
%t424 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t424)
|
|
call void @fn_emit(ptr @.str5729)
|
|
call void @fn_emit(ptr @.str5730)
|
|
call void @fn_emit(ptr @.str5731)
|
|
call void @fn_emit(ptr @.str5732)
|
|
call void @fn_emit(ptr @.str5733)
|
|
call void @fn_emit(ptr @.str5734)
|
|
call void @fn_emit(ptr @.str5735)
|
|
%t425 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t425)
|
|
call void @fn_emit(ptr @.str5736)
|
|
call void @fn_emit(ptr @.str5737)
|
|
call void @fn_emit(ptr @.str5738)
|
|
call void @fn_emit(ptr @.str5739)
|
|
%t426 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t426)
|
|
call void @fn_emit(ptr @.str5740)
|
|
%t427 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t427)
|
|
call void @fn_emit(ptr @.str5741)
|
|
call void @fn_emit(ptr @.str5742)
|
|
call void @fn_emit(ptr @.str5743)
|
|
call void @fn_emit(ptr @.str5744)
|
|
call void @fn_emit(ptr @.str5745)
|
|
%t428 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t428)
|
|
call void @fn_emit(ptr @.str5746)
|
|
call void @fn_emit(ptr @.str5747)
|
|
call void @fn_emit(ptr @.str5748)
|
|
call void @fn_emit(ptr @.str5749)
|
|
%t429 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t429)
|
|
call void @fn_emit(ptr @.str5750)
|
|
call void @fn_emit(ptr @.str5751)
|
|
call void @fn_emit(ptr @.str5752)
|
|
%t430 = load ptr, ptr %t28
|
|
call void @fn_emit(ptr %t430)
|
|
call void @fn_emit(ptr @.str5753)
|
|
call void @fn_emit(ptr @.str5754)
|
|
call void @fn_emit(ptr @.str5755)
|
|
call void @fn_emit(ptr @.str5756)
|
|
%t431 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t431)
|
|
call void @fn_emit(ptr @.str5757)
|
|
call void @fn_emit(ptr @.str5758)
|
|
call void @fn_emit(ptr @.str5759)
|
|
store i32 0, ptr %t29
|
|
store i32 0, ptr %t30
|
|
br label %wcond57
|
|
wcond57:
|
|
%t432 = load i32, ptr %t30
|
|
%t433 = load ptr, ptr @g_prog
|
|
%t434 = getelementptr inbounds %LSlice, ptr %t433, i32 0, i32 1
|
|
%t435 = load i32, ptr %t434
|
|
%t436 = icmp slt i32 %t432, %t435
|
|
%t437 = zext i1 %t436 to i32
|
|
%t438 = icmp ne i32 %t437, 0
|
|
br i1 %t438, label %wbody58, label %wend59
|
|
wbody58:
|
|
%t439 = load ptr, ptr @g_prog
|
|
%t440 = getelementptr inbounds %LSlice, ptr %t439, i32 0, i32 0
|
|
%t441 = load ptr, ptr %t440
|
|
%t442 = load i32, ptr %t30
|
|
%t443 = getelementptr inbounds ptr, ptr %t441, i32 %t442
|
|
%t444 = load ptr, ptr %t443
|
|
%t445 = getelementptr inbounds %Cmp_Node, ptr %t444, i32 0, i32 0
|
|
%t446 = load i32, ptr %t445
|
|
%t447 = icmp eq i32 %t446, 10
|
|
%t448 = zext i1 %t447 to i32
|
|
%t449 = icmp ne i32 %t448, 0
|
|
br i1 %t449, label %then60, label %ifend62
|
|
then60:
|
|
%t450 = load ptr, ptr @g_prog
|
|
%t451 = getelementptr inbounds %LSlice, ptr %t450, i32 0, i32 0
|
|
%t452 = load ptr, ptr %t451
|
|
%t453 = load i32, ptr %t30
|
|
%t454 = getelementptr inbounds ptr, ptr %t452, i32 %t453
|
|
%t455 = load ptr, ptr %t454
|
|
%t456 = getelementptr inbounds %Cmp_Node, ptr %t455, i32 0, i32 1
|
|
%t457 = load ptr, ptr %t456
|
|
%t458 = call ptr @fn_emit_str_const(ptr %t457)
|
|
store ptr %t458, ptr %t459
|
|
%t460 = load i32, ptr %t29
|
|
%t461 = call ptr @fn_itoa(i32 %t460)
|
|
store ptr %t461, ptr %t462
|
|
call void @fn_emit(ptr @.str5760)
|
|
%t463 = load ptr, ptr %t462
|
|
call void @fn_emit(ptr %t463)
|
|
call void @fn_emit(ptr @.str5761)
|
|
%t464 = load ptr, ptr %t459
|
|
call void @fn_emit(ptr %t464)
|
|
call void @fn_emit(ptr @.str5762)
|
|
call void @fn_emit(ptr @.str5763)
|
|
%t465 = load ptr, ptr %t462
|
|
call void @fn_emit(ptr %t465)
|
|
call void @fn_emit(ptr @.str5764)
|
|
%t466 = load ptr, ptr %t462
|
|
call void @fn_emit(ptr %t466)
|
|
call void @fn_emit(ptr @.str5765)
|
|
call void @fn_emit(ptr @.str5766)
|
|
%t467 = load ptr, ptr %t462
|
|
call void @fn_emit(ptr %t467)
|
|
call void @fn_emit(ptr @.str5767)
|
|
%t468 = load ptr, ptr %t462
|
|
call void @fn_emit(ptr %t468)
|
|
call void @fn_emit(ptr @.str5768)
|
|
%t469 = load ptr, ptr %t462
|
|
call void @fn_emit(ptr %t469)
|
|
call void @fn_emit(ptr @.str5769)
|
|
call void @fn_emit(ptr @.str5770)
|
|
%t470 = load ptr, ptr %t462
|
|
call void @fn_emit(ptr %t470)
|
|
call void @fn_emit(ptr @.str5771)
|
|
%t471 = load ptr, ptr @g_prog
|
|
%t472 = getelementptr inbounds %LSlice, ptr %t471, i32 0, i32 0
|
|
%t473 = load ptr, ptr %t472
|
|
%t474 = load i32, ptr %t30
|
|
%t475 = getelementptr inbounds ptr, ptr %t473, i32 %t474
|
|
%t476 = load ptr, ptr %t475
|
|
%t477 = getelementptr inbounds %Cmp_Node, ptr %t476, i32 0, i32 1
|
|
%t478 = load ptr, ptr %t477
|
|
%t479 = call i32 @fn_find_arch_id(ptr %t478)
|
|
%t480 = call ptr @fn_itoa(i32 %t479)
|
|
call void @fn_emit(ptr %t480)
|
|
call void @fn_emit(ptr @.str5772)
|
|
call void @fn_emit(ptr @.str5773)
|
|
%t481 = load ptr, ptr %t462
|
|
call void @fn_emit(ptr %t481)
|
|
call void @fn_emit(ptr @.str5774)
|
|
%t482 = load i32, ptr %t29
|
|
%t483 = add i32 %t482, 1
|
|
store i32 %t483, ptr %t29
|
|
br label %ifend62
|
|
ifend62:
|
|
%t484 = load i32, ptr %t30
|
|
%t485 = add i32 %t484, 1
|
|
store i32 %t485, ptr %t30
|
|
br label %wcond57
|
|
wend59:
|
|
call void @fn_emit(ptr @.str5775)
|
|
store i32 0, ptr %t30
|
|
br label %wcond63
|
|
wcond63:
|
|
%t486 = load i32, ptr %t30
|
|
%t487 = load ptr, ptr @g_prog
|
|
%t488 = getelementptr inbounds %LSlice, ptr %t487, i32 0, i32 1
|
|
%t489 = load i32, ptr %t488
|
|
%t490 = icmp slt i32 %t486, %t489
|
|
%t491 = zext i1 %t490 to i32
|
|
%t492 = icmp ne i32 %t491, 0
|
|
br i1 %t492, label %wbody64, label %wend65
|
|
wbody64:
|
|
%t493 = load ptr, ptr @g_prog
|
|
%t494 = getelementptr inbounds %LSlice, ptr %t493, i32 0, i32 0
|
|
%t495 = load ptr, ptr %t494
|
|
%t496 = load i32, ptr %t30
|
|
%t497 = getelementptr inbounds ptr, ptr %t495, i32 %t496
|
|
%t498 = load ptr, ptr %t497
|
|
%t499 = getelementptr inbounds %Cmp_Node, ptr %t498, i32 0, i32 0
|
|
%t500 = load i32, ptr %t499
|
|
%t501 = icmp eq i32 %t500, 10
|
|
%t502 = zext i1 %t501 to i32
|
|
%t503 = icmp ne i32 %t502, 0
|
|
br i1 %t503, label %then66, label %ifend68
|
|
then66:
|
|
%t504 = load ptr, ptr @g_prog
|
|
%t505 = getelementptr inbounds %LSlice, ptr %t504, i32 0, i32 0
|
|
%t506 = load ptr, ptr %t505
|
|
%t507 = load i32, ptr %t30
|
|
%t508 = getelementptr inbounds ptr, ptr %t506, i32 %t507
|
|
%t509 = load ptr, ptr %t508
|
|
%t510 = getelementptr inbounds %Cmp_Node, ptr %t509, i32 0, i32 1
|
|
%t511 = load ptr, ptr %t510
|
|
store ptr %t511, ptr %t512
|
|
store i32 0, ptr @g_ll_t
|
|
store i32 0, ptr @g_ll_lbl
|
|
store i32 0, ptr @g_g_term
|
|
call void @fn_loc_reset()
|
|
store i32 0, ptr @g_nloop
|
|
store i32 0, ptr @g_nself
|
|
store ptr @.str5776, ptr @g_ret_ty
|
|
%t513 = call ptr @fn_buf_new()
|
|
store ptr %t513, ptr %t514
|
|
%t515 = call ptr @fn_buf_new()
|
|
store ptr %t515, ptr @g_falloc
|
|
%t516 = load ptr, ptr @g_code
|
|
store ptr %t516, ptr %t517
|
|
%t518 = load ptr, ptr %t514
|
|
store ptr %t518, ptr @g_code
|
|
%t519 = call ptr @fn_node(i32 22)
|
|
store ptr %t519, ptr %t520
|
|
%t521 = load ptr, ptr %t520
|
|
%t522 = getelementptr inbounds %Cmp_Node, ptr %t521, i32 0, i32 1
|
|
%t523 = load ptr, ptr %t512
|
|
store ptr %t523, ptr %t522
|
|
%t524 = load ptr, ptr %t520
|
|
%t525 = call ptr @fn_emit_spawn(ptr %t524)
|
|
store ptr %t525, ptr %t526
|
|
call void @fn_emit(ptr @.str5777)
|
|
%t527 = load ptr, ptr %t526
|
|
call void @fn_emit(ptr %t527)
|
|
call void @fn_emit(ptr @.str5778)
|
|
%t528 = load ptr, ptr %t517
|
|
store ptr %t528, ptr @g_code
|
|
call void @fn_emit(ptr @.str5779)
|
|
%t529 = load ptr, ptr %t512
|
|
call void @fn_emit(ptr %t529)
|
|
call void @fn_emit(ptr @.str5780)
|
|
%t530 = load ptr, ptr @g_falloc
|
|
%t531 = call ptr @fn_buf_str(ptr %t530)
|
|
call void @fn_emit(ptr %t531)
|
|
%t532 = load ptr, ptr %t514
|
|
%t533 = call ptr @fn_buf_str(ptr %t532)
|
|
call void @fn_emit(ptr %t533)
|
|
call void @fn_emit(ptr @.str5781)
|
|
br label %ifend68
|
|
ifend68:
|
|
%t534 = load i32, ptr %t30
|
|
%t535 = add i32 %t534, 1
|
|
store i32 %t535, ptr %t30
|
|
br label %wcond63
|
|
wend65:
|
|
call void @fn_emit(ptr @.str5782)
|
|
store i32 0, ptr %t29
|
|
store i32 0, ptr %t30
|
|
br label %wcond69
|
|
wcond69:
|
|
%t536 = load i32, ptr %t30
|
|
%t537 = load ptr, ptr @g_prog
|
|
%t538 = getelementptr inbounds %LSlice, ptr %t537, i32 0, i32 1
|
|
%t539 = load i32, ptr %t538
|
|
%t540 = icmp slt i32 %t536, %t539
|
|
%t541 = zext i1 %t540 to i32
|
|
%t542 = icmp ne i32 %t541, 0
|
|
br i1 %t542, label %wbody70, label %wend71
|
|
wbody70:
|
|
%t543 = load ptr, ptr @g_prog
|
|
%t544 = getelementptr inbounds %LSlice, ptr %t543, i32 0, i32 0
|
|
%t545 = load ptr, ptr %t544
|
|
%t546 = load i32, ptr %t30
|
|
%t547 = getelementptr inbounds ptr, ptr %t545, i32 %t546
|
|
%t548 = load ptr, ptr %t547
|
|
%t549 = getelementptr inbounds %Cmp_Node, ptr %t548, i32 0, i32 0
|
|
%t550 = load i32, ptr %t549
|
|
%t551 = icmp eq i32 %t550, 10
|
|
%t552 = zext i1 %t551 to i32
|
|
%t553 = icmp ne i32 %t552, 0
|
|
br i1 %t553, label %then72, label %ifend74
|
|
then72:
|
|
%t554 = load ptr, ptr @g_prog
|
|
%t555 = getelementptr inbounds %LSlice, ptr %t554, i32 0, i32 0
|
|
%t556 = load ptr, ptr %t555
|
|
%t557 = load i32, ptr %t30
|
|
%t558 = getelementptr inbounds ptr, ptr %t556, i32 %t557
|
|
%t559 = load ptr, ptr %t558
|
|
%t560 = getelementptr inbounds %Cmp_Node, ptr %t559, i32 0, i32 1
|
|
%t561 = load ptr, ptr %t560
|
|
store ptr %t561, ptr %t562
|
|
%t563 = load i32, ptr %t29
|
|
%t564 = call ptr @fn_itoa(i32 %t563)
|
|
store ptr %t564, ptr %t565
|
|
call void @fn_emit(ptr @.str5783)
|
|
%t566 = load ptr, ptr %t565
|
|
call void @fn_emit(ptr %t566)
|
|
call void @fn_emit(ptr @.str5784)
|
|
%t567 = load ptr, ptr %t562
|
|
%t568 = call i32 @fn_find_arch_id(ptr %t567)
|
|
%t569 = call ptr @fn_itoa(i32 %t568)
|
|
call void @fn_emit(ptr %t569)
|
|
call void @fn_emit(ptr @.str5785)
|
|
call void @fn_emit(ptr @.str5786)
|
|
%t570 = load ptr, ptr %t565
|
|
call void @fn_emit(ptr %t570)
|
|
call void @fn_emit(ptr @.str5787)
|
|
%t571 = load ptr, ptr %t565
|
|
call void @fn_emit(ptr %t571)
|
|
call void @fn_emit(ptr @.str5788)
|
|
%t572 = load ptr, ptr %t565
|
|
call void @fn_emit(ptr %t572)
|
|
call void @fn_emit(ptr @.str5789)
|
|
call void @fn_emit(ptr @.str5790)
|
|
%t573 = load ptr, ptr %t565
|
|
call void @fn_emit(ptr %t573)
|
|
call void @fn_emit(ptr @.str5791)
|
|
%t574 = load ptr, ptr %t565
|
|
call void @fn_emit(ptr %t574)
|
|
call void @fn_emit(ptr @.str5792)
|
|
%t575 = load ptr, ptr %t562
|
|
call void @fn_emit(ptr %t575)
|
|
call void @fn_emit(ptr @.str5793)
|
|
%t576 = load ptr, ptr %t565
|
|
call void @fn_emit(ptr %t576)
|
|
call void @fn_emit(ptr @.str5794)
|
|
call void @fn_emit(ptr @.str5795)
|
|
%t577 = load ptr, ptr %t565
|
|
call void @fn_emit(ptr %t577)
|
|
call void @fn_emit(ptr @.str5796)
|
|
%t578 = load i32, ptr %t29
|
|
%t579 = add i32 %t578, 1
|
|
store i32 %t579, ptr %t29
|
|
br label %ifend74
|
|
ifend74:
|
|
%t580 = load i32, ptr %t30
|
|
%t581 = add i32 %t580, 1
|
|
store i32 %t581, ptr %t30
|
|
br label %wcond69
|
|
wend71:
|
|
call void @fn_emit(ptr @.str5797)
|
|
call void @fn_emit(ptr @.str5798)
|
|
call void @fn_emit(ptr @.str5799)
|
|
call void @fn_emit(ptr @.str5800)
|
|
call void @fn_emit(ptr @.str5801)
|
|
call void @fn_emit(ptr @.str5802)
|
|
%t582 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t582)
|
|
call void @fn_emit(ptr @.str5803)
|
|
call void @fn_emit(ptr @.str5804)
|
|
call void @fn_emit(ptr @.str5805)
|
|
call void @fn_emit(ptr @.str5806)
|
|
call void @fn_emit(ptr @.str5807)
|
|
call void @fn_emit(ptr @.str5808)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_tick_helpers() {
|
|
entry:
|
|
call void @fn_emit(ptr @.str5809)
|
|
store i32 0, ptr @g_ll_t
|
|
store i32 0, ptr @g_ll_lbl
|
|
call void @fn_emit_calls_for_phase(ptr @.str5810)
|
|
call void @fn_emit_calls_for_phase(ptr @.str5811)
|
|
call void @fn_emit_calls_for_phase(ptr @.str5812)
|
|
call void @fn_emit_calls_for_phase(ptr @.str5813)
|
|
call void @fn_emit(ptr @.str5814)
|
|
call void @fn_emit(ptr @.str5815)
|
|
store i32 0, ptr @g_ll_t
|
|
store i32 0, ptr @g_ll_lbl
|
|
call void @fn_emit_calls_for_phase(ptr @.str5816)
|
|
call void @fn_emit(ptr @.str5817)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_game_defs() {
|
|
entry:
|
|
%t0 = alloca i32
|
|
store i32 0, ptr %t0
|
|
br label %wcond0
|
|
wcond0:
|
|
%t1 = load i32, ptr %t0
|
|
%t2 = load ptr, ptr @g_prog
|
|
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
|
|
%t4 = load i32, ptr %t3
|
|
%t5 = icmp slt i32 %t1, %t4
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t8 = load ptr, ptr @g_prog
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = load i32, ptr %t0
|
|
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0
|
|
%t15 = load i32, ptr %t14
|
|
%t16 = icmp eq i32 %t15, 9
|
|
%t17 = zext i1 %t16 to i32
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then3, label %ifend5
|
|
then3:
|
|
%t19 = load ptr, ptr @g_prog
|
|
%t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
|
|
%t21 = load ptr, ptr %t20
|
|
%t22 = load i32, ptr %t0
|
|
%t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22
|
|
%t24 = load ptr, ptr %t23
|
|
call void @fn_emit_system_fn(ptr %t24)
|
|
br label %ifend5
|
|
ifend5:
|
|
%t25 = load i32, ptr %t0
|
|
%t26 = add i32 %t25, 1
|
|
store i32 %t26, ptr %t0
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_emit_despawn_hooks()
|
|
call void @fn_emit_scene_hooks()
|
|
call void @fn_emit_tick_helpers()
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_game_main() {
|
|
entry:
|
|
%t12 = alloca i32
|
|
%t47 = alloca ptr
|
|
%t52 = alloca ptr
|
|
%t58 = alloca ptr
|
|
%t63 = alloca ptr
|
|
%t70 = alloca ptr
|
|
%t78 = alloca ptr
|
|
%t81 = alloca ptr
|
|
%t86 = alloca ptr
|
|
call void @fn_emit_game_defs()
|
|
call void @fn_emit(ptr @.str5818)
|
|
call void @fn_emit(ptr @.str5819)
|
|
call void @fn_emit(ptr @.str5820)
|
|
%t0 = call ptr @fn_find_fn(ptr @.str5821)
|
|
%t1 = icmp ne ptr %t0, null
|
|
%t2 = zext i1 %t1 to i32
|
|
%t3 = icmp ne i32 %t2, 0
|
|
br i1 %t3, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_emit(ptr @.str5822)
|
|
br label %ifend2
|
|
ifend2:
|
|
call void @fn_emit_calls_for_phase(ptr @.str5823)
|
|
%t4 = load ptr, ptr @g_g_scenes
|
|
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
|
|
%t6 = load i32, ptr %t5
|
|
%t7 = icmp sgt i32 %t6, 0
|
|
%t8 = zext i1 %t7 to i32
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then3, label %ifend5
|
|
then3:
|
|
call void @fn_emit(ptr @.str5824)
|
|
%t10 = load i32, ptr @g_g_start_scene
|
|
%t11 = call ptr @fn_itoa(i32 %t10)
|
|
call void @fn_emit(ptr %t11)
|
|
call void @fn_emit(ptr @.str5825)
|
|
store i32 0, ptr %t12
|
|
br label %wcond6
|
|
wcond6:
|
|
%t13 = load i32, ptr %t12
|
|
%t14 = load ptr, ptr @g_g_scenes
|
|
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1
|
|
%t16 = load i32, ptr %t15
|
|
%t17 = icmp slt i32 %t13, %t16
|
|
%t18 = zext i1 %t17 to i32
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %wbody7, label %wend8
|
|
wbody7:
|
|
%t20 = load ptr, ptr @g_g_scenes
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = load i32, ptr %t12
|
|
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 2
|
|
%t27 = load i32, ptr %t26
|
|
%t28 = load i32, ptr @g_g_start_scene
|
|
%t29 = icmp eq i32 %t27, %t28
|
|
%t30 = zext i1 %t29 to i32
|
|
%t31 = icmp ne i32 %t30, 0
|
|
br i1 %t31, label %then9, label %ifend11
|
|
then9:
|
|
call void @fn_emit(ptr @.str5826)
|
|
%t32 = load ptr, ptr @g_g_scenes
|
|
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0
|
|
%t34 = load ptr, ptr %t33
|
|
%t35 = load i32, ptr %t12
|
|
%t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35
|
|
%t37 = load ptr, ptr %t36
|
|
%t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1
|
|
%t39 = load ptr, ptr %t38
|
|
call void @fn_emit(ptr %t39)
|
|
call void @fn_emit(ptr @.str5827)
|
|
br label %ifend11
|
|
ifend11:
|
|
%t40 = load i32, ptr %t12
|
|
%t41 = add i32 %t40, 1
|
|
store i32 %t41, ptr %t12
|
|
br label %wcond6
|
|
wend8:
|
|
br label %ifend5
|
|
ifend5:
|
|
%t42 = call ptr @fn_find_event(ptr @.str5828)
|
|
%t43 = icmp ne ptr %t42, null
|
|
%t44 = zext i1 %t43 to i32
|
|
%t45 = icmp ne i32 %t44, 0
|
|
br i1 %t45, label %then12, label %ifend14
|
|
then12:
|
|
call void @fn_emit(ptr @.str5829)
|
|
br label %ifend14
|
|
ifend14:
|
|
call void @fn_emit(ptr @.str5830)
|
|
call void @fn_emit(ptr @.str5831)
|
|
%t46 = call ptr @fn_emit_bind(ptr @.str5832)
|
|
store ptr %t46, ptr %t47
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = call ptr @fn_str_concat(ptr @.str5833, ptr %t48)
|
|
%t50 = call ptr @fn_str_concat(ptr %t49, ptr @.str5834)
|
|
%t51 = call ptr @fn_emit_bind(ptr %t50)
|
|
store ptr %t51, ptr %t52
|
|
%t53 = call ptr @fn_find_fn(ptr @.str5835)
|
|
%t54 = icmp ne ptr %t53, null
|
|
%t55 = zext i1 %t54 to i32
|
|
%t56 = icmp ne i32 %t55, 0
|
|
br i1 %t56, label %then15, label %else16
|
|
then15:
|
|
%t57 = call ptr @fn_emit_bind(ptr @.str5836)
|
|
store ptr %t57, ptr %t58
|
|
%t59 = load ptr, ptr %t58
|
|
%t60 = call ptr @fn_str_concat(ptr @.str5837, ptr %t59)
|
|
%t61 = call ptr @fn_str_concat(ptr %t60, ptr @.str5838)
|
|
%t62 = call ptr @fn_emit_bind(ptr %t61)
|
|
store ptr %t62, ptr %t63
|
|
%t64 = load ptr, ptr %t52
|
|
%t65 = call ptr @fn_str_concat(ptr @.str5839, ptr %t64)
|
|
%t66 = call ptr @fn_str_concat(ptr %t65, ptr @.str5840)
|
|
%t67 = load ptr, ptr %t63
|
|
%t68 = call ptr @fn_str_concat(ptr %t66, ptr %t67)
|
|
%t69 = call ptr @fn_emit_bind(ptr %t68)
|
|
store ptr %t69, ptr %t70
|
|
call void @fn_emit(ptr @.str5841)
|
|
%t71 = load ptr, ptr %t70
|
|
call void @fn_emit(ptr %t71)
|
|
call void @fn_emit(ptr @.str5842)
|
|
br label %ifend17
|
|
else16:
|
|
call void @fn_emit(ptr @.str5843)
|
|
%t72 = load ptr, ptr %t52
|
|
call void @fn_emit(ptr %t72)
|
|
call void @fn_emit(ptr @.str5844)
|
|
br label %ifend17
|
|
ifend17:
|
|
call void @fn_emit(ptr @.str5845)
|
|
%t73 = call ptr @fn_find_fn(ptr @.str5846)
|
|
%t74 = icmp ne ptr %t73, null
|
|
%t75 = zext i1 %t74 to i32
|
|
%t76 = icmp ne i32 %t75, 0
|
|
br i1 %t76, label %then18, label %ifend20
|
|
then18:
|
|
%t77 = call ptr @fn_emit_bind(ptr @.str5847)
|
|
store ptr %t77, ptr %t78
|
|
call void @fn_emit(ptr @.str5848)
|
|
%t79 = load ptr, ptr %t78
|
|
call void @fn_emit(ptr %t79)
|
|
call void @fn_emit(ptr @.str5849)
|
|
br label %ifend20
|
|
ifend20:
|
|
call void @fn_emit_calls_for_phase(ptr @.str5850)
|
|
call void @fn_emit_calls_for_phase(ptr @.str5851)
|
|
call void @fn_emit_calls_for_phase(ptr @.str5852)
|
|
call void @fn_emit_calls_for_phase(ptr @.str5853)
|
|
call void @fn_emit_calls_for_phase(ptr @.str5854)
|
|
%t80 = call ptr @fn_emit_bind(ptr @.str5855)
|
|
store ptr %t80, ptr %t81
|
|
%t82 = load ptr, ptr %t81
|
|
%t83 = call ptr @fn_str_concat(ptr @.str5856, ptr %t82)
|
|
%t84 = call ptr @fn_str_concat(ptr %t83, ptr @.str5857)
|
|
%t85 = call ptr @fn_emit_bind(ptr %t84)
|
|
store ptr %t85, ptr %t86
|
|
call void @fn_emit(ptr @.str5858)
|
|
%t87 = load ptr, ptr %t86
|
|
call void @fn_emit(ptr %t87)
|
|
call void @fn_emit(ptr @.str5859)
|
|
call void @fn_emit(ptr @.str5860)
|
|
call void @fn_emit(ptr @.str5861)
|
|
%t88 = load ptr, ptr @g_g_ondespawn
|
|
%t89 = getelementptr inbounds %LSlice, ptr %t88, i32 0, i32 1
|
|
%t90 = load i32, ptr %t89
|
|
%t91 = icmp sgt i32 %t90, 0
|
|
%t92 = zext i1 %t91 to i32
|
|
%t93 = icmp ne i32 %t92, 0
|
|
br i1 %t93, label %then21, label %ifend23
|
|
then21:
|
|
call void @fn_emit(ptr @.str5862)
|
|
br label %ifend23
|
|
ifend23:
|
|
call void @fn_emit_calls_for_phase(ptr @.str5863)
|
|
%t94 = call ptr @fn_find_event(ptr @.str5864)
|
|
%t95 = icmp ne ptr %t94, null
|
|
%t96 = zext i1 %t95 to i32
|
|
%t97 = icmp ne i32 %t96, 0
|
|
br i1 %t97, label %then24, label %ifend26
|
|
then24:
|
|
call void @fn_emit(ptr @.str5865)
|
|
br label %ifend26
|
|
ifend26:
|
|
%t98 = call ptr @fn_find_fn(ptr @.str5866)
|
|
%t99 = icmp ne ptr %t98, null
|
|
%t100 = zext i1 %t99 to i32
|
|
%t101 = icmp ne i32 %t100, 0
|
|
br i1 %t101, label %then27, label %ifend29
|
|
then27:
|
|
call void @fn_emit(ptr @.str5867)
|
|
br label %ifend29
|
|
ifend29:
|
|
call void @fn_emit(ptr @.str5868)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define ptr @fn_machine_var(ptr %arg_a) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t11 = alloca ptr
|
|
store ptr %arg_a, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 0
|
|
%t3 = load i32, ptr %t2
|
|
%t4 = icmp eq i32 %t3, 33
|
|
%t5 = zext i1 %t4 to i32
|
|
%t6 = icmp ne i32 %t5, 0
|
|
br i1 %t6, label %then0, label %ifend2
|
|
then0:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = getelementptr inbounds %Cmp_Node, ptr %t7, i32 0, i32 1
|
|
%t9 = load ptr, ptr %t8
|
|
%t10 = call ptr @fn_find_global(ptr %t9)
|
|
store ptr %t10, ptr %t11
|
|
%t12 = load ptr, ptr %t11
|
|
%t13 = icmp ne ptr %t12, null
|
|
%t14 = zext i1 %t13 to i32
|
|
%t15 = icmp ne i32 %t14, 0
|
|
br i1 %t15, label %then3, label %ifend5
|
|
then3:
|
|
%t16 = load ptr, ptr %t11
|
|
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0
|
|
%t18 = load i32, ptr %t17
|
|
%t19 = icmp eq i32 %t18, 2
|
|
%t20 = zext i1 %t19 to i32
|
|
%t21 = icmp ne i32 %t20, 0
|
|
br i1 %t21, label %then6, label %ifend8
|
|
then6:
|
|
%t22 = load ptr, ptr %t11
|
|
store ptr %t22, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
br label %ifend5
|
|
ifend5:
|
|
br label %ifend2
|
|
ifend2:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t23 = load ptr, ptr %retval
|
|
ret ptr %t23
|
|
}
|
|
|
|
define void @fn_emit_machine(ptr %arg_st) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t6 = alloca ptr
|
|
%t22 = alloca ptr
|
|
%t65 = alloca ptr
|
|
%t66 = alloca i32
|
|
%t84 = alloca ptr
|
|
%t89 = alloca ptr
|
|
%t98 = alloca ptr
|
|
%t100 = alloca ptr
|
|
%t102 = alloca ptr
|
|
store ptr %arg_st, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 4
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = call ptr @fn_machine_var(ptr %t3)
|
|
store ptr %t4, ptr %t5
|
|
store ptr @.str5869, ptr %t6
|
|
%t7 = load ptr, ptr %t5
|
|
%t8 = icmp ne ptr %t7, null
|
|
%t9 = zext i1 %t8 to i32
|
|
%t10 = icmp ne i32 %t9, 0
|
|
br i1 %t10, label %then0, label %else1
|
|
then0:
|
|
%t11 = load ptr, ptr %t0
|
|
%t12 = getelementptr inbounds %Cmp_Node, ptr %t11, i32 0, i32 4
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 1
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = call ptr @fn_str_concat(ptr @.str5870, ptr %t15)
|
|
%t17 = call ptr @fn_emit_bind(ptr %t16)
|
|
store ptr %t17, ptr %t6
|
|
br label %ifend2
|
|
else1:
|
|
%t18 = load ptr, ptr %t0
|
|
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 4
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = call ptr @fn_emit_expr(ptr %t20)
|
|
store ptr %t21, ptr %t22
|
|
%t23 = load ptr, ptr %t22
|
|
%t24 = getelementptr inbounds %Cmp_Val, ptr %t23, i32 0, i32 0
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = call ptr @fn_str_concat(ptr @.str5871, ptr %t25)
|
|
%t27 = call ptr @fn_str_concat(ptr %t26, ptr @.str5872)
|
|
%t28 = call ptr @fn_emit_bind(ptr %t27)
|
|
store ptr %t28, ptr %t6
|
|
br label %ifend2
|
|
ifend2:
|
|
%t29 = load i32, ptr @g_nmach
|
|
%t30 = load ptr, ptr @g_mach_stk
|
|
%t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1
|
|
%t32 = load i32, ptr %t31
|
|
%t33 = icmp slt i32 %t29, %t32
|
|
%t34 = zext i1 %t33 to i32
|
|
%t35 = icmp ne i32 %t34, 0
|
|
br i1 %t35, label %then3, label %else4
|
|
then3:
|
|
%t36 = load ptr, ptr @g_mach_stk
|
|
%t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = load i32, ptr @g_nmach
|
|
%t40 = getelementptr inbounds ptr, ptr %t38, i32 %t39
|
|
%t41 = load ptr, ptr %t0
|
|
store ptr %t41, ptr %t40
|
|
br label %ifend5
|
|
else4:
|
|
%t42 = load ptr, ptr @g_mach_stk
|
|
%t43 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 1
|
|
%t44 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 2
|
|
%t45 = getelementptr inbounds %LSlice, ptr %t42, i32 0, i32 0
|
|
%t46 = load i32, ptr %t43
|
|
%t47 = load i32, ptr %t44
|
|
%t48 = icmp sge i32 %t46, %t47
|
|
br i1 %t48, label %grow6, label %put7
|
|
grow6:
|
|
%t49 = mul i32 %t47, 2
|
|
%t50 = icmp eq i32 %t47, 0
|
|
%t51 = select i1 %t50, i32 8, i32 %t49
|
|
%t52 = getelementptr ptr, ptr null, i32 1
|
|
%t53 = ptrtoint ptr %t52 to i64
|
|
%t54 = zext i32 %t51 to i64
|
|
%t55 = mul i64 %t54, %t53
|
|
%t56 = load ptr, ptr %t45
|
|
%t57 = call ptr @realloc(ptr %t56, i64 %t55)
|
|
store ptr %t57, ptr %t45
|
|
store i32 %t51, ptr %t44
|
|
br label %put7
|
|
put7:
|
|
%t58 = load ptr, ptr %t0
|
|
%t59 = load ptr, ptr %t45
|
|
%t60 = getelementptr inbounds ptr, ptr %t59, i32 %t46
|
|
store ptr %t58, ptr %t60
|
|
%t61 = add i32 %t46, 1
|
|
store i32 %t61, ptr %t43
|
|
br label %ifend5
|
|
ifend5:
|
|
%t62 = load i32, ptr @g_nmach
|
|
%t63 = add i32 %t62, 1
|
|
store i32 %t63, ptr @g_nmach
|
|
%t64 = call ptr @fn_lbl(ptr @.str5873)
|
|
store ptr %t64, ptr %t65
|
|
store i32 0, ptr %t66
|
|
br label %wcond8
|
|
wcond8:
|
|
%t67 = load i32, ptr %t66
|
|
%t68 = load ptr, ptr %t0
|
|
%t69 = getelementptr inbounds %Cmp_Node, ptr %t68, i32 0, i32 7
|
|
%t70 = load ptr, ptr %t69
|
|
%t71 = getelementptr inbounds %LSlice, ptr %t70, i32 0, i32 1
|
|
%t72 = load i32, ptr %t71
|
|
%t73 = icmp slt i32 %t67, %t72
|
|
%t74 = zext i1 %t73 to i32
|
|
%t75 = icmp ne i32 %t74, 0
|
|
br i1 %t75, label %wbody9, label %wend10
|
|
wbody9:
|
|
%t76 = load ptr, ptr %t0
|
|
%t77 = getelementptr inbounds %Cmp_Node, ptr %t76, i32 0, i32 7
|
|
%t78 = load ptr, ptr %t77
|
|
%t79 = getelementptr inbounds %LSlice, ptr %t78, i32 0, i32 0
|
|
%t80 = load ptr, ptr %t79
|
|
%t81 = load i32, ptr %t66
|
|
%t82 = getelementptr inbounds ptr, ptr %t80, i32 %t81
|
|
%t83 = load ptr, ptr %t82
|
|
store ptr %t83, ptr %t84
|
|
%t85 = load ptr, ptr %t84
|
|
%t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 5
|
|
%t87 = load ptr, ptr %t86
|
|
%t88 = call ptr @fn_emit_expr(ptr %t87)
|
|
store ptr %t88, ptr %t89
|
|
%t90 = load ptr, ptr %t6
|
|
%t91 = call ptr @fn_str_concat(ptr @.str5874, ptr %t90)
|
|
%t92 = call ptr @fn_str_concat(ptr %t91, ptr @.str5875)
|
|
%t93 = load ptr, ptr %t89
|
|
%t94 = getelementptr inbounds %Cmp_Val, ptr %t93, i32 0, i32 0
|
|
%t95 = load ptr, ptr %t94
|
|
%t96 = call ptr @fn_str_concat(ptr %t92, ptr %t95)
|
|
%t97 = call ptr @fn_emit_bind(ptr %t96)
|
|
store ptr %t97, ptr %t98
|
|
%t99 = call ptr @fn_lbl(ptr @.str5876)
|
|
store ptr %t99, ptr %t100
|
|
%t101 = call ptr @fn_lbl(ptr @.str5877)
|
|
store ptr %t101, ptr %t102
|
|
call void @fn_emit(ptr @.str5878)
|
|
%t103 = load ptr, ptr %t98
|
|
call void @fn_emit(ptr %t103)
|
|
call void @fn_emit(ptr @.str5879)
|
|
%t104 = load ptr, ptr %t100
|
|
call void @fn_emit(ptr %t104)
|
|
call void @fn_emit(ptr @.str5880)
|
|
%t105 = load ptr, ptr %t102
|
|
call void @fn_emit(ptr %t105)
|
|
call void @fn_emit(ptr @.str5881)
|
|
%t106 = load ptr, ptr %t100
|
|
call void @fn_emit(ptr %t106)
|
|
call void @fn_emit(ptr @.str5882)
|
|
store i32 0, ptr @g_g_term
|
|
%t107 = load ptr, ptr %t84
|
|
%t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 4
|
|
%t109 = load ptr, ptr %t108
|
|
call void @fn_emit_block(ptr %t109)
|
|
%t110 = load i32, ptr @g_g_term
|
|
%t111 = icmp eq i32 %t110, 0
|
|
%t112 = zext i1 %t111 to i32
|
|
%t113 = icmp ne i32 %t112, 0
|
|
br i1 %t113, label %then11, label %ifend13
|
|
then11:
|
|
call void @fn_emit(ptr @.str5883)
|
|
%t114 = load ptr, ptr %t65
|
|
call void @fn_emit(ptr %t114)
|
|
call void @fn_emit(ptr @.str5884)
|
|
br label %ifend13
|
|
ifend13:
|
|
%t115 = load ptr, ptr %t102
|
|
call void @fn_emit(ptr %t115)
|
|
call void @fn_emit(ptr @.str5885)
|
|
store i32 0, ptr @g_g_term
|
|
%t116 = load i32, ptr %t66
|
|
%t117 = add i32 %t116, 1
|
|
store i32 %t117, ptr %t66
|
|
br label %wcond8
|
|
wend10:
|
|
%t118 = load i32, ptr @g_g_term
|
|
%t119 = icmp eq i32 %t118, 0
|
|
%t120 = zext i1 %t119 to i32
|
|
%t121 = icmp ne i32 %t120, 0
|
|
br i1 %t121, label %then14, label %ifend16
|
|
then14:
|
|
call void @fn_emit(ptr @.str5886)
|
|
%t122 = load ptr, ptr %t65
|
|
call void @fn_emit(ptr %t122)
|
|
call void @fn_emit(ptr @.str5887)
|
|
br label %ifend16
|
|
ifend16:
|
|
%t123 = load ptr, ptr %t65
|
|
call void @fn_emit(ptr %t123)
|
|
call void @fn_emit(ptr @.str5888)
|
|
store i32 0, ptr @g_g_term
|
|
%t124 = load i32, ptr @g_nmach
|
|
%t125 = sub i32 %t124, 1
|
|
store i32 %t125, ptr @g_nmach
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_become(ptr %arg_st) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t12 = alloca ptr
|
|
%t13 = alloca ptr
|
|
%t14 = alloca i32
|
|
%t57 = alloca ptr
|
|
%t62 = alloca ptr
|
|
%t79 = alloca ptr
|
|
%t90 = alloca ptr
|
|
store ptr %arg_st, ptr %t0
|
|
%t1 = load i32, ptr @g_nmach
|
|
%t2 = icmp sgt i32 %t1, 0
|
|
%t3 = zext i1 %t2 to i32
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
%t5 = load ptr, ptr @g_mach_stk
|
|
%t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 0
|
|
%t7 = load ptr, ptr %t6
|
|
%t8 = load i32, ptr @g_nmach
|
|
%t9 = sub i32 %t8, 1
|
|
%t10 = getelementptr inbounds ptr, ptr %t7, i32 %t9
|
|
%t11 = load ptr, ptr %t10
|
|
store ptr %t11, ptr %t12
|
|
store ptr null, ptr %t13
|
|
store i32 0, ptr %t14
|
|
br label %wcond3
|
|
wcond3:
|
|
%t15 = load i32, ptr %t14
|
|
%t16 = load ptr, ptr %t12
|
|
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 1
|
|
%t20 = load i32, ptr %t19
|
|
%t21 = icmp slt i32 %t15, %t20
|
|
%t22 = zext i1 %t21 to i32
|
|
%t23 = icmp ne i32 %t22, 0
|
|
br i1 %t23, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t24 = load ptr, ptr %t12
|
|
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = load i32, ptr %t14
|
|
%t30 = getelementptr inbounds ptr, ptr %t28, i32 %t29
|
|
%t31 = load ptr, ptr %t30
|
|
%t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 1
|
|
%t33 = load ptr, ptr %t32
|
|
%t34 = load ptr, ptr %t0
|
|
%t35 = getelementptr inbounds %Cmp_Node, ptr %t34, i32 0, i32 1
|
|
%t36 = load ptr, ptr %t35
|
|
%t37 = call i32 @fn_str_eq(ptr %t33, ptr %t36)
|
|
%t38 = icmp ne i32 %t37, 0
|
|
br i1 %t38, label %then6, label %ifend8
|
|
then6:
|
|
%t39 = load ptr, ptr %t12
|
|
%t40 = getelementptr inbounds %Cmp_Node, ptr %t39, i32 0, i32 7
|
|
%t41 = load ptr, ptr %t40
|
|
%t42 = getelementptr inbounds %LSlice, ptr %t41, i32 0, i32 0
|
|
%t43 = load ptr, ptr %t42
|
|
%t44 = load i32, ptr %t14
|
|
%t45 = getelementptr inbounds ptr, ptr %t43, i32 %t44
|
|
%t46 = load ptr, ptr %t45
|
|
store ptr %t46, ptr %t13
|
|
br label %ifend8
|
|
ifend8:
|
|
%t47 = load i32, ptr %t14
|
|
%t48 = add i32 %t47, 1
|
|
store i32 %t48, ptr %t14
|
|
br label %wcond3
|
|
wend5:
|
|
%t49 = load ptr, ptr %t13
|
|
%t50 = icmp ne ptr %t49, null
|
|
%t51 = zext i1 %t50 to i32
|
|
%t52 = icmp ne i32 %t51, 0
|
|
br i1 %t52, label %then9, label %ifend11
|
|
then9:
|
|
%t53 = load ptr, ptr %t12
|
|
%t54 = getelementptr inbounds %Cmp_Node, ptr %t53, i32 0, i32 4
|
|
%t55 = load ptr, ptr %t54
|
|
%t56 = call ptr @fn_machine_var(ptr %t55)
|
|
store ptr %t56, ptr %t57
|
|
%t58 = load ptr, ptr %t13
|
|
%t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 5
|
|
%t60 = load ptr, ptr %t59
|
|
%t61 = call ptr @fn_emit_expr(ptr %t60)
|
|
store ptr %t61, ptr %t62
|
|
%t63 = load ptr, ptr %t57
|
|
%t64 = icmp ne ptr %t63, null
|
|
%t65 = zext i1 %t64 to i32
|
|
%t66 = icmp ne i32 %t65, 0
|
|
br i1 %t66, label %then12, label %else13
|
|
then12:
|
|
call void @fn_emit(ptr @.str5889)
|
|
%t67 = load ptr, ptr %t62
|
|
%t68 = getelementptr inbounds %Cmp_Val, ptr %t67, i32 0, i32 0
|
|
%t69 = load ptr, ptr %t68
|
|
call void @fn_emit(ptr %t69)
|
|
call void @fn_emit(ptr @.str5890)
|
|
%t70 = load ptr, ptr %t12
|
|
%t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 4
|
|
%t72 = load ptr, ptr %t71
|
|
%t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 1
|
|
%t74 = load ptr, ptr %t73
|
|
call void @fn_emit(ptr %t74)
|
|
call void @fn_emit(ptr @.str5891)
|
|
br label %ifend14
|
|
else13:
|
|
%t75 = load ptr, ptr %t12
|
|
%t76 = getelementptr inbounds %Cmp_Node, ptr %t75, i32 0, i32 4
|
|
%t77 = load ptr, ptr %t76
|
|
%t78 = call ptr @fn_emit_expr(ptr %t77)
|
|
store ptr %t78, ptr %t79
|
|
call void @fn_emit(ptr @.str5892)
|
|
%t80 = load ptr, ptr %t79
|
|
%t81 = getelementptr inbounds %Cmp_Val, ptr %t80, i32 0, i32 0
|
|
%t82 = load ptr, ptr %t81
|
|
call void @fn_emit(ptr %t82)
|
|
call void @fn_emit(ptr @.str5893)
|
|
%t83 = load ptr, ptr %t62
|
|
%t84 = getelementptr inbounds %Cmp_Val, ptr %t83, i32 0, i32 0
|
|
%t85 = load ptr, ptr %t84
|
|
call void @fn_emit(ptr %t85)
|
|
call void @fn_emit(ptr @.str5894)
|
|
br label %ifend14
|
|
ifend14:
|
|
br label %ret
|
|
ifend11:
|
|
br label %ifend2
|
|
ifend2:
|
|
%t86 = load ptr, ptr %t0
|
|
%t87 = getelementptr inbounds %Cmp_Node, ptr %t86, i32 0, i32 1
|
|
%t88 = load ptr, ptr %t87
|
|
%t89 = call ptr @fn_find_scene(ptr %t88)
|
|
store ptr %t89, ptr %t90
|
|
%t91 = load ptr, ptr %t90
|
|
%t92 = icmp eq ptr %t91, null
|
|
%t93 = zext i1 %t92 to i32
|
|
%t94 = icmp ne i32 %t93, 0
|
|
br i1 %t94, label %then15, label %ifend17
|
|
then15:
|
|
%t95 = load ptr, ptr %t0
|
|
%t96 = getelementptr inbounds %Cmp_Node, ptr %t95, i32 0, i32 1
|
|
%t97 = load ptr, ptr %t96
|
|
%t98 = call ptr @fn_str_concat(ptr @.str5895, ptr %t97)
|
|
call void @fn_perr(ptr %t98)
|
|
br label %ifend17
|
|
ifend17:
|
|
%t99 = load ptr, ptr @g_g_cur_scene
|
|
%t100 = icmp ne ptr %t99, null
|
|
%t101 = zext i1 %t100 to i32
|
|
%t102 = icmp ne i32 %t101, 0
|
|
br i1 %t102, label %then18, label %ifend20
|
|
then18:
|
|
call void @fn_emit(ptr @.str5896)
|
|
%t103 = load ptr, ptr @g_g_cur_scene
|
|
%t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 1
|
|
%t105 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t105)
|
|
call void @fn_emit(ptr @.str5897)
|
|
br label %ifend20
|
|
ifend20:
|
|
call void @fn_emit(ptr @.str5898)
|
|
%t106 = load ptr, ptr %t90
|
|
%t107 = getelementptr inbounds %Cmp_Node, ptr %t106, i32 0, i32 2
|
|
%t108 = load i32, ptr %t107
|
|
%t109 = call ptr @fn_itoa(i32 %t108)
|
|
call void @fn_emit(ptr %t109)
|
|
call void @fn_emit(ptr @.str5899)
|
|
call void @fn_emit(ptr @.str5900)
|
|
%t110 = load ptr, ptr %t90
|
|
%t111 = getelementptr inbounds %Cmp_Node, ptr %t110, i32 0, i32 1
|
|
%t112 = load ptr, ptr %t111
|
|
call void @fn_emit(ptr %t112)
|
|
call void @fn_emit(ptr @.str5901)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_io(ptr %arg_fn2, ptr %arg_p, ptr %arg_bytes) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t9 = alloca ptr
|
|
%t22 = alloca ptr
|
|
%t32 = alloca ptr
|
|
%t47 = alloca ptr
|
|
store ptr %arg_fn2, ptr %t0
|
|
store ptr %arg_p, ptr %t1
|
|
store ptr %arg_bytes, ptr %t2
|
|
%t3 = load ptr, ptr @g_g_snap_mode
|
|
%t4 = call i32 @fn_str_eq(ptr %t3, ptr @.str5902)
|
|
%t5 = icmp ne i32 %t4, 0
|
|
br i1 %t5, label %then0, label %ifend2
|
|
then0:
|
|
%t6 = load i32, ptr @g_g_iok
|
|
%t7 = call ptr @fn_itoa(i32 %t6)
|
|
%t8 = call ptr @fn_str_concat(ptr @.str5903, ptr %t7)
|
|
store ptr %t8, ptr %t9
|
|
%t10 = load i32, ptr @g_g_iok
|
|
%t11 = add i32 %t10, 1
|
|
store i32 %t11, ptr @g_g_iok
|
|
call void @fn_emit(ptr @.str5904)
|
|
%t12 = load ptr, ptr %t9
|
|
call void @fn_emit(ptr %t12)
|
|
call void @fn_emit(ptr @.str5905)
|
|
%t13 = load ptr, ptr %t0
|
|
call void @fn_emit(ptr %t13)
|
|
call void @fn_emit(ptr @.str5906)
|
|
%t14 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t14)
|
|
call void @fn_emit(ptr @.str5907)
|
|
%t15 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t15)
|
|
call void @fn_emit(ptr @.str5908)
|
|
br label %ret
|
|
ifend2:
|
|
%t16 = load ptr, ptr @g_g_snap_mode
|
|
%t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str5909)
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then3, label %ifend5
|
|
then3:
|
|
%t19 = load i32, ptr @g_g_iok
|
|
%t20 = call ptr @fn_itoa(i32 %t19)
|
|
%t21 = call ptr @fn_str_concat(ptr @.str5910, ptr %t20)
|
|
store ptr %t21, ptr %t22
|
|
call void @fn_emit(ptr @.str5911)
|
|
%t23 = load ptr, ptr %t22
|
|
call void @fn_emit(ptr %t23)
|
|
call void @fn_emit(ptr @.str5912)
|
|
%t24 = load ptr, ptr @g_g_off
|
|
call void @fn_emit(ptr %t24)
|
|
call void @fn_emit(ptr @.str5913)
|
|
%t25 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t25)
|
|
call void @fn_emit(ptr @.str5914)
|
|
%t26 = load ptr, ptr %t22
|
|
store ptr %t26, ptr @g_g_off
|
|
%t27 = load i32, ptr @g_g_iok
|
|
%t28 = add i32 %t27, 1
|
|
store i32 %t28, ptr @g_g_iok
|
|
br label %ret
|
|
ifend5:
|
|
%t29 = load i32, ptr @g_g_iok
|
|
%t30 = call ptr @fn_itoa(i32 %t29)
|
|
%t31 = call ptr @fn_str_concat(ptr @.str5915, ptr %t30)
|
|
store ptr %t31, ptr %t32
|
|
call void @fn_emit(ptr @.str5916)
|
|
%t33 = load ptr, ptr %t32
|
|
call void @fn_emit(ptr %t33)
|
|
call void @fn_emit(ptr @.str5917)
|
|
%t34 = load ptr, ptr @g_g_off
|
|
call void @fn_emit(ptr %t34)
|
|
call void @fn_emit(ptr @.str5918)
|
|
%t35 = load ptr, ptr @g_g_snap_mode
|
|
%t36 = call i32 @fn_str_eq(ptr %t35, ptr @.str5919)
|
|
%t37 = icmp ne i32 %t36, 0
|
|
br i1 %t37, label %then6, label %else7
|
|
then6:
|
|
call void @fn_emit(ptr @.str5920)
|
|
%t38 = load ptr, ptr %t32
|
|
call void @fn_emit(ptr %t38)
|
|
call void @fn_emit(ptr @.str5921)
|
|
%t39 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t39)
|
|
call void @fn_emit(ptr @.str5922)
|
|
%t40 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t40)
|
|
call void @fn_emit(ptr @.str5923)
|
|
br label %ifend8
|
|
else7:
|
|
call void @fn_emit(ptr @.str5924)
|
|
%t41 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t41)
|
|
call void @fn_emit(ptr @.str5925)
|
|
%t42 = load ptr, ptr %t32
|
|
call void @fn_emit(ptr %t42)
|
|
call void @fn_emit(ptr @.str5926)
|
|
%t43 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t43)
|
|
call void @fn_emit(ptr @.str5927)
|
|
br label %ifend8
|
|
ifend8:
|
|
%t44 = load i32, ptr @g_g_iok
|
|
%t45 = call ptr @fn_itoa(i32 %t44)
|
|
%t46 = call ptr @fn_str_concat(ptr @.str5928, ptr %t45)
|
|
store ptr %t46, ptr %t47
|
|
call void @fn_emit(ptr @.str5929)
|
|
%t48 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t48)
|
|
call void @fn_emit(ptr @.str5930)
|
|
%t49 = load ptr, ptr @g_g_off
|
|
call void @fn_emit(ptr %t49)
|
|
call void @fn_emit(ptr @.str5931)
|
|
%t50 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str5932)
|
|
%t51 = load ptr, ptr %t47
|
|
store ptr %t51, ptr @g_g_off
|
|
%t52 = load i32, ptr @g_g_iok
|
|
%t53 = add i32 %t52, 1
|
|
store i32 %t53, ptr @g_g_iok
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_snapshot_blocks(ptr %arg_fn2) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t12 = alloca i32
|
|
%t43 = alloca i32
|
|
%t70 = alloca ptr
|
|
%t74 = alloca ptr
|
|
store ptr %arg_fn2, ptr %t0
|
|
store i32 0, ptr @g_g_iok
|
|
store ptr @.str5933, ptr @g_g_off
|
|
%t1 = call ptr @fn_itoa(i32 1024)
|
|
store ptr %t1, ptr %t2
|
|
%t3 = load ptr, ptr %t0
|
|
call void @fn_emit_io(ptr %t3, ptr @.str5934, ptr @.str5935)
|
|
%t4 = load ptr, ptr %t0
|
|
call void @fn_emit_io(ptr %t4, ptr @.str5936, ptr @.str5937)
|
|
call void @fn_emit(ptr @.str5938)
|
|
%t5 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t5)
|
|
call void @fn_emit(ptr @.str5939)
|
|
%t6 = load ptr, ptr %t0
|
|
call void @fn_emit_io(ptr %t6, ptr @.str5940, ptr @.str5941)
|
|
%t7 = load ptr, ptr %t0
|
|
call void @fn_emit_io(ptr %t7, ptr @.str5942, ptr @.str5943)
|
|
%t8 = load ptr, ptr %t0
|
|
call void @fn_emit_io(ptr %t8, ptr @.str5944, ptr @.str5945)
|
|
%t9 = call i32 @fn_net_has_owned()
|
|
%t10 = icmp ne i32 %t9, 0
|
|
br i1 %t10, label %then0, label %ifend2
|
|
then0:
|
|
%t11 = load ptr, ptr %t0
|
|
call void @fn_emit_io(ptr %t11, ptr @.str5946, ptr @.str5947)
|
|
br label %ifend2
|
|
ifend2:
|
|
store i32 0, ptr %t12
|
|
br label %wcond3
|
|
wcond3:
|
|
%t13 = load i32, ptr %t12
|
|
%t14 = load ptr, ptr @g_prog
|
|
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1
|
|
%t16 = load i32, ptr %t15
|
|
%t17 = icmp slt i32 %t13, %t16
|
|
%t18 = zext i1 %t17 to i32
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t20 = load ptr, ptr @g_prog
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 0
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = load i32, ptr %t12
|
|
%t24 = getelementptr inbounds ptr, ptr %t22, i32 %t23
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 0
|
|
%t27 = load i32, ptr %t26
|
|
%t28 = icmp eq i32 %t27, 2
|
|
%t29 = zext i1 %t28 to i32
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then6, label %ifend8
|
|
then6:
|
|
%t31 = load ptr, ptr %t0
|
|
%t32 = load ptr, ptr @g_prog
|
|
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0
|
|
%t34 = load ptr, ptr %t33
|
|
%t35 = load i32, ptr %t12
|
|
%t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35
|
|
%t37 = load ptr, ptr %t36
|
|
%t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1
|
|
%t39 = load ptr, ptr %t38
|
|
%t40 = call ptr @fn_str_concat(ptr @.str5948, ptr %t39)
|
|
call void @fn_emit_io(ptr %t31, ptr %t40, ptr @.str5949)
|
|
br label %ifend8
|
|
ifend8:
|
|
%t41 = load i32, ptr %t12
|
|
%t42 = add i32 %t41, 1
|
|
store i32 %t42, ptr %t12
|
|
br label %wcond3
|
|
wend5:
|
|
store i32 0, ptr %t43
|
|
store i32 0, ptr %t12
|
|
br label %wcond9
|
|
wcond9:
|
|
%t44 = load i32, ptr %t12
|
|
%t45 = load ptr, ptr @g_prog
|
|
%t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1
|
|
%t47 = load i32, ptr %t46
|
|
%t48 = icmp slt i32 %t44, %t47
|
|
%t49 = zext i1 %t48 to i32
|
|
%t50 = icmp ne i32 %t49, 0
|
|
br i1 %t50, label %wbody10, label %wend11
|
|
wbody10:
|
|
%t51 = load ptr, ptr @g_prog
|
|
%t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0
|
|
%t53 = load ptr, ptr %t52
|
|
%t54 = load i32, ptr %t12
|
|
%t55 = getelementptr inbounds ptr, ptr %t53, i32 %t54
|
|
%t56 = load ptr, ptr %t55
|
|
%t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 0
|
|
%t58 = load i32, ptr %t57
|
|
%t59 = icmp eq i32 %t58, 8
|
|
%t60 = zext i1 %t59 to i32
|
|
%t61 = icmp ne i32 %t60, 0
|
|
br i1 %t61, label %then12, label %ifend14
|
|
then12:
|
|
%t62 = load ptr, ptr @g_prog
|
|
%t63 = getelementptr inbounds %LSlice, ptr %t62, i32 0, i32 0
|
|
%t64 = load ptr, ptr %t63
|
|
%t65 = load i32, ptr %t12
|
|
%t66 = getelementptr inbounds ptr, ptr %t64, i32 %t65
|
|
%t67 = load ptr, ptr %t66
|
|
%t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 1
|
|
%t69 = load ptr, ptr %t68
|
|
store ptr %t69, ptr %t70
|
|
%t71 = load i32, ptr %t43
|
|
%t72 = call ptr @fn_itoa(i32 %t71)
|
|
%t73 = call ptr @fn_str_concat(ptr @.str5950, ptr %t72)
|
|
store ptr %t73, ptr %t74
|
|
call void @fn_emit(ptr @.str5951)
|
|
%t75 = load ptr, ptr %t74
|
|
call void @fn_emit(ptr %t75)
|
|
call void @fn_emit(ptr @.str5952)
|
|
%t76 = load ptr, ptr %t70
|
|
call void @fn_emit(ptr %t76)
|
|
call void @fn_emit(ptr @.str5953)
|
|
%t77 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t77)
|
|
call void @fn_emit(ptr @.str5954)
|
|
%t78 = load ptr, ptr %t0
|
|
%t79 = load ptr, ptr %t70
|
|
%t80 = call ptr @fn_str_concat(ptr @.str5955, ptr %t79)
|
|
%t81 = load ptr, ptr %t74
|
|
call void @fn_emit_io(ptr %t78, ptr %t80, ptr %t81)
|
|
%t82 = load ptr, ptr %t0
|
|
%t83 = load ptr, ptr %t70
|
|
%t84 = call ptr @fn_str_concat(ptr @.str5956, ptr %t83)
|
|
%t85 = load ptr, ptr %t2
|
|
call void @fn_emit_io(ptr %t82, ptr %t84, ptr %t85)
|
|
%t86 = load i32, ptr %t43
|
|
%t87 = add i32 %t86, 1
|
|
store i32 %t87, ptr %t43
|
|
br label %ifend14
|
|
ifend14:
|
|
%t88 = load i32, ptr %t12
|
|
%t89 = add i32 %t88, 1
|
|
store i32 %t89, ptr %t12
|
|
br label %wcond9
|
|
wend11:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_snapshot() {
|
|
entry:
|
|
%t3 = alloca i32
|
|
%t7 = alloca i32
|
|
%t15 = alloca ptr
|
|
%t22 = alloca ptr
|
|
store ptr @.str5957, ptr @g_g_snap_mode
|
|
call void @fn_emith(ptr @.str5958)
|
|
call void @fn_emith(ptr @.str5959)
|
|
call void @fn_emith(ptr @.str5960)
|
|
%t0 = call ptr @fn_find_fn(ptr @.str5961)
|
|
%t1 = icmp ne ptr %t0, null
|
|
%t2 = zext i1 %t1 to i32
|
|
store i32 %t2, ptr %t3
|
|
%t4 = call ptr @fn_find_fn(ptr @.str5962)
|
|
%t5 = icmp ne ptr %t4, null
|
|
%t6 = zext i1 %t5 to i32
|
|
store i32 %t6, ptr %t7
|
|
call void @fn_emit(ptr @.str5963)
|
|
call void @fn_emit(ptr @.str5964)
|
|
call void @fn_emit(ptr @.str5965)
|
|
call void @fn_emit(ptr @.str5966)
|
|
call void @fn_emit_snapshot_blocks(ptr @.str5967)
|
|
%t8 = load i32, ptr %t3
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_emit(ptr @.str5968)
|
|
br label %ifend2
|
|
ifend2:
|
|
call void @fn_emit(ptr @.str5969)
|
|
call void @fn_emit(ptr @.str5970)
|
|
call void @fn_emit(ptr @.str5971)
|
|
call void @fn_emit(ptr @.str5972)
|
|
call void @fn_emit(ptr @.str5973)
|
|
call void @fn_emit_snapshot_blocks(ptr @.str5974)
|
|
%t10 = load i32, ptr %t7
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %then3, label %ifend5
|
|
then3:
|
|
call void @fn_emit(ptr @.str5975)
|
|
br label %ifend5
|
|
ifend5:
|
|
call void @fn_emit(ptr @.str5976)
|
|
call void @fn_emit(ptr @.str5977)
|
|
store ptr @.str5978, ptr @g_g_snap_mode
|
|
call void @fn_emit_snapshot_blocks(ptr @.str5979)
|
|
%t12 = load i32, ptr @g_g_iok
|
|
%t13 = call ptr @fn_itoa(i32 %t12)
|
|
%t14 = call ptr @fn_str_concat(ptr @.str5980, ptr %t13)
|
|
store ptr %t14, ptr %t15
|
|
call void @fn_emit(ptr @.str5981)
|
|
%t16 = load ptr, ptr %t15
|
|
call void @fn_emit(ptr %t16)
|
|
call void @fn_emit(ptr @.str5982)
|
|
%t17 = load ptr, ptr @g_g_off
|
|
call void @fn_emit(ptr %t17)
|
|
call void @fn_emit(ptr @.str5983)
|
|
call void @fn_emit(ptr @.str5984)
|
|
%t18 = load ptr, ptr %t15
|
|
call void @fn_emit(ptr %t18)
|
|
call void @fn_emit(ptr @.str5985)
|
|
call void @fn_emit(ptr @.str5986)
|
|
store ptr @.str5987, ptr @g_g_snap_mode
|
|
call void @fn_emit_snapshot_blocks(ptr @.str5988)
|
|
call void @fn_emit(ptr @.str5989)
|
|
call void @fn_emit(ptr @.str5990)
|
|
store ptr @.str5991, ptr @g_g_snap_mode
|
|
call void @fn_emit_snapshot_blocks(ptr @.str5992)
|
|
%t19 = load i32, ptr @g_g_iok
|
|
%t20 = call ptr @fn_itoa(i32 %t19)
|
|
%t21 = call ptr @fn_str_concat(ptr @.str5993, ptr %t20)
|
|
store ptr %t21, ptr %t22
|
|
call void @fn_emit(ptr @.str5994)
|
|
%t23 = load ptr, ptr %t22
|
|
call void @fn_emit(ptr %t23)
|
|
call void @fn_emit(ptr @.str5995)
|
|
%t24 = load ptr, ptr @g_g_off
|
|
call void @fn_emit(ptr %t24)
|
|
call void @fn_emit(ptr @.str5996)
|
|
call void @fn_emit(ptr @.str5997)
|
|
%t25 = load ptr, ptr %t22
|
|
call void @fn_emit(ptr %t25)
|
|
call void @fn_emit(ptr @.str5998)
|
|
store ptr @.str5999, ptr @g_g_snap_mode
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_net_field_ibytes(ptr %arg_ty) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
store ptr %arg_ty, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call ptr @fn_llty(ptr %t1)
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str6000)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
store i32 4, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t5 = load i32, ptr %retval
|
|
ret i32 %t5
|
|
}
|
|
|
|
define ptr @fn_net_field_bytes(ptr %arg_ty) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
store ptr %arg_ty, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call ptr @fn_llty(ptr %t1)
|
|
%t3 = call i32 @fn_str_eq(ptr %t2, ptr @.str6001)
|
|
%t4 = icmp ne i32 %t3, 0
|
|
br i1 %t4, label %then0, label %ifend2
|
|
then0:
|
|
store ptr @.str6002, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
store ptr @.str6003, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t5 = load ptr, ptr %retval
|
|
ret ptr %t5
|
|
}
|
|
|
|
define i32 @fn_net_model_bytes(ptr %arg_m) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t36 = alloca ptr
|
|
%t41 = alloca i32
|
|
store ptr %arg_m, ptr %t0
|
|
store i32 0, ptr %t1
|
|
store i32 0, ptr %t2
|
|
br label %wcond0
|
|
wcond0:
|
|
%t3 = load i32, ptr %t2
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 7
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1
|
|
%t8 = load i32, ptr %t7
|
|
%t9 = icmp slt i32 %t3, %t8
|
|
%t10 = zext i1 %t9 to i32
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t12 = load ptr, ptr %t0
|
|
%t13 = getelementptr inbounds %Cmp_Node, ptr %t12, i32 0, i32 7
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = load i32, ptr %t2
|
|
%t18 = getelementptr inbounds ptr, ptr %t16, i32 %t17
|
|
%t19 = load ptr, ptr %t18
|
|
%t20 = getelementptr inbounds %Cmp_Node, ptr %t19, i32 0, i32 2
|
|
%t21 = load i32, ptr %t20
|
|
%t22 = icmp eq i32 %t21, 1
|
|
%t23 = zext i1 %t22 to i32
|
|
%t24 = icmp ne i32 %t23, 0
|
|
br i1 %t24, label %then3, label %ifend5
|
|
then3:
|
|
%t25 = load ptr, ptr %t0
|
|
%t26 = getelementptr inbounds %Cmp_Node, ptr %t25, i32 0, i32 7
|
|
%t27 = load ptr, ptr %t26
|
|
%t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0
|
|
%t29 = load ptr, ptr %t28
|
|
%t30 = load i32, ptr %t2
|
|
%t31 = getelementptr inbounds ptr, ptr %t29, i32 %t30
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1
|
|
%t34 = load ptr, ptr %t33
|
|
%t35 = call ptr @fn_find_comp(ptr %t34)
|
|
store ptr %t35, ptr %t36
|
|
%t37 = load ptr, ptr %t36
|
|
%t38 = icmp ne ptr %t37, null
|
|
%t39 = zext i1 %t38 to i32
|
|
%t40 = icmp ne i32 %t39, 0
|
|
br i1 %t40, label %then6, label %ifend8
|
|
then6:
|
|
store i32 0, ptr %t41
|
|
br label %wcond9
|
|
wcond9:
|
|
%t42 = load i32, ptr %t41
|
|
%t43 = load ptr, ptr %t36
|
|
%t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 7
|
|
%t45 = load ptr, ptr %t44
|
|
%t46 = getelementptr inbounds %LSlice, ptr %t45, i32 0, i32 1
|
|
%t47 = load i32, ptr %t46
|
|
%t48 = icmp slt i32 %t42, %t47
|
|
%t49 = zext i1 %t48 to i32
|
|
%t50 = icmp ne i32 %t49, 0
|
|
br i1 %t50, label %wbody10, label %wend11
|
|
wbody10:
|
|
%t51 = load ptr, ptr %t36
|
|
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 7
|
|
%t53 = load ptr, ptr %t52
|
|
%t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0
|
|
%t55 = load ptr, ptr %t54
|
|
%t56 = load i32, ptr %t41
|
|
%t57 = getelementptr inbounds ptr, ptr %t55, i32 %t56
|
|
%t58 = load ptr, ptr %t57
|
|
%t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 2
|
|
%t60 = load i32, ptr %t59
|
|
%t61 = icmp eq i32 %t60, 1
|
|
%t62 = zext i1 %t61 to i32
|
|
%t63 = icmp ne i32 %t62, 0
|
|
br i1 %t63, label %then12, label %ifend14
|
|
then12:
|
|
%t64 = load i32, ptr %t1
|
|
%t65 = load ptr, ptr %t36
|
|
%t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 7
|
|
%t67 = load ptr, ptr %t66
|
|
%t68 = getelementptr inbounds %LSlice, ptr %t67, i32 0, i32 0
|
|
%t69 = load ptr, ptr %t68
|
|
%t70 = load i32, ptr %t41
|
|
%t71 = getelementptr inbounds ptr, ptr %t69, i32 %t70
|
|
%t72 = load ptr, ptr %t71
|
|
%t73 = getelementptr inbounds %Cmp_Node, ptr %t72, i32 0, i32 3
|
|
%t74 = load ptr, ptr %t73
|
|
%t75 = call i32 @fn_net_field_ibytes(ptr %t74)
|
|
%t76 = add i32 %t64, %t75
|
|
store i32 %t76, ptr %t1
|
|
br label %ifend14
|
|
ifend14:
|
|
%t77 = load i32, ptr %t41
|
|
%t78 = add i32 %t77, 1
|
|
store i32 %t78, ptr %t41
|
|
br label %wcond9
|
|
wend11:
|
|
br label %ifend8
|
|
ifend8:
|
|
br label %ifend5
|
|
ifend5:
|
|
%t79 = load i32, ptr %t2
|
|
%t80 = add i32 %t79, 1
|
|
store i32 %t80, ptr %t2
|
|
br label %wcond0
|
|
wend2:
|
|
%t81 = load i32, ptr %t1
|
|
store i32 %t81, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t82 = load i32, ptr %retval
|
|
ret i32 %t82
|
|
}
|
|
|
|
define i32 @fn_net_model_syncs(ptr %arg_m) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
store ptr %arg_m, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call i32 @fn_net_model_bytes(ptr %t1)
|
|
%t3 = icmp sgt i32 %t2, 0
|
|
%t4 = zext i1 %t3 to i32
|
|
store i32 %t4, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t5 = load i32, ptr %retval
|
|
ret i32 %t5
|
|
}
|
|
|
|
define i32 @fn_net_has_sync() {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca i32
|
|
store i32 0, ptr %t0
|
|
br label %wcond0
|
|
wcond0:
|
|
%t1 = load i32, ptr %t0
|
|
%t2 = load ptr, ptr @g_prog
|
|
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
|
|
%t4 = load i32, ptr %t3
|
|
%t5 = icmp slt i32 %t1, %t4
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t8 = load ptr, ptr @g_prog
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = load i32, ptr %t0
|
|
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0
|
|
%t15 = load i32, ptr %t14
|
|
%t16 = icmp eq i32 %t15, 10
|
|
%t17 = zext i1 %t16 to i32
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then3, label %ifend5
|
|
then3:
|
|
%t19 = load ptr, ptr @g_prog
|
|
%t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
|
|
%t21 = load ptr, ptr %t20
|
|
%t22 = load i32, ptr %t0
|
|
%t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = call i32 @fn_net_model_syncs(ptr %t24)
|
|
%t26 = icmp ne i32 %t25, 0
|
|
br i1 %t26, label %then6, label %ifend8
|
|
then6:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
br label %ifend5
|
|
ifend5:
|
|
%t27 = load i32, ptr %t0
|
|
%t28 = add i32 %t27, 1
|
|
store i32 %t28, ptr %t0
|
|
br label %wcond0
|
|
wend2:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t29 = load i32, ptr %retval
|
|
ret i32 %t29
|
|
}
|
|
|
|
define i32 @fn_net_has_owned() {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca i32
|
|
%t8 = alloca i32
|
|
store i32 0, ptr %t0
|
|
br label %wcond0
|
|
wcond0:
|
|
%t1 = load i32, ptr %t0
|
|
%t2 = load ptr, ptr @g_prog
|
|
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
|
|
%t4 = load i32, ptr %t3
|
|
%t5 = icmp slt i32 %t1, %t4
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_prog
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t0
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0
|
|
%t16 = load i32, ptr %t15
|
|
%t17 = icmp eq i32 %t16, 10
|
|
%t18 = zext i1 %t17 to i32
|
|
%t19 = icmp ne i32 %t18, 0
|
|
%t20 = zext i1 %t19 to i32
|
|
store i32 %t20, ptr %t8
|
|
br i1 %t19, label %sc3, label %scend4
|
|
sc3:
|
|
%t21 = load ptr, ptr @g_prog
|
|
%t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0
|
|
%t23 = load ptr, ptr %t22
|
|
%t24 = load i32, ptr %t0
|
|
%t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 2
|
|
%t28 = load i32, ptr %t27
|
|
%t29 = icmp eq i32 %t28, 1
|
|
%t30 = zext i1 %t29 to i32
|
|
%t31 = icmp ne i32 %t30, 0
|
|
%t32 = zext i1 %t31 to i32
|
|
store i32 %t32, ptr %t8
|
|
br label %scend4
|
|
scend4:
|
|
%t33 = load i32, ptr %t8
|
|
%t34 = icmp ne i32 %t33, 0
|
|
br i1 %t34, label %then5, label %ifend7
|
|
then5:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend7:
|
|
%t35 = load i32, ptr %t0
|
|
%t36 = add i32 %t35, 1
|
|
store i32 %t36, ptr %t0
|
|
br label %wcond0
|
|
wend2:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t37 = load i32, ptr %retval
|
|
ret i32 %t37
|
|
}
|
|
|
|
define i32 @fn_net_has_role() {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca i32
|
|
%t8 = alloca i32
|
|
store i32 0, ptr %t0
|
|
br label %wcond0
|
|
wcond0:
|
|
%t1 = load i32, ptr %t0
|
|
%t2 = load ptr, ptr @g_prog
|
|
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
|
|
%t4 = load i32, ptr %t3
|
|
%t5 = icmp slt i32 %t1, %t4
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_prog
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t0
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0
|
|
%t16 = load i32, ptr %t15
|
|
%t17 = icmp eq i32 %t16, 9
|
|
%t18 = zext i1 %t17 to i32
|
|
%t19 = icmp ne i32 %t18, 0
|
|
%t20 = zext i1 %t19 to i32
|
|
store i32 %t20, ptr %t8
|
|
br i1 %t19, label %sc3, label %scend4
|
|
sc3:
|
|
%t21 = load ptr, ptr @g_prog
|
|
%t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0
|
|
%t23 = load ptr, ptr %t22
|
|
%t24 = load i32, ptr %t0
|
|
%t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 2
|
|
%t28 = load i32, ptr %t27
|
|
%t29 = icmp ne i32 %t28, 0
|
|
%t30 = zext i1 %t29 to i32
|
|
%t31 = icmp ne i32 %t30, 0
|
|
%t32 = zext i1 %t31 to i32
|
|
store i32 %t32, ptr %t8
|
|
br label %scend4
|
|
scend4:
|
|
%t33 = load i32, ptr %t8
|
|
%t34 = icmp ne i32 %t33, 0
|
|
br i1 %t34, label %then5, label %ifend7
|
|
then5:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend7:
|
|
%t35 = load i32, ptr %t0
|
|
%t36 = add i32 %t35, 1
|
|
store i32 %t36, ptr %t0
|
|
br label %wcond0
|
|
wend2:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t37 = load i32, ptr %retval
|
|
ret i32 %t37
|
|
}
|
|
|
|
define i32 @fn_net_any() {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca i32
|
|
%t1 = alloca i32
|
|
%t2 = call i32 @fn_net_has_sync()
|
|
%t3 = icmp ne i32 %t2, 0
|
|
%t4 = zext i1 %t3 to i32
|
|
store i32 %t4, ptr %t1
|
|
br i1 %t3, label %scend1, label %sc0
|
|
sc0:
|
|
%t5 = call i32 @fn_net_has_owned()
|
|
%t6 = icmp ne i32 %t5, 0
|
|
%t7 = zext i1 %t6 to i32
|
|
store i32 %t7, ptr %t1
|
|
br label %scend1
|
|
scend1:
|
|
%t8 = load i32, ptr %t1
|
|
%t9 = icmp ne i32 %t8, 0
|
|
%t10 = zext i1 %t9 to i32
|
|
store i32 %t10, ptr %t0
|
|
br i1 %t9, label %scend3, label %sc2
|
|
sc2:
|
|
%t11 = call i32 @fn_net_has_role()
|
|
%t12 = icmp ne i32 %t11, 0
|
|
%t13 = zext i1 %t12 to i32
|
|
store i32 %t13, ptr %t0
|
|
br label %scend3
|
|
scend3:
|
|
%t14 = load i32, ptr %t0
|
|
store i32 %t14, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t15 = load i32, ptr %retval
|
|
ret i32 %t15
|
|
}
|
|
|
|
define void @fn_net_warn(ptr %arg_msg) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t2 = alloca ptr
|
|
store ptr %arg_msg, ptr %t0
|
|
%t1 = load ptr, ptr @__stderrp
|
|
store ptr %t1, ptr %t2
|
|
%t3 = load ptr, ptr %t2
|
|
%t4 = zext i32 23 to i64
|
|
%t5 = call i64 @fwrite(ptr @.str6004, i64 1, i64 %t4, ptr %t3)
|
|
%t6 = trunc i64 %t5 to i32
|
|
%t7 = load ptr, ptr %t2
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = load ptr, ptr %t0
|
|
%t10 = call i64 @strlen(ptr %t9)
|
|
%t11 = trunc i64 %t10 to i32
|
|
%t12 = zext i32 %t11 to i64
|
|
%t13 = call i64 @fwrite(ptr %t8, i64 1, i64 %t12, ptr %t7)
|
|
%t14 = trunc i64 %t13 to i32
|
|
%t15 = load ptr, ptr %t2
|
|
%t16 = zext i32 1 to i64
|
|
%t17 = call i64 @fwrite(ptr @.str6005, i64 1, i64 %t16, ptr %t15)
|
|
%t18 = trunc i64 %t17 to i32
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_net_check() {
|
|
entry:
|
|
%t0 = alloca i32
|
|
%t25 = alloca ptr
|
|
%t26 = alloca i32
|
|
%t59 = alloca ptr
|
|
%t62 = alloca ptr
|
|
%t67 = alloca i32
|
|
%t68 = alloca i32
|
|
store i32 0, ptr %t0
|
|
br label %wcond0
|
|
wcond0:
|
|
%t1 = load i32, ptr %t0
|
|
%t2 = load ptr, ptr @g_prog
|
|
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
|
|
%t4 = load i32, ptr %t3
|
|
%t5 = icmp slt i32 %t1, %t4
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t8 = load ptr, ptr @g_prog
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = load i32, ptr %t0
|
|
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 0
|
|
%t15 = load i32, ptr %t14
|
|
%t16 = icmp eq i32 %t15, 10
|
|
%t17 = zext i1 %t16 to i32
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then3, label %ifend5
|
|
then3:
|
|
%t19 = load ptr, ptr @g_prog
|
|
%t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
|
|
%t21 = load ptr, ptr %t20
|
|
%t22 = load i32, ptr %t0
|
|
%t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22
|
|
%t24 = load ptr, ptr %t23
|
|
store ptr %t24, ptr %t25
|
|
store i32 0, ptr %t26
|
|
br label %wcond6
|
|
wcond6:
|
|
%t27 = load i32, ptr %t26
|
|
%t28 = load ptr, ptr %t25
|
|
%t29 = getelementptr inbounds %Cmp_Node, ptr %t28, i32 0, i32 7
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 1
|
|
%t32 = load i32, ptr %t31
|
|
%t33 = icmp slt i32 %t27, %t32
|
|
%t34 = zext i1 %t33 to i32
|
|
%t35 = icmp ne i32 %t34, 0
|
|
br i1 %t35, label %wbody7, label %wend8
|
|
wbody7:
|
|
%t36 = load ptr, ptr %t25
|
|
%t37 = getelementptr inbounds %Cmp_Node, ptr %t36, i32 0, i32 7
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = getelementptr inbounds %LSlice, ptr %t38, i32 0, i32 0
|
|
%t40 = load ptr, ptr %t39
|
|
%t41 = load i32, ptr %t26
|
|
%t42 = getelementptr inbounds ptr, ptr %t40, i32 %t41
|
|
%t43 = load ptr, ptr %t42
|
|
%t44 = getelementptr inbounds %Cmp_Node, ptr %t43, i32 0, i32 2
|
|
%t45 = load i32, ptr %t44
|
|
%t46 = icmp eq i32 %t45, 1
|
|
%t47 = zext i1 %t46 to i32
|
|
%t48 = icmp ne i32 %t47, 0
|
|
br i1 %t48, label %then9, label %ifend11
|
|
then9:
|
|
%t49 = load ptr, ptr %t25
|
|
%t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 7
|
|
%t51 = load ptr, ptr %t50
|
|
%t52 = getelementptr inbounds %LSlice, ptr %t51, i32 0, i32 0
|
|
%t53 = load ptr, ptr %t52
|
|
%t54 = load i32, ptr %t26
|
|
%t55 = getelementptr inbounds ptr, ptr %t53, i32 %t54
|
|
%t56 = load ptr, ptr %t55
|
|
%t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 1
|
|
%t58 = load ptr, ptr %t57
|
|
store ptr %t58, ptr %t59
|
|
%t60 = load ptr, ptr %t59
|
|
%t61 = call ptr @fn_find_comp(ptr %t60)
|
|
store ptr %t61, ptr %t62
|
|
%t63 = load ptr, ptr %t62
|
|
%t64 = icmp ne ptr %t63, null
|
|
%t65 = zext i1 %t64 to i32
|
|
%t66 = icmp ne i32 %t65, 0
|
|
br i1 %t66, label %then12, label %ifend14
|
|
then12:
|
|
store i32 0, ptr %t67
|
|
store i32 0, ptr %t68
|
|
br label %wcond15
|
|
wcond15:
|
|
%t69 = load i32, ptr %t68
|
|
%t70 = load ptr, ptr %t62
|
|
%t71 = getelementptr inbounds %Cmp_Node, ptr %t70, i32 0, i32 7
|
|
%t72 = load ptr, ptr %t71
|
|
%t73 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 1
|
|
%t74 = load i32, ptr %t73
|
|
%t75 = icmp slt i32 %t69, %t74
|
|
%t76 = zext i1 %t75 to i32
|
|
%t77 = icmp ne i32 %t76, 0
|
|
br i1 %t77, label %wbody16, label %wend17
|
|
wbody16:
|
|
%t78 = load ptr, ptr %t62
|
|
%t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 7
|
|
%t80 = load ptr, ptr %t79
|
|
%t81 = getelementptr inbounds %LSlice, ptr %t80, i32 0, i32 0
|
|
%t82 = load ptr, ptr %t81
|
|
%t83 = load i32, ptr %t68
|
|
%t84 = getelementptr inbounds ptr, ptr %t82, i32 %t83
|
|
%t85 = load ptr, ptr %t84
|
|
%t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 2
|
|
%t87 = load i32, ptr %t86
|
|
%t88 = icmp eq i32 %t87, 1
|
|
%t89 = zext i1 %t88 to i32
|
|
%t90 = icmp ne i32 %t89, 0
|
|
br i1 %t90, label %then18, label %ifend20
|
|
then18:
|
|
store i32 1, ptr %t67
|
|
%t91 = load ptr, ptr %t62
|
|
%t92 = getelementptr inbounds %Cmp_Node, ptr %t91, i32 0, i32 7
|
|
%t93 = load ptr, ptr %t92
|
|
%t94 = getelementptr inbounds %LSlice, ptr %t93, i32 0, i32 0
|
|
%t95 = load ptr, ptr %t94
|
|
%t96 = load i32, ptr %t68
|
|
%t97 = getelementptr inbounds ptr, ptr %t95, i32 %t96
|
|
%t98 = load ptr, ptr %t97
|
|
%t99 = getelementptr inbounds %Cmp_Node, ptr %t98, i32 0, i32 3
|
|
%t100 = load ptr, ptr %t99
|
|
%t101 = call ptr @fn_llty(ptr %t100)
|
|
%t102 = call i32 @fn_str_eq(ptr %t101, ptr @.str6006)
|
|
%t103 = icmp ne i32 %t102, 0
|
|
br i1 %t103, label %then21, label %ifend23
|
|
then21:
|
|
%t104 = load ptr, ptr %t59
|
|
%t105 = call ptr @fn_str_concat(ptr @.str6007, ptr %t104)
|
|
%t106 = call ptr @fn_str_concat(ptr %t105, ptr @.str6008)
|
|
%t107 = load ptr, ptr %t62
|
|
%t108 = getelementptr inbounds %Cmp_Node, ptr %t107, i32 0, i32 7
|
|
%t109 = load ptr, ptr %t108
|
|
%t110 = getelementptr inbounds %LSlice, ptr %t109, i32 0, i32 0
|
|
%t111 = load ptr, ptr %t110
|
|
%t112 = load i32, ptr %t68
|
|
%t113 = getelementptr inbounds ptr, ptr %t111, i32 %t112
|
|
%t114 = load ptr, ptr %t113
|
|
%t115 = getelementptr inbounds %Cmp_Node, ptr %t114, i32 0, i32 1
|
|
%t116 = load ptr, ptr %t115
|
|
%t117 = call ptr @fn_str_concat(ptr %t106, ptr %t116)
|
|
%t118 = call ptr @fn_str_concat(ptr %t117, ptr @.str6009)
|
|
call void @fn_perr(ptr %t118)
|
|
br label %ifend23
|
|
ifend23:
|
|
br label %ifend20
|
|
ifend20:
|
|
%t119 = load i32, ptr %t68
|
|
%t120 = add i32 %t119, 1
|
|
store i32 %t120, ptr %t68
|
|
br label %wcond15
|
|
wend17:
|
|
%t121 = load i32, ptr %t67
|
|
%t122 = icmp eq i32 %t121, 0
|
|
%t123 = zext i1 %t122 to i32
|
|
%t124 = icmp ne i32 %t123, 0
|
|
br i1 %t124, label %then24, label %ifend26
|
|
then24:
|
|
%t125 = load ptr, ptr %t25
|
|
%t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 1
|
|
%t127 = load ptr, ptr %t126
|
|
%t128 = call ptr @fn_str_concat(ptr @.str6010, ptr %t127)
|
|
%t129 = call ptr @fn_str_concat(ptr %t128, ptr @.str6011)
|
|
%t130 = load ptr, ptr %t59
|
|
%t131 = call ptr @fn_str_concat(ptr %t129, ptr %t130)
|
|
%t132 = call ptr @fn_str_concat(ptr %t131, ptr @.str6012)
|
|
call void @fn_net_warn(ptr %t132)
|
|
br label %ifend26
|
|
ifend26:
|
|
br label %ifend14
|
|
ifend14:
|
|
br label %ifend11
|
|
ifend11:
|
|
%t133 = load i32, ptr %t26
|
|
%t134 = add i32 %t133, 1
|
|
store i32 %t134, ptr %t26
|
|
br label %wcond6
|
|
wend8:
|
|
br label %ifend5
|
|
ifend5:
|
|
%t135 = load i32, ptr %t0
|
|
%t136 = add i32 %t135, 1
|
|
store i32 %t136, ptr %t0
|
|
br label %wcond0
|
|
wend2:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_net_serialize(ptr %arg_m) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t6 = alloca i32
|
|
%t7 = alloca i32
|
|
%t40 = alloca ptr
|
|
%t43 = alloca ptr
|
|
%t49 = alloca ptr
|
|
%t54 = alloca i32
|
|
%t88 = alloca ptr
|
|
%t90 = alloca ptr
|
|
%t97 = alloca ptr
|
|
store ptr %arg_m, ptr %t0
|
|
store i32 0, ptr @g_ll_t
|
|
%t1 = call ptr @fn_itoa(i32 1024)
|
|
store ptr %t1, ptr %t2
|
|
call void @fn_emit(ptr @.str6013)
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1
|
|
%t5 = load ptr, ptr %t4
|
|
call void @fn_emit(ptr %t5)
|
|
call void @fn_emit(ptr @.str6014)
|
|
store i32 0, ptr %t6
|
|
store i32 0, ptr %t7
|
|
br label %wcond0
|
|
wcond0:
|
|
%t8 = load i32, ptr %t7
|
|
%t9 = load ptr, ptr %t0
|
|
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1
|
|
%t13 = load i32, ptr %t12
|
|
%t14 = icmp slt i32 %t8, %t13
|
|
%t15 = zext i1 %t14 to i32
|
|
%t16 = icmp ne i32 %t15, 0
|
|
br i1 %t16, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7
|
|
%t19 = load ptr, ptr %t18
|
|
%t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
|
|
%t21 = load ptr, ptr %t20
|
|
%t22 = load i32, ptr %t7
|
|
%t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 2
|
|
%t26 = load i32, ptr %t25
|
|
%t27 = icmp eq i32 %t26, 1
|
|
%t28 = zext i1 %t27 to i32
|
|
%t29 = icmp ne i32 %t28, 0
|
|
br i1 %t29, label %then3, label %ifend5
|
|
then3:
|
|
%t30 = load ptr, ptr %t0
|
|
%t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0
|
|
%t34 = load ptr, ptr %t33
|
|
%t35 = load i32, ptr %t7
|
|
%t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35
|
|
%t37 = load ptr, ptr %t36
|
|
%t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1
|
|
%t39 = load ptr, ptr %t38
|
|
store ptr %t39, ptr %t40
|
|
%t41 = load ptr, ptr %t40
|
|
%t42 = call ptr @fn_find_comp(ptr %t41)
|
|
store ptr %t42, ptr %t43
|
|
%t44 = load ptr, ptr %t43
|
|
%t45 = icmp ne ptr %t44, null
|
|
%t46 = zext i1 %t45 to i32
|
|
%t47 = icmp ne i32 %t46, 0
|
|
br i1 %t47, label %then6, label %ifend8
|
|
then6:
|
|
%t48 = call ptr @fn_nreg()
|
|
store ptr %t48, ptr %t49
|
|
call void @fn_emit(ptr @.str6015)
|
|
%t50 = load ptr, ptr %t49
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str6016)
|
|
%t51 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t51)
|
|
call void @fn_emit(ptr @.str6017)
|
|
%t52 = load ptr, ptr %t40
|
|
call void @fn_emit(ptr %t52)
|
|
call void @fn_emit(ptr @.str6018)
|
|
%t53 = load ptr, ptr %t40
|
|
call void @fn_emit(ptr %t53)
|
|
call void @fn_emit(ptr @.str6019)
|
|
store i32 0, ptr %t54
|
|
br label %wcond9
|
|
wcond9:
|
|
%t55 = load i32, ptr %t54
|
|
%t56 = load ptr, ptr %t43
|
|
%t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7
|
|
%t58 = load ptr, ptr %t57
|
|
%t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1
|
|
%t60 = load i32, ptr %t59
|
|
%t61 = icmp slt i32 %t55, %t60
|
|
%t62 = zext i1 %t61 to i32
|
|
%t63 = icmp ne i32 %t62, 0
|
|
br i1 %t63, label %wbody10, label %wend11
|
|
wbody10:
|
|
%t64 = load ptr, ptr %t43
|
|
%t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7
|
|
%t66 = load ptr, ptr %t65
|
|
%t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0
|
|
%t68 = load ptr, ptr %t67
|
|
%t69 = load i32, ptr %t54
|
|
%t70 = getelementptr inbounds ptr, ptr %t68, i32 %t69
|
|
%t71 = load ptr, ptr %t70
|
|
%t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 2
|
|
%t73 = load i32, ptr %t72
|
|
%t74 = icmp eq i32 %t73, 1
|
|
%t75 = zext i1 %t74 to i32
|
|
%t76 = icmp ne i32 %t75, 0
|
|
br i1 %t76, label %then12, label %ifend14
|
|
then12:
|
|
%t77 = load ptr, ptr %t43
|
|
%t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 7
|
|
%t79 = load ptr, ptr %t78
|
|
%t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0
|
|
%t81 = load ptr, ptr %t80
|
|
%t82 = load i32, ptr %t54
|
|
%t83 = getelementptr inbounds ptr, ptr %t81, i32 %t82
|
|
%t84 = load ptr, ptr %t83
|
|
%t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 3
|
|
%t86 = load ptr, ptr %t85
|
|
%t87 = call ptr @fn_net_field_bytes(ptr %t86)
|
|
store ptr %t87, ptr %t88
|
|
%t89 = call ptr @fn_nreg()
|
|
store ptr %t89, ptr %t90
|
|
call void @fn_emit(ptr @.str6020)
|
|
%t91 = load ptr, ptr %t90
|
|
call void @fn_emit(ptr %t91)
|
|
call void @fn_emit(ptr @.str6021)
|
|
%t92 = load ptr, ptr %t40
|
|
call void @fn_emit(ptr %t92)
|
|
call void @fn_emit(ptr @.str6022)
|
|
%t93 = load ptr, ptr %t49
|
|
call void @fn_emit(ptr %t93)
|
|
call void @fn_emit(ptr @.str6023)
|
|
%t94 = load i32, ptr %t54
|
|
%t95 = call ptr @fn_itoa(i32 %t94)
|
|
call void @fn_emit(ptr %t95)
|
|
call void @fn_emit(ptr @.str6024)
|
|
%t96 = call ptr @fn_nreg()
|
|
store ptr %t96, ptr %t97
|
|
call void @fn_emit(ptr @.str6025)
|
|
%t98 = load ptr, ptr %t97
|
|
call void @fn_emit(ptr %t98)
|
|
call void @fn_emit(ptr @.str6026)
|
|
%t99 = load i32, ptr %t6
|
|
%t100 = call ptr @fn_itoa(i32 %t99)
|
|
call void @fn_emit(ptr %t100)
|
|
call void @fn_emit(ptr @.str6027)
|
|
call void @fn_emit(ptr @.str6028)
|
|
%t101 = load ptr, ptr %t97
|
|
call void @fn_emit(ptr %t101)
|
|
call void @fn_emit(ptr @.str6029)
|
|
%t102 = load ptr, ptr %t90
|
|
call void @fn_emit(ptr %t102)
|
|
call void @fn_emit(ptr @.str6030)
|
|
%t103 = load ptr, ptr %t88
|
|
call void @fn_emit(ptr %t103)
|
|
call void @fn_emit(ptr @.str6031)
|
|
%t104 = load i32, ptr %t6
|
|
%t105 = load ptr, ptr %t43
|
|
%t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 7
|
|
%t107 = load ptr, ptr %t106
|
|
%t108 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0
|
|
%t109 = load ptr, ptr %t108
|
|
%t110 = load i32, ptr %t54
|
|
%t111 = getelementptr inbounds ptr, ptr %t109, i32 %t110
|
|
%t112 = load ptr, ptr %t111
|
|
%t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 3
|
|
%t114 = load ptr, ptr %t113
|
|
%t115 = call i32 @fn_net_field_ibytes(ptr %t114)
|
|
%t116 = add i32 %t104, %t115
|
|
store i32 %t116, ptr %t6
|
|
br label %ifend14
|
|
ifend14:
|
|
%t117 = load i32, ptr %t54
|
|
%t118 = add i32 %t117, 1
|
|
store i32 %t118, ptr %t54
|
|
br label %wcond9
|
|
wend11:
|
|
br label %ifend8
|
|
ifend8:
|
|
br label %ifend5
|
|
ifend5:
|
|
%t119 = load i32, ptr %t7
|
|
%t120 = add i32 %t119, 1
|
|
store i32 %t120, ptr %t7
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_emit(ptr @.str6032)
|
|
%t121 = load i32, ptr %t6
|
|
%t122 = call ptr @fn_itoa(i32 %t121)
|
|
call void @fn_emit(ptr %t122)
|
|
call void @fn_emit(ptr @.str6033)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_net_apply(ptr %arg_m) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t6 = alloca i32
|
|
%t7 = alloca i32
|
|
%t40 = alloca ptr
|
|
%t43 = alloca ptr
|
|
%t49 = alloca ptr
|
|
%t54 = alloca i32
|
|
%t88 = alloca ptr
|
|
%t90 = alloca ptr
|
|
%t97 = alloca ptr
|
|
store ptr %arg_m, ptr %t0
|
|
store i32 0, ptr @g_ll_t
|
|
%t1 = call ptr @fn_itoa(i32 1024)
|
|
store ptr %t1, ptr %t2
|
|
call void @fn_emit(ptr @.str6034)
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 1
|
|
%t5 = load ptr, ptr %t4
|
|
call void @fn_emit(ptr %t5)
|
|
call void @fn_emit(ptr @.str6035)
|
|
store i32 0, ptr %t6
|
|
store i32 0, ptr %t7
|
|
br label %wcond0
|
|
wcond0:
|
|
%t8 = load i32, ptr %t7
|
|
%t9 = load ptr, ptr %t0
|
|
%t10 = getelementptr inbounds %Cmp_Node, ptr %t9, i32 0, i32 7
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1
|
|
%t13 = load i32, ptr %t12
|
|
%t14 = icmp slt i32 %t8, %t13
|
|
%t15 = zext i1 %t14 to i32
|
|
%t16 = icmp ne i32 %t15, 0
|
|
br i1 %t16, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = getelementptr inbounds %Cmp_Node, ptr %t17, i32 0, i32 7
|
|
%t19 = load ptr, ptr %t18
|
|
%t20 = getelementptr inbounds %LSlice, ptr %t19, i32 0, i32 0
|
|
%t21 = load ptr, ptr %t20
|
|
%t22 = load i32, ptr %t7
|
|
%t23 = getelementptr inbounds ptr, ptr %t21, i32 %t22
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 2
|
|
%t26 = load i32, ptr %t25
|
|
%t27 = icmp eq i32 %t26, 1
|
|
%t28 = zext i1 %t27 to i32
|
|
%t29 = icmp ne i32 %t28, 0
|
|
br i1 %t29, label %then3, label %ifend5
|
|
then3:
|
|
%t30 = load ptr, ptr %t0
|
|
%t31 = getelementptr inbounds %Cmp_Node, ptr %t30, i32 0, i32 7
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0
|
|
%t34 = load ptr, ptr %t33
|
|
%t35 = load i32, ptr %t7
|
|
%t36 = getelementptr inbounds ptr, ptr %t34, i32 %t35
|
|
%t37 = load ptr, ptr %t36
|
|
%t38 = getelementptr inbounds %Cmp_Node, ptr %t37, i32 0, i32 1
|
|
%t39 = load ptr, ptr %t38
|
|
store ptr %t39, ptr %t40
|
|
%t41 = load ptr, ptr %t40
|
|
%t42 = call ptr @fn_find_comp(ptr %t41)
|
|
store ptr %t42, ptr %t43
|
|
%t44 = load ptr, ptr %t43
|
|
%t45 = icmp ne ptr %t44, null
|
|
%t46 = zext i1 %t45 to i32
|
|
%t47 = icmp ne i32 %t46, 0
|
|
br i1 %t47, label %then6, label %ifend8
|
|
then6:
|
|
%t48 = call ptr @fn_nreg()
|
|
store ptr %t48, ptr %t49
|
|
call void @fn_emit(ptr @.str6036)
|
|
%t50 = load ptr, ptr %t49
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str6037)
|
|
%t51 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t51)
|
|
call void @fn_emit(ptr @.str6038)
|
|
%t52 = load ptr, ptr %t40
|
|
call void @fn_emit(ptr %t52)
|
|
call void @fn_emit(ptr @.str6039)
|
|
%t53 = load ptr, ptr %t40
|
|
call void @fn_emit(ptr %t53)
|
|
call void @fn_emit(ptr @.str6040)
|
|
store i32 0, ptr %t54
|
|
br label %wcond9
|
|
wcond9:
|
|
%t55 = load i32, ptr %t54
|
|
%t56 = load ptr, ptr %t43
|
|
%t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7
|
|
%t58 = load ptr, ptr %t57
|
|
%t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 1
|
|
%t60 = load i32, ptr %t59
|
|
%t61 = icmp slt i32 %t55, %t60
|
|
%t62 = zext i1 %t61 to i32
|
|
%t63 = icmp ne i32 %t62, 0
|
|
br i1 %t63, label %wbody10, label %wend11
|
|
wbody10:
|
|
%t64 = load ptr, ptr %t43
|
|
%t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 7
|
|
%t66 = load ptr, ptr %t65
|
|
%t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 0
|
|
%t68 = load ptr, ptr %t67
|
|
%t69 = load i32, ptr %t54
|
|
%t70 = getelementptr inbounds ptr, ptr %t68, i32 %t69
|
|
%t71 = load ptr, ptr %t70
|
|
%t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 2
|
|
%t73 = load i32, ptr %t72
|
|
%t74 = icmp eq i32 %t73, 1
|
|
%t75 = zext i1 %t74 to i32
|
|
%t76 = icmp ne i32 %t75, 0
|
|
br i1 %t76, label %then12, label %ifend14
|
|
then12:
|
|
%t77 = load ptr, ptr %t43
|
|
%t78 = getelementptr inbounds %Cmp_Node, ptr %t77, i32 0, i32 7
|
|
%t79 = load ptr, ptr %t78
|
|
%t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 0
|
|
%t81 = load ptr, ptr %t80
|
|
%t82 = load i32, ptr %t54
|
|
%t83 = getelementptr inbounds ptr, ptr %t81, i32 %t82
|
|
%t84 = load ptr, ptr %t83
|
|
%t85 = getelementptr inbounds %Cmp_Node, ptr %t84, i32 0, i32 3
|
|
%t86 = load ptr, ptr %t85
|
|
%t87 = call ptr @fn_net_field_bytes(ptr %t86)
|
|
store ptr %t87, ptr %t88
|
|
%t89 = call ptr @fn_nreg()
|
|
store ptr %t89, ptr %t90
|
|
call void @fn_emit(ptr @.str6041)
|
|
%t91 = load ptr, ptr %t90
|
|
call void @fn_emit(ptr %t91)
|
|
call void @fn_emit(ptr @.str6042)
|
|
%t92 = load ptr, ptr %t40
|
|
call void @fn_emit(ptr %t92)
|
|
call void @fn_emit(ptr @.str6043)
|
|
%t93 = load ptr, ptr %t49
|
|
call void @fn_emit(ptr %t93)
|
|
call void @fn_emit(ptr @.str6044)
|
|
%t94 = load i32, ptr %t54
|
|
%t95 = call ptr @fn_itoa(i32 %t94)
|
|
call void @fn_emit(ptr %t95)
|
|
call void @fn_emit(ptr @.str6045)
|
|
%t96 = call ptr @fn_nreg()
|
|
store ptr %t96, ptr %t97
|
|
call void @fn_emit(ptr @.str6046)
|
|
%t98 = load ptr, ptr %t97
|
|
call void @fn_emit(ptr %t98)
|
|
call void @fn_emit(ptr @.str6047)
|
|
%t99 = load i32, ptr %t6
|
|
%t100 = call ptr @fn_itoa(i32 %t99)
|
|
call void @fn_emit(ptr %t100)
|
|
call void @fn_emit(ptr @.str6048)
|
|
call void @fn_emit(ptr @.str6049)
|
|
%t101 = load ptr, ptr %t90
|
|
call void @fn_emit(ptr %t101)
|
|
call void @fn_emit(ptr @.str6050)
|
|
%t102 = load ptr, ptr %t97
|
|
call void @fn_emit(ptr %t102)
|
|
call void @fn_emit(ptr @.str6051)
|
|
%t103 = load ptr, ptr %t88
|
|
call void @fn_emit(ptr %t103)
|
|
call void @fn_emit(ptr @.str6052)
|
|
%t104 = load i32, ptr %t6
|
|
%t105 = load ptr, ptr %t43
|
|
%t106 = getelementptr inbounds %Cmp_Node, ptr %t105, i32 0, i32 7
|
|
%t107 = load ptr, ptr %t106
|
|
%t108 = getelementptr inbounds %LSlice, ptr %t107, i32 0, i32 0
|
|
%t109 = load ptr, ptr %t108
|
|
%t110 = load i32, ptr %t54
|
|
%t111 = getelementptr inbounds ptr, ptr %t109, i32 %t110
|
|
%t112 = load ptr, ptr %t111
|
|
%t113 = getelementptr inbounds %Cmp_Node, ptr %t112, i32 0, i32 3
|
|
%t114 = load ptr, ptr %t113
|
|
%t115 = call i32 @fn_net_field_ibytes(ptr %t114)
|
|
%t116 = add i32 %t104, %t115
|
|
store i32 %t116, ptr %t6
|
|
br label %ifend14
|
|
ifend14:
|
|
%t117 = load i32, ptr %t54
|
|
%t118 = add i32 %t117, 1
|
|
store i32 %t118, ptr %t54
|
|
br label %wcond9
|
|
wend11:
|
|
br label %ifend8
|
|
ifend8:
|
|
br label %ifend5
|
|
ifend5:
|
|
%t119 = load i32, ptr %t7
|
|
%t120 = add i32 %t119, 1
|
|
store i32 %t120, ptr %t7
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_emit(ptr @.str6053)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_net_dispatch() {
|
|
entry:
|
|
%t1 = alloca ptr
|
|
%t3 = alloca i32
|
|
%t4 = alloca i32
|
|
%t12 = alloca i32
|
|
%t44 = alloca ptr
|
|
%t47 = alloca ptr
|
|
%t72 = alloca i32
|
|
%t104 = alloca ptr
|
|
%t107 = alloca ptr
|
|
%t130 = alloca i32
|
|
%t162 = alloca ptr
|
|
%t165 = alloca ptr
|
|
%t0 = call ptr @fn_itoa(i32 1024)
|
|
store ptr %t0, ptr %t1
|
|
call void @fn_emit(ptr @.str6054)
|
|
call void @fn_emit(ptr @.str6055)
|
|
%t2 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t2)
|
|
call void @fn_emit(ptr @.str6056)
|
|
store i32 0, ptr %t3
|
|
store i32 0, ptr %t4
|
|
br label %wcond0
|
|
wcond0:
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = load ptr, ptr @g_prog
|
|
%t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1
|
|
%t8 = load i32, ptr %t7
|
|
%t9 = icmp slt i32 %t5, %t8
|
|
%t10 = zext i1 %t9 to i32
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t13 = load ptr, ptr @g_prog
|
|
%t14 = getelementptr inbounds %LSlice, ptr %t13, i32 0, i32 0
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = load i32, ptr %t4
|
|
%t17 = getelementptr inbounds ptr, ptr %t15, i32 %t16
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = getelementptr inbounds %Cmp_Node, ptr %t18, i32 0, i32 0
|
|
%t20 = load i32, ptr %t19
|
|
%t21 = icmp eq i32 %t20, 10
|
|
%t22 = zext i1 %t21 to i32
|
|
%t23 = icmp ne i32 %t22, 0
|
|
%t24 = zext i1 %t23 to i32
|
|
store i32 %t24, ptr %t12
|
|
br i1 %t23, label %sc3, label %scend4
|
|
sc3:
|
|
%t25 = load ptr, ptr @g_prog
|
|
%t26 = getelementptr inbounds %LSlice, ptr %t25, i32 0, i32 0
|
|
%t27 = load ptr, ptr %t26
|
|
%t28 = load i32, ptr %t4
|
|
%t29 = getelementptr inbounds ptr, ptr %t27, i32 %t28
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = call i32 @fn_net_model_syncs(ptr %t30)
|
|
%t32 = icmp ne i32 %t31, 0
|
|
%t33 = zext i1 %t32 to i32
|
|
store i32 %t33, ptr %t12
|
|
br label %scend4
|
|
scend4:
|
|
%t34 = load i32, ptr %t12
|
|
%t35 = icmp ne i32 %t34, 0
|
|
br i1 %t35, label %then5, label %ifend7
|
|
then5:
|
|
%t36 = load ptr, ptr @g_prog
|
|
%t37 = getelementptr inbounds %LSlice, ptr %t36, i32 0, i32 0
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = load i32, ptr %t4
|
|
%t40 = getelementptr inbounds ptr, ptr %t38, i32 %t39
|
|
%t41 = load ptr, ptr %t40
|
|
%t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 1
|
|
%t43 = load ptr, ptr %t42
|
|
store ptr %t43, ptr %t44
|
|
%t45 = load i32, ptr %t3
|
|
%t46 = call ptr @fn_itoa(i32 %t45)
|
|
store ptr %t46, ptr %t47
|
|
call void @fn_emit(ptr @.str6057)
|
|
%t48 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t48)
|
|
call void @fn_emit(ptr @.str6058)
|
|
%t49 = load ptr, ptr %t44
|
|
%t50 = call i32 @fn_find_arch_id(ptr %t49)
|
|
%t51 = call ptr @fn_itoa(i32 %t50)
|
|
call void @fn_emit(ptr %t51)
|
|
call void @fn_emit(ptr @.str6059)
|
|
call void @fn_emit(ptr @.str6060)
|
|
%t52 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t52)
|
|
call void @fn_emit(ptr @.str6061)
|
|
%t53 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t53)
|
|
call void @fn_emit(ptr @.str6062)
|
|
%t54 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t54)
|
|
call void @fn_emit(ptr @.str6063)
|
|
call void @fn_emit(ptr @.str6064)
|
|
%t55 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t55)
|
|
call void @fn_emit(ptr @.str6065)
|
|
%t56 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t56)
|
|
call void @fn_emit(ptr @.str6066)
|
|
%t57 = load ptr, ptr %t44
|
|
call void @fn_emit(ptr %t57)
|
|
call void @fn_emit(ptr @.str6067)
|
|
%t58 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t58)
|
|
call void @fn_emit(ptr @.str6068)
|
|
call void @fn_emit(ptr @.str6069)
|
|
%t59 = load ptr, ptr %t47
|
|
call void @fn_emit(ptr %t59)
|
|
call void @fn_emit(ptr @.str6070)
|
|
%t60 = load i32, ptr %t3
|
|
%t61 = add i32 %t60, 1
|
|
store i32 %t61, ptr %t3
|
|
br label %ifend7
|
|
ifend7:
|
|
%t62 = load i32, ptr %t4
|
|
%t63 = add i32 %t62, 1
|
|
store i32 %t63, ptr %t4
|
|
br label %wcond0
|
|
wend2:
|
|
call void @fn_emit(ptr @.str6071)
|
|
call void @fn_emit(ptr @.str6072)
|
|
call void @fn_emit(ptr @.str6073)
|
|
%t64 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t64)
|
|
call void @fn_emit(ptr @.str6074)
|
|
store i32 0, ptr %t3
|
|
store i32 0, ptr %t4
|
|
br label %wcond8
|
|
wcond8:
|
|
%t65 = load i32, ptr %t4
|
|
%t66 = load ptr, ptr @g_prog
|
|
%t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1
|
|
%t68 = load i32, ptr %t67
|
|
%t69 = icmp slt i32 %t65, %t68
|
|
%t70 = zext i1 %t69 to i32
|
|
%t71 = icmp ne i32 %t70, 0
|
|
br i1 %t71, label %wbody9, label %wend10
|
|
wbody9:
|
|
%t73 = load ptr, ptr @g_prog
|
|
%t74 = getelementptr inbounds %LSlice, ptr %t73, i32 0, i32 0
|
|
%t75 = load ptr, ptr %t74
|
|
%t76 = load i32, ptr %t4
|
|
%t77 = getelementptr inbounds ptr, ptr %t75, i32 %t76
|
|
%t78 = load ptr, ptr %t77
|
|
%t79 = getelementptr inbounds %Cmp_Node, ptr %t78, i32 0, i32 0
|
|
%t80 = load i32, ptr %t79
|
|
%t81 = icmp eq i32 %t80, 10
|
|
%t82 = zext i1 %t81 to i32
|
|
%t83 = icmp ne i32 %t82, 0
|
|
%t84 = zext i1 %t83 to i32
|
|
store i32 %t84, ptr %t72
|
|
br i1 %t83, label %sc11, label %scend12
|
|
sc11:
|
|
%t85 = load ptr, ptr @g_prog
|
|
%t86 = getelementptr inbounds %LSlice, ptr %t85, i32 0, i32 0
|
|
%t87 = load ptr, ptr %t86
|
|
%t88 = load i32, ptr %t4
|
|
%t89 = getelementptr inbounds ptr, ptr %t87, i32 %t88
|
|
%t90 = load ptr, ptr %t89
|
|
%t91 = call i32 @fn_net_model_syncs(ptr %t90)
|
|
%t92 = icmp ne i32 %t91, 0
|
|
%t93 = zext i1 %t92 to i32
|
|
store i32 %t93, ptr %t72
|
|
br label %scend12
|
|
scend12:
|
|
%t94 = load i32, ptr %t72
|
|
%t95 = icmp ne i32 %t94, 0
|
|
br i1 %t95, label %then13, label %ifend15
|
|
then13:
|
|
%t96 = load ptr, ptr @g_prog
|
|
%t97 = getelementptr inbounds %LSlice, ptr %t96, i32 0, i32 0
|
|
%t98 = load ptr, ptr %t97
|
|
%t99 = load i32, ptr %t4
|
|
%t100 = getelementptr inbounds ptr, ptr %t98, i32 %t99
|
|
%t101 = load ptr, ptr %t100
|
|
%t102 = getelementptr inbounds %Cmp_Node, ptr %t101, i32 0, i32 1
|
|
%t103 = load ptr, ptr %t102
|
|
store ptr %t103, ptr %t104
|
|
%t105 = load i32, ptr %t3
|
|
%t106 = call ptr @fn_itoa(i32 %t105)
|
|
store ptr %t106, ptr %t107
|
|
call void @fn_emit(ptr @.str6075)
|
|
%t108 = load ptr, ptr %t107
|
|
call void @fn_emit(ptr %t108)
|
|
call void @fn_emit(ptr @.str6076)
|
|
%t109 = load ptr, ptr %t104
|
|
%t110 = call i32 @fn_find_arch_id(ptr %t109)
|
|
%t111 = call ptr @fn_itoa(i32 %t110)
|
|
call void @fn_emit(ptr %t111)
|
|
call void @fn_emit(ptr @.str6077)
|
|
call void @fn_emit(ptr @.str6078)
|
|
%t112 = load ptr, ptr %t107
|
|
call void @fn_emit(ptr %t112)
|
|
call void @fn_emit(ptr @.str6079)
|
|
%t113 = load ptr, ptr %t107
|
|
call void @fn_emit(ptr %t113)
|
|
call void @fn_emit(ptr @.str6080)
|
|
%t114 = load ptr, ptr %t107
|
|
call void @fn_emit(ptr %t114)
|
|
call void @fn_emit(ptr @.str6081)
|
|
call void @fn_emit(ptr @.str6082)
|
|
%t115 = load ptr, ptr %t107
|
|
call void @fn_emit(ptr %t115)
|
|
call void @fn_emit(ptr @.str6083)
|
|
%t116 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t116)
|
|
call void @fn_emit(ptr @.str6084)
|
|
call void @fn_emit(ptr @.str6085)
|
|
%t117 = load ptr, ptr %t107
|
|
call void @fn_emit(ptr %t117)
|
|
call void @fn_emit(ptr @.str6086)
|
|
%t118 = load i32, ptr %t3
|
|
%t119 = add i32 %t118, 1
|
|
store i32 %t119, ptr %t3
|
|
br label %ifend15
|
|
ifend15:
|
|
%t120 = load i32, ptr %t4
|
|
%t121 = add i32 %t120, 1
|
|
store i32 %t121, ptr %t4
|
|
br label %wcond8
|
|
wend10:
|
|
call void @fn_emit(ptr @.str6087)
|
|
call void @fn_emit(ptr @.str6088)
|
|
call void @fn_emit(ptr @.str6089)
|
|
%t122 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t122)
|
|
call void @fn_emit(ptr @.str6090)
|
|
store i32 0, ptr %t3
|
|
store i32 0, ptr %t4
|
|
br label %wcond16
|
|
wcond16:
|
|
%t123 = load i32, ptr %t4
|
|
%t124 = load ptr, ptr @g_prog
|
|
%t125 = getelementptr inbounds %LSlice, ptr %t124, i32 0, i32 1
|
|
%t126 = load i32, ptr %t125
|
|
%t127 = icmp slt i32 %t123, %t126
|
|
%t128 = zext i1 %t127 to i32
|
|
%t129 = icmp ne i32 %t128, 0
|
|
br i1 %t129, label %wbody17, label %wend18
|
|
wbody17:
|
|
%t131 = load ptr, ptr @g_prog
|
|
%t132 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 0
|
|
%t133 = load ptr, ptr %t132
|
|
%t134 = load i32, ptr %t4
|
|
%t135 = getelementptr inbounds ptr, ptr %t133, i32 %t134
|
|
%t136 = load ptr, ptr %t135
|
|
%t137 = getelementptr inbounds %Cmp_Node, ptr %t136, i32 0, i32 0
|
|
%t138 = load i32, ptr %t137
|
|
%t139 = icmp eq i32 %t138, 10
|
|
%t140 = zext i1 %t139 to i32
|
|
%t141 = icmp ne i32 %t140, 0
|
|
%t142 = zext i1 %t141 to i32
|
|
store i32 %t142, ptr %t130
|
|
br i1 %t141, label %sc19, label %scend20
|
|
sc19:
|
|
%t143 = load ptr, ptr @g_prog
|
|
%t144 = getelementptr inbounds %LSlice, ptr %t143, i32 0, i32 0
|
|
%t145 = load ptr, ptr %t144
|
|
%t146 = load i32, ptr %t4
|
|
%t147 = getelementptr inbounds ptr, ptr %t145, i32 %t146
|
|
%t148 = load ptr, ptr %t147
|
|
%t149 = call i32 @fn_net_model_syncs(ptr %t148)
|
|
%t150 = icmp ne i32 %t149, 0
|
|
%t151 = zext i1 %t150 to i32
|
|
store i32 %t151, ptr %t130
|
|
br label %scend20
|
|
scend20:
|
|
%t152 = load i32, ptr %t130
|
|
%t153 = icmp ne i32 %t152, 0
|
|
br i1 %t153, label %then21, label %ifend23
|
|
then21:
|
|
%t154 = load ptr, ptr @g_prog
|
|
%t155 = getelementptr inbounds %LSlice, ptr %t154, i32 0, i32 0
|
|
%t156 = load ptr, ptr %t155
|
|
%t157 = load i32, ptr %t4
|
|
%t158 = getelementptr inbounds ptr, ptr %t156, i32 %t157
|
|
%t159 = load ptr, ptr %t158
|
|
%t160 = getelementptr inbounds %Cmp_Node, ptr %t159, i32 0, i32 1
|
|
%t161 = load ptr, ptr %t160
|
|
store ptr %t161, ptr %t162
|
|
%t163 = load i32, ptr %t3
|
|
%t164 = call ptr @fn_itoa(i32 %t163)
|
|
store ptr %t164, ptr %t165
|
|
call void @fn_emit(ptr @.str6091)
|
|
%t166 = load ptr, ptr %t165
|
|
call void @fn_emit(ptr %t166)
|
|
call void @fn_emit(ptr @.str6092)
|
|
%t167 = load ptr, ptr %t162
|
|
%t168 = call i32 @fn_find_arch_id(ptr %t167)
|
|
%t169 = call ptr @fn_itoa(i32 %t168)
|
|
call void @fn_emit(ptr %t169)
|
|
call void @fn_emit(ptr @.str6093)
|
|
call void @fn_emit(ptr @.str6094)
|
|
%t170 = load ptr, ptr %t165
|
|
call void @fn_emit(ptr %t170)
|
|
call void @fn_emit(ptr @.str6095)
|
|
%t171 = load ptr, ptr %t165
|
|
call void @fn_emit(ptr %t171)
|
|
call void @fn_emit(ptr @.str6096)
|
|
%t172 = load ptr, ptr %t165
|
|
call void @fn_emit(ptr %t172)
|
|
call void @fn_emit(ptr @.str6097)
|
|
call void @fn_emit(ptr @.str6098)
|
|
%t173 = load ptr, ptr %t165
|
|
call void @fn_emit(ptr %t173)
|
|
call void @fn_emit(ptr @.str6099)
|
|
%t174 = load ptr, ptr @g_prog
|
|
%t175 = getelementptr inbounds %LSlice, ptr %t174, i32 0, i32 0
|
|
%t176 = load ptr, ptr %t175
|
|
%t177 = load i32, ptr %t4
|
|
%t178 = getelementptr inbounds ptr, ptr %t176, i32 %t177
|
|
%t179 = load ptr, ptr %t178
|
|
%t180 = call i32 @fn_net_model_bytes(ptr %t179)
|
|
%t181 = call ptr @fn_itoa(i32 %t180)
|
|
call void @fn_emit(ptr %t181)
|
|
call void @fn_emit(ptr @.str6100)
|
|
call void @fn_emit(ptr @.str6101)
|
|
%t182 = load ptr, ptr %t165
|
|
call void @fn_emit(ptr %t182)
|
|
call void @fn_emit(ptr @.str6102)
|
|
%t183 = load i32, ptr %t3
|
|
%t184 = add i32 %t183, 1
|
|
store i32 %t184, ptr %t3
|
|
br label %ifend23
|
|
ifend23:
|
|
%t185 = load i32, ptr %t4
|
|
%t186 = add i32 %t185, 1
|
|
store i32 %t186, ptr %t4
|
|
br label %wcond16
|
|
wend18:
|
|
call void @fn_emit(ptr @.str6103)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_net_owner() {
|
|
entry:
|
|
%t1 = alloca ptr
|
|
%t0 = call ptr @fn_itoa(i32 1024)
|
|
store ptr %t0, ptr %t1
|
|
call void @fn_emit(ptr @.str6104)
|
|
call void @fn_emit(ptr @.str6105)
|
|
%t2 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t2)
|
|
call void @fn_emit(ptr @.str6106)
|
|
call void @fn_emit(ptr @.str6107)
|
|
call void @fn_emit(ptr @.str6108)
|
|
%t3 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t3)
|
|
call void @fn_emit(ptr @.str6109)
|
|
call void @fn_emit(ptr @.str6110)
|
|
call void @fn_emit(ptr @.str6111)
|
|
%t4 = load ptr, ptr %t1
|
|
call void @fn_emit(ptr %t4)
|
|
call void @fn_emit(ptr @.str6112)
|
|
call void @fn_emit(ptr @.str6113)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_loopback() {
|
|
entry:
|
|
call void @fn_emith(ptr @.str6114)
|
|
call void @fn_emith(ptr @.str6115)
|
|
call void @fn_emith(ptr @.str6116)
|
|
call void @fn_emith(ptr @.str6117)
|
|
call void @fn_emit(ptr @.str6118)
|
|
call void @fn_emit(ptr @.str6119)
|
|
call void @fn_emit(ptr @.str6120)
|
|
call void @fn_emit(ptr @.str6121)
|
|
call void @fn_emit(ptr @.str6122)
|
|
call void @fn_emit(ptr @.str6123)
|
|
call void @fn_emit(ptr @.str6124)
|
|
call void @fn_emit(ptr @.str6125)
|
|
call void @fn_emit(ptr @.str6126)
|
|
call void @fn_emit(ptr @.str6127)
|
|
call void @fn_emit(ptr @.str6128)
|
|
call void @fn_emit(ptr @.str6129)
|
|
call void @fn_emit(ptr @.str6130)
|
|
call void @fn_emit(ptr @.str6131)
|
|
call void @fn_emit(ptr @.str6132)
|
|
call void @fn_emit(ptr @.str6133)
|
|
call void @fn_emit(ptr @.str6134)
|
|
call void @fn_emit(ptr @.str6135)
|
|
call void @fn_emit(ptr @.str6136)
|
|
call void @fn_emit(ptr @.str6137)
|
|
call void @fn_emit(ptr @.str6138)
|
|
call void @fn_emit(ptr @.str6139)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_net_has_remote() {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca i32
|
|
store i32 0, ptr %t0
|
|
br label %wcond0
|
|
wcond0:
|
|
%t1 = load i32, ptr %t0
|
|
%t2 = load ptr, ptr @g_g_events
|
|
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
|
|
%t4 = load i32, ptr %t3
|
|
%t5 = icmp slt i32 %t1, %t4
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t8 = load ptr, ptr @g_g_events
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
|
|
%t10 = load ptr, ptr %t9
|
|
%t11 = load i32, ptr %t0
|
|
%t12 = getelementptr inbounds ptr, ptr %t10, i32 %t11
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = getelementptr inbounds %Cmp_Node, ptr %t13, i32 0, i32 3
|
|
%t15 = load ptr, ptr %t14
|
|
%t16 = icmp ne ptr %t15, null
|
|
%t17 = zext i1 %t16 to i32
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then3, label %ifend5
|
|
then3:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t19 = load i32, ptr %t0
|
|
%t20 = add i32 %t19, 1
|
|
store i32 %t20, ptr %t0
|
|
br label %wcond0
|
|
wend2:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t21 = load i32, ptr %retval
|
|
ret i32 %t21
|
|
}
|
|
|
|
define i32 @fn_net_event_id(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_name, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr @g_g_events
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t3, i32 0, i32 1
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp slt i32 %t2, %t5
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_g_events
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t1
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 1
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = load ptr, ptr %t0
|
|
%t18 = call i32 @fn_str_eq(ptr %t16, ptr %t17)
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then3, label %ifend5
|
|
then3:
|
|
%t20 = load i32, ptr %t1
|
|
store i32 %t20, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t21 = load i32, ptr %t1
|
|
%t22 = add i32 %t21, 1
|
|
store i32 %t22, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
%t23 = sub i32 0, 1
|
|
store i32 %t23, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t24 = load i32, ptr %retval
|
|
ret i32 %t24
|
|
}
|
|
|
|
define ptr @fn_net_send_sym() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t0 = call ptr @fn_find_extern(ptr @.str6140)
|
|
store ptr %t0, ptr %t1
|
|
%t2 = load ptr, ptr %t1
|
|
%t3 = icmp ne ptr %t2, null
|
|
%t4 = zext i1 %t3 to i32
|
|
%t5 = icmp ne i32 %t4, 0
|
|
br i1 %t5, label %then0, label %ifend2
|
|
then0:
|
|
%t6 = load ptr, ptr %t1
|
|
%t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 4
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1
|
|
%t10 = load ptr, ptr %t9
|
|
store ptr %t10, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
store ptr @.str6141, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t11 = load ptr, ptr %retval
|
|
ret ptr %t11
|
|
}
|
|
|
|
define ptr @fn_net_poll_sym() {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t0 = call ptr @fn_find_extern(ptr @.str6142)
|
|
store ptr %t0, ptr %t1
|
|
%t2 = load ptr, ptr %t1
|
|
%t3 = icmp ne ptr %t2, null
|
|
%t4 = zext i1 %t3 to i32
|
|
%t5 = icmp ne i32 %t4, 0
|
|
br i1 %t5, label %then0, label %ifend2
|
|
then0:
|
|
%t6 = load ptr, ptr %t1
|
|
%t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 4
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 1
|
|
%t10 = load ptr, ptr %t9
|
|
store ptr %t10, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
store ptr @.str6143, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t11 = load ptr, ptr %retval
|
|
ret ptr %t11
|
|
}
|
|
|
|
define void @fn_emit_net_pump() {
|
|
entry:
|
|
%t5 = alloca ptr
|
|
%t7 = alloca i32
|
|
%t21 = alloca ptr
|
|
%t30 = alloca ptr
|
|
%t41 = alloca i32
|
|
%t42 = alloca i32
|
|
%t44 = alloca ptr
|
|
%t65 = alloca ptr
|
|
%t71 = alloca ptr
|
|
call void @fn_emith(ptr @.str6144)
|
|
%t0 = call ptr @fn_find_extern(ptr @.str6145)
|
|
%t1 = icmp eq ptr %t0, null
|
|
%t2 = zext i1 %t1 to i32
|
|
%t3 = icmp ne i32 %t2, 0
|
|
br i1 %t3, label %then0, label %ifend2
|
|
then0:
|
|
store i32 1, ptr @g_g_uses_loopback
|
|
br label %ifend2
|
|
ifend2:
|
|
%t4 = call ptr @fn_net_poll_sym()
|
|
store ptr %t4, ptr %t5
|
|
call void @fn_emit(ptr @.str6146)
|
|
call void @fn_emit(ptr @.str6147)
|
|
%t6 = load ptr, ptr %t5
|
|
call void @fn_emit(ptr %t6)
|
|
call void @fn_emit(ptr @.str6148)
|
|
call void @fn_emit(ptr @.str6149)
|
|
call void @fn_emit(ptr @.str6150)
|
|
store i32 0, ptr %t7
|
|
br label %wcond3
|
|
wcond3:
|
|
%t8 = load i32, ptr %t7
|
|
%t9 = load ptr, ptr @g_g_events
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 1
|
|
%t11 = load i32, ptr %t10
|
|
%t12 = icmp slt i32 %t8, %t11
|
|
%t13 = zext i1 %t12 to i32
|
|
%t14 = icmp ne i32 %t13, 0
|
|
br i1 %t14, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t15 = load ptr, ptr @g_g_events
|
|
%t16 = getelementptr inbounds %LSlice, ptr %t15, i32 0, i32 0
|
|
%t17 = load ptr, ptr %t16
|
|
%t18 = load i32, ptr %t7
|
|
%t19 = getelementptr inbounds ptr, ptr %t17, i32 %t18
|
|
%t20 = load ptr, ptr %t19
|
|
store ptr %t20, ptr %t21
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 3
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = icmp ne ptr %t24, null
|
|
%t26 = zext i1 %t25 to i32
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then6, label %ifend8
|
|
then6:
|
|
%t28 = load i32, ptr %t7
|
|
%t29 = call ptr @fn_itoa(i32 %t28)
|
|
store ptr %t29, ptr %t30
|
|
call void @fn_emit(ptr @.str6151)
|
|
%t31 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t31)
|
|
call void @fn_emit(ptr @.str6152)
|
|
%t32 = load ptr, ptr %t21
|
|
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 1
|
|
%t34 = load ptr, ptr %t33
|
|
%t35 = call i32 @fn_net_event_id(ptr %t34)
|
|
%t36 = call ptr @fn_itoa(i32 %t35)
|
|
call void @fn_emit(ptr %t36)
|
|
call void @fn_emit(ptr @.str6153)
|
|
call void @fn_emit(ptr @.str6154)
|
|
%t37 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t37)
|
|
call void @fn_emit(ptr @.str6155)
|
|
%t38 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t38)
|
|
call void @fn_emit(ptr @.str6156)
|
|
%t39 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t39)
|
|
call void @fn_emit(ptr @.str6157)
|
|
call void @fn_emit(ptr @.str6158)
|
|
%t40 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t40)
|
|
call void @fn_emit(ptr @.str6159)
|
|
store i32 4, ptr %t41
|
|
store i32 0, ptr %t42
|
|
%t43 = call ptr @fn_buf_new()
|
|
store ptr %t43, ptr %t44
|
|
br label %wcond9
|
|
wcond9:
|
|
%t45 = load i32, ptr %t42
|
|
%t46 = load ptr, ptr %t21
|
|
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 7
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = getelementptr inbounds %LSlice, ptr %t48, i32 0, i32 1
|
|
%t50 = load i32, ptr %t49
|
|
%t51 = icmp slt i32 %t45, %t50
|
|
%t52 = zext i1 %t51 to i32
|
|
%t53 = icmp ne i32 %t52, 0
|
|
br i1 %t53, label %wbody10, label %wend11
|
|
wbody10:
|
|
%t54 = load ptr, ptr %t21
|
|
%t55 = getelementptr inbounds %Cmp_Node, ptr %t54, i32 0, i32 7
|
|
%t56 = load ptr, ptr %t55
|
|
%t57 = getelementptr inbounds %LSlice, ptr %t56, i32 0, i32 0
|
|
%t58 = load ptr, ptr %t57
|
|
%t59 = load i32, ptr %t42
|
|
%t60 = getelementptr inbounds ptr, ptr %t58, i32 %t59
|
|
%t61 = load ptr, ptr %t60
|
|
%t62 = getelementptr inbounds %Cmp_Node, ptr %t61, i32 0, i32 3
|
|
%t63 = load ptr, ptr %t62
|
|
%t64 = call ptr @fn_llty(ptr %t63)
|
|
store ptr %t64, ptr %t65
|
|
%t66 = load ptr, ptr %t30
|
|
%t67 = call ptr @fn_str_concat(ptr %t66, ptr @.str6160)
|
|
%t68 = load i32, ptr %t42
|
|
%t69 = call ptr @fn_itoa(i32 %t68)
|
|
%t70 = call ptr @fn_str_concat(ptr %t67, ptr %t69)
|
|
store ptr %t70, ptr %t71
|
|
call void @fn_emit(ptr @.str6161)
|
|
%t72 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t72)
|
|
call void @fn_emit(ptr @.str6162)
|
|
%t73 = load i32, ptr %t41
|
|
%t74 = call ptr @fn_itoa(i32 %t73)
|
|
call void @fn_emit(ptr %t74)
|
|
call void @fn_emit(ptr @.str6163)
|
|
call void @fn_emit(ptr @.str6164)
|
|
%t75 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t75)
|
|
call void @fn_emit(ptr @.str6165)
|
|
%t76 = load ptr, ptr %t65
|
|
call void @fn_emit(ptr %t76)
|
|
call void @fn_emit(ptr @.str6166)
|
|
%t77 = load ptr, ptr %t71
|
|
call void @fn_emit(ptr %t77)
|
|
call void @fn_emit(ptr @.str6167)
|
|
%t78 = load i32, ptr %t42
|
|
%t79 = icmp sgt i32 %t78, 0
|
|
%t80 = zext i1 %t79 to i32
|
|
%t81 = icmp ne i32 %t80, 0
|
|
br i1 %t81, label %then12, label %ifend14
|
|
then12:
|
|
%t82 = load ptr, ptr %t44
|
|
call void @fn_buf_puts(ptr %t82, ptr @.str6168)
|
|
br label %ifend14
|
|
ifend14:
|
|
%t83 = load ptr, ptr %t44
|
|
%t84 = load ptr, ptr %t65
|
|
call void @fn_buf_puts(ptr %t83, ptr %t84)
|
|
%t85 = load ptr, ptr %t44
|
|
call void @fn_buf_puts(ptr %t85, ptr @.str6169)
|
|
%t86 = load ptr, ptr %t44
|
|
%t87 = load ptr, ptr %t71
|
|
call void @fn_buf_puts(ptr %t86, ptr %t87)
|
|
%t88 = load i32, ptr %t41
|
|
%t89 = load ptr, ptr %t21
|
|
%t90 = getelementptr inbounds %Cmp_Node, ptr %t89, i32 0, i32 7
|
|
%t91 = load ptr, ptr %t90
|
|
%t92 = getelementptr inbounds %LSlice, ptr %t91, i32 0, i32 0
|
|
%t93 = load ptr, ptr %t92
|
|
%t94 = load i32, ptr %t42
|
|
%t95 = getelementptr inbounds ptr, ptr %t93, i32 %t94
|
|
%t96 = load ptr, ptr %t95
|
|
%t97 = getelementptr inbounds %Cmp_Node, ptr %t96, i32 0, i32 3
|
|
%t98 = load ptr, ptr %t97
|
|
%t99 = call i32 @fn_net_field_ibytes(ptr %t98)
|
|
%t100 = add i32 %t88, %t99
|
|
store i32 %t100, ptr %t41
|
|
%t101 = load i32, ptr %t42
|
|
%t102 = add i32 %t101, 1
|
|
store i32 %t102, ptr %t42
|
|
br label %wcond9
|
|
wend11:
|
|
call void @fn_emit(ptr @.str6170)
|
|
%t103 = load ptr, ptr %t21
|
|
%t104 = getelementptr inbounds %Cmp_Node, ptr %t103, i32 0, i32 1
|
|
%t105 = load ptr, ptr %t104
|
|
call void @fn_emit(ptr %t105)
|
|
call void @fn_emit(ptr @.str6171)
|
|
%t106 = load ptr, ptr %t44
|
|
%t107 = call ptr @fn_buf_str(ptr %t106)
|
|
call void @fn_emit(ptr %t107)
|
|
call void @fn_emit(ptr @.str6172)
|
|
call void @fn_emit(ptr @.str6173)
|
|
call void @fn_emit(ptr @.str6174)
|
|
%t108 = load ptr, ptr %t30
|
|
call void @fn_emit(ptr %t108)
|
|
call void @fn_emit(ptr @.str6175)
|
|
br label %ifend8
|
|
ifend8:
|
|
%t109 = load i32, ptr %t7
|
|
%t110 = add i32 %t109, 1
|
|
store i32 %t110, ptr %t7
|
|
br label %wcond3
|
|
wend5:
|
|
call void @fn_emit(ptr @.str6176)
|
|
call void @fn_emit(ptr @.str6177)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_net() {
|
|
entry:
|
|
%t2 = alloca i32
|
|
%t10 = alloca i32
|
|
%t0 = call i32 @fn_net_has_sync()
|
|
%t1 = icmp ne i32 %t0, 0
|
|
br i1 %t1, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_net_check()
|
|
store i32 0, ptr %t2
|
|
br label %wcond3
|
|
wcond3:
|
|
%t3 = load i32, ptr %t2
|
|
%t4 = load ptr, ptr @g_prog
|
|
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
|
|
%t6 = load i32, ptr %t5
|
|
%t7 = icmp slt i32 %t3, %t6
|
|
%t8 = zext i1 %t7 to i32
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t11 = load ptr, ptr @g_prog
|
|
%t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 0
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = load i32, ptr %t2
|
|
%t15 = getelementptr inbounds ptr, ptr %t13, i32 %t14
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 0
|
|
%t18 = load i32, ptr %t17
|
|
%t19 = icmp eq i32 %t18, 10
|
|
%t20 = zext i1 %t19 to i32
|
|
%t21 = icmp ne i32 %t20, 0
|
|
%t22 = zext i1 %t21 to i32
|
|
store i32 %t22, ptr %t10
|
|
br i1 %t21, label %sc6, label %scend7
|
|
sc6:
|
|
%t23 = load ptr, ptr @g_prog
|
|
%t24 = getelementptr inbounds %LSlice, ptr %t23, i32 0, i32 0
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = load i32, ptr %t2
|
|
%t27 = getelementptr inbounds ptr, ptr %t25, i32 %t26
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = call i32 @fn_net_model_syncs(ptr %t28)
|
|
%t30 = icmp ne i32 %t29, 0
|
|
%t31 = zext i1 %t30 to i32
|
|
store i32 %t31, ptr %t10
|
|
br label %scend7
|
|
scend7:
|
|
%t32 = load i32, ptr %t10
|
|
%t33 = icmp ne i32 %t32, 0
|
|
br i1 %t33, label %then8, label %ifend10
|
|
then8:
|
|
%t34 = load ptr, ptr @g_prog
|
|
%t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0
|
|
%t36 = load ptr, ptr %t35
|
|
%t37 = load i32, ptr %t2
|
|
%t38 = getelementptr inbounds ptr, ptr %t36, i32 %t37
|
|
%t39 = load ptr, ptr %t38
|
|
call void @fn_emit_net_serialize(ptr %t39)
|
|
%t40 = load ptr, ptr @g_prog
|
|
%t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0
|
|
%t42 = load ptr, ptr %t41
|
|
%t43 = load i32, ptr %t2
|
|
%t44 = getelementptr inbounds ptr, ptr %t42, i32 %t43
|
|
%t45 = load ptr, ptr %t44
|
|
call void @fn_emit_net_apply(ptr %t45)
|
|
br label %ifend10
|
|
ifend10:
|
|
%t46 = load i32, ptr %t2
|
|
%t47 = add i32 %t46, 1
|
|
store i32 %t47, ptr %t2
|
|
br label %wcond3
|
|
wend5:
|
|
call void @fn_emit_net_dispatch()
|
|
br label %ifend2
|
|
ifend2:
|
|
%t48 = call i32 @fn_net_has_owned()
|
|
%t49 = icmp ne i32 %t48, 0
|
|
br i1 %t49, label %then11, label %ifend13
|
|
then11:
|
|
call void @fn_emit_net_owner()
|
|
br label %ifend13
|
|
ifend13:
|
|
%t50 = call i32 @fn_net_has_remote()
|
|
%t51 = icmp ne i32 %t50, 0
|
|
br i1 %t51, label %then14, label %ifend16
|
|
then14:
|
|
call void @fn_emith(ptr @.str6178)
|
|
call void @fn_emit_net_pump()
|
|
br label %ifend16
|
|
ifend16:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_ui_wtype(ptr %arg_w) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t4 = alloca ptr
|
|
store ptr %arg_w, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 1
|
|
%t3 = load ptr, ptr %t2
|
|
store ptr %t3, ptr %t4
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = call i32 @fn_str_eq(ptr %t5, ptr @.str6179)
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %then0, label %ifend2
|
|
then0:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t8 = load ptr, ptr %t4
|
|
%t9 = call i32 @fn_str_eq(ptr %t8, ptr @.str6180)
|
|
%t10 = icmp ne i32 %t9, 0
|
|
br i1 %t10, label %then3, label %ifend5
|
|
then3:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t11 = load ptr, ptr %t4
|
|
%t12 = call i32 @fn_str_eq(ptr %t11, ptr @.str6181)
|
|
%t13 = icmp ne i32 %t12, 0
|
|
br i1 %t13, label %then6, label %ifend8
|
|
then6:
|
|
store i32 2, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t14 = load ptr, ptr %t4
|
|
%t15 = call i32 @fn_str_eq(ptr %t14, ptr @.str6182)
|
|
%t16 = icmp ne i32 %t15, 0
|
|
br i1 %t16, label %then9, label %ifend11
|
|
then9:
|
|
store i32 3, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t17 = load ptr, ptr %t4
|
|
%t18 = call i32 @fn_str_eq(ptr %t17, ptr @.str6183)
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then12, label %ifend14
|
|
then12:
|
|
store i32 4, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t20 = load ptr, ptr %t4
|
|
%t21 = call i32 @fn_str_eq(ptr %t20, ptr @.str6184)
|
|
%t22 = icmp ne i32 %t21, 0
|
|
br i1 %t22, label %then15, label %ifend17
|
|
then15:
|
|
store i32 5, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t23 = load ptr, ptr %t4
|
|
%t24 = call i32 @fn_str_eq(ptr %t23, ptr @.str6185)
|
|
%t25 = icmp ne i32 %t24, 0
|
|
br i1 %t25, label %then18, label %ifend20
|
|
then18:
|
|
store i32 6, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t26 = load i32, ptr %retval
|
|
ret i32 %t26
|
|
}
|
|
|
|
define ptr @fn_ui_prop(ptr %arg_w, ptr %arg_key) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca i32
|
|
store ptr %arg_w, ptr %t0
|
|
store ptr %arg_key, ptr %t1
|
|
store i32 0, ptr %t2
|
|
br label %wcond0
|
|
wcond0:
|
|
%t3 = load i32, ptr %t2
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = getelementptr inbounds %Cmp_Node, ptr %t4, i32 0, i32 5
|
|
%t6 = load ptr, ptr %t5
|
|
%t7 = getelementptr inbounds %Cmp_Node, ptr %t6, i32 0, i32 7
|
|
%t8 = load ptr, ptr %t7
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1
|
|
%t10 = load i32, ptr %t9
|
|
%t11 = icmp slt i32 %t3, %t10
|
|
%t12 = zext i1 %t11 to i32
|
|
%t13 = icmp ne i32 %t12, 0
|
|
br i1 %t13, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t14 = load ptr, ptr %t0
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 5
|
|
%t16 = load ptr, ptr %t15
|
|
%t17 = getelementptr inbounds %Cmp_Node, ptr %t16, i32 0, i32 7
|
|
%t18 = load ptr, ptr %t17
|
|
%t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = load i32, ptr %t2
|
|
%t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21
|
|
%t23 = load ptr, ptr %t22
|
|
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 1
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = load ptr, ptr %t1
|
|
%t27 = call i32 @fn_str_eq(ptr %t25, ptr %t26)
|
|
%t28 = icmp ne i32 %t27, 0
|
|
br i1 %t28, label %then3, label %ifend5
|
|
then3:
|
|
%t29 = load ptr, ptr %t0
|
|
%t30 = getelementptr inbounds %Cmp_Node, ptr %t29, i32 0, i32 5
|
|
%t31 = load ptr, ptr %t30
|
|
%t32 = getelementptr inbounds %Cmp_Node, ptr %t31, i32 0, i32 7
|
|
%t33 = load ptr, ptr %t32
|
|
%t34 = getelementptr inbounds %LSlice, ptr %t33, i32 0, i32 0
|
|
%t35 = load ptr, ptr %t34
|
|
%t36 = load i32, ptr %t2
|
|
%t37 = getelementptr inbounds ptr, ptr %t35, i32 %t36
|
|
%t38 = load ptr, ptr %t37
|
|
%t39 = getelementptr inbounds %Cmp_Node, ptr %t38, i32 0, i32 4
|
|
%t40 = load ptr, ptr %t39
|
|
store ptr %t40, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t41 = load i32, ptr %t2
|
|
%t42 = add i32 %t41, 1
|
|
store i32 %t42, ptr %t2
|
|
br label %wcond0
|
|
wend2:
|
|
store ptr null, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t43 = load ptr, ptr %retval
|
|
ret ptr %t43
|
|
}
|
|
|
|
define void @fn_ui_flatten(ptr %arg_w, i32 %arg_parent) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t5 = alloca i32
|
|
%t46 = alloca i32
|
|
store ptr %arg_w, ptr %t0
|
|
store i32 %arg_parent, ptr %t1
|
|
%t2 = load ptr, ptr @g_uiw
|
|
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
|
|
%t4 = load i32, ptr %t3
|
|
store i32 %t4, ptr %t5
|
|
%t6 = load ptr, ptr @g_uiw
|
|
%t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1
|
|
%t8 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 2
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 0
|
|
%t10 = load i32, ptr %t7
|
|
%t11 = load i32, ptr %t8
|
|
%t12 = icmp sge i32 %t10, %t11
|
|
br i1 %t12, label %grow0, label %put1
|
|
grow0:
|
|
%t13 = mul i32 %t11, 2
|
|
%t14 = icmp eq i32 %t11, 0
|
|
%t15 = select i1 %t14, i32 8, i32 %t13
|
|
%t16 = getelementptr ptr, ptr null, i32 1
|
|
%t17 = ptrtoint ptr %t16 to i64
|
|
%t18 = zext i32 %t15 to i64
|
|
%t19 = mul i64 %t18, %t17
|
|
%t20 = load ptr, ptr %t9
|
|
%t21 = call ptr @realloc(ptr %t20, i64 %t19)
|
|
store ptr %t21, ptr %t9
|
|
store i32 %t15, ptr %t8
|
|
br label %put1
|
|
put1:
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = load ptr, ptr %t9
|
|
%t24 = getelementptr inbounds ptr, ptr %t23, i32 %t10
|
|
store ptr %t22, ptr %t24
|
|
%t25 = add i32 %t10, 1
|
|
store i32 %t25, ptr %t7
|
|
%t26 = load ptr, ptr @g_uiw_parent
|
|
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1
|
|
%t28 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 2
|
|
%t29 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 0
|
|
%t30 = load i32, ptr %t27
|
|
%t31 = load i32, ptr %t28
|
|
%t32 = icmp sge i32 %t30, %t31
|
|
br i1 %t32, label %grow2, label %put3
|
|
grow2:
|
|
%t33 = mul i32 %t31, 2
|
|
%t34 = icmp eq i32 %t31, 0
|
|
%t35 = select i1 %t34, i32 8, i32 %t33
|
|
%t36 = getelementptr i32, ptr null, i32 1
|
|
%t37 = ptrtoint ptr %t36 to i64
|
|
%t38 = zext i32 %t35 to i64
|
|
%t39 = mul i64 %t38, %t37
|
|
%t40 = load ptr, ptr %t29
|
|
%t41 = call ptr @realloc(ptr %t40, i64 %t39)
|
|
store ptr %t41, ptr %t29
|
|
store i32 %t35, ptr %t28
|
|
br label %put3
|
|
put3:
|
|
%t42 = load i32, ptr %t1
|
|
%t43 = load ptr, ptr %t29
|
|
%t44 = getelementptr inbounds i32, ptr %t43, i32 %t30
|
|
store i32 %t42, ptr %t44
|
|
%t45 = add i32 %t30, 1
|
|
store i32 %t45, ptr %t27
|
|
store i32 0, ptr %t46
|
|
br label %wcond4
|
|
wcond4:
|
|
%t47 = load i32, ptr %t46
|
|
%t48 = load ptr, ptr %t0
|
|
%t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7
|
|
%t50 = load ptr, ptr %t49
|
|
%t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1
|
|
%t52 = load i32, ptr %t51
|
|
%t53 = icmp slt i32 %t47, %t52
|
|
%t54 = zext i1 %t53 to i32
|
|
%t55 = icmp ne i32 %t54, 0
|
|
br i1 %t55, label %wbody5, label %wend6
|
|
wbody5:
|
|
%t56 = load ptr, ptr %t0
|
|
%t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 7
|
|
%t58 = load ptr, ptr %t57
|
|
%t59 = getelementptr inbounds %LSlice, ptr %t58, i32 0, i32 0
|
|
%t60 = load ptr, ptr %t59
|
|
%t61 = load i32, ptr %t46
|
|
%t62 = getelementptr inbounds ptr, ptr %t60, i32 %t61
|
|
%t63 = load ptr, ptr %t62
|
|
%t64 = load i32, ptr %t5
|
|
call void @fn_ui_flatten(ptr %t63, i32 %t64)
|
|
%t65 = load i32, ptr %t46
|
|
%t66 = add i32 %t65, 1
|
|
store i32 %t66, ptr %t46
|
|
br label %wcond4
|
|
wend6:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_ui_flatten_all() {
|
|
entry:
|
|
%t18 = alloca i32
|
|
%t26 = alloca i32
|
|
%t0 = getelementptr %LSlice, ptr null, i32 1
|
|
%t1 = ptrtoint ptr %t0 to i64
|
|
%t2 = call ptr @malloc(i64 %t1)
|
|
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 0
|
|
store ptr null, ptr %t3
|
|
%t4 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
|
|
store i32 0, ptr %t4
|
|
%t5 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 2
|
|
store i32 0, ptr %t5
|
|
store ptr %t2, ptr @g_uiw
|
|
%t6 = getelementptr %LSlice, ptr null, i32 1
|
|
%t7 = ptrtoint ptr %t6 to i64
|
|
%t8 = call ptr @malloc(i64 %t7)
|
|
%t9 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 0
|
|
store ptr null, ptr %t9
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 1
|
|
store i32 0, ptr %t10
|
|
%t11 = getelementptr inbounds %LSlice, ptr %t8, i32 0, i32 2
|
|
store i32 0, ptr %t11
|
|
store ptr %t8, ptr @g_uiw_parent
|
|
%t12 = getelementptr %LSlice, ptr null, i32 1
|
|
%t13 = ptrtoint ptr %t12 to i64
|
|
%t14 = call ptr @malloc(i64 %t13)
|
|
%t15 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 0
|
|
store ptr null, ptr %t15
|
|
%t16 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 1
|
|
store i32 0, ptr %t16
|
|
%t17 = getelementptr inbounds %LSlice, ptr %t14, i32 0, i32 2
|
|
store i32 0, ptr %t17
|
|
store ptr %t14, ptr @g_ui_roots
|
|
store i32 0, ptr %t18
|
|
br label %wcond0
|
|
wcond0:
|
|
%t19 = load i32, ptr %t18
|
|
%t20 = load ptr, ptr @g_prog
|
|
%t21 = getelementptr inbounds %LSlice, ptr %t20, i32 0, i32 1
|
|
%t22 = load i32, ptr %t21
|
|
%t23 = icmp slt i32 %t19, %t22
|
|
%t24 = zext i1 %t23 to i32
|
|
%t25 = icmp ne i32 %t24, 0
|
|
br i1 %t25, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t27 = load ptr, ptr @g_prog
|
|
%t28 = getelementptr inbounds %LSlice, ptr %t27, i32 0, i32 0
|
|
%t29 = load ptr, ptr %t28
|
|
%t30 = load i32, ptr %t18
|
|
%t31 = getelementptr inbounds ptr, ptr %t29, i32 %t30
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 0
|
|
%t34 = load i32, ptr %t33
|
|
%t35 = icmp eq i32 %t34, 12
|
|
%t36 = zext i1 %t35 to i32
|
|
%t37 = icmp ne i32 %t36, 0
|
|
%t38 = zext i1 %t37 to i32
|
|
store i32 %t38, ptr %t26
|
|
br i1 %t37, label %sc3, label %scend4
|
|
sc3:
|
|
%t39 = load ptr, ptr @g_prog
|
|
%t40 = getelementptr inbounds %LSlice, ptr %t39, i32 0, i32 0
|
|
%t41 = load ptr, ptr %t40
|
|
%t42 = load i32, ptr %t18
|
|
%t43 = getelementptr inbounds ptr, ptr %t41, i32 %t42
|
|
%t44 = load ptr, ptr %t43
|
|
%t45 = getelementptr inbounds %Cmp_Node, ptr %t44, i32 0, i32 2
|
|
%t46 = load i32, ptr %t45
|
|
%t47 = icmp eq i32 %t46, 1
|
|
%t48 = zext i1 %t47 to i32
|
|
%t49 = icmp ne i32 %t48, 0
|
|
%t50 = zext i1 %t49 to i32
|
|
store i32 %t50, ptr %t26
|
|
br label %scend4
|
|
scend4:
|
|
%t51 = load i32, ptr %t26
|
|
%t52 = icmp ne i32 %t51, 0
|
|
br i1 %t52, label %then5, label %ifend7
|
|
then5:
|
|
%t53 = load ptr, ptr @g_ui_roots
|
|
%t54 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 1
|
|
%t55 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 2
|
|
%t56 = getelementptr inbounds %LSlice, ptr %t53, i32 0, i32 0
|
|
%t57 = load i32, ptr %t54
|
|
%t58 = load i32, ptr %t55
|
|
%t59 = icmp sge i32 %t57, %t58
|
|
br i1 %t59, label %grow8, label %put9
|
|
grow8:
|
|
%t60 = mul i32 %t58, 2
|
|
%t61 = icmp eq i32 %t58, 0
|
|
%t62 = select i1 %t61, i32 8, i32 %t60
|
|
%t63 = getelementptr i32, ptr null, i32 1
|
|
%t64 = ptrtoint ptr %t63 to i64
|
|
%t65 = zext i32 %t62 to i64
|
|
%t66 = mul i64 %t65, %t64
|
|
%t67 = load ptr, ptr %t56
|
|
%t68 = call ptr @realloc(ptr %t67, i64 %t66)
|
|
store ptr %t68, ptr %t56
|
|
store i32 %t62, ptr %t55
|
|
br label %put9
|
|
put9:
|
|
%t69 = load ptr, ptr @g_uiw
|
|
%t70 = getelementptr inbounds %LSlice, ptr %t69, i32 0, i32 1
|
|
%t71 = load i32, ptr %t70
|
|
%t72 = load ptr, ptr %t56
|
|
%t73 = getelementptr inbounds i32, ptr %t72, i32 %t57
|
|
store i32 %t71, ptr %t73
|
|
%t74 = add i32 %t57, 1
|
|
store i32 %t74, ptr %t54
|
|
%t75 = load ptr, ptr @g_prog
|
|
%t76 = getelementptr inbounds %LSlice, ptr %t75, i32 0, i32 0
|
|
%t77 = load ptr, ptr %t76
|
|
%t78 = load i32, ptr %t18
|
|
%t79 = getelementptr inbounds ptr, ptr %t77, i32 %t78
|
|
%t80 = load ptr, ptr %t79
|
|
%t81 = getelementptr inbounds %Cmp_Node, ptr %t80, i32 0, i32 4
|
|
%t82 = load ptr, ptr %t81
|
|
%t83 = sub i32 0, 1
|
|
call void @fn_ui_flatten(ptr %t82, i32 %t83)
|
|
br label %ifend7
|
|
ifend7:
|
|
%t84 = load i32, ptr %t18
|
|
%t85 = add i32 %t84, 1
|
|
store i32 %t85, ptr %t18
|
|
br label %wcond0
|
|
wend2:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_has_ui() {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca i32
|
|
%t8 = alloca i32
|
|
store i32 0, ptr %t0
|
|
br label %wcond0
|
|
wcond0:
|
|
%t1 = load i32, ptr %t0
|
|
%t2 = load ptr, ptr @g_prog
|
|
%t3 = getelementptr inbounds %LSlice, ptr %t2, i32 0, i32 1
|
|
%t4 = load i32, ptr %t3
|
|
%t5 = icmp slt i32 %t1, %t4
|
|
%t6 = zext i1 %t5 to i32
|
|
%t7 = icmp ne i32 %t6, 0
|
|
br i1 %t7, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t9 = load ptr, ptr @g_prog
|
|
%t10 = getelementptr inbounds %LSlice, ptr %t9, i32 0, i32 0
|
|
%t11 = load ptr, ptr %t10
|
|
%t12 = load i32, ptr %t0
|
|
%t13 = getelementptr inbounds ptr, ptr %t11, i32 %t12
|
|
%t14 = load ptr, ptr %t13
|
|
%t15 = getelementptr inbounds %Cmp_Node, ptr %t14, i32 0, i32 0
|
|
%t16 = load i32, ptr %t15
|
|
%t17 = icmp eq i32 %t16, 12
|
|
%t18 = zext i1 %t17 to i32
|
|
%t19 = icmp ne i32 %t18, 0
|
|
%t20 = zext i1 %t19 to i32
|
|
store i32 %t20, ptr %t8
|
|
br i1 %t19, label %sc3, label %scend4
|
|
sc3:
|
|
%t21 = load ptr, ptr @g_prog
|
|
%t22 = getelementptr inbounds %LSlice, ptr %t21, i32 0, i32 0
|
|
%t23 = load ptr, ptr %t22
|
|
%t24 = load i32, ptr %t0
|
|
%t25 = getelementptr inbounds ptr, ptr %t23, i32 %t24
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 2
|
|
%t28 = load i32, ptr %t27
|
|
%t29 = icmp eq i32 %t28, 1
|
|
%t30 = zext i1 %t29 to i32
|
|
%t31 = icmp ne i32 %t30, 0
|
|
%t32 = zext i1 %t31 to i32
|
|
store i32 %t32, ptr %t8
|
|
br label %scend4
|
|
scend4:
|
|
%t33 = load i32, ptr %t8
|
|
%t34 = icmp ne i32 %t33, 0
|
|
br i1 %t34, label %then5, label %ifend7
|
|
then5:
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend7:
|
|
%t35 = load i32, ptr %t0
|
|
%t36 = add i32 %t35, 1
|
|
store i32 %t36, ptr %t0
|
|
br label %wcond0
|
|
wend2:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t37 = load i32, ptr %retval
|
|
ret i32 %t37
|
|
}
|
|
|
|
define i32 @fn_ui_index_of(ptr %arg_nm) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t6 = alloca ptr
|
|
%t7 = alloca i32
|
|
%t8 = alloca i32
|
|
%t9 = alloca i32
|
|
%t17 = alloca i32
|
|
%t79 = alloca ptr
|
|
%t84 = alloca i32
|
|
store ptr %arg_nm, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call i64 @strlen(ptr %t2)
|
|
%t4 = trunc i64 %t3 to i32
|
|
%t5 = call ptr @fn_str_slice(ptr %t1, i32 3, i32 %t4)
|
|
store ptr %t5, ptr %t6
|
|
store i32 0, ptr %t7
|
|
store i32 0, ptr %t8
|
|
store i32 0, ptr %t9
|
|
br label %wcond0
|
|
wcond0:
|
|
%t10 = load i32, ptr %t9
|
|
%t11 = load ptr, ptr @g_prog
|
|
%t12 = getelementptr inbounds %LSlice, ptr %t11, i32 0, i32 1
|
|
%t13 = load i32, ptr %t12
|
|
%t14 = icmp slt i32 %t10, %t13
|
|
%t15 = zext i1 %t14 to i32
|
|
%t16 = icmp ne i32 %t15, 0
|
|
br i1 %t16, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t18 = load ptr, ptr @g_prog
|
|
%t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = load i32, ptr %t9
|
|
%t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21
|
|
%t23 = load ptr, ptr %t22
|
|
%t24 = getelementptr inbounds %Cmp_Node, ptr %t23, i32 0, i32 0
|
|
%t25 = load i32, ptr %t24
|
|
%t26 = icmp eq i32 %t25, 12
|
|
%t27 = zext i1 %t26 to i32
|
|
%t28 = icmp ne i32 %t27, 0
|
|
%t29 = zext i1 %t28 to i32
|
|
store i32 %t29, ptr %t17
|
|
br i1 %t28, label %sc3, label %scend4
|
|
sc3:
|
|
%t30 = load ptr, ptr @g_prog
|
|
%t31 = getelementptr inbounds %LSlice, ptr %t30, i32 0, i32 0
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = load i32, ptr %t9
|
|
%t34 = getelementptr inbounds ptr, ptr %t32, i32 %t33
|
|
%t35 = load ptr, ptr %t34
|
|
%t36 = getelementptr inbounds %Cmp_Node, ptr %t35, i32 0, i32 2
|
|
%t37 = load i32, ptr %t36
|
|
%t38 = icmp eq i32 %t37, 1
|
|
%t39 = zext i1 %t38 to i32
|
|
%t40 = icmp ne i32 %t39, 0
|
|
%t41 = zext i1 %t40 to i32
|
|
store i32 %t41, ptr %t17
|
|
br label %scend4
|
|
scend4:
|
|
%t42 = load i32, ptr %t17
|
|
%t43 = icmp ne i32 %t42, 0
|
|
br i1 %t43, label %then5, label %ifend7
|
|
then5:
|
|
%t44 = load ptr, ptr @g_prog
|
|
%t45 = getelementptr inbounds %LSlice, ptr %t44, i32 0, i32 0
|
|
%t46 = load ptr, ptr %t45
|
|
%t47 = load i32, ptr %t9
|
|
%t48 = getelementptr inbounds ptr, ptr %t46, i32 %t47
|
|
%t49 = load ptr, ptr %t48
|
|
%t50 = getelementptr inbounds %Cmp_Node, ptr %t49, i32 0, i32 1
|
|
%t51 = load ptr, ptr %t50
|
|
%t52 = load ptr, ptr %t6
|
|
%t53 = call i32 @fn_str_eq(ptr %t51, ptr %t52)
|
|
%t54 = icmp ne i32 %t53, 0
|
|
br i1 %t54, label %then8, label %ifend10
|
|
then8:
|
|
%t55 = load ptr, ptr @g_ui_roots
|
|
%t56 = getelementptr inbounds %LSlice, ptr %t55, i32 0, i32 0
|
|
%t57 = load ptr, ptr %t56
|
|
%t58 = load i32, ptr %t8
|
|
%t59 = getelementptr inbounds i32, ptr %t57, i32 %t58
|
|
%t60 = load i32, ptr %t59
|
|
store i32 %t60, ptr %retval
|
|
br label %ret
|
|
ifend10:
|
|
%t61 = load i32, ptr %t8
|
|
%t62 = add i32 %t61, 1
|
|
store i32 %t62, ptr %t8
|
|
br label %ifend7
|
|
ifend7:
|
|
%t63 = load i32, ptr %t9
|
|
%t64 = add i32 %t63, 1
|
|
store i32 %t64, ptr %t9
|
|
br label %wcond0
|
|
wend2:
|
|
store i32 0, ptr %t9
|
|
br label %wcond11
|
|
wcond11:
|
|
%t65 = load i32, ptr %t9
|
|
%t66 = load ptr, ptr @g_uiw
|
|
%t67 = getelementptr inbounds %LSlice, ptr %t66, i32 0, i32 1
|
|
%t68 = load i32, ptr %t67
|
|
%t69 = icmp slt i32 %t65, %t68
|
|
%t70 = zext i1 %t69 to i32
|
|
%t71 = icmp ne i32 %t70, 0
|
|
br i1 %t71, label %wbody12, label %wend13
|
|
wbody12:
|
|
%t72 = load ptr, ptr @g_uiw
|
|
%t73 = getelementptr inbounds %LSlice, ptr %t72, i32 0, i32 0
|
|
%t74 = load ptr, ptr %t73
|
|
%t75 = load i32, ptr %t9
|
|
%t76 = getelementptr inbounds ptr, ptr %t74, i32 %t75
|
|
%t77 = load ptr, ptr %t76
|
|
%t78 = call ptr @fn_ui_prop(ptr %t77, ptr @.str6186)
|
|
store ptr %t78, ptr %t79
|
|
%t80 = load ptr, ptr %t79
|
|
%t81 = icmp ne ptr %t80, null
|
|
%t82 = zext i1 %t81 to i32
|
|
%t83 = icmp ne i32 %t82, 0
|
|
br i1 %t83, label %then14, label %ifend16
|
|
then14:
|
|
%t85 = load ptr, ptr %t79
|
|
%t86 = getelementptr inbounds %Cmp_Node, ptr %t85, i32 0, i32 0
|
|
%t87 = load i32, ptr %t86
|
|
%t88 = icmp eq i32 %t87, 33
|
|
%t89 = zext i1 %t88 to i32
|
|
%t90 = icmp ne i32 %t89, 0
|
|
%t91 = zext i1 %t90 to i32
|
|
store i32 %t91, ptr %t84
|
|
br i1 %t90, label %sc17, label %scend18
|
|
sc17:
|
|
%t92 = load ptr, ptr %t79
|
|
%t93 = getelementptr inbounds %Cmp_Node, ptr %t92, i32 0, i32 1
|
|
%t94 = load ptr, ptr %t93
|
|
%t95 = load ptr, ptr %t6
|
|
%t96 = call i32 @fn_str_eq(ptr %t94, ptr %t95)
|
|
%t97 = icmp ne i32 %t96, 0
|
|
%t98 = zext i1 %t97 to i32
|
|
store i32 %t98, ptr %t84
|
|
br label %scend18
|
|
scend18:
|
|
%t99 = load i32, ptr %t84
|
|
%t100 = icmp ne i32 %t99, 0
|
|
br i1 %t100, label %then19, label %ifend21
|
|
then19:
|
|
%t101 = load i32, ptr %t9
|
|
store i32 %t101, ptr %retval
|
|
br label %ret
|
|
ifend21:
|
|
br label %ifend16
|
|
ifend16:
|
|
%t102 = load i32, ptr %t9
|
|
%t103 = add i32 %t102, 1
|
|
store i32 %t103, ptr %t9
|
|
br label %wcond11
|
|
wend13:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t104 = load i32, ptr %retval
|
|
ret i32 %t104
|
|
}
|
|
|
|
define i32 @fn_is_ui_ident(ptr %arg_nm) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
store ptr %arg_nm, ptr %t0
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call i64 @strlen(ptr %t4)
|
|
%t6 = trunc i64 %t5 to i32
|
|
%t7 = icmp sgt i32 %t6, 3
|
|
%t8 = zext i1 %t7 to i32
|
|
%t9 = icmp ne i32 %t8, 0
|
|
%t10 = zext i1 %t9 to i32
|
|
store i32 %t10, ptr %t3
|
|
br i1 %t9, label %sc0, label %scend1
|
|
sc0:
|
|
%t11 = load ptr, ptr %t0
|
|
%t12 = getelementptr inbounds i8, ptr %t11, i32 0
|
|
%t13 = load i8, ptr %t12
|
|
%t14 = zext i8 %t13 to i32
|
|
%t15 = icmp eq i32 %t14, 85
|
|
%t16 = zext i1 %t15 to i32
|
|
%t17 = icmp ne i32 %t16, 0
|
|
%t18 = zext i1 %t17 to i32
|
|
store i32 %t18, ptr %t3
|
|
br label %scend1
|
|
scend1:
|
|
%t19 = load i32, ptr %t3
|
|
%t20 = icmp ne i32 %t19, 0
|
|
%t21 = zext i1 %t20 to i32
|
|
store i32 %t21, ptr %t2
|
|
br i1 %t20, label %sc2, label %scend3
|
|
sc2:
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = getelementptr inbounds i8, ptr %t22, i32 1
|
|
%t24 = load i8, ptr %t23
|
|
%t25 = zext i8 %t24 to i32
|
|
%t26 = icmp eq i32 %t25, 73
|
|
%t27 = zext i1 %t26 to i32
|
|
%t28 = icmp ne i32 %t27, 0
|
|
%t29 = zext i1 %t28 to i32
|
|
store i32 %t29, ptr %t2
|
|
br label %scend3
|
|
scend3:
|
|
%t30 = load i32, ptr %t2
|
|
%t31 = icmp ne i32 %t30, 0
|
|
%t32 = zext i1 %t31 to i32
|
|
store i32 %t32, ptr %t1
|
|
br i1 %t31, label %sc4, label %scend5
|
|
sc4:
|
|
%t33 = load ptr, ptr %t0
|
|
%t34 = getelementptr inbounds i8, ptr %t33, i32 2
|
|
%t35 = load i8, ptr %t34
|
|
%t36 = zext i8 %t35 to i32
|
|
%t37 = icmp eq i32 %t36, 95
|
|
%t38 = zext i1 %t37 to i32
|
|
%t39 = icmp ne i32 %t38, 0
|
|
%t40 = zext i1 %t39 to i32
|
|
store i32 %t40, ptr %t1
|
|
br label %scend5
|
|
scend5:
|
|
%t41 = load i32, ptr %t1
|
|
store i32 %t41, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t42 = load i32, ptr %retval
|
|
ret i32 %t42
|
|
}
|
|
|
|
define void @fn_ll_ui_set(i32 %arg_idx, i32 %arg_key, ptr %arg_val) {
|
|
entry:
|
|
%t0 = alloca i32
|
|
%t1 = alloca i32
|
|
%t2 = alloca ptr
|
|
store i32 %arg_idx, ptr %t0
|
|
store i32 %arg_key, ptr %t1
|
|
store ptr %arg_val, ptr %t2
|
|
call void @fn_emit(ptr @.str6187)
|
|
%t3 = load i32, ptr %t0
|
|
%t4 = call ptr @fn_itoa(i32 %t3)
|
|
call void @fn_emit(ptr %t4)
|
|
call void @fn_emit(ptr @.str6188)
|
|
%t5 = load i32, ptr %t1
|
|
%t6 = call ptr @fn_itoa(i32 %t5)
|
|
call void @fn_emit(ptr %t6)
|
|
call void @fn_emit(ptr @.str6189)
|
|
%t7 = load ptr, ptr %t2
|
|
call void @fn_emit(ptr %t7)
|
|
call void @fn_emit(ptr @.str6190)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_ui_prop_key(ptr %arg_k) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
store ptr %arg_k, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call i32 @fn_str_eq(ptr %t1, ptr @.str6191)
|
|
%t3 = icmp ne i32 %t2, 0
|
|
br i1 %t3, label %then0, label %ifend2
|
|
then0:
|
|
store i32 2, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = call i32 @fn_str_eq(ptr %t4, ptr @.str6192)
|
|
%t6 = icmp ne i32 %t5, 0
|
|
br i1 %t6, label %then3, label %ifend5
|
|
then3:
|
|
store i32 3, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = call i32 @fn_str_eq(ptr %t7, ptr @.str6193)
|
|
%t9 = icmp ne i32 %t8, 0
|
|
br i1 %t9, label %then6, label %ifend8
|
|
then6:
|
|
store i32 4, ptr %retval
|
|
br label %ret
|
|
ifend8:
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str6194)
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then9, label %ifend11
|
|
then9:
|
|
store i32 5, ptr %retval
|
|
br label %ret
|
|
ifend11:
|
|
%t13 = load ptr, ptr %t0
|
|
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str6195)
|
|
%t15 = icmp ne i32 %t14, 0
|
|
br i1 %t15, label %then12, label %ifend14
|
|
then12:
|
|
store i32 7, ptr %retval
|
|
br label %ret
|
|
ifend14:
|
|
%t16 = load ptr, ptr %t0
|
|
%t17 = call i32 @fn_str_eq(ptr %t16, ptr @.str6196)
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then15, label %ifend17
|
|
then15:
|
|
store i32 8, ptr %retval
|
|
br label %ret
|
|
ifend17:
|
|
%t19 = load ptr, ptr %t0
|
|
%t20 = call i32 @fn_str_eq(ptr %t19, ptr @.str6197)
|
|
%t21 = icmp ne i32 %t20, 0
|
|
br i1 %t21, label %then18, label %ifend20
|
|
then18:
|
|
store i32 9, ptr %retval
|
|
br label %ret
|
|
ifend20:
|
|
%t22 = load ptr, ptr %t0
|
|
%t23 = call i32 @fn_str_eq(ptr %t22, ptr @.str6198)
|
|
%t24 = icmp ne i32 %t23, 0
|
|
br i1 %t24, label %then21, label %ifend23
|
|
then21:
|
|
store i32 10, ptr %retval
|
|
br label %ret
|
|
ifend23:
|
|
%t25 = load ptr, ptr %t0
|
|
%t26 = call i32 @fn_str_eq(ptr %t25, ptr @.str6199)
|
|
%t27 = icmp ne i32 %t26, 0
|
|
br i1 %t27, label %then24, label %ifend26
|
|
then24:
|
|
store i32 11, ptr %retval
|
|
br label %ret
|
|
ifend26:
|
|
%t28 = load ptr, ptr %t0
|
|
%t29 = call i32 @fn_str_eq(ptr %t28, ptr @.str6200)
|
|
%t30 = icmp ne i32 %t29, 0
|
|
br i1 %t30, label %then27, label %ifend29
|
|
then27:
|
|
store i32 13, ptr %retval
|
|
br label %ret
|
|
ifend29:
|
|
%t31 = load ptr, ptr %t0
|
|
%t32 = call i32 @fn_str_eq(ptr %t31, ptr @.str6201)
|
|
%t33 = icmp ne i32 %t32, 0
|
|
br i1 %t33, label %then30, label %ifend32
|
|
then30:
|
|
store i32 14, ptr %retval
|
|
br label %ret
|
|
ifend32:
|
|
%t34 = load ptr, ptr %t0
|
|
%t35 = call i32 @fn_str_eq(ptr %t34, ptr @.str6202)
|
|
%t36 = icmp ne i32 %t35, 0
|
|
br i1 %t36, label %then33, label %ifend35
|
|
then33:
|
|
store i32 15, ptr %retval
|
|
br label %ret
|
|
ifend35:
|
|
%t37 = load ptr, ptr %t0
|
|
%t38 = call i32 @fn_str_eq(ptr %t37, ptr @.str6203)
|
|
%t39 = icmp ne i32 %t38, 0
|
|
br i1 %t39, label %then36, label %ifend38
|
|
then36:
|
|
store i32 16, ptr %retval
|
|
br label %ret
|
|
ifend38:
|
|
%t40 = load ptr, ptr %t0
|
|
%t41 = call i32 @fn_str_eq(ptr %t40, ptr @.str6204)
|
|
%t42 = icmp ne i32 %t41, 0
|
|
br i1 %t42, label %then39, label %ifend41
|
|
then39:
|
|
store i32 17, ptr %retval
|
|
br label %ret
|
|
ifend41:
|
|
%t43 = sub i32 0, 1
|
|
store i32 %t43, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t44 = load i32, ptr %retval
|
|
ret i32 %t44
|
|
}
|
|
|
|
define void @fn_emit_ui_build() {
|
|
entry:
|
|
%t1 = alloca ptr
|
|
%t4 = alloca ptr
|
|
%t10 = alloca i32
|
|
%t24 = alloca ptr
|
|
%t27 = alloca i32
|
|
%t44 = alloca i32
|
|
%t66 = alloca ptr
|
|
%t70 = alloca ptr
|
|
%t74 = alloca ptr
|
|
%t85 = alloca ptr
|
|
%t91 = alloca i32
|
|
%t104 = alloca ptr
|
|
%t111 = alloca ptr
|
|
%t128 = alloca i32
|
|
%t144 = alloca ptr
|
|
%t151 = alloca i32
|
|
%t158 = alloca ptr
|
|
%t164 = alloca i32
|
|
call void @fn_ui_flatten_all()
|
|
store i32 0, ptr @g_ll_t
|
|
store i32 0, ptr @g_ll_lbl
|
|
store i32 0, ptr @g_g_term
|
|
call void @fn_loc_reset()
|
|
store i32 0, ptr @g_nloop
|
|
%t0 = call ptr @fn_buf_new()
|
|
store ptr %t0, ptr %t1
|
|
%t2 = call ptr @fn_buf_new()
|
|
store ptr %t2, ptr @g_falloc
|
|
%t3 = load ptr, ptr @g_code
|
|
store ptr %t3, ptr %t4
|
|
%t5 = load ptr, ptr %t1
|
|
store ptr %t5, ptr @g_code
|
|
call void @fn_emit(ptr @.str6205)
|
|
%t6 = load ptr, ptr @g_uiw
|
|
%t7 = getelementptr inbounds %LSlice, ptr %t6, i32 0, i32 1
|
|
%t8 = load i32, ptr %t7
|
|
%t9 = call ptr @fn_itoa(i32 %t8)
|
|
call void @fn_emit(ptr %t9)
|
|
call void @fn_emit(ptr @.str6206)
|
|
store i32 0, ptr %t10
|
|
br label %wcond0
|
|
wcond0:
|
|
%t11 = load i32, ptr %t10
|
|
%t12 = load ptr, ptr @g_uiw
|
|
%t13 = getelementptr inbounds %LSlice, ptr %t12, i32 0, i32 1
|
|
%t14 = load i32, ptr %t13
|
|
%t15 = icmp slt i32 %t11, %t14
|
|
%t16 = zext i1 %t15 to i32
|
|
%t17 = icmp ne i32 %t16, 0
|
|
br i1 %t17, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t18 = load ptr, ptr @g_uiw
|
|
%t19 = getelementptr inbounds %LSlice, ptr %t18, i32 0, i32 0
|
|
%t20 = load ptr, ptr %t19
|
|
%t21 = load i32, ptr %t10
|
|
%t22 = getelementptr inbounds ptr, ptr %t20, i32 %t21
|
|
%t23 = load ptr, ptr %t22
|
|
store ptr %t23, ptr %t24
|
|
%t25 = load ptr, ptr %t24
|
|
%t26 = call i32 @fn_ui_wtype(ptr %t25)
|
|
store i32 %t26, ptr %t27
|
|
%t28 = load i32, ptr %t10
|
|
%t29 = load i32, ptr %t27
|
|
%t30 = call ptr @fn_itoa(i32 %t29)
|
|
call void @fn_ll_ui_set(i32 %t28, i32 0, ptr %t30)
|
|
%t31 = load i32, ptr %t10
|
|
%t32 = load ptr, ptr @g_uiw_parent
|
|
%t33 = getelementptr inbounds %LSlice, ptr %t32, i32 0, i32 0
|
|
%t34 = load ptr, ptr %t33
|
|
%t35 = load i32, ptr %t10
|
|
%t36 = getelementptr inbounds i32, ptr %t34, i32 %t35
|
|
%t37 = load i32, ptr %t36
|
|
%t38 = call ptr @fn_itoa(i32 %t37)
|
|
call void @fn_ll_ui_set(i32 %t31, i32 1, ptr %t38)
|
|
%t39 = load i32, ptr %t27
|
|
%t40 = icmp eq i32 %t39, 4
|
|
%t41 = zext i1 %t40 to i32
|
|
%t42 = icmp ne i32 %t41, 0
|
|
br i1 %t42, label %then3, label %ifend5
|
|
then3:
|
|
%t43 = load i32, ptr %t10
|
|
call void @fn_ll_ui_set(i32 %t43, i32 17, ptr @.str6207)
|
|
br label %ifend5
|
|
ifend5:
|
|
store i32 0, ptr %t44
|
|
br label %wcond6
|
|
wcond6:
|
|
%t45 = load i32, ptr %t44
|
|
%t46 = load ptr, ptr %t24
|
|
%t47 = getelementptr inbounds %Cmp_Node, ptr %t46, i32 0, i32 5
|
|
%t48 = load ptr, ptr %t47
|
|
%t49 = getelementptr inbounds %Cmp_Node, ptr %t48, i32 0, i32 7
|
|
%t50 = load ptr, ptr %t49
|
|
%t51 = getelementptr inbounds %LSlice, ptr %t50, i32 0, i32 1
|
|
%t52 = load i32, ptr %t51
|
|
%t53 = icmp slt i32 %t45, %t52
|
|
%t54 = zext i1 %t53 to i32
|
|
%t55 = icmp ne i32 %t54, 0
|
|
br i1 %t55, label %wbody7, label %wend8
|
|
wbody7:
|
|
%t56 = load ptr, ptr %t24
|
|
%t57 = getelementptr inbounds %Cmp_Node, ptr %t56, i32 0, i32 5
|
|
%t58 = load ptr, ptr %t57
|
|
%t59 = getelementptr inbounds %Cmp_Node, ptr %t58, i32 0, i32 7
|
|
%t60 = load ptr, ptr %t59
|
|
%t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0
|
|
%t62 = load ptr, ptr %t61
|
|
%t63 = load i32, ptr %t44
|
|
%t64 = getelementptr inbounds ptr, ptr %t62, i32 %t63
|
|
%t65 = load ptr, ptr %t64
|
|
store ptr %t65, ptr %t66
|
|
%t67 = load ptr, ptr %t66
|
|
%t68 = getelementptr inbounds %Cmp_Node, ptr %t67, i32 0, i32 1
|
|
%t69 = load ptr, ptr %t68
|
|
store ptr %t69, ptr %t70
|
|
%t71 = load ptr, ptr %t66
|
|
%t72 = getelementptr inbounds %Cmp_Node, ptr %t71, i32 0, i32 4
|
|
%t73 = load ptr, ptr %t72
|
|
store ptr %t73, ptr %t74
|
|
%t75 = load ptr, ptr %t70
|
|
%t76 = call i32 @fn_str_eq(ptr %t75, ptr @.str6208)
|
|
%t77 = icmp ne i32 %t76, 0
|
|
br i1 %t77, label %then9, label %ifend11
|
|
then9:
|
|
%t78 = load i32, ptr %t44
|
|
%t79 = add i32 %t78, 1
|
|
store i32 %t79, ptr %t44
|
|
br label %wcond6
|
|
ifend11:
|
|
%t80 = load ptr, ptr %t70
|
|
%t81 = call i32 @fn_str_eq(ptr %t80, ptr @.str6209)
|
|
%t82 = icmp ne i32 %t81, 0
|
|
br i1 %t82, label %then12, label %else13
|
|
then12:
|
|
%t83 = load ptr, ptr %t74
|
|
%t84 = call ptr @fn_emit_expr(ptr %t83)
|
|
store ptr %t84, ptr %t85
|
|
call void @fn_emit(ptr @.str6210)
|
|
%t86 = load i32, ptr %t10
|
|
%t87 = call ptr @fn_itoa(i32 %t86)
|
|
call void @fn_emit(ptr %t87)
|
|
call void @fn_emit(ptr @.str6211)
|
|
%t88 = load ptr, ptr %t85
|
|
%t89 = getelementptr inbounds %Cmp_Val, ptr %t88, i32 0, i32 0
|
|
%t90 = load ptr, ptr %t89
|
|
call void @fn_emit(ptr %t90)
|
|
call void @fn_emit(ptr @.str6212)
|
|
br label %ifend14
|
|
else13:
|
|
%t92 = load ptr, ptr %t70
|
|
%t93 = call i32 @fn_str_eq(ptr %t92, ptr @.str6213)
|
|
%t94 = icmp ne i32 %t93, 0
|
|
%t95 = zext i1 %t94 to i32
|
|
store i32 %t95, ptr %t91
|
|
br i1 %t94, label %scend16, label %sc15
|
|
sc15:
|
|
%t96 = load ptr, ptr %t70
|
|
%t97 = call i32 @fn_str_eq(ptr %t96, ptr @.str6214)
|
|
%t98 = icmp ne i32 %t97, 0
|
|
%t99 = zext i1 %t98 to i32
|
|
store i32 %t99, ptr %t91
|
|
br label %scend16
|
|
scend16:
|
|
%t100 = load i32, ptr %t91
|
|
%t101 = icmp ne i32 %t100, 0
|
|
br i1 %t101, label %then17, label %else18
|
|
then17:
|
|
%t102 = load ptr, ptr %t74
|
|
%t103 = call ptr @fn_emit_expr(ptr %t102)
|
|
store ptr %t103, ptr %t104
|
|
%t105 = load ptr, ptr %t104
|
|
%t106 = getelementptr inbounds %Cmp_Val, ptr %t105, i32 0, i32 0
|
|
%t107 = load ptr, ptr %t106
|
|
%t108 = call ptr @fn_str_concat(ptr @.str6215, ptr %t107)
|
|
%t109 = call ptr @fn_str_concat(ptr %t108, ptr @.str6216)
|
|
%t110 = call ptr @fn_emit_bind(ptr %t109)
|
|
store ptr %t110, ptr %t111
|
|
%t112 = load ptr, ptr %t70
|
|
%t113 = call i32 @fn_str_eq(ptr %t112, ptr @.str6217)
|
|
%t114 = icmp ne i32 %t113, 0
|
|
br i1 %t114, label %then20, label %else21
|
|
then20:
|
|
%t115 = load i32, ptr %t10
|
|
%t116 = load ptr, ptr %t111
|
|
call void @fn_ll_ui_set(i32 %t115, i32 20, ptr %t116)
|
|
br label %ifend22
|
|
else21:
|
|
%t117 = load i32, ptr %t10
|
|
%t118 = load ptr, ptr %t111
|
|
call void @fn_ll_ui_set(i32 %t117, i32 19, ptr %t118)
|
|
br label %ifend22
|
|
ifend22:
|
|
br label %ifend19
|
|
else18:
|
|
%t119 = load ptr, ptr %t70
|
|
%t120 = call i32 @fn_str_eq(ptr %t119, ptr @.str6218)
|
|
%t121 = icmp ne i32 %t120, 0
|
|
br i1 %t121, label %then23, label %else24
|
|
then23:
|
|
%t122 = load ptr, ptr %t74
|
|
%t123 = getelementptr inbounds %Cmp_Node, ptr %t122, i32 0, i32 0
|
|
%t124 = load i32, ptr %t123
|
|
%t125 = icmp eq i32 %t124, 33
|
|
%t126 = zext i1 %t125 to i32
|
|
%t127 = icmp ne i32 %t126, 0
|
|
br i1 %t127, label %then26, label %else27
|
|
then26:
|
|
store i32 0, ptr %t128
|
|
%t129 = load ptr, ptr %t74
|
|
%t130 = getelementptr inbounds %Cmp_Node, ptr %t129, i32 0, i32 1
|
|
%t131 = load ptr, ptr %t130
|
|
%t132 = call i32 @fn_str_eq(ptr %t131, ptr @.str6219)
|
|
%t133 = icmp ne i32 %t132, 0
|
|
br i1 %t133, label %then29, label %ifend31
|
|
then29:
|
|
store i32 1, ptr %t128
|
|
br label %ifend31
|
|
ifend31:
|
|
%t134 = load ptr, ptr %t74
|
|
%t135 = getelementptr inbounds %Cmp_Node, ptr %t134, i32 0, i32 1
|
|
%t136 = load ptr, ptr %t135
|
|
%t137 = call i32 @fn_str_eq(ptr %t136, ptr @.str6220)
|
|
%t138 = icmp ne i32 %t137, 0
|
|
br i1 %t138, label %then32, label %ifend34
|
|
then32:
|
|
store i32 2, ptr %t128
|
|
br label %ifend34
|
|
ifend34:
|
|
%t139 = load i32, ptr %t10
|
|
%t140 = load i32, ptr %t128
|
|
%t141 = call ptr @fn_itoa(i32 %t140)
|
|
call void @fn_ll_ui_set(i32 %t139, i32 12, ptr %t141)
|
|
br label %ifend28
|
|
else27:
|
|
%t142 = load ptr, ptr %t74
|
|
%t143 = call ptr @fn_emit_expr(ptr %t142)
|
|
store ptr %t143, ptr %t144
|
|
%t145 = load i32, ptr %t10
|
|
%t146 = load ptr, ptr %t144
|
|
%t147 = getelementptr inbounds %Cmp_Val, ptr %t146, i32 0, i32 0
|
|
%t148 = load ptr, ptr %t147
|
|
call void @fn_ll_ui_set(i32 %t145, i32 12, ptr %t148)
|
|
br label %ifend28
|
|
ifend28:
|
|
br label %ifend25
|
|
else24:
|
|
%t149 = load ptr, ptr %t70
|
|
%t150 = call i32 @fn_ui_prop_key(ptr %t149)
|
|
store i32 %t150, ptr %t151
|
|
%t152 = load i32, ptr %t151
|
|
%t153 = icmp sge i32 %t152, 0
|
|
%t154 = zext i1 %t153 to i32
|
|
%t155 = icmp ne i32 %t154, 0
|
|
br i1 %t155, label %then35, label %ifend37
|
|
then35:
|
|
%t156 = load ptr, ptr %t74
|
|
%t157 = call ptr @fn_emit_expr(ptr %t156)
|
|
store ptr %t157, ptr %t158
|
|
%t159 = load i32, ptr %t10
|
|
%t160 = load i32, ptr %t151
|
|
%t161 = load ptr, ptr %t158
|
|
%t162 = getelementptr inbounds %Cmp_Val, ptr %t161, i32 0, i32 0
|
|
%t163 = load ptr, ptr %t162
|
|
call void @fn_ll_ui_set(i32 %t159, i32 %t160, ptr %t163)
|
|
%t165 = load i32, ptr %t151
|
|
%t166 = icmp eq i32 %t165, 4
|
|
%t167 = zext i1 %t166 to i32
|
|
%t168 = icmp ne i32 %t167, 0
|
|
%t169 = zext i1 %t168 to i32
|
|
store i32 %t169, ptr %t164
|
|
br i1 %t168, label %scend39, label %sc38
|
|
sc38:
|
|
%t170 = load i32, ptr %t151
|
|
%t171 = icmp eq i32 %t170, 5
|
|
%t172 = zext i1 %t171 to i32
|
|
%t173 = icmp ne i32 %t172, 0
|
|
%t174 = zext i1 %t173 to i32
|
|
store i32 %t174, ptr %t164
|
|
br label %scend39
|
|
scend39:
|
|
%t175 = load i32, ptr %t164
|
|
%t176 = icmp ne i32 %t175, 0
|
|
br i1 %t176, label %then40, label %ifend42
|
|
then40:
|
|
%t177 = load i32, ptr %t10
|
|
call void @fn_ll_ui_set(i32 %t177, i32 6, ptr @.str6221)
|
|
br label %ifend42
|
|
ifend42:
|
|
br label %ifend37
|
|
ifend37:
|
|
br label %ifend25
|
|
ifend25:
|
|
br label %ifend19
|
|
ifend19:
|
|
br label %ifend14
|
|
ifend14:
|
|
%t178 = load i32, ptr %t44
|
|
%t179 = add i32 %t178, 1
|
|
store i32 %t179, ptr %t44
|
|
br label %wcond6
|
|
wend8:
|
|
%t180 = load i32, ptr %t10
|
|
%t181 = add i32 %t180, 1
|
|
store i32 %t181, ptr %t10
|
|
br label %wcond0
|
|
wend2:
|
|
%t182 = load ptr, ptr %t4
|
|
store ptr %t182, ptr @g_code
|
|
call void @fn_emit(ptr @.str6222)
|
|
%t183 = load ptr, ptr @g_falloc
|
|
%t184 = call ptr @fn_buf_str(ptr %t183)
|
|
call void @fn_emit(ptr %t184)
|
|
%t185 = load ptr, ptr %t1
|
|
%t186 = call ptr @fn_buf_str(ptr %t185)
|
|
call void @fn_emit(ptr %t186)
|
|
call void @fn_emit(ptr @.str6223)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_params_sig(ptr %arg_d) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t1 = alloca i32
|
|
store ptr %arg_d, ptr %t0
|
|
store i32 0, ptr %t1
|
|
br label %wcond0
|
|
wcond0:
|
|
%t2 = load i32, ptr %t1
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = getelementptr inbounds %Cmp_Node, ptr %t3, i32 0, i32 7
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = getelementptr inbounds %LSlice, ptr %t5, i32 0, i32 1
|
|
%t7 = load i32, ptr %t6
|
|
%t8 = icmp slt i32 %t2, %t7
|
|
%t9 = zext i1 %t8 to i32
|
|
%t10 = icmp ne i32 %t9, 0
|
|
br i1 %t10, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t11 = load i32, ptr %t1
|
|
%t12 = icmp sgt i32 %t11, 0
|
|
%t13 = zext i1 %t12 to i32
|
|
%t14 = icmp ne i32 %t13, 0
|
|
br i1 %t14, label %then3, label %ifend5
|
|
then3:
|
|
call void @fn_emit(ptr @.str6224)
|
|
br label %ifend5
|
|
ifend5:
|
|
%t15 = load ptr, ptr %t0
|
|
%t16 = getelementptr inbounds %Cmp_Node, ptr %t15, i32 0, i32 7
|
|
%t17 = load ptr, ptr %t16
|
|
%t18 = getelementptr inbounds %LSlice, ptr %t17, i32 0, i32 0
|
|
%t19 = load ptr, ptr %t18
|
|
%t20 = load i32, ptr %t1
|
|
%t21 = getelementptr inbounds ptr, ptr %t19, i32 %t20
|
|
%t22 = load ptr, ptr %t21
|
|
%t23 = getelementptr inbounds %Cmp_Node, ptr %t22, i32 0, i32 3
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = call ptr @fn_llty(ptr %t24)
|
|
call void @fn_emit(ptr %t25)
|
|
call void @fn_emit(ptr @.str6225)
|
|
%t26 = load ptr, ptr %t0
|
|
%t27 = getelementptr inbounds %Cmp_Node, ptr %t26, i32 0, i32 7
|
|
%t28 = load ptr, ptr %t27
|
|
%t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0
|
|
%t30 = load ptr, ptr %t29
|
|
%t31 = load i32, ptr %t1
|
|
%t32 = getelementptr inbounds ptr, ptr %t30, i32 %t31
|
|
%t33 = load ptr, ptr %t32
|
|
%t34 = getelementptr inbounds %Cmp_Node, ptr %t33, i32 0, i32 1
|
|
%t35 = load ptr, ptr %t34
|
|
call void @fn_emit(ptr %t35)
|
|
%t36 = load i32, ptr %t1
|
|
%t37 = add i32 %t36, 1
|
|
store i32 %t37, ptr %t1
|
|
br label %wcond0
|
|
wend2:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_fn(ptr %arg_d) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t8 = alloca ptr
|
|
%t12 = alloca ptr
|
|
%t22 = alloca i32
|
|
%t40 = alloca ptr
|
|
%t46 = alloca ptr
|
|
%t78 = alloca ptr
|
|
store ptr %arg_d, ptr %t0
|
|
store i32 0, ptr @g_ll_t
|
|
store i32 0, ptr @g_ll_lbl
|
|
store i32 0, ptr @g_g_term
|
|
call void @fn_loc_reset()
|
|
store i32 0, ptr @g_nloop
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = getelementptr inbounds %Cmp_Node, ptr %t1, i32 0, i32 3
|
|
%t3 = load ptr, ptr %t2
|
|
store ptr %t3, ptr @g_ret_ty
|
|
%t4 = call ptr @fn_buf_new()
|
|
store ptr %t4, ptr %t5
|
|
%t6 = call ptr @fn_buf_new()
|
|
store ptr %t6, ptr @g_falloc
|
|
%t7 = load ptr, ptr @g_code
|
|
store ptr %t7, ptr %t8
|
|
%t9 = load ptr, ptr %t5
|
|
store ptr %t9, ptr @g_code
|
|
%t10 = load ptr, ptr @g_ret_ty
|
|
%t11 = call ptr @fn_llty(ptr %t10)
|
|
store ptr %t11, ptr %t12
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str6226)
|
|
%t15 = icmp eq i32 %t14, 0
|
|
%t16 = zext i1 %t15 to i32
|
|
%t17 = icmp ne i32 %t16, 0
|
|
br i1 %t17, label %then0, label %ifend2
|
|
then0:
|
|
%t18 = load ptr, ptr @g_falloc
|
|
call void @fn_buf_puts(ptr %t18, ptr @.str6227)
|
|
%t19 = load ptr, ptr @g_falloc
|
|
%t20 = load ptr, ptr %t12
|
|
call void @fn_buf_puts(ptr %t19, ptr %t20)
|
|
%t21 = load ptr, ptr @g_falloc
|
|
call void @fn_buf_puts(ptr %t21, ptr @.str6228)
|
|
br label %ifend2
|
|
ifend2:
|
|
store i32 0, ptr %t22
|
|
br label %wcond3
|
|
wcond3:
|
|
%t23 = load i32, ptr %t22
|
|
%t24 = load ptr, ptr %t0
|
|
%t25 = getelementptr inbounds %Cmp_Node, ptr %t24, i32 0, i32 7
|
|
%t26 = load ptr, ptr %t25
|
|
%t27 = getelementptr inbounds %LSlice, ptr %t26, i32 0, i32 1
|
|
%t28 = load i32, ptr %t27
|
|
%t29 = icmp slt i32 %t23, %t28
|
|
%t30 = zext i1 %t29 to i32
|
|
%t31 = icmp ne i32 %t30, 0
|
|
br i1 %t31, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t32 = load ptr, ptr %t0
|
|
%t33 = getelementptr inbounds %Cmp_Node, ptr %t32, i32 0, i32 7
|
|
%t34 = load ptr, ptr %t33
|
|
%t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0
|
|
%t36 = load ptr, ptr %t35
|
|
%t37 = load i32, ptr %t22
|
|
%t38 = getelementptr inbounds ptr, ptr %t36, i32 %t37
|
|
%t39 = load ptr, ptr %t38
|
|
store ptr %t39, ptr %t40
|
|
%t41 = load ptr, ptr %t40
|
|
%t42 = getelementptr inbounds %Cmp_Node, ptr %t41, i32 0, i32 3
|
|
%t43 = load ptr, ptr %t42
|
|
%t44 = call ptr @fn_llty(ptr %t43)
|
|
%t45 = call ptr @fn_emit_alloca(ptr %t44)
|
|
store ptr %t45, ptr %t46
|
|
call void @fn_emit(ptr @.str6229)
|
|
%t47 = load ptr, ptr %t40
|
|
%t48 = getelementptr inbounds %Cmp_Node, ptr %t47, i32 0, i32 3
|
|
%t49 = load ptr, ptr %t48
|
|
%t50 = call ptr @fn_llty(ptr %t49)
|
|
call void @fn_emit(ptr %t50)
|
|
call void @fn_emit(ptr @.str6230)
|
|
%t51 = load ptr, ptr %t40
|
|
%t52 = getelementptr inbounds %Cmp_Node, ptr %t51, i32 0, i32 1
|
|
%t53 = load ptr, ptr %t52
|
|
call void @fn_emit(ptr %t53)
|
|
call void @fn_emit(ptr @.str6231)
|
|
%t54 = load ptr, ptr %t46
|
|
call void @fn_emit(ptr %t54)
|
|
call void @fn_emit(ptr @.str6232)
|
|
%t55 = load ptr, ptr %t40
|
|
%t56 = getelementptr inbounds %Cmp_Node, ptr %t55, i32 0, i32 1
|
|
%t57 = load ptr, ptr %t56
|
|
%t58 = load ptr, ptr %t46
|
|
%t59 = load ptr, ptr %t40
|
|
%t60 = getelementptr inbounds %Cmp_Node, ptr %t59, i32 0, i32 3
|
|
%t61 = load ptr, ptr %t60
|
|
call void @fn_loc_push(ptr %t57, ptr %t58, ptr %t61)
|
|
%t62 = load i32, ptr %t22
|
|
%t63 = add i32 %t62, 1
|
|
store i32 %t63, ptr %t22
|
|
br label %wcond3
|
|
wend5:
|
|
%t64 = load ptr, ptr %t0
|
|
%t65 = getelementptr inbounds %Cmp_Node, ptr %t64, i32 0, i32 4
|
|
%t66 = load ptr, ptr %t65
|
|
call void @fn_emit_block(ptr %t66)
|
|
%t67 = load i32, ptr @g_g_term
|
|
%t68 = icmp eq i32 %t67, 0
|
|
%t69 = zext i1 %t68 to i32
|
|
%t70 = icmp ne i32 %t69, 0
|
|
br i1 %t70, label %then6, label %ifend8
|
|
then6:
|
|
call void @fn_emit(ptr @.str6233)
|
|
br label %ifend8
|
|
ifend8:
|
|
call void @fn_emit(ptr @.str6234)
|
|
%t71 = load ptr, ptr %t12
|
|
%t72 = call i32 @fn_str_eq(ptr %t71, ptr @.str6235)
|
|
%t73 = icmp ne i32 %t72, 0
|
|
br i1 %t73, label %then9, label %else10
|
|
then9:
|
|
call void @fn_emit(ptr @.str6236)
|
|
br label %ifend11
|
|
else10:
|
|
%t74 = load ptr, ptr %t12
|
|
%t75 = call ptr @fn_str_concat(ptr @.str6237, ptr %t74)
|
|
%t76 = call ptr @fn_str_concat(ptr %t75, ptr @.str6238)
|
|
%t77 = call ptr @fn_emit_bind(ptr %t76)
|
|
store ptr %t77, ptr %t78
|
|
call void @fn_emit(ptr @.str6239)
|
|
%t79 = load ptr, ptr %t12
|
|
call void @fn_emit(ptr %t79)
|
|
call void @fn_emit(ptr @.str6240)
|
|
%t80 = load ptr, ptr %t78
|
|
call void @fn_emit(ptr %t80)
|
|
call void @fn_emit(ptr @.str6241)
|
|
br label %ifend11
|
|
ifend11:
|
|
%t81 = load ptr, ptr %t8
|
|
store ptr %t81, ptr @g_code
|
|
call void @fn_emit(ptr @.str6242)
|
|
%t82 = load ptr, ptr %t12
|
|
call void @fn_emit(ptr %t82)
|
|
call void @fn_emit(ptr @.str6243)
|
|
%t83 = load ptr, ptr %t0
|
|
%t84 = getelementptr inbounds %Cmp_Node, ptr %t83, i32 0, i32 1
|
|
%t85 = load ptr, ptr %t84
|
|
call void @fn_emit(ptr %t85)
|
|
call void @fn_emit(ptr @.str6244)
|
|
%t86 = load ptr, ptr %t0
|
|
call void @fn_emit_params_sig(ptr %t86)
|
|
call void @fn_emit(ptr @.str6245)
|
|
%t87 = load ptr, ptr @g_falloc
|
|
%t88 = call ptr @fn_buf_str(ptr %t87)
|
|
call void @fn_emit(ptr %t88)
|
|
%t89 = load ptr, ptr %t5
|
|
%t90 = call ptr @fn_buf_str(ptr %t89)
|
|
call void @fn_emit(ptr %t90)
|
|
call void @fn_emit(ptr @.str6246)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_main(ptr %arg_d) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
%t2 = alloca ptr
|
|
%t5 = alloca ptr
|
|
%t16 = alloca ptr
|
|
store ptr %arg_d, ptr %t0
|
|
store i32 0, ptr @g_ll_t
|
|
store i32 0, ptr @g_ll_lbl
|
|
store i32 0, ptr @g_g_term
|
|
call void @fn_loc_reset()
|
|
store i32 0, ptr @g_nloop
|
|
store ptr @.str6247, ptr @g_ret_ty
|
|
%t1 = call ptr @fn_buf_new()
|
|
store ptr %t1, ptr %t2
|
|
%t3 = call ptr @fn_buf_new()
|
|
store ptr %t3, ptr @g_falloc
|
|
%t4 = load ptr, ptr @g_code
|
|
store ptr %t4, ptr %t5
|
|
%t6 = load ptr, ptr %t2
|
|
store ptr %t6, ptr @g_code
|
|
%t7 = load ptr, ptr @g_falloc
|
|
call void @fn_buf_puts(ptr %t7, ptr @.str6248)
|
|
call void @fn_emit(ptr @.str6249)
|
|
call void @fn_emit(ptr @.str6250)
|
|
call void @fn_emit(ptr @.str6251)
|
|
%t8 = load ptr, ptr %t0
|
|
%t9 = getelementptr inbounds %Cmp_Node, ptr %t8, i32 0, i32 4
|
|
%t10 = load ptr, ptr %t9
|
|
call void @fn_emit_block(ptr %t10)
|
|
%t11 = load i32, ptr @g_g_term
|
|
%t12 = icmp eq i32 %t11, 0
|
|
%t13 = zext i1 %t12 to i32
|
|
%t14 = icmp ne i32 %t13, 0
|
|
br i1 %t14, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_emit(ptr @.str6252)
|
|
br label %ifend2
|
|
ifend2:
|
|
call void @fn_emit(ptr @.str6253)
|
|
%t15 = call ptr @fn_emit_bind(ptr @.str6254)
|
|
store ptr %t15, ptr %t16
|
|
call void @fn_emit(ptr @.str6255)
|
|
%t17 = load ptr, ptr %t16
|
|
call void @fn_emit(ptr %t17)
|
|
call void @fn_emit(ptr @.str6256)
|
|
%t18 = load ptr, ptr %t5
|
|
store ptr %t18, ptr @g_code
|
|
call void @fn_emit(ptr @.str6257)
|
|
%t19 = load ptr, ptr @g_falloc
|
|
%t20 = call ptr @fn_buf_str(ptr %t19)
|
|
call void @fn_emit(ptr %t20)
|
|
%t21 = load ptr, ptr %t2
|
|
%t22 = call ptr @fn_buf_str(ptr %t21)
|
|
call void @fn_emit(ptr %t22)
|
|
call void @fn_emit(ptr @.str6258)
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define void @fn_emit_program() {
|
|
entry:
|
|
%t52 = alloca i32
|
|
%t85 = alloca i32
|
|
%t104 = alloca i32
|
|
%t0 = call ptr @fn_buf_new()
|
|
store ptr %t0, ptr @g_head
|
|
%t1 = call ptr @fn_buf_new()
|
|
store ptr %t1, ptr @g_code
|
|
store i32 0, ptr @g_g_uses_str
|
|
store i32 0, ptr @g_g_uses_intstr
|
|
store i32 0, ptr @g_g_uses_strslice
|
|
store i32 0, ptr @g_g_uses_loopback
|
|
%t2 = getelementptr %LSlice, ptr null, i32 1
|
|
%t3 = ptrtoint ptr %t2 to i64
|
|
%t4 = call ptr @malloc(i64 %t3)
|
|
%t5 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 0
|
|
store ptr null, ptr %t5
|
|
%t6 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 1
|
|
store i32 0, ptr %t6
|
|
%t7 = getelementptr inbounds %LSlice, ptr %t4, i32 0, i32 2
|
|
store i32 0, ptr %t7
|
|
store ptr %t4, ptr @g_loc_name
|
|
%t8 = getelementptr %LSlice, ptr null, i32 1
|
|
%t9 = ptrtoint ptr %t8 to i64
|
|
%t10 = call ptr @malloc(i64 %t9)
|
|
%t11 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 0
|
|
store ptr null, ptr %t11
|
|
%t12 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 1
|
|
store i32 0, ptr %t12
|
|
%t13 = getelementptr inbounds %LSlice, ptr %t10, i32 0, i32 2
|
|
store i32 0, ptr %t13
|
|
store ptr %t10, ptr @g_loc_reg
|
|
%t14 = getelementptr %LSlice, ptr null, i32 1
|
|
%t15 = ptrtoint ptr %t14 to i64
|
|
%t16 = call ptr @malloc(i64 %t15)
|
|
%t17 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 0
|
|
store ptr null, ptr %t17
|
|
%t18 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 1
|
|
store i32 0, ptr %t18
|
|
%t19 = getelementptr inbounds %LSlice, ptr %t16, i32 0, i32 2
|
|
store i32 0, ptr %t19
|
|
store ptr %t16, ptr @g_loc_ty
|
|
%t20 = getelementptr %LSlice, ptr null, i32 1
|
|
%t21 = ptrtoint ptr %t20 to i64
|
|
%t22 = call ptr @malloc(i64 %t21)
|
|
%t23 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 0
|
|
store ptr null, ptr %t23
|
|
%t24 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 1
|
|
store i32 0, ptr %t24
|
|
%t25 = getelementptr inbounds %LSlice, ptr %t22, i32 0, i32 2
|
|
store i32 0, ptr %t25
|
|
store ptr %t22, ptr @g_loc_mut
|
|
%t26 = getelementptr %LSlice, ptr null, i32 1
|
|
%t27 = ptrtoint ptr %t26 to i64
|
|
%t28 = call ptr @malloc(i64 %t27)
|
|
%t29 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 0
|
|
store ptr null, ptr %t29
|
|
%t30 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 1
|
|
store i32 0, ptr %t30
|
|
%t31 = getelementptr inbounds %LSlice, ptr %t28, i32 0, i32 2
|
|
store i32 0, ptr %t31
|
|
store ptr %t28, ptr @g_brk_lbl
|
|
%t32 = getelementptr %LSlice, ptr null, i32 1
|
|
%t33 = ptrtoint ptr %t32 to i64
|
|
%t34 = call ptr @malloc(i64 %t33)
|
|
%t35 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 0
|
|
store ptr null, ptr %t35
|
|
%t36 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 1
|
|
store i32 0, ptr %t36
|
|
%t37 = getelementptr inbounds %LSlice, ptr %t34, i32 0, i32 2
|
|
store i32 0, ptr %t37
|
|
store ptr %t34, ptr @g_cnt_lbl
|
|
%t38 = getelementptr %LSlice, ptr null, i32 1
|
|
%t39 = ptrtoint ptr %t38 to i64
|
|
%t40 = call ptr @malloc(i64 %t39)
|
|
%t41 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 0
|
|
store ptr null, ptr %t41
|
|
%t42 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 1
|
|
store i32 0, ptr %t42
|
|
%t43 = getelementptr inbounds %LSlice, ptr %t40, i32 0, i32 2
|
|
store i32 0, ptr %t43
|
|
store ptr %t40, ptr @g_self_stk
|
|
%t44 = getelementptr %LSlice, ptr null, i32 1
|
|
%t45 = ptrtoint ptr %t44 to i64
|
|
%t46 = call ptr @malloc(i64 %t45)
|
|
%t47 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 0
|
|
store ptr null, ptr %t47
|
|
%t48 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 1
|
|
store i32 0, ptr %t48
|
|
%t49 = getelementptr inbounds %LSlice, ptr %t46, i32 0, i32 2
|
|
store i32 0, ptr %t49
|
|
store ptr %t46, ptr @g_mach_stk
|
|
call void @fn_emit_header()
|
|
call void @fn_emit_extern_decls()
|
|
%t50 = call i32 @fn_has_ecs()
|
|
%t51 = icmp ne i32 %t50, 0
|
|
br i1 %t51, label %then0, label %ifend2
|
|
then0:
|
|
call void @fn_emit_ecs_storage()
|
|
br label %ifend2
|
|
ifend2:
|
|
store i32 0, ptr %t52
|
|
br label %wcond3
|
|
wcond3:
|
|
%t53 = load i32, ptr %t52
|
|
%t54 = load ptr, ptr @g_prog
|
|
%t55 = getelementptr inbounds %LSlice, ptr %t54, i32 0, i32 1
|
|
%t56 = load i32, ptr %t55
|
|
%t57 = icmp slt i32 %t53, %t56
|
|
%t58 = zext i1 %t57 to i32
|
|
%t59 = icmp ne i32 %t58, 0
|
|
br i1 %t59, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t60 = load ptr, ptr @g_prog
|
|
%t61 = getelementptr inbounds %LSlice, ptr %t60, i32 0, i32 0
|
|
%t62 = load ptr, ptr %t61
|
|
%t63 = load i32, ptr %t52
|
|
%t64 = getelementptr inbounds ptr, ptr %t62, i32 %t63
|
|
%t65 = load ptr, ptr %t64
|
|
%t66 = getelementptr inbounds %Cmp_Node, ptr %t65, i32 0, i32 0
|
|
%t67 = load i32, ptr %t66
|
|
%t68 = icmp eq i32 %t67, 4
|
|
%t69 = zext i1 %t68 to i32
|
|
%t70 = icmp ne i32 %t69, 0
|
|
br i1 %t70, label %then6, label %ifend8
|
|
then6:
|
|
%t71 = load ptr, ptr @g_prog
|
|
%t72 = getelementptr inbounds %LSlice, ptr %t71, i32 0, i32 0
|
|
%t73 = load ptr, ptr %t72
|
|
%t74 = load i32, ptr %t52
|
|
%t75 = getelementptr inbounds ptr, ptr %t73, i32 %t74
|
|
%t76 = load ptr, ptr %t75
|
|
call void @fn_emit_fn(ptr %t76)
|
|
br label %ifend8
|
|
ifend8:
|
|
%t77 = load i32, ptr %t52
|
|
%t78 = add i32 %t77, 1
|
|
store i32 %t78, ptr %t52
|
|
br label %wcond3
|
|
wend5:
|
|
%t79 = load ptr, ptr @g_g_events
|
|
%t80 = getelementptr inbounds %LSlice, ptr %t79, i32 0, i32 1
|
|
%t81 = load i32, ptr %t80
|
|
%t82 = icmp sgt i32 %t81, 0
|
|
%t83 = zext i1 %t82 to i32
|
|
%t84 = icmp ne i32 %t83, 0
|
|
br i1 %t84, label %then9, label %ifend11
|
|
then9:
|
|
call void @fn_emit_event_fns()
|
|
br label %ifend11
|
|
ifend11:
|
|
%t86 = call i32 @fn_has_ecs()
|
|
%t87 = icmp ne i32 %t86, 0
|
|
%t88 = zext i1 %t87 to i32
|
|
store i32 %t88, ptr %t85
|
|
br i1 %t87, label %sc12, label %scend13
|
|
sc12:
|
|
%t89 = load ptr, ptr @g_g_events
|
|
%t90 = getelementptr inbounds %LSlice, ptr %t89, i32 0, i32 1
|
|
%t91 = load i32, ptr %t90
|
|
%t92 = icmp sgt i32 %t91, 0
|
|
%t93 = zext i1 %t92 to i32
|
|
%t94 = icmp ne i32 %t93, 0
|
|
%t95 = zext i1 %t94 to i32
|
|
store i32 %t95, ptr %t85
|
|
br label %scend13
|
|
scend13:
|
|
%t96 = load i32, ptr %t85
|
|
%t97 = icmp ne i32 %t96, 0
|
|
br i1 %t97, label %then14, label %ifend16
|
|
then14:
|
|
call void @fn_emit_world_table()
|
|
br label %ifend16
|
|
ifend16:
|
|
%t98 = call i32 @fn_has_ecs()
|
|
%t99 = icmp ne i32 %t98, 0
|
|
br i1 %t99, label %then17, label %ifend19
|
|
then17:
|
|
call void @fn_emit_ecs_allocator()
|
|
call void @fn_emit_snapshot()
|
|
br label %ifend19
|
|
ifend19:
|
|
%t100 = call i32 @fn_has_ecs()
|
|
%t101 = icmp ne i32 %t100, 0
|
|
br i1 %t101, label %then20, label %ifend22
|
|
then20:
|
|
call void @fn_emit_net()
|
|
br label %ifend22
|
|
ifend22:
|
|
%t102 = call i32 @fn_has_ui()
|
|
%t103 = icmp ne i32 %t102, 0
|
|
br i1 %t103, label %then23, label %ifend25
|
|
then23:
|
|
call void @fn_emit_ui_build()
|
|
br label %ifend25
|
|
ifend25:
|
|
%t105 = call i32 @fn_has_systems()
|
|
%t106 = icmp ne i32 %t105, 0
|
|
%t107 = zext i1 %t106 to i32
|
|
store i32 %t107, ptr %t104
|
|
br i1 %t106, label %sc26, label %scend27
|
|
sc26:
|
|
%t108 = call i32 @fn_has_entry()
|
|
%t109 = icmp ne i32 %t108, 0
|
|
%t110 = zext i1 %t109 to i32
|
|
store i32 %t110, ptr %t104
|
|
br label %scend27
|
|
scend27:
|
|
%t111 = load i32, ptr %t104
|
|
%t112 = icmp ne i32 %t111, 0
|
|
br i1 %t112, label %then28, label %else29
|
|
then28:
|
|
call void @fn_emit_game_defs()
|
|
store i32 0, ptr %t52
|
|
br label %wcond31
|
|
wcond31:
|
|
%t113 = load i32, ptr %t52
|
|
%t114 = load ptr, ptr @g_prog
|
|
%t115 = getelementptr inbounds %LSlice, ptr %t114, i32 0, i32 1
|
|
%t116 = load i32, ptr %t115
|
|
%t117 = icmp slt i32 %t113, %t116
|
|
%t118 = zext i1 %t117 to i32
|
|
%t119 = icmp ne i32 %t118, 0
|
|
br i1 %t119, label %wbody32, label %wend33
|
|
wbody32:
|
|
%t120 = load ptr, ptr @g_prog
|
|
%t121 = getelementptr inbounds %LSlice, ptr %t120, i32 0, i32 0
|
|
%t122 = load ptr, ptr %t121
|
|
%t123 = load i32, ptr %t52
|
|
%t124 = getelementptr inbounds ptr, ptr %t122, i32 %t123
|
|
%t125 = load ptr, ptr %t124
|
|
%t126 = getelementptr inbounds %Cmp_Node, ptr %t125, i32 0, i32 0
|
|
%t127 = load i32, ptr %t126
|
|
%t128 = icmp eq i32 %t127, 6
|
|
%t129 = zext i1 %t128 to i32
|
|
%t130 = icmp ne i32 %t129, 0
|
|
br i1 %t130, label %then34, label %ifend36
|
|
then34:
|
|
%t131 = load ptr, ptr @g_prog
|
|
%t132 = getelementptr inbounds %LSlice, ptr %t131, i32 0, i32 0
|
|
%t133 = load ptr, ptr %t132
|
|
%t134 = load i32, ptr %t52
|
|
%t135 = getelementptr inbounds ptr, ptr %t133, i32 %t134
|
|
%t136 = load ptr, ptr %t135
|
|
call void @fn_emit_main(ptr %t136)
|
|
br label %ifend36
|
|
ifend36:
|
|
%t137 = load i32, ptr %t52
|
|
%t138 = add i32 %t137, 1
|
|
store i32 %t138, ptr %t52
|
|
br label %wcond31
|
|
wend33:
|
|
br label %ifend30
|
|
else29:
|
|
%t139 = call i32 @fn_has_systems()
|
|
%t140 = icmp ne i32 %t139, 0
|
|
br i1 %t140, label %then37, label %else38
|
|
then37:
|
|
call void @fn_emit_game_main()
|
|
br label %ifend39
|
|
else38:
|
|
store i32 0, ptr %t52
|
|
br label %wcond40
|
|
wcond40:
|
|
%t141 = load i32, ptr %t52
|
|
%t142 = load ptr, ptr @g_prog
|
|
%t143 = getelementptr inbounds %LSlice, ptr %t142, i32 0, i32 1
|
|
%t144 = load i32, ptr %t143
|
|
%t145 = icmp slt i32 %t141, %t144
|
|
%t146 = zext i1 %t145 to i32
|
|
%t147 = icmp ne i32 %t146, 0
|
|
br i1 %t147, label %wbody41, label %wend42
|
|
wbody41:
|
|
%t148 = load ptr, ptr @g_prog
|
|
%t149 = getelementptr inbounds %LSlice, ptr %t148, i32 0, i32 0
|
|
%t150 = load ptr, ptr %t149
|
|
%t151 = load i32, ptr %t52
|
|
%t152 = getelementptr inbounds ptr, ptr %t150, i32 %t151
|
|
%t153 = load ptr, ptr %t152
|
|
%t154 = getelementptr inbounds %Cmp_Node, ptr %t153, i32 0, i32 0
|
|
%t155 = load i32, ptr %t154
|
|
%t156 = icmp eq i32 %t155, 6
|
|
%t157 = zext i1 %t156 to i32
|
|
%t158 = icmp ne i32 %t157, 0
|
|
br i1 %t158, label %then43, label %ifend45
|
|
then43:
|
|
%t159 = load ptr, ptr @g_prog
|
|
%t160 = getelementptr inbounds %LSlice, ptr %t159, i32 0, i32 0
|
|
%t161 = load ptr, ptr %t160
|
|
%t162 = load i32, ptr %t52
|
|
%t163 = getelementptr inbounds ptr, ptr %t161, i32 %t162
|
|
%t164 = load ptr, ptr %t163
|
|
call void @fn_emit_main(ptr %t164)
|
|
br label %ifend45
|
|
ifend45:
|
|
%t165 = load i32, ptr %t52
|
|
%t166 = add i32 %t165, 1
|
|
store i32 %t166, ptr %t52
|
|
br label %wcond40
|
|
wend42:
|
|
br label %ifend39
|
|
ifend39:
|
|
br label %ifend30
|
|
ifend30:
|
|
%t167 = load i32, ptr @g_g_uses_loopback
|
|
%t168 = icmp ne i32 %t167, 0
|
|
br i1 %t168, label %then46, label %ifend48
|
|
then46:
|
|
call void @fn_emit_loopback()
|
|
br label %ifend48
|
|
ifend48:
|
|
%t169 = load i32, ptr @g_g_uses_str
|
|
%t170 = icmp ne i32 %t169, 0
|
|
br i1 %t170, label %then49, label %ifend51
|
|
then49:
|
|
call void @fn_emit_str_prelude()
|
|
br label %ifend51
|
|
ifend51:
|
|
%t171 = load i32, ptr @g_g_uses_intstr
|
|
%t172 = icmp ne i32 %t171, 0
|
|
br i1 %t172, label %then52, label %ifend54
|
|
then52:
|
|
call void @fn_emit_int_str()
|
|
br label %ifend54
|
|
ifend54:
|
|
%t173 = load i32, ptr @g_g_uses_longstr
|
|
%t174 = icmp ne i32 %t173, 0
|
|
br i1 %t174, label %then55, label %ifend57
|
|
then55:
|
|
call void @fn_emit_long_str()
|
|
br label %ifend57
|
|
ifend57:
|
|
%t175 = load i32, ptr @g_g_uses_strslice
|
|
%t176 = icmp ne i32 %t175, 0
|
|
br i1 %t176, label %then58, label %ifend60
|
|
then58:
|
|
call void @fn_emit_str_slice()
|
|
br label %ifend60
|
|
ifend60:
|
|
%t177 = load i32, ptr @g_g_uses_mathrt
|
|
%t178 = icmp ne i32 %t177, 0
|
|
br i1 %t178, label %then61, label %ifend63
|
|
then61:
|
|
call void @fn_emit_math_prelude()
|
|
br label %ifend63
|
|
ifend63:
|
|
%t179 = load i32, ptr @g_g_uses_textrt
|
|
%t180 = icmp ne i32 %t179, 0
|
|
br i1 %t180, label %then64, label %ifend66
|
|
then64:
|
|
call void @fn_emit_text_prelude()
|
|
br label %ifend66
|
|
ifend66:
|
|
%t181 = load i32, ptr @g_g_uses_textrt2
|
|
%t182 = icmp ne i32 %t181, 0
|
|
br i1 %t182, label %then67, label %ifend69
|
|
then67:
|
|
call void @fn_emit_text2_prelude()
|
|
br label %ifend69
|
|
ifend69:
|
|
%t183 = load i32, ptr @g_g_uses_hashrt
|
|
%t184 = icmp ne i32 %t183, 0
|
|
br i1 %t184, label %then70, label %ifend72
|
|
then70:
|
|
call void @fn_emit_hash_prelude()
|
|
br label %ifend72
|
|
ifend72:
|
|
%t185 = load i32, ptr @g_g_uses_cryptort
|
|
%t186 = icmp ne i32 %t185, 0
|
|
br i1 %t186, label %then73, label %ifend75
|
|
then73:
|
|
call void @fn_emit_crypto_prelude()
|
|
br label %ifend75
|
|
ifend75:
|
|
%t187 = load i32, ptr @g_g_uses_datert
|
|
%t188 = icmp ne i32 %t187, 0
|
|
br i1 %t188, label %then76, label %ifend78
|
|
then76:
|
|
call void @fn_emit_datetime_prelude()
|
|
br label %ifend78
|
|
ifend78:
|
|
br label %ret
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @fn_ir_flush(ptr %arg_path) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t3 = alloca ptr
|
|
%t6 = alloca ptr
|
|
%t12 = alloca ptr
|
|
%t31 = alloca ptr
|
|
store ptr %arg_path, ptr %t0
|
|
%t1 = load ptr, ptr @g_head
|
|
%t2 = call ptr @fn_buf_str(ptr %t1)
|
|
store ptr %t2, ptr %t3
|
|
%t4 = load ptr, ptr @g_code
|
|
%t5 = call ptr @fn_buf_str(ptr %t4)
|
|
store ptr %t5, ptr %t6
|
|
%t7 = load ptr, ptr %t0
|
|
%t8 = icmp eq ptr %t7, null
|
|
%t9 = zext i1 %t8 to i32
|
|
%t10 = icmp ne i32 %t9, 0
|
|
br i1 %t10, label %then0, label %ifend2
|
|
then0:
|
|
%t11 = load ptr, ptr @__stdoutp
|
|
store ptr %t11, ptr %t12
|
|
%t13 = load ptr, ptr %t12
|
|
%t14 = load ptr, ptr %t3
|
|
%t15 = load ptr, ptr %t3
|
|
%t16 = call i64 @strlen(ptr %t15)
|
|
%t17 = trunc i64 %t16 to i32
|
|
%t18 = zext i32 %t17 to i64
|
|
%t19 = call i64 @fwrite(ptr %t14, i64 1, i64 %t18, ptr %t13)
|
|
%t20 = trunc i64 %t19 to i32
|
|
%t21 = load ptr, ptr %t12
|
|
%t22 = load ptr, ptr %t6
|
|
%t23 = load ptr, ptr %t6
|
|
%t24 = call i64 @strlen(ptr %t23)
|
|
%t25 = trunc i64 %t24 to i32
|
|
%t26 = zext i32 %t25 to i64
|
|
%t27 = call i64 @fwrite(ptr %t22, i64 1, i64 %t26, ptr %t21)
|
|
%t28 = trunc i64 %t27 to i32
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t29 = load ptr, ptr %t0
|
|
%t30 = call ptr @fopen(ptr %t29, ptr @.str6259)
|
|
store ptr %t30, ptr %t31
|
|
%t32 = load ptr, ptr %t31
|
|
%t33 = icmp eq ptr %t32, null
|
|
%t34 = zext i1 %t33 to i32
|
|
%t35 = icmp ne i32 %t34, 0
|
|
br i1 %t35, label %then3, label %ifend5
|
|
then3:
|
|
store i32 0, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t36 = load ptr, ptr %t31
|
|
%t37 = load ptr, ptr %t3
|
|
%t38 = load ptr, ptr %t3
|
|
%t39 = call i64 @strlen(ptr %t38)
|
|
%t40 = trunc i64 %t39 to i32
|
|
%t41 = zext i32 %t40 to i64
|
|
%t42 = call i64 @fwrite(ptr %t37, i64 1, i64 %t41, ptr %t36)
|
|
%t43 = trunc i64 %t42 to i32
|
|
%t44 = load ptr, ptr %t31
|
|
%t45 = load ptr, ptr %t6
|
|
%t46 = load ptr, ptr %t6
|
|
%t47 = call i64 @strlen(ptr %t46)
|
|
%t48 = trunc i64 %t47 to i32
|
|
%t49 = zext i32 %t48 to i64
|
|
%t50 = call i64 @fwrite(ptr %t45, i64 1, i64 %t49, ptr %t44)
|
|
%t51 = trunc i64 %t50 to i32
|
|
%t52 = load ptr, ptr %t31
|
|
call i32 @fclose(ptr %t52)
|
|
store i32 1, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t53 = load i32, ptr %retval
|
|
ret i32 %t53
|
|
}
|
|
|
|
define ptr @fn_base_name(ptr %arg_path) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
store ptr %arg_path, ptr %t0
|
|
%t1 = sub i32 0, 1
|
|
store i32 %t1, ptr %t2
|
|
store i32 0, ptr %t3
|
|
br label %wcond0
|
|
wcond0:
|
|
%t4 = load ptr, ptr %t0
|
|
%t5 = load i32, ptr %t3
|
|
%t6 = getelementptr inbounds i8, ptr %t4, i32 %t5
|
|
%t7 = load i8, ptr %t6
|
|
%t8 = zext i8 %t7 to i32
|
|
%t9 = icmp ne i32 %t8, 0
|
|
%t10 = zext i1 %t9 to i32
|
|
%t11 = icmp ne i32 %t10, 0
|
|
br i1 %t11, label %wbody1, label %wend2
|
|
wbody1:
|
|
%t12 = load ptr, ptr %t0
|
|
%t13 = load i32, ptr %t3
|
|
%t14 = getelementptr inbounds i8, ptr %t12, i32 %t13
|
|
%t15 = load i8, ptr %t14
|
|
%t16 = zext i8 %t15 to i32
|
|
%t17 = icmp eq i32 %t16, 47
|
|
%t18 = zext i1 %t17 to i32
|
|
%t19 = icmp ne i32 %t18, 0
|
|
br i1 %t19, label %then3, label %ifend5
|
|
then3:
|
|
%t20 = load i32, ptr %t3
|
|
store i32 %t20, ptr %t2
|
|
br label %ifend5
|
|
ifend5:
|
|
%t21 = load i32, ptr %t3
|
|
%t22 = add i32 %t21, 1
|
|
store i32 %t22, ptr %t3
|
|
br label %wcond0
|
|
wend2:
|
|
%t23 = load ptr, ptr %t0
|
|
%t24 = load i32, ptr %t2
|
|
%t25 = add i32 %t24, 1
|
|
%t26 = load i32, ptr %t3
|
|
%t27 = call ptr @fn_str_slice(ptr %t23, i32 %t25, i32 %t26)
|
|
store ptr %t27, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t28 = load ptr, ptr %retval
|
|
ret ptr %t28
|
|
}
|
|
|
|
define ptr @fn_strip_ludic(ptr %arg_name) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t4 = alloca i32
|
|
store ptr %arg_name, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call i64 @strlen(ptr %t1)
|
|
%t3 = trunc i64 %t2 to i32
|
|
store i32 %t3, ptr %t4
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp sgt i32 %t5, 6
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %then0, label %ifend2
|
|
then0:
|
|
%t9 = load ptr, ptr %t0
|
|
%t10 = load i32, ptr %t4
|
|
%t11 = sub i32 %t10, 6
|
|
%t12 = load i32, ptr %t4
|
|
%t13 = call ptr @fn_str_slice(ptr %t9, i32 %t11, i32 %t12)
|
|
%t14 = call i32 @fn_str_eq(ptr %t13, ptr @.str6260)
|
|
%t15 = icmp ne i32 %t14, 0
|
|
br i1 %t15, label %then3, label %ifend5
|
|
then3:
|
|
%t16 = load ptr, ptr %t0
|
|
%t17 = load i32, ptr %t4
|
|
%t18 = sub i32 %t17, 6
|
|
%t19 = call ptr @fn_str_slice(ptr %t16, i32 0, i32 %t18)
|
|
store ptr %t19, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
br label %ifend2
|
|
ifend2:
|
|
%t20 = load ptr, ptr %t0
|
|
store ptr %t20, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t21 = load ptr, ptr %retval
|
|
ret ptr %t21
|
|
}
|
|
|
|
define ptr @fn_getenv_or(ptr %arg_name, ptr %arg_dflt) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t4 = alloca ptr
|
|
store ptr %arg_name, ptr %t0
|
|
store ptr %arg_dflt, ptr %t1
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = call ptr @getenv(ptr %t2)
|
|
store ptr %t3, ptr %t4
|
|
%t5 = load ptr, ptr %t4
|
|
%t6 = icmp eq ptr %t5, null
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %then0, label %ifend2
|
|
then0:
|
|
%t9 = load ptr, ptr %t1
|
|
store ptr %t9, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t10 = load ptr, ptr %t4
|
|
store ptr %t10, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t11 = load ptr, ptr %retval
|
|
ret ptr %t11
|
|
}
|
|
|
|
define ptr @fn_ensure_slash(ptr %arg_d) {
|
|
entry:
|
|
%retval = alloca ptr
|
|
%t0 = alloca ptr
|
|
%t4 = alloca i32
|
|
store ptr %arg_d, ptr %t0
|
|
%t1 = load ptr, ptr %t0
|
|
%t2 = call i64 @strlen(ptr %t1)
|
|
%t3 = trunc i64 %t2 to i32
|
|
store i32 %t3, ptr %t4
|
|
%t5 = load i32, ptr %t4
|
|
%t6 = icmp eq i32 %t5, 0
|
|
%t7 = zext i1 %t6 to i32
|
|
%t8 = icmp ne i32 %t7, 0
|
|
br i1 %t8, label %then0, label %ifend2
|
|
then0:
|
|
%t9 = load ptr, ptr %t0
|
|
store ptr %t9, ptr %retval
|
|
br label %ret
|
|
ifend2:
|
|
%t10 = load ptr, ptr %t0
|
|
%t11 = load i32, ptr %t4
|
|
%t12 = sub i32 %t11, 1
|
|
%t13 = getelementptr inbounds i8, ptr %t10, i32 %t12
|
|
%t14 = load i8, ptr %t13
|
|
%t15 = zext i8 %t14 to i32
|
|
%t16 = icmp eq i32 %t15, 47
|
|
%t17 = zext i1 %t16 to i32
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %then3, label %ifend5
|
|
then3:
|
|
%t19 = load ptr, ptr %t0
|
|
store ptr %t19, ptr %retval
|
|
br label %ret
|
|
ifend5:
|
|
%t20 = load ptr, ptr %t0
|
|
%t21 = call ptr @fn_str_concat(ptr %t20, ptr @.str6261)
|
|
store ptr %t21, ptr %retval
|
|
br label %ret
|
|
ret:
|
|
%t22 = load ptr, ptr %retval
|
|
ret ptr %t22
|
|
}
|
|
|
|
define void @fn_die(ptr %arg_msg) {
|
|
entry:
|
|
%t0 = alloca ptr
|
|
store ptr %arg_msg, ptr %t0
|
|
%t1 = load ptr, ptr @__stderrp
|
|
%t2 = load ptr, ptr %t0
|
|
%t3 = load ptr, ptr %t0
|
|
%t4 = call i64 @strlen(ptr %t3)
|
|
%t5 = trunc i64 %t4 to i32
|
|
%t6 = zext i32 %t5 to i64
|
|
%t7 = call i64 @fwrite(ptr %t2, i64 1, i64 %t6, ptr %t1)
|
|
%t8 = trunc i64 %t7 to i32
|
|
call void @exit(i32 1)
|
|
unreachable
|
|
ret:
|
|
ret void
|
|
}
|
|
|
|
define i32 @main(i32 %argc, ptr %argv) {
|
|
entry:
|
|
%retval = alloca i32
|
|
%t0 = alloca ptr
|
|
%t1 = alloca ptr
|
|
%t2 = alloca i32
|
|
%t3 = alloca i32
|
|
%t4 = alloca i32
|
|
%t5 = alloca i32
|
|
%t6 = alloca i32
|
|
%t13 = alloca i32
|
|
%t23 = alloca ptr
|
|
%t66 = alloca ptr
|
|
%t84 = alloca ptr
|
|
%t94 = alloca i32
|
|
%t104 = alloca i32
|
|
%t113 = alloca i32
|
|
%t130 = alloca i32
|
|
%t147 = alloca ptr
|
|
%t159 = alloca ptr
|
|
%t166 = alloca ptr
|
|
%t173 = alloca ptr
|
|
%t178 = alloca ptr
|
|
%t183 = alloca ptr
|
|
%t195 = alloca i32
|
|
%t211 = alloca i32
|
|
store i32 %argc, ptr @L_argc
|
|
store ptr %argv, ptr @L_argv
|
|
store i32 0, ptr %retval
|
|
store ptr null, ptr %t0
|
|
store ptr null, ptr %t1
|
|
store i32 0, ptr %t2
|
|
store i32 0, ptr %t3
|
|
store i32 0, ptr %t4
|
|
store i32 0, ptr %t5
|
|
store i32 0, ptr %t6
|
|
%t7 = load ptr, ptr @L_argv
|
|
%t8 = getelementptr ptr, ptr %t7, i32 0
|
|
%t9 = load ptr, ptr %t8
|
|
%t10 = call ptr @fn_base_name(ptr %t9)
|
|
%t11 = call i32 @fn_str_eq(ptr %t10, ptr @.str6262)
|
|
%t12 = icmp ne i32 %t11, 0
|
|
br i1 %t12, label %then0, label %ifend2
|
|
then0:
|
|
store i32 1, ptr %t6
|
|
br label %ifend2
|
|
ifend2:
|
|
store i32 1, ptr %t13
|
|
br label %wcond3
|
|
wcond3:
|
|
%t14 = load i32, ptr %t13
|
|
%t15 = load i32, ptr @L_argc
|
|
%t16 = icmp slt i32 %t14, %t15
|
|
%t17 = zext i1 %t16 to i32
|
|
%t18 = icmp ne i32 %t17, 0
|
|
br i1 %t18, label %wbody4, label %wend5
|
|
wbody4:
|
|
%t19 = load i32, ptr %t13
|
|
%t20 = load ptr, ptr @L_argv
|
|
%t21 = getelementptr ptr, ptr %t20, i32 %t19
|
|
%t22 = load ptr, ptr %t21
|
|
store ptr %t22, ptr %t23
|
|
%t24 = load ptr, ptr %t23
|
|
%t25 = call i32 @fn_str_eq(ptr %t24, ptr @.str6263)
|
|
%t26 = icmp ne i32 %t25, 0
|
|
br i1 %t26, label %then6, label %else7
|
|
then6:
|
|
store i32 1, ptr %t2
|
|
br label %ifend8
|
|
else7:
|
|
%t27 = load ptr, ptr %t23
|
|
%t28 = call i32 @fn_str_eq(ptr %t27, ptr @.str6264)
|
|
%t29 = icmp ne i32 %t28, 0
|
|
br i1 %t29, label %then9, label %else10
|
|
then9:
|
|
store i32 2, ptr %t2
|
|
br label %ifend11
|
|
else10:
|
|
%t30 = load ptr, ptr %t23
|
|
%t31 = call i32 @fn_str_eq(ptr %t30, ptr @.str6265)
|
|
%t32 = icmp ne i32 %t31, 0
|
|
br i1 %t32, label %then12, label %else13
|
|
then12:
|
|
store i32 1, ptr %t3
|
|
br label %ifend14
|
|
else13:
|
|
%t33 = load ptr, ptr %t23
|
|
%t34 = call i32 @fn_str_eq(ptr %t33, ptr @.str6266)
|
|
%t35 = icmp ne i32 %t34, 0
|
|
br i1 %t35, label %then15, label %else16
|
|
then15:
|
|
store i32 1, ptr %t4
|
|
br label %ifend17
|
|
else16:
|
|
%t36 = load ptr, ptr %t23
|
|
%t37 = call i32 @fn_str_eq(ptr %t36, ptr @.str6267)
|
|
%t38 = icmp ne i32 %t37, 0
|
|
br i1 %t38, label %then18, label %else19
|
|
then18:
|
|
store i32 1, ptr %t5
|
|
br label %ifend20
|
|
else19:
|
|
%t39 = load ptr, ptr %t23
|
|
%t40 = call i32 @fn_str_eq(ptr %t39, ptr @.str6268)
|
|
%t41 = icmp ne i32 %t40, 0
|
|
br i1 %t41, label %then21, label %else22
|
|
then21:
|
|
store i32 1, ptr %t6
|
|
br label %ifend23
|
|
else22:
|
|
%t42 = load ptr, ptr %t23
|
|
%t43 = call i32 @fn_str_eq(ptr %t42, ptr @.str6269)
|
|
%t44 = icmp ne i32 %t43, 0
|
|
br i1 %t44, label %then24, label %else25
|
|
then24:
|
|
%t45 = load i32, ptr %t13
|
|
%t46 = add i32 %t45, 1
|
|
store i32 %t46, ptr %t13
|
|
%t47 = load i32, ptr %t13
|
|
%t48 = load i32, ptr @L_argc
|
|
%t49 = icmp slt i32 %t47, %t48
|
|
%t50 = zext i1 %t49 to i32
|
|
%t51 = icmp ne i32 %t50, 0
|
|
br i1 %t51, label %then27, label %ifend29
|
|
then27:
|
|
%t52 = load i32, ptr %t13
|
|
%t53 = load ptr, ptr @L_argv
|
|
%t54 = getelementptr ptr, ptr %t53, i32 %t52
|
|
%t55 = load ptr, ptr %t54
|
|
store ptr %t55, ptr %t1
|
|
br label %ifend29
|
|
ifend29:
|
|
br label %ifend26
|
|
else25:
|
|
%t56 = load ptr, ptr %t23
|
|
%t57 = getelementptr inbounds i8, ptr %t56, i32 0
|
|
%t58 = load i8, ptr %t57
|
|
%t59 = zext i8 %t58 to i32
|
|
%t60 = icmp eq i32 %t59, 45
|
|
%t61 = zext i1 %t60 to i32
|
|
%t62 = icmp ne i32 %t61, 0
|
|
br i1 %t62, label %then30, label %else31
|
|
then30:
|
|
%t63 = load ptr, ptr %t23
|
|
%t64 = call ptr @fn_str_concat(ptr @.str6270, ptr %t63)
|
|
%t65 = call ptr @fn_str_concat(ptr %t64, ptr @.str6271)
|
|
store ptr %t65, ptr %t66
|
|
%t67 = load ptr, ptr @__stderrp
|
|
%t68 = load ptr, ptr %t66
|
|
%t69 = load ptr, ptr %t66
|
|
%t70 = call i64 @strlen(ptr %t69)
|
|
%t71 = trunc i64 %t70 to i32
|
|
%t72 = zext i32 %t71 to i64
|
|
%t73 = call i64 @fwrite(ptr %t68, i64 1, i64 %t72, ptr %t67)
|
|
%t74 = trunc i64 %t73 to i32
|
|
br label %ifend32
|
|
else31:
|
|
%t75 = load ptr, ptr %t23
|
|
store ptr %t75, ptr %t0
|
|
br label %ifend32
|
|
ifend32:
|
|
br label %ifend26
|
|
ifend26:
|
|
br label %ifend23
|
|
ifend23:
|
|
br label %ifend20
|
|
ifend20:
|
|
br label %ifend17
|
|
ifend17:
|
|
br label %ifend14
|
|
ifend14:
|
|
br label %ifend11
|
|
ifend11:
|
|
br label %ifend8
|
|
ifend8:
|
|
%t76 = load i32, ptr %t13
|
|
%t77 = add i32 %t76, 1
|
|
store i32 %t77, ptr %t13
|
|
br label %wcond3
|
|
wend5:
|
|
%t78 = load ptr, ptr %t0
|
|
%t79 = icmp eq ptr %t78, null
|
|
%t80 = zext i1 %t79 to i32
|
|
%t81 = icmp ne i32 %t80, 0
|
|
br i1 %t81, label %then33, label %ifend35
|
|
then33:
|
|
call void @fn_die(ptr @.str6272)
|
|
br label %ifend35
|
|
ifend35:
|
|
%t82 = load ptr, ptr %t0
|
|
%t83 = call ptr @fn_read_file(ptr %t82)
|
|
store ptr %t83, ptr %t84
|
|
%t85 = load ptr, ptr %t84
|
|
%t86 = icmp eq ptr %t85, null
|
|
%t87 = zext i1 %t86 to i32
|
|
%t88 = icmp ne i32 %t87, 0
|
|
br i1 %t88, label %then36, label %ifend38
|
|
then36:
|
|
call void @fn_die(ptr @.str6273)
|
|
br label %ifend38
|
|
ifend38:
|
|
%t89 = load ptr, ptr %t0
|
|
%t90 = call ptr @fn_dir_of(ptr %t89)
|
|
store ptr %t90, ptr @g_cur_dir
|
|
%t91 = load ptr, ptr %t84
|
|
call void @fn_lex(ptr %t91)
|
|
call void @fn_parse_program()
|
|
%t92 = load i32, ptr %t4
|
|
%t93 = icmp ne i32 %t92, 0
|
|
br i1 %t93, label %then39, label %ifend41
|
|
then39:
|
|
call void @exit(i32 0)
|
|
unreachable
|
|
ifend41:
|
|
call void @fn_maybe_splice_runtime()
|
|
%t95 = load i32, ptr %t6
|
|
%t96 = icmp ne i32 %t95, 0
|
|
%t97 = zext i1 %t96 to i32
|
|
store i32 %t97, ptr %t94
|
|
br i1 %t96, label %scend43, label %sc42
|
|
sc42:
|
|
%t98 = load ptr, ptr %t1
|
|
%t99 = icmp ne ptr %t98, null
|
|
%t100 = zext i1 %t99 to i32
|
|
%t101 = icmp ne i32 %t100, 0
|
|
%t102 = zext i1 %t101 to i32
|
|
store i32 %t102, ptr %t94
|
|
br label %scend43
|
|
scend43:
|
|
%t103 = load i32, ptr %t94
|
|
store i32 %t103, ptr %t104
|
|
%t105 = load i32, ptr %t2
|
|
%t106 = icmp eq i32 %t105, 1
|
|
%t107 = zext i1 %t106 to i32
|
|
%t108 = icmp ne i32 %t107, 0
|
|
br i1 %t108, label %then44, label %else45
|
|
then44:
|
|
store i32 1, ptr @g_g_windowed
|
|
br label %ifend46
|
|
else45:
|
|
%t109 = load i32, ptr %t2
|
|
%t110 = icmp eq i32 %t109, 2
|
|
%t111 = zext i1 %t110 to i32
|
|
%t112 = icmp ne i32 %t111, 0
|
|
br i1 %t112, label %then47, label %else48
|
|
then47:
|
|
store i32 0, ptr @g_g_windowed
|
|
br label %ifend49
|
|
else48:
|
|
%t114 = load i32, ptr %t104
|
|
%t115 = icmp ne i32 %t114, 0
|
|
%t116 = zext i1 %t115 to i32
|
|
store i32 %t116, ptr %t113
|
|
br i1 %t115, label %sc50, label %scend51
|
|
sc50:
|
|
%t117 = call i32 @fn_has_systems()
|
|
%t118 = icmp ne i32 %t117, 0
|
|
%t119 = zext i1 %t118 to i32
|
|
store i32 %t119, ptr %t113
|
|
br label %scend51
|
|
scend51:
|
|
%t120 = load i32, ptr %t113
|
|
store i32 %t120, ptr @g_g_windowed
|
|
br label %ifend49
|
|
ifend49:
|
|
br label %ifend46
|
|
ifend46:
|
|
call void @fn_emit_program()
|
|
%t121 = load i32, ptr %t3
|
|
%t122 = icmp ne i32 %t121, 0
|
|
br i1 %t122, label %then52, label %ifend54
|
|
then52:
|
|
%t123 = load ptr, ptr %t1
|
|
%t124 = call i32 @fn_ir_flush(ptr %t123)
|
|
br label %ret
|
|
ifend54:
|
|
%t125 = load i32, ptr %t104
|
|
%t126 = icmp eq i32 %t125, 0
|
|
%t127 = zext i1 %t126 to i32
|
|
%t128 = icmp ne i32 %t127, 0
|
|
br i1 %t128, label %then55, label %ifend57
|
|
then55:
|
|
%t129 = call i32 @fn_ir_flush(ptr null)
|
|
br label %ret
|
|
ifend57:
|
|
%t131 = load i32, ptr %t6
|
|
%t132 = icmp ne i32 %t131, 0
|
|
%t133 = zext i1 %t132 to i32
|
|
store i32 %t133, ptr %t130
|
|
br i1 %t132, label %sc58, label %scend59
|
|
sc58:
|
|
%t134 = load ptr, ptr %t1
|
|
%t135 = icmp eq ptr %t134, null
|
|
%t136 = zext i1 %t135 to i32
|
|
%t137 = icmp ne i32 %t136, 0
|
|
%t138 = zext i1 %t137 to i32
|
|
store i32 %t138, ptr %t130
|
|
br label %scend59
|
|
scend59:
|
|
%t139 = load i32, ptr %t130
|
|
%t140 = icmp ne i32 %t139, 0
|
|
br i1 %t140, label %then60, label %ifend62
|
|
then60:
|
|
%t141 = load ptr, ptr %t0
|
|
%t142 = call ptr @fn_base_name(ptr %t141)
|
|
%t143 = call ptr @fn_strip_ludic(ptr %t142)
|
|
%t144 = call ptr @fn_str_concat(ptr @.str6274, ptr %t143)
|
|
store ptr %t144, ptr %t1
|
|
br label %ifend62
|
|
ifend62:
|
|
%t145 = load ptr, ptr %t1
|
|
%t146 = call ptr @fn_dir_of(ptr %t145)
|
|
store ptr %t146, ptr %t147
|
|
%t148 = load ptr, ptr %t147
|
|
%t149 = call i64 @strlen(ptr %t148)
|
|
%t150 = trunc i64 %t149 to i32
|
|
%t151 = icmp sgt i32 %t150, 0
|
|
%t152 = zext i1 %t151 to i32
|
|
%t153 = icmp ne i32 %t152, 0
|
|
br i1 %t153, label %then63, label %ifend65
|
|
then63:
|
|
%t154 = load ptr, ptr %t147
|
|
%t155 = call ptr @fn_str_concat(ptr @.str6275, ptr %t154)
|
|
%t156 = call i32 @system(ptr %t155)
|
|
br label %ifend65
|
|
ifend65:
|
|
%t157 = load ptr, ptr %t1
|
|
%t158 = call ptr @fn_str_concat(ptr %t157, ptr @.str6276)
|
|
store ptr %t158, ptr %t159
|
|
%t160 = load ptr, ptr %t159
|
|
%t161 = call i32 @fn_ir_flush(ptr %t160)
|
|
%t162 = icmp eq i32 %t161, 0
|
|
%t163 = zext i1 %t162 to i32
|
|
%t164 = icmp ne i32 %t163, 0
|
|
br i1 %t164, label %then66, label %ifend68
|
|
then66:
|
|
call void @fn_die(ptr @.str6277)
|
|
br label %ifend68
|
|
ifend68:
|
|
%t165 = call ptr @fn_getenv_or(ptr @.str6278, ptr @.str6279)
|
|
store ptr %t165, ptr %t166
|
|
%t167 = load ptr, ptr @L_argv
|
|
%t168 = getelementptr ptr, ptr %t167, i32 0
|
|
%t169 = load ptr, ptr %t168
|
|
%t170 = call ptr @fn_dir_of(ptr %t169)
|
|
%t171 = call ptr @fn_getenv_or(ptr @.str6280, ptr %t170)
|
|
%t172 = call ptr @fn_ensure_slash(ptr %t171)
|
|
store ptr %t172, ptr %t173
|
|
%t174 = load ptr, ptr %t166
|
|
%t175 = call ptr @fn_str_concat(ptr %t174, ptr @.str6281)
|
|
%t176 = load ptr, ptr %t159
|
|
%t177 = call ptr @fn_str_concat(ptr %t175, ptr %t176)
|
|
store ptr %t177, ptr %t178
|
|
%t179 = load i32, ptr @g_g_windowed
|
|
%t180 = icmp ne i32 %t179, 0
|
|
br i1 %t180, label %then69, label %ifend71
|
|
then69:
|
|
%t181 = load ptr, ptr %t173
|
|
%t182 = call ptr @fn_path_join(ptr %t181, ptr @.str6282)
|
|
store ptr %t182, ptr %t183
|
|
%t184 = load ptr, ptr %t178
|
|
%t185 = call ptr @fn_str_concat(ptr %t184, ptr @.str6283)
|
|
%t186 = load ptr, ptr %t183
|
|
%t187 = call ptr @fn_str_concat(ptr %t185, ptr %t186)
|
|
%t188 = call ptr @fn_str_concat(ptr %t187, ptr @.str6284)
|
|
store ptr %t188, ptr %t178
|
|
br label %ifend71
|
|
ifend71:
|
|
%t189 = load ptr, ptr %t178
|
|
%t190 = call ptr @fn_str_concat(ptr %t189, ptr @.str6285)
|
|
%t191 = load ptr, ptr %t1
|
|
%t192 = call ptr @fn_str_concat(ptr %t190, ptr %t191)
|
|
store ptr %t192, ptr %t178
|
|
%t193 = load ptr, ptr %t178
|
|
%t194 = call i32 @system(ptr %t193)
|
|
store i32 %t194, ptr %t195
|
|
%t196 = load i32, ptr %t5
|
|
%t197 = icmp eq i32 %t196, 0
|
|
%t198 = zext i1 %t197 to i32
|
|
%t199 = icmp ne i32 %t198, 0
|
|
br i1 %t199, label %then72, label %ifend74
|
|
then72:
|
|
%t200 = load ptr, ptr %t159
|
|
%t201 = call ptr @fn_str_concat(ptr @.str6286, ptr %t200)
|
|
%t202 = call i32 @system(ptr %t201)
|
|
br label %ifend74
|
|
ifend74:
|
|
%t203 = load i32, ptr %t195
|
|
%t204 = icmp ne i32 %t203, 0
|
|
%t205 = zext i1 %t204 to i32
|
|
%t206 = icmp ne i32 %t205, 0
|
|
br i1 %t206, label %then75, label %ifend77
|
|
then75:
|
|
call void @fn_die(ptr @.str6287)
|
|
br label %ifend77
|
|
ifend77:
|
|
%t207 = load i32, ptr %t6
|
|
%t208 = icmp ne i32 %t207, 0
|
|
br i1 %t208, label %then78, label %ifend80
|
|
then78:
|
|
%t209 = load ptr, ptr %t1
|
|
%t210 = call i32 @system(ptr %t209)
|
|
store i32 %t210, ptr %t211
|
|
%t212 = load i32, ptr %t211
|
|
%t213 = lshr i32 %t212, 8
|
|
%t214 = and i32 %t213, 255
|
|
call void @exit(i32 %t214)
|
|
unreachable
|
|
ifend80:
|
|
br label %ret
|
|
ret:
|
|
%t215 = load i32, ptr %retval
|
|
ret i32 %t215
|
|
}
|